highcharts.src.d.ts 5.0 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468544695447054471544725447354474544755447654477544785447954480544815448254483544845448554486544875448854489544905449154492544935449454495544965449754498544995450054501545025450354504545055450654507545085450954510545115451254513545145451554516545175451854519545205452154522545235452454525545265452754528545295453054531545325453354534545355453654537545385453954540545415454254543545445454554546545475454854549545505455154552545535455454555545565455754558545595456054561545625456354564545655456654567545685456954570545715457254573545745457554576545775457854579545805458154582545835458454585545865458754588545895459054591545925459354594545955459654597545985459954600546015460254603546045460554606546075460854609546105461154612546135461454615546165461754618546195462054621546225462354624546255462654627546285462954630546315463254633546345463554636546375463854639546405464154642546435464454645546465464754648546495465054651546525465354654546555465654657546585465954660546615466254663546645466554666546675466854669546705467154672546735467454675546765467754678546795468054681546825468354684546855468654687546885468954690546915469254693546945469554696546975469854699547005470154702547035470454705547065470754708547095471054711547125471354714547155471654717547185471954720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475254753547545475554756547575475854759547605476154762547635476454765547665476754768547695477054771547725477354774547755477654777547785477954780547815478254783547845478554786547875478854789547905479154792547935479454795547965479754798547995480054801548025480354804548055480654807548085480954810548115481254813548145481554816548175481854819548205482154822548235482454825548265482754828548295483054831548325483354834548355483654837548385483954840548415484254843548445484554846548475484854849548505485154852548535485454855548565485754858548595486054861548625486354864548655486654867548685486954870548715487254873548745487554876548775487854879548805488154882548835488454885548865488754888548895489054891548925489354894548955489654897548985489954900549015490254903549045490554906549075490854909549105491154912549135491454915549165491754918549195492054921549225492354924549255492654927549285492954930549315493254933549345493554936549375493854939549405494154942549435494454945549465494754948549495495054951549525495354954549555495654957549585495954960549615496254963549645496554966549675496854969549705497154972549735497454975549765497754978549795498054981549825498354984549855498654987549885498954990549915499254993549945499554996549975499854999550005500155002550035500455005550065500755008550095501055011550125501355014550155501655017550185501955020550215502255023550245502555026550275502855029550305503155032550335503455035550365503755038550395504055041550425504355044550455504655047550485504955050550515505255053550545505555056550575505855059550605506155062550635506455065550665506755068550695507055071550725507355074550755507655077550785507955080550815508255083550845508555086550875508855089550905509155092550935509455095550965509755098550995510055101551025510355104551055510655107551085510955110551115511255113551145511555116551175511855119551205512155122551235512455125551265512755128551295513055131551325513355134551355513655137551385513955140551415514255143551445514555146551475514855149551505515155152551535515455155551565515755158551595516055161551625516355164551655516655167551685516955170551715517255173551745517555176551775517855179551805518155182551835518455185551865518755188551895519055191551925519355194551955519655197551985519955200552015520255203552045520555206552075520855209552105521155212552135521455215552165521755218552195522055221552225522355224552255522655227552285522955230552315523255233552345523555236552375523855239552405524155242552435524455245552465524755248552495525055251552525525355254552555525655257552585525955260552615526255263552645526555266552675526855269552705527155272552735527455275552765527755278552795528055281552825528355284552855528655287552885528955290552915529255293552945529555296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395534055341553425534355344553455534655347553485534955350553515535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540055401554025540355404554055540655407554085540955410554115541255413554145541555416554175541855419554205542155422554235542455425554265542755428554295543055431554325543355434554355543655437554385543955440554415544255443554445544555446554475544855449554505545155452554535545455455554565545755458554595546055461554625546355464554655546655467554685546955470554715547255473554745547555476554775547855479554805548155482554835548455485554865548755488554895549055491554925549355494554955549655497554985549955500555015550255503555045550555506555075550855509555105551155512555135551455515555165551755518555195552055521555225552355524555255552655527555285552955530555315553255533555345553555536555375553855539555405554155542555435554455545555465554755548555495555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556005560155602556035560455605556065560755608556095561055611556125561355614556155561655617556185561955620556215562255623556245562555626556275562855629556305563155632556335563455635556365563755638556395564055641556425564355644556455564655647556485564955650556515565255653556545565555656556575565855659556605566155662556635566455665556665566755668556695567055671556725567355674556755567655677556785567955680556815568255683556845568555686556875568855689556905569155692556935569455695556965569755698556995570055701557025570355704557055570655707557085570955710557115571255713557145571555716557175571855719557205572155722557235572455725557265572755728557295573055731557325573355734557355573655737557385573955740557415574255743557445574555746557475574855749557505575155752557535575455755557565575755758557595576055761557625576355764557655576655767557685576955770557715577255773557745577555776557775577855779557805578155782557835578455785557865578755788557895579055791557925579355794557955579655797557985579955800558015580255803558045580555806558075580855809558105581155812558135581455815558165581755818558195582055821558225582355824558255582655827558285582955830558315583255833558345583555836558375583855839558405584155842558435584455845558465584755848558495585055851558525585355854558555585655857558585585955860558615586255863558645586555866558675586855869558705587155872558735587455875558765587755878558795588055881558825588355884558855588655887558885588955890558915589255893558945589555896558975589855899559005590155902559035590455905559065590755908559095591055911559125591355914559155591655917559185591955920559215592255923559245592555926559275592855929559305593155932559335593455935559365593755938559395594055941559425594355944559455594655947559485594955950559515595255953559545595555956559575595855959559605596155962559635596455965559665596755968559695597055971559725597355974559755597655977559785597955980559815598255983559845598555986559875598855989559905599155992559935599455995559965599755998559995600056001560025600356004560055600656007560085600956010560115601256013560145601556016560175601856019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560385603956040560415604256043560445604556046560475604856049560505605156052560535605456055560565605756058560595606056061560625606356064560655606656067560685606956070560715607256073560745607556076560775607856079560805608156082560835608456085560865608756088560895609056091560925609356094560955609656097560985609956100561015610256103561045610556106561075610856109561105611156112561135611456115561165611756118561195612056121561225612356124561255612656127561285612956130561315613256133561345613556136561375613856139561405614156142561435614456145561465614756148561495615056151561525615356154561555615656157561585615956160561615616256163561645616556166561675616856169561705617156172561735617456175561765617756178561795618056181561825618356184561855618656187561885618956190561915619256193561945619556196561975619856199562005620156202562035620456205562065620756208562095621056211562125621356214562155621656217562185621956220562215622256223562245622556226562275622856229562305623156232562335623456235562365623756238562395624056241562425624356244562455624656247562485624956250562515625256253562545625556256562575625856259562605626156262562635626456265562665626756268562695627056271562725627356274562755627656277562785627956280562815628256283562845628556286562875628856289562905629156292562935629456295562965629756298562995630056301563025630356304563055630656307563085630956310563115631256313563145631556316563175631856319563205632156322563235632456325563265632756328563295633056331563325633356334563355633656337563385633956340563415634256343563445634556346563475634856349563505635156352563535635456355563565635756358563595636056361563625636356364563655636656367563685636956370563715637256373563745637556376563775637856379563805638156382563835638456385563865638756388563895639056391563925639356394563955639656397563985639956400564015640256403564045640556406564075640856409564105641156412564135641456415564165641756418564195642056421564225642356424564255642656427564285642956430564315643256433564345643556436564375643856439564405644156442564435644456445564465644756448564495645056451564525645356454564555645656457564585645956460564615646256463564645646556466564675646856469564705647156472564735647456475564765647756478564795648056481564825648356484564855648656487564885648956490564915649256493564945649556496564975649856499565005650156502565035650456505565065650756508565095651056511565125651356514565155651656517565185651956520565215652256523565245652556526565275652856529565305653156532565335653456535565365653756538565395654056541565425654356544565455654656547565485654956550565515655256553565545655556556565575655856559565605656156562565635656456565565665656756568565695657056571565725657356574565755657656577565785657956580565815658256583565845658556586565875658856589565905659156592565935659456595565965659756598565995660056601566025660356604566055660656607566085660956610566115661256613566145661556616566175661856619566205662156622566235662456625566265662756628566295663056631566325663356634566355663656637566385663956640566415664256643566445664556646566475664856649566505665156652566535665456655566565665756658566595666056661566625666356664566655666656667566685666956670566715667256673566745667556676566775667856679566805668156682566835668456685566865668756688566895669056691566925669356694566955669656697566985669956700567015670256703567045670556706567075670856709567105671156712567135671456715567165671756718567195672056721567225672356724567255672656727567285672956730567315673256733567345673556736567375673856739567405674156742567435674456745567465674756748567495675056751567525675356754567555675656757567585675956760567615676256763567645676556766567675676856769567705677156772567735677456775567765677756778567795678056781567825678356784567855678656787567885678956790567915679256793567945679556796567975679856799568005680156802568035680456805568065680756808568095681056811568125681356814568155681656817568185681956820568215682256823568245682556826568275682856829568305683156832568335683456835568365683756838568395684056841568425684356844568455684656847568485684956850568515685256853568545685556856568575685856859568605686156862568635686456865568665686756868568695687056871568725687356874568755687656877568785687956880568815688256883568845688556886568875688856889568905689156892568935689456895568965689756898568995690056901569025690356904569055690656907569085690956910569115691256913569145691556916569175691856919569205692156922569235692456925569265692756928569295693056931569325693356934569355693656937569385693956940569415694256943569445694556946569475694856949569505695156952569535695456955569565695756958569595696056961569625696356964569655696656967569685696956970569715697256973569745697556976569775697856979569805698156982569835698456985569865698756988569895699056991569925699356994569955699656997569985699957000570015700257003570045700557006570075700857009570105701157012570135701457015570165701757018570195702057021570225702357024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957060570615706257063570645706557066570675706857069570705707157072570735707457075570765707757078570795708057081570825708357084570855708657087570885708957090570915709257093570945709557096570975709857099571005710157102571035710457105571065710757108571095711057111571125711357114571155711657117571185711957120571215712257123571245712557126571275712857129571305713157132571335713457135571365713757138571395714057141571425714357144571455714657147571485714957150571515715257153571545715557156571575715857159571605716157162571635716457165571665716757168571695717057171571725717357174571755717657177571785717957180571815718257183571845718557186571875718857189571905719157192571935719457195571965719757198571995720057201572025720357204572055720657207572085720957210572115721257213572145721557216572175721857219572205722157222572235722457225572265722757228572295723057231572325723357234572355723657237572385723957240572415724257243572445724557246572475724857249572505725157252572535725457255572565725757258572595726057261572625726357264572655726657267572685726957270572715727257273572745727557276572775727857279572805728157282572835728457285572865728757288572895729057291572925729357294572955729657297572985729957300573015730257303573045730557306573075730857309573105731157312573135731457315573165731757318573195732057321573225732357324573255732657327573285732957330573315733257333573345733557336573375733857339573405734157342573435734457345573465734757348573495735057351573525735357354573555735657357573585735957360573615736257363573645736557366573675736857369573705737157372573735737457375573765737757378573795738057381573825738357384573855738657387573885738957390573915739257393573945739557396573975739857399574005740157402574035740457405574065740757408574095741057411574125741357414574155741657417574185741957420574215742257423574245742557426574275742857429574305743157432574335743457435574365743757438574395744057441574425744357444574455744657447574485744957450574515745257453574545745557456574575745857459574605746157462574635746457465574665746757468574695747057471574725747357474574755747657477574785747957480574815748257483574845748557486574875748857489574905749157492574935749457495574965749757498574995750057501575025750357504575055750657507575085750957510575115751257513575145751557516575175751857519575205752157522575235752457525575265752757528575295753057531575325753357534575355753657537575385753957540575415754257543575445754557546575475754857549575505755157552575535755457555575565755757558575595756057561575625756357564575655756657567575685756957570575715757257573575745757557576575775757857579575805758157582575835758457585575865758757588575895759057591575925759357594575955759657597575985759957600576015760257603576045760557606576075760857609576105761157612576135761457615576165761757618576195762057621576225762357624576255762657627576285762957630576315763257633576345763557636576375763857639576405764157642576435764457645576465764757648576495765057651576525765357654576555765657657576585765957660576615766257663576645766557666576675766857669576705767157672576735767457675576765767757678576795768057681576825768357684576855768657687576885768957690576915769257693576945769557696576975769857699577005770157702577035770457705577065770757708577095771057711577125771357714577155771657717577185771957720577215772257723577245772557726577275772857729577305773157732577335773457735577365773757738577395774057741577425774357744577455774657747577485774957750577515775257753577545775557756577575775857759577605776157762577635776457765577665776757768577695777057771577725777357774577755777657777577785777957780577815778257783577845778557786577875778857789577905779157792577935779457795577965779757798577995780057801578025780357804578055780657807578085780957810578115781257813578145781557816578175781857819578205782157822578235782457825578265782757828578295783057831578325783357834578355783657837578385783957840578415784257843578445784557846578475784857849578505785157852578535785457855578565785757858578595786057861578625786357864578655786657867578685786957870578715787257873578745787557876578775787857879578805788157882578835788457885578865788757888578895789057891578925789357894578955789657897578985789957900579015790257903579045790557906579075790857909579105791157912579135791457915579165791757918579195792057921579225792357924579255792657927579285792957930579315793257933579345793557936579375793857939579405794157942579435794457945579465794757948579495795057951579525795357954579555795657957579585795957960579615796257963579645796557966579675796857969579705797157972579735797457975579765797757978579795798057981579825798357984579855798657987579885798957990579915799257993579945799557996579975799857999580005800158002580035800458005580065800758008580095801058011580125801358014580155801658017580185801958020580215802258023580245802558026580275802858029580305803158032580335803458035580365803758038580395804058041580425804358044580455804658047580485804958050580515805258053580545805558056580575805858059580605806158062580635806458065580665806758068580695807058071580725807358074580755807658077580785807958080580815808258083580845808558086580875808858089580905809158092580935809458095580965809758098580995810058101581025810358104581055810658107581085810958110581115811258113581145811558116581175811858119581205812158122581235812458125581265812758128581295813058131581325813358134581355813658137581385813958140581415814258143581445814558146581475814858149581505815158152581535815458155581565815758158581595816058161581625816358164581655816658167581685816958170581715817258173581745817558176581775817858179581805818158182581835818458185581865818758188581895819058191581925819358194581955819658197581985819958200582015820258203582045820558206582075820858209582105821158212582135821458215582165821758218582195822058221582225822358224582255822658227582285822958230582315823258233582345823558236582375823858239582405824158242582435824458245582465824758248582495825058251582525825358254582555825658257582585825958260582615826258263582645826558266582675826858269582705827158272582735827458275582765827758278582795828058281582825828358284582855828658287582885828958290582915829258293582945829558296582975829858299583005830158302583035830458305583065830758308583095831058311583125831358314583155831658317583185831958320583215832258323583245832558326583275832858329583305833158332583335833458335583365833758338583395834058341583425834358344583455834658347583485834958350583515835258353583545835558356583575835858359583605836158362583635836458365583665836758368583695837058371583725837358374583755837658377583785837958380583815838258383583845838558386583875838858389583905839158392583935839458395583965839758398583995840058401584025840358404584055840658407584085840958410584115841258413584145841558416584175841858419584205842158422584235842458425584265842758428584295843058431584325843358434584355843658437584385843958440584415844258443584445844558446584475844858449584505845158452584535845458455584565845758458584595846058461584625846358464584655846658467584685846958470584715847258473584745847558476584775847858479584805848158482584835848458485584865848758488584895849058491584925849358494584955849658497584985849958500585015850258503585045850558506585075850858509585105851158512585135851458515585165851758518585195852058521585225852358524585255852658527585285852958530585315853258533585345853558536585375853858539585405854158542585435854458545585465854758548585495855058551585525855358554585555855658557585585855958560585615856258563585645856558566585675856858569585705857158572585735857458575585765857758578585795858058581585825858358584585855858658587585885858958590585915859258593585945859558596585975859858599586005860158602586035860458605586065860758608586095861058611586125861358614586155861658617586185861958620586215862258623586245862558626586275862858629586305863158632586335863458635586365863758638586395864058641586425864358644586455864658647586485864958650586515865258653586545865558656586575865858659586605866158662586635866458665586665866758668586695867058671586725867358674586755867658677586785867958680586815868258683586845868558686586875868858689586905869158692586935869458695586965869758698586995870058701587025870358704587055870658707587085870958710587115871258713587145871558716587175871858719587205872158722587235872458725587265872758728587295873058731587325873358734587355873658737587385873958740587415874258743587445874558746587475874858749587505875158752587535875458755587565875758758587595876058761587625876358764587655876658767587685876958770587715877258773587745877558776587775877858779587805878158782587835878458785587865878758788587895879058791587925879358794587955879658797587985879958800588015880258803588045880558806588075880858809588105881158812588135881458815588165881758818588195882058821588225882358824588255882658827588285882958830588315883258833588345883558836588375883858839588405884158842588435884458845588465884758848588495885058851588525885358854588555885658857588585885958860588615886258863588645886558866588675886858869588705887158872588735887458875588765887758878588795888058881588825888358884588855888658887588885888958890588915889258893588945889558896588975889858899589005890158902589035890458905589065890758908589095891058911589125891358914589155891658917589185891958920589215892258923589245892558926589275892858929589305893158932589335893458935589365893758938589395894058941589425894358944589455894658947589485894958950589515895258953589545895558956589575895858959589605896158962589635896458965589665896758968589695897058971589725897358974589755897658977589785897958980589815898258983589845898558986589875898858989589905899158992589935899458995589965899758998589995900059001590025900359004590055900659007590085900959010590115901259013590145901559016590175901859019590205902159022590235902459025590265902759028590295903059031590325903359034590355903659037590385903959040590415904259043590445904559046590475904859049590505905159052590535905459055590565905759058590595906059061590625906359064590655906659067590685906959070590715907259073590745907559076590775907859079590805908159082590835908459085590865908759088590895909059091590925909359094590955909659097590985909959100591015910259103591045910559106591075910859109591105911159112591135911459115591165911759118591195912059121591225912359124591255912659127591285912959130591315913259133591345913559136591375913859139591405914159142591435914459145591465914759148591495915059151591525915359154591555915659157591585915959160591615916259163591645916559166591675916859169591705917159172591735917459175591765917759178591795918059181591825918359184591855918659187591885918959190591915919259193591945919559196591975919859199592005920159202592035920459205592065920759208592095921059211592125921359214592155921659217592185921959220592215922259223592245922559226592275922859229592305923159232592335923459235592365923759238592395924059241592425924359244592455924659247592485924959250592515925259253592545925559256592575925859259592605926159262592635926459265592665926759268592695927059271592725927359274592755927659277592785927959280592815928259283592845928559286592875928859289592905929159292592935929459295592965929759298592995930059301593025930359304593055930659307593085930959310593115931259313593145931559316593175931859319593205932159322593235932459325593265932759328593295933059331593325933359334593355933659337593385933959340593415934259343593445934559346593475934859349593505935159352593535935459355593565935759358593595936059361593625936359364593655936659367593685936959370593715937259373593745937559376593775937859379593805938159382593835938459385593865938759388593895939059391593925939359394593955939659397593985939959400594015940259403594045940559406594075940859409594105941159412594135941459415594165941759418594195942059421594225942359424594255942659427594285942959430594315943259433594345943559436594375943859439594405944159442594435944459445594465944759448594495945059451594525945359454594555945659457594585945959460594615946259463594645946559466594675946859469594705947159472594735947459475594765947759478594795948059481594825948359484594855948659487594885948959490594915949259493594945949559496594975949859499595005950159502595035950459505595065950759508595095951059511595125951359514595155951659517595185951959520595215952259523595245952559526595275952859529595305953159532595335953459535595365953759538595395954059541595425954359544595455954659547595485954959550595515955259553595545955559556595575955859559595605956159562595635956459565595665956759568595695957059571595725957359574595755957659577595785957959580595815958259583595845958559586595875958859589595905959159592595935959459595595965959759598595995960059601596025960359604596055960659607596085960959610596115961259613596145961559616596175961859619596205962159622596235962459625596265962759628596295963059631596325963359634596355963659637596385963959640596415964259643596445964559646596475964859649596505965159652596535965459655596565965759658596595966059661596625966359664596655966659667596685966959670596715967259673596745967559676596775967859679596805968159682596835968459685596865968759688596895969059691596925969359694596955969659697596985969959700597015970259703597045970559706597075970859709597105971159712597135971459715597165971759718597195972059721597225972359724597255972659727597285972959730597315973259733597345973559736597375973859739597405974159742597435974459745597465974759748597495975059751597525975359754597555975659757597585975959760597615976259763597645976559766597675976859769597705977159772597735977459775597765977759778597795978059781597825978359784597855978659787597885978959790597915979259793597945979559796597975979859799598005980159802598035980459805598065980759808598095981059811598125981359814598155981659817598185981959820598215982259823598245982559826598275982859829598305983159832598335983459835598365983759838598395984059841598425984359844598455984659847598485984959850598515985259853598545985559856598575985859859598605986159862598635986459865598665986759868598695987059871598725987359874598755987659877598785987959880598815988259883598845988559886598875988859889598905989159892598935989459895598965989759898598995990059901599025990359904599055990659907599085990959910599115991259913599145991559916599175991859919599205992159922599235992459925599265992759928599295993059931599325993359934599355993659937599385993959940599415994259943599445994559946599475994859949599505995159952599535995459955599565995759958599595996059961599625996359964599655996659967599685996959970599715997259973599745997559976599775997859979599805998159982599835998459985599865998759988599895999059991599925999359994599955999659997599985999960000600016000260003600046000560006600076000860009600106001160012600136001460015600166001760018600196002060021600226002360024600256002660027600286002960030600316003260033600346003560036600376003860039600406004160042600436004460045600466004760048600496005060051600526005360054600556005660057600586005960060600616006260063600646006560066600676006860069600706007160072600736007460075600766007760078600796008060081600826008360084600856008660087600886008960090600916009260093600946009560096600976009860099601006010160102601036010460105601066010760108601096011060111601126011360114601156011660117601186011960120601216012260123601246012560126601276012860129601306013160132601336013460135601366013760138601396014060141601426014360144601456014660147601486014960150601516015260153601546015560156601576015860159601606016160162601636016460165601666016760168601696017060171601726017360174601756017660177601786017960180601816018260183601846018560186601876018860189601906019160192601936019460195601966019760198601996020060201602026020360204602056020660207602086020960210602116021260213602146021560216602176021860219602206022160222602236022460225602266022760228602296023060231602326023360234602356023660237602386023960240602416024260243602446024560246602476024860249602506025160252602536025460255602566025760258602596026060261602626026360264602656026660267602686026960270602716027260273602746027560276602776027860279602806028160282602836028460285602866028760288602896029060291602926029360294602956029660297602986029960300603016030260303603046030560306603076030860309603106031160312603136031460315603166031760318603196032060321603226032360324603256032660327603286032960330603316033260333603346033560336603376033860339603406034160342603436034460345603466034760348603496035060351603526035360354603556035660357603586035960360603616036260363603646036560366603676036860369603706037160372603736037460375603766037760378603796038060381603826038360384603856038660387603886038960390603916039260393603946039560396603976039860399604006040160402604036040460405604066040760408604096041060411604126041360414604156041660417604186041960420604216042260423604246042560426604276042860429604306043160432604336043460435604366043760438604396044060441604426044360444604456044660447604486044960450604516045260453604546045560456604576045860459604606046160462604636046460465604666046760468604696047060471604726047360474604756047660477604786047960480604816048260483604846048560486604876048860489604906049160492604936049460495604966049760498604996050060501605026050360504605056050660507605086050960510605116051260513605146051560516605176051860519605206052160522605236052460525605266052760528605296053060531605326053360534605356053660537605386053960540605416054260543605446054560546605476054860549605506055160552605536055460555605566055760558605596056060561605626056360564605656056660567605686056960570605716057260573605746057560576605776057860579605806058160582605836058460585605866058760588605896059060591605926059360594605956059660597605986059960600606016060260603606046060560606606076060860609606106061160612606136061460615606166061760618606196062060621606226062360624606256062660627606286062960630606316063260633606346063560636606376063860639606406064160642606436064460645606466064760648606496065060651606526065360654606556065660657606586065960660606616066260663606646066560666606676066860669606706067160672606736067460675606766067760678606796068060681606826068360684606856068660687606886068960690606916069260693606946069560696606976069860699607006070160702607036070460705607066070760708607096071060711607126071360714607156071660717607186071960720607216072260723607246072560726607276072860729607306073160732607336073460735607366073760738607396074060741607426074360744607456074660747607486074960750607516075260753607546075560756607576075860759607606076160762607636076460765607666076760768607696077060771607726077360774607756077660777607786077960780607816078260783607846078560786607876078860789607906079160792607936079460795607966079760798607996080060801608026080360804608056080660807608086080960810608116081260813608146081560816608176081860819608206082160822608236082460825608266082760828608296083060831608326083360834608356083660837608386083960840608416084260843608446084560846608476084860849608506085160852608536085460855608566085760858608596086060861608626086360864608656086660867608686086960870608716087260873608746087560876608776087860879608806088160882608836088460885608866088760888608896089060891608926089360894608956089660897608986089960900609016090260903609046090560906609076090860909609106091160912609136091460915609166091760918609196092060921609226092360924609256092660927609286092960930609316093260933609346093560936609376093860939609406094160942609436094460945609466094760948609496095060951609526095360954609556095660957609586095960960609616096260963609646096560966609676096860969609706097160972609736097460975609766097760978609796098060981609826098360984609856098660987609886098960990609916099260993609946099560996609976099860999610006100161002610036100461005610066100761008610096101061011610126101361014610156101661017610186101961020610216102261023610246102561026610276102861029610306103161032610336103461035610366103761038610396104061041610426104361044610456104661047610486104961050610516105261053610546105561056610576105861059610606106161062610636106461065610666106761068610696107061071610726107361074610756107661077610786107961080610816108261083610846108561086610876108861089610906109161092610936109461095610966109761098610996110061101611026110361104611056110661107611086110961110611116111261113611146111561116611176111861119611206112161122611236112461125611266112761128611296113061131611326113361134611356113661137611386113961140611416114261143611446114561146611476114861149611506115161152611536115461155611566115761158611596116061161611626116361164611656116661167611686116961170611716117261173611746117561176611776117861179611806118161182611836118461185611866118761188611896119061191611926119361194611956119661197611986119961200612016120261203612046120561206612076120861209612106121161212612136121461215612166121761218612196122061221612226122361224612256122661227612286122961230612316123261233612346123561236612376123861239612406124161242612436124461245612466124761248612496125061251612526125361254612556125661257612586125961260612616126261263612646126561266612676126861269612706127161272612736127461275612766127761278612796128061281612826128361284612856128661287612886128961290612916129261293612946129561296612976129861299613006130161302613036130461305613066130761308613096131061311613126131361314613156131661317613186131961320613216132261323613246132561326613276132861329613306133161332613336133461335613366133761338613396134061341613426134361344613456134661347613486134961350613516135261353613546135561356613576135861359613606136161362613636136461365613666136761368613696137061371613726137361374613756137661377613786137961380613816138261383613846138561386613876138861389613906139161392613936139461395613966139761398613996140061401614026140361404614056140661407614086140961410614116141261413614146141561416614176141861419614206142161422614236142461425614266142761428614296143061431614326143361434614356143661437614386143961440614416144261443614446144561446614476144861449614506145161452614536145461455614566145761458614596146061461614626146361464614656146661467614686146961470614716147261473614746147561476614776147861479614806148161482614836148461485614866148761488614896149061491614926149361494614956149661497614986149961500615016150261503615046150561506615076150861509615106151161512615136151461515615166151761518615196152061521615226152361524615256152661527615286152961530615316153261533615346153561536615376153861539615406154161542615436154461545615466154761548615496155061551615526155361554615556155661557615586155961560615616156261563615646156561566615676156861569615706157161572615736157461575615766157761578615796158061581615826158361584615856158661587615886158961590615916159261593615946159561596615976159861599616006160161602616036160461605616066160761608616096161061611616126161361614616156161661617616186161961620616216162261623616246162561626616276162861629616306163161632616336163461635616366163761638616396164061641616426164361644616456164661647616486164961650616516165261653616546165561656616576165861659616606166161662616636166461665616666166761668616696167061671616726167361674616756167661677616786167961680616816168261683616846168561686616876168861689616906169161692616936169461695616966169761698616996170061701617026170361704617056170661707617086170961710617116171261713617146171561716617176171861719617206172161722617236172461725617266172761728617296173061731617326173361734617356173661737617386173961740617416174261743617446174561746617476174861749617506175161752617536175461755617566175761758617596176061761617626176361764617656176661767617686176961770617716177261773617746177561776617776177861779617806178161782617836178461785617866178761788617896179061791617926179361794617956179661797617986179961800618016180261803618046180561806618076180861809618106181161812618136181461815618166181761818618196182061821618226182361824618256182661827618286182961830618316183261833618346183561836618376183861839618406184161842618436184461845618466184761848618496185061851618526185361854618556185661857618586185961860618616186261863618646186561866618676186861869618706187161872618736187461875618766187761878618796188061881618826188361884618856188661887618886188961890618916189261893618946189561896618976189861899619006190161902619036190461905619066190761908619096191061911619126191361914619156191661917619186191961920619216192261923619246192561926619276192861929619306193161932619336193461935619366193761938619396194061941619426194361944619456194661947619486194961950619516195261953619546195561956619576195861959619606196161962619636196461965619666196761968619696197061971619726197361974619756197661977619786197961980619816198261983619846198561986619876198861989619906199161992619936199461995619966199761998619996200062001620026200362004620056200662007620086200962010620116201262013620146201562016620176201862019620206202162022620236202462025620266202762028620296203062031620326203362034620356203662037620386203962040620416204262043620446204562046620476204862049620506205162052620536205462055620566205762058620596206062061620626206362064620656206662067620686206962070620716207262073620746207562076620776207862079620806208162082620836208462085620866208762088620896209062091620926209362094620956209662097620986209962100621016210262103621046210562106621076210862109621106211162112621136211462115621166211762118621196212062121621226212362124621256212662127621286212962130621316213262133621346213562136621376213862139621406214162142621436214462145621466214762148621496215062151621526215362154621556215662157621586215962160621616216262163621646216562166621676216862169621706217162172621736217462175621766217762178621796218062181621826218362184621856218662187621886218962190621916219262193621946219562196621976219862199622006220162202622036220462205622066220762208622096221062211622126221362214622156221662217622186221962220622216222262223622246222562226622276222862229622306223162232622336223462235622366223762238622396224062241622426224362244622456224662247622486224962250622516225262253622546225562256622576225862259622606226162262622636226462265622666226762268622696227062271622726227362274622756227662277622786227962280622816228262283622846228562286622876228862289622906229162292622936229462295622966229762298622996230062301623026230362304623056230662307623086230962310623116231262313623146231562316623176231862319623206232162322623236232462325623266232762328623296233062331623326233362334623356233662337623386233962340623416234262343623446234562346623476234862349623506235162352623536235462355623566235762358623596236062361623626236362364623656236662367623686236962370623716237262373623746237562376623776237862379623806238162382623836238462385623866238762388623896239062391623926239362394623956239662397623986239962400624016240262403624046240562406624076240862409624106241162412624136241462415624166241762418624196242062421624226242362424624256242662427624286242962430624316243262433624346243562436624376243862439624406244162442624436244462445624466244762448624496245062451624526245362454624556245662457624586245962460624616246262463624646246562466624676246862469624706247162472624736247462475624766247762478624796248062481624826248362484624856248662487624886248962490624916249262493624946249562496624976249862499625006250162502625036250462505625066250762508625096251062511625126251362514625156251662517625186251962520625216252262523625246252562526625276252862529625306253162532625336253462535625366253762538625396254062541625426254362544625456254662547625486254962550625516255262553625546255562556625576255862559625606256162562625636256462565625666256762568625696257062571625726257362574625756257662577625786257962580625816258262583625846258562586625876258862589625906259162592625936259462595625966259762598625996260062601626026260362604626056260662607626086260962610626116261262613626146261562616626176261862619626206262162622626236262462625626266262762628626296263062631626326263362634626356263662637626386263962640626416264262643626446264562646626476264862649626506265162652626536265462655626566265762658626596266062661626626266362664626656266662667626686266962670626716267262673626746267562676626776267862679626806268162682626836268462685626866268762688626896269062691626926269362694626956269662697626986269962700627016270262703627046270562706627076270862709627106271162712627136271462715627166271762718627196272062721627226272362724627256272662727627286272962730627316273262733627346273562736627376273862739627406274162742627436274462745627466274762748627496275062751627526275362754627556275662757627586275962760627616276262763627646276562766627676276862769627706277162772627736277462775627766277762778627796278062781627826278362784627856278662787627886278962790627916279262793627946279562796627976279862799628006280162802628036280462805628066280762808628096281062811628126281362814628156281662817628186281962820628216282262823628246282562826628276282862829628306283162832628336283462835628366283762838628396284062841628426284362844628456284662847628486284962850628516285262853628546285562856628576285862859628606286162862628636286462865628666286762868628696287062871628726287362874628756287662877628786287962880628816288262883628846288562886628876288862889628906289162892628936289462895628966289762898628996290062901629026290362904629056290662907629086290962910629116291262913629146291562916629176291862919629206292162922629236292462925629266292762928629296293062931629326293362934629356293662937629386293962940629416294262943629446294562946629476294862949629506295162952629536295462955629566295762958629596296062961629626296362964629656296662967629686296962970629716297262973629746297562976629776297862979629806298162982629836298462985629866298762988629896299062991629926299362994629956299662997629986299963000630016300263003630046300563006630076300863009630106301163012630136301463015630166301763018630196302063021630226302363024630256302663027630286302963030630316303263033630346303563036630376303863039630406304163042630436304463045630466304763048630496305063051630526305363054630556305663057630586305963060630616306263063630646306563066630676306863069630706307163072630736307463075630766307763078630796308063081630826308363084630856308663087630886308963090630916309263093630946309563096630976309863099631006310163102631036310463105631066310763108631096311063111631126311363114631156311663117631186311963120631216312263123631246312563126631276312863129631306313163132631336313463135631366313763138631396314063141631426314363144631456314663147631486314963150631516315263153631546315563156631576315863159631606316163162631636316463165631666316763168631696317063171631726317363174631756317663177631786317963180631816318263183631846318563186631876318863189631906319163192631936319463195631966319763198631996320063201632026320363204632056320663207632086320963210632116321263213632146321563216632176321863219632206322163222632236322463225632266322763228632296323063231632326323363234632356323663237632386323963240632416324263243632446324563246632476324863249632506325163252632536325463255632566325763258632596326063261632626326363264632656326663267632686326963270632716327263273632746327563276632776327863279632806328163282632836328463285632866328763288632896329063291632926329363294632956329663297632986329963300633016330263303633046330563306633076330863309633106331163312633136331463315633166331763318633196332063321633226332363324633256332663327633286332963330633316333263333633346333563336633376333863339633406334163342633436334463345633466334763348633496335063351633526335363354633556335663357633586335963360633616336263363633646336563366633676336863369633706337163372633736337463375633766337763378633796338063381633826338363384633856338663387633886338963390633916339263393633946339563396633976339863399634006340163402634036340463405634066340763408634096341063411634126341363414634156341663417634186341963420634216342263423634246342563426634276342863429634306343163432634336343463435634366343763438634396344063441634426344363444634456344663447634486344963450634516345263453634546345563456634576345863459634606346163462634636346463465634666346763468634696347063471634726347363474634756347663477634786347963480634816348263483634846348563486634876348863489634906349163492634936349463495634966349763498634996350063501635026350363504635056350663507635086350963510635116351263513635146351563516635176351863519635206352163522635236352463525635266352763528635296353063531635326353363534635356353663537635386353963540635416354263543635446354563546635476354863549635506355163552635536355463555635566355763558635596356063561635626356363564635656356663567635686356963570635716357263573635746357563576635776357863579635806358163582635836358463585635866358763588635896359063591635926359363594635956359663597635986359963600636016360263603636046360563606636076360863609636106361163612636136361463615636166361763618636196362063621636226362363624636256362663627636286362963630636316363263633636346363563636636376363863639636406364163642636436364463645636466364763648636496365063651636526365363654636556365663657636586365963660636616366263663636646366563666636676366863669636706367163672636736367463675636766367763678636796368063681636826368363684636856368663687636886368963690636916369263693636946369563696636976369863699637006370163702637036370463705637066370763708637096371063711637126371363714637156371663717637186371963720637216372263723637246372563726637276372863729637306373163732637336373463735637366373763738637396374063741637426374363744637456374663747637486374963750637516375263753637546375563756637576375863759637606376163762637636376463765637666376763768637696377063771637726377363774637756377663777637786377963780637816378263783637846378563786637876378863789637906379163792637936379463795637966379763798637996380063801638026380363804638056380663807638086380963810638116381263813638146381563816638176381863819638206382163822638236382463825638266382763828638296383063831638326383363834638356383663837638386383963840638416384263843638446384563846638476384863849638506385163852638536385463855638566385763858638596386063861638626386363864638656386663867638686386963870638716387263873638746387563876638776387863879638806388163882638836388463885638866388763888638896389063891638926389363894638956389663897638986389963900639016390263903639046390563906639076390863909639106391163912639136391463915639166391763918639196392063921639226392363924639256392663927639286392963930639316393263933639346393563936639376393863939639406394163942639436394463945639466394763948639496395063951639526395363954639556395663957639586395963960639616396263963639646396563966639676396863969639706397163972639736397463975639766397763978639796398063981639826398363984639856398663987639886398963990639916399263993639946399563996639976399863999640006400164002640036400464005640066400764008640096401064011640126401364014640156401664017640186401964020640216402264023640246402564026640276402864029640306403164032640336403464035640366403764038640396404064041640426404364044640456404664047640486404964050640516405264053640546405564056640576405864059640606406164062640636406464065640666406764068640696407064071640726407364074640756407664077640786407964080640816408264083640846408564086640876408864089640906409164092640936409464095640966409764098640996410064101641026410364104641056410664107641086410964110641116411264113641146411564116641176411864119641206412164122641236412464125641266412764128641296413064131641326413364134641356413664137641386413964140641416414264143641446414564146641476414864149641506415164152641536415464155641566415764158641596416064161641626416364164641656416664167641686416964170641716417264173641746417564176641776417864179641806418164182641836418464185641866418764188641896419064191641926419364194641956419664197641986419964200642016420264203642046420564206642076420864209642106421164212642136421464215642166421764218642196422064221642226422364224642256422664227642286422964230642316423264233642346423564236642376423864239642406424164242642436424464245642466424764248642496425064251642526425364254642556425664257642586425964260642616426264263642646426564266642676426864269642706427164272642736427464275642766427764278642796428064281642826428364284642856428664287642886428964290642916429264293642946429564296642976429864299643006430164302643036430464305643066430764308643096431064311643126431364314643156431664317643186431964320643216432264323643246432564326643276432864329643306433164332643336433464335643366433764338643396434064341643426434364344643456434664347643486434964350643516435264353643546435564356643576435864359643606436164362643636436464365643666436764368643696437064371643726437364374643756437664377643786437964380643816438264383643846438564386643876438864389643906439164392643936439464395643966439764398643996440064401644026440364404644056440664407644086440964410644116441264413644146441564416644176441864419644206442164422644236442464425644266442764428644296443064431644326443364434644356443664437644386443964440644416444264443644446444564446644476444864449644506445164452644536445464455644566445764458644596446064461644626446364464644656446664467644686446964470644716447264473644746447564476644776447864479644806448164482644836448464485644866448764488644896449064491644926449364494644956449664497644986449964500645016450264503645046450564506645076450864509645106451164512645136451464515645166451764518645196452064521645226452364524645256452664527645286452964530645316453264533645346453564536645376453864539645406454164542645436454464545645466454764548645496455064551645526455364554645556455664557645586455964560645616456264563645646456564566645676456864569645706457164572645736457464575645766457764578645796458064581645826458364584645856458664587645886458964590645916459264593645946459564596645976459864599646006460164602646036460464605646066460764608646096461064611646126461364614646156461664617646186461964620646216462264623646246462564626646276462864629646306463164632646336463464635646366463764638646396464064641646426464364644646456464664647646486464964650646516465264653646546465564656646576465864659646606466164662646636466464665646666466764668646696467064671646726467364674646756467664677646786467964680646816468264683646846468564686646876468864689646906469164692646936469464695646966469764698646996470064701647026470364704647056470664707647086470964710647116471264713647146471564716647176471864719647206472164722647236472464725647266472764728647296473064731647326473364734647356473664737647386473964740647416474264743647446474564746647476474864749647506475164752647536475464755647566475764758647596476064761647626476364764647656476664767647686476964770647716477264773647746477564776647776477864779647806478164782647836478464785647866478764788647896479064791647926479364794647956479664797647986479964800648016480264803648046480564806648076480864809648106481164812648136481464815648166481764818648196482064821648226482364824648256482664827648286482964830648316483264833648346483564836648376483864839648406484164842648436484464845648466484764848648496485064851648526485364854648556485664857648586485964860648616486264863648646486564866648676486864869648706487164872648736487464875648766487764878648796488064881648826488364884648856488664887648886488964890648916489264893648946489564896648976489864899649006490164902649036490464905649066490764908649096491064911649126491364914649156491664917649186491964920649216492264923649246492564926649276492864929649306493164932649336493464935649366493764938649396494064941649426494364944649456494664947649486494964950649516495264953649546495564956649576495864959649606496164962649636496464965649666496764968649696497064971649726497364974649756497664977649786497964980649816498264983649846498564986649876498864989649906499164992649936499464995649966499764998649996500065001650026500365004650056500665007650086500965010650116501265013650146501565016650176501865019650206502165022650236502465025650266502765028650296503065031650326503365034650356503665037650386503965040650416504265043650446504565046650476504865049650506505165052650536505465055650566505765058650596506065061650626506365064650656506665067650686506965070650716507265073650746507565076650776507865079650806508165082650836508465085650866508765088650896509065091650926509365094650956509665097650986509965100651016510265103651046510565106651076510865109651106511165112651136511465115651166511765118651196512065121651226512365124651256512665127651286512965130651316513265133651346513565136651376513865139651406514165142651436514465145651466514765148651496515065151651526515365154651556515665157651586515965160651616516265163651646516565166651676516865169651706517165172651736517465175651766517765178651796518065181651826518365184651856518665187651886518965190651916519265193651946519565196651976519865199652006520165202652036520465205652066520765208652096521065211652126521365214652156521665217652186521965220652216522265223652246522565226652276522865229652306523165232652336523465235652366523765238652396524065241652426524365244652456524665247652486524965250652516525265253652546525565256652576525865259652606526165262652636526465265652666526765268652696527065271652726527365274652756527665277652786527965280652816528265283652846528565286652876528865289652906529165292652936529465295652966529765298652996530065301653026530365304653056530665307653086530965310653116531265313653146531565316653176531865319653206532165322653236532465325653266532765328653296533065331653326533365334653356533665337653386533965340653416534265343653446534565346653476534865349653506535165352653536535465355653566535765358653596536065361653626536365364653656536665367653686536965370653716537265373653746537565376653776537865379653806538165382653836538465385653866538765388653896539065391653926539365394653956539665397653986539965400654016540265403654046540565406654076540865409654106541165412654136541465415654166541765418654196542065421654226542365424654256542665427654286542965430654316543265433654346543565436654376543865439654406544165442654436544465445654466544765448654496545065451654526545365454654556545665457654586545965460654616546265463654646546565466654676546865469654706547165472654736547465475654766547765478654796548065481654826548365484654856548665487654886548965490654916549265493654946549565496654976549865499655006550165502655036550465505655066550765508655096551065511655126551365514655156551665517655186551965520655216552265523655246552565526655276552865529655306553165532655336553465535655366553765538655396554065541655426554365544655456554665547655486554965550655516555265553655546555565556655576555865559655606556165562655636556465565655666556765568655696557065571655726557365574655756557665577655786557965580655816558265583655846558565586655876558865589655906559165592655936559465595655966559765598655996560065601656026560365604656056560665607656086560965610656116561265613656146561565616656176561865619656206562165622656236562465625656266562765628656296563065631656326563365634656356563665637656386563965640656416564265643656446564565646656476564865649656506565165652656536565465655656566565765658656596566065661656626566365664656656566665667656686566965670656716567265673656746567565676656776567865679656806568165682656836568465685656866568765688656896569065691656926569365694656956569665697656986569965700657016570265703657046570565706657076570865709657106571165712657136571465715657166571765718657196572065721657226572365724657256572665727657286572965730657316573265733657346573565736657376573865739657406574165742657436574465745657466574765748657496575065751657526575365754657556575665757657586575965760657616576265763657646576565766657676576865769657706577165772657736577465775657766577765778657796578065781657826578365784657856578665787657886578965790657916579265793657946579565796657976579865799658006580165802658036580465805658066580765808658096581065811658126581365814658156581665817658186581965820658216582265823658246582565826658276582865829658306583165832658336583465835658366583765838658396584065841658426584365844658456584665847658486584965850658516585265853658546585565856658576585865859658606586165862658636586465865658666586765868658696587065871658726587365874658756587665877658786587965880658816588265883658846588565886658876588865889658906589165892658936589465895658966589765898658996590065901659026590365904659056590665907659086590965910659116591265913659146591565916659176591865919659206592165922659236592465925659266592765928659296593065931659326593365934659356593665937659386593965940659416594265943659446594565946659476594865949659506595165952659536595465955659566595765958659596596065961659626596365964659656596665967659686596965970659716597265973659746597565976659776597865979659806598165982659836598465985659866598765988659896599065991659926599365994659956599665997659986599966000660016600266003660046600566006660076600866009660106601166012660136601466015660166601766018660196602066021660226602366024660256602666027660286602966030660316603266033660346603566036660376603866039660406604166042660436604466045660466604766048660496605066051660526605366054660556605666057660586605966060660616606266063660646606566066660676606866069660706607166072660736607466075660766607766078660796608066081660826608366084660856608666087660886608966090660916609266093660946609566096660976609866099661006610166102661036610466105661066610766108661096611066111661126611366114661156611666117661186611966120661216612266123661246612566126661276612866129661306613166132661336613466135661366613766138661396614066141661426614366144661456614666147661486614966150661516615266153661546615566156661576615866159661606616166162661636616466165661666616766168661696617066171661726617366174661756617666177661786617966180661816618266183661846618566186661876618866189661906619166192661936619466195661966619766198661996620066201662026620366204662056620666207662086620966210662116621266213662146621566216662176621866219662206622166222662236622466225662266622766228662296623066231662326623366234662356623666237662386623966240662416624266243662446624566246662476624866249662506625166252662536625466255662566625766258662596626066261662626626366264662656626666267662686626966270662716627266273662746627566276662776627866279662806628166282662836628466285662866628766288662896629066291662926629366294662956629666297662986629966300663016630266303663046630566306663076630866309663106631166312663136631466315663166631766318663196632066321663226632366324663256632666327663286632966330663316633266333663346633566336663376633866339663406634166342663436634466345663466634766348663496635066351663526635366354663556635666357663586635966360663616636266363663646636566366663676636866369663706637166372663736637466375663766637766378663796638066381663826638366384663856638666387663886638966390663916639266393663946639566396663976639866399664006640166402664036640466405664066640766408664096641066411664126641366414664156641666417664186641966420664216642266423664246642566426664276642866429664306643166432664336643466435664366643766438664396644066441664426644366444664456644666447664486644966450664516645266453664546645566456664576645866459664606646166462664636646466465664666646766468664696647066471664726647366474664756647666477664786647966480664816648266483664846648566486664876648866489664906649166492664936649466495664966649766498664996650066501665026650366504665056650666507665086650966510665116651266513665146651566516665176651866519665206652166522665236652466525665266652766528665296653066531665326653366534665356653666537665386653966540665416654266543665446654566546665476654866549665506655166552665536655466555665566655766558665596656066561665626656366564665656656666567665686656966570665716657266573665746657566576665776657866579665806658166582665836658466585665866658766588665896659066591665926659366594665956659666597665986659966600666016660266603666046660566606666076660866609666106661166612666136661466615666166661766618666196662066621666226662366624666256662666627666286662966630666316663266633666346663566636666376663866639666406664166642666436664466645666466664766648666496665066651666526665366654666556665666657666586665966660666616666266663666646666566666666676666866669666706667166672666736667466675666766667766678666796668066681666826668366684666856668666687666886668966690666916669266693666946669566696666976669866699667006670166702667036670466705667066670766708667096671066711667126671366714667156671666717667186671966720667216672266723667246672566726667276672866729667306673166732667336673466735667366673766738667396674066741667426674366744667456674666747667486674966750667516675266753667546675566756667576675866759667606676166762667636676466765667666676766768667696677066771667726677366774667756677666777667786677966780667816678266783667846678566786667876678866789667906679166792667936679466795667966679766798667996680066801668026680366804668056680666807668086680966810668116681266813668146681566816668176681866819668206682166822668236682466825668266682766828668296683066831668326683366834668356683666837668386683966840668416684266843668446684566846668476684866849668506685166852668536685466855668566685766858668596686066861668626686366864668656686666867668686686966870668716687266873668746687566876668776687866879668806688166882668836688466885668866688766888668896689066891668926689366894668956689666897668986689966900669016690266903669046690566906669076690866909669106691166912669136691466915669166691766918669196692066921669226692366924669256692666927669286692966930669316693266933669346693566936669376693866939669406694166942669436694466945669466694766948669496695066951669526695366954669556695666957669586695966960669616696266963669646696566966669676696866969669706697166972669736697466975669766697766978669796698066981669826698366984669856698666987669886698966990669916699266993669946699566996669976699866999670006700167002670036700467005670066700767008670096701067011670126701367014670156701667017670186701967020670216702267023670246702567026670276702867029670306703167032670336703467035670366703767038670396704067041670426704367044670456704667047670486704967050670516705267053670546705567056670576705867059670606706167062670636706467065670666706767068670696707067071670726707367074670756707667077670786707967080670816708267083670846708567086670876708867089670906709167092670936709467095670966709767098670996710067101671026710367104671056710667107671086710967110671116711267113671146711567116671176711867119671206712167122671236712467125671266712767128671296713067131671326713367134671356713667137671386713967140671416714267143671446714567146671476714867149671506715167152671536715467155671566715767158671596716067161671626716367164671656716667167671686716967170671716717267173671746717567176671776717867179671806718167182671836718467185671866718767188671896719067191671926719367194671956719667197671986719967200672016720267203672046720567206672076720867209672106721167212672136721467215672166721767218672196722067221672226722367224672256722667227672286722967230672316723267233672346723567236672376723867239672406724167242672436724467245672466724767248672496725067251672526725367254672556725667257672586725967260672616726267263672646726567266672676726867269672706727167272672736727467275672766727767278672796728067281672826728367284672856728667287672886728967290672916729267293672946729567296672976729867299673006730167302673036730467305673066730767308673096731067311673126731367314673156731667317673186731967320673216732267323673246732567326673276732867329673306733167332673336733467335673366733767338673396734067341673426734367344673456734667347673486734967350673516735267353673546735567356673576735867359673606736167362673636736467365673666736767368673696737067371673726737367374673756737667377673786737967380673816738267383673846738567386673876738867389673906739167392673936739467395673966739767398673996740067401674026740367404674056740667407674086740967410674116741267413674146741567416674176741867419674206742167422674236742467425674266742767428674296743067431674326743367434674356743667437674386743967440674416744267443674446744567446674476744867449674506745167452674536745467455674566745767458674596746067461674626746367464674656746667467674686746967470674716747267473674746747567476674776747867479674806748167482674836748467485674866748767488674896749067491674926749367494674956749667497674986749967500675016750267503675046750567506675076750867509675106751167512675136751467515675166751767518675196752067521675226752367524675256752667527675286752967530675316753267533675346753567536675376753867539675406754167542675436754467545675466754767548675496755067551675526755367554675556755667557675586755967560675616756267563675646756567566675676756867569675706757167572675736757467575675766757767578675796758067581675826758367584675856758667587675886758967590675916759267593675946759567596675976759867599676006760167602676036760467605676066760767608676096761067611676126761367614676156761667617676186761967620676216762267623676246762567626676276762867629676306763167632676336763467635676366763767638676396764067641676426764367644676456764667647676486764967650676516765267653676546765567656676576765867659676606766167662676636766467665676666766767668676696767067671676726767367674676756767667677676786767967680676816768267683676846768567686676876768867689676906769167692676936769467695676966769767698676996770067701677026770367704677056770667707677086770967710677116771267713677146771567716677176771867719677206772167722677236772467725677266772767728677296773067731677326773367734677356773667737677386773967740677416774267743677446774567746677476774867749677506775167752677536775467755677566775767758677596776067761677626776367764677656776667767677686776967770677716777267773677746777567776677776777867779677806778167782677836778467785677866778767788677896779067791677926779367794677956779667797677986779967800678016780267803678046780567806678076780867809678106781167812678136781467815678166781767818678196782067821678226782367824678256782667827678286782967830678316783267833678346783567836678376783867839678406784167842678436784467845678466784767848678496785067851678526785367854678556785667857678586785967860678616786267863678646786567866678676786867869678706787167872678736787467875678766787767878678796788067881678826788367884678856788667887678886788967890678916789267893678946789567896678976789867899679006790167902679036790467905679066790767908679096791067911679126791367914679156791667917679186791967920679216792267923679246792567926679276792867929679306793167932679336793467935679366793767938679396794067941679426794367944679456794667947679486794967950679516795267953679546795567956679576795867959679606796167962679636796467965679666796767968679696797067971679726797367974679756797667977679786797967980679816798267983679846798567986679876798867989679906799167992679936799467995679966799767998679996800068001680026800368004680056800668007680086800968010680116801268013680146801568016680176801868019680206802168022680236802468025680266802768028680296803068031680326803368034680356803668037680386803968040680416804268043680446804568046680476804868049680506805168052680536805468055680566805768058680596806068061680626806368064680656806668067680686806968070680716807268073680746807568076680776807868079680806808168082680836808468085680866808768088680896809068091680926809368094680956809668097680986809968100681016810268103681046810568106681076810868109681106811168112681136811468115681166811768118681196812068121681226812368124681256812668127681286812968130681316813268133681346813568136681376813868139681406814168142681436814468145681466814768148681496815068151681526815368154681556815668157681586815968160681616816268163681646816568166681676816868169681706817168172681736817468175681766817768178681796818068181681826818368184681856818668187681886818968190681916819268193681946819568196681976819868199682006820168202682036820468205682066820768208682096821068211682126821368214682156821668217682186821968220682216822268223682246822568226682276822868229682306823168232682336823468235682366823768238682396824068241682426824368244682456824668247682486824968250682516825268253682546825568256682576825868259682606826168262682636826468265682666826768268682696827068271682726827368274682756827668277682786827968280682816828268283682846828568286682876828868289682906829168292682936829468295682966829768298682996830068301683026830368304683056830668307683086830968310683116831268313683146831568316683176831868319683206832168322683236832468325683266832768328683296833068331683326833368334683356833668337683386833968340683416834268343683446834568346683476834868349683506835168352683536835468355683566835768358683596836068361683626836368364683656836668367683686836968370683716837268373683746837568376683776837868379683806838168382683836838468385683866838768388683896839068391683926839368394683956839668397683986839968400684016840268403684046840568406684076840868409684106841168412684136841468415684166841768418684196842068421684226842368424684256842668427684286842968430684316843268433684346843568436684376843868439684406844168442684436844468445684466844768448684496845068451684526845368454684556845668457684586845968460684616846268463684646846568466684676846868469684706847168472684736847468475684766847768478684796848068481684826848368484684856848668487684886848968490684916849268493684946849568496684976849868499685006850168502685036850468505685066850768508685096851068511685126851368514685156851668517685186851968520685216852268523685246852568526685276852868529685306853168532685336853468535685366853768538685396854068541685426854368544685456854668547685486854968550685516855268553685546855568556685576855868559685606856168562685636856468565685666856768568685696857068571685726857368574685756857668577685786857968580685816858268583685846858568586685876858868589685906859168592685936859468595685966859768598685996860068601686026860368604686056860668607686086860968610686116861268613686146861568616686176861868619686206862168622686236862468625686266862768628686296863068631686326863368634686356863668637686386863968640686416864268643686446864568646686476864868649686506865168652686536865468655686566865768658686596866068661686626866368664686656866668667686686866968670686716867268673686746867568676686776867868679686806868168682686836868468685686866868768688686896869068691686926869368694686956869668697686986869968700687016870268703687046870568706687076870868709687106871168712687136871468715687166871768718687196872068721687226872368724687256872668727687286872968730687316873268733687346873568736687376873868739687406874168742687436874468745687466874768748687496875068751687526875368754687556875668757687586875968760687616876268763687646876568766687676876868769687706877168772687736877468775687766877768778687796878068781687826878368784687856878668787687886878968790687916879268793687946879568796687976879868799688006880168802688036880468805688066880768808688096881068811688126881368814688156881668817688186881968820688216882268823688246882568826688276882868829688306883168832688336883468835688366883768838688396884068841688426884368844688456884668847688486884968850688516885268853688546885568856688576885868859688606886168862688636886468865688666886768868688696887068871688726887368874688756887668877688786887968880688816888268883688846888568886688876888868889688906889168892688936889468895688966889768898688996890068901689026890368904689056890668907689086890968910689116891268913689146891568916689176891868919689206892168922689236892468925689266892768928689296893068931689326893368934689356893668937689386893968940689416894268943689446894568946689476894868949689506895168952689536895468955689566895768958689596896068961689626896368964689656896668967689686896968970689716897268973689746897568976689776897868979689806898168982689836898468985689866898768988689896899068991689926899368994689956899668997689986899969000690016900269003690046900569006690076900869009690106901169012690136901469015690166901769018690196902069021690226902369024690256902669027690286902969030690316903269033690346903569036690376903869039690406904169042690436904469045690466904769048690496905069051690526905369054690556905669057690586905969060690616906269063690646906569066690676906869069690706907169072690736907469075690766907769078690796908069081690826908369084690856908669087690886908969090690916909269093690946909569096690976909869099691006910169102691036910469105691066910769108691096911069111691126911369114691156911669117691186911969120691216912269123691246912569126691276912869129691306913169132691336913469135691366913769138691396914069141691426914369144691456914669147691486914969150691516915269153691546915569156691576915869159691606916169162691636916469165691666916769168691696917069171691726917369174691756917669177691786917969180691816918269183691846918569186691876918869189691906919169192691936919469195691966919769198691996920069201692026920369204692056920669207692086920969210692116921269213692146921569216692176921869219692206922169222692236922469225692266922769228692296923069231692326923369234692356923669237692386923969240692416924269243692446924569246692476924869249692506925169252692536925469255692566925769258692596926069261692626926369264692656926669267692686926969270692716927269273692746927569276692776927869279692806928169282692836928469285692866928769288692896929069291692926929369294692956929669297692986929969300693016930269303693046930569306693076930869309693106931169312693136931469315693166931769318693196932069321693226932369324693256932669327693286932969330693316933269333693346933569336693376933869339693406934169342693436934469345693466934769348693496935069351693526935369354693556935669357693586935969360693616936269363693646936569366693676936869369693706937169372693736937469375693766937769378693796938069381693826938369384693856938669387693886938969390693916939269393693946939569396693976939869399694006940169402694036940469405694066940769408694096941069411694126941369414694156941669417694186941969420694216942269423694246942569426694276942869429694306943169432694336943469435694366943769438694396944069441694426944369444694456944669447694486944969450694516945269453694546945569456694576945869459694606946169462694636946469465694666946769468694696947069471694726947369474694756947669477694786947969480694816948269483694846948569486694876948869489694906949169492694936949469495694966949769498694996950069501695026950369504695056950669507695086950969510695116951269513695146951569516695176951869519695206952169522695236952469525695266952769528695296953069531695326953369534695356953669537695386953969540695416954269543695446954569546695476954869549695506955169552695536955469555695566955769558695596956069561695626956369564695656956669567695686956969570695716957269573695746957569576695776957869579695806958169582695836958469585695866958769588695896959069591695926959369594695956959669597695986959969600696016960269603696046960569606696076960869609696106961169612696136961469615696166961769618696196962069621696226962369624696256962669627696286962969630696316963269633696346963569636696376963869639696406964169642696436964469645696466964769648696496965069651696526965369654696556965669657696586965969660696616966269663696646966569666696676966869669696706967169672696736967469675696766967769678696796968069681696826968369684696856968669687696886968969690696916969269693696946969569696696976969869699697006970169702697036970469705697066970769708697096971069711697126971369714697156971669717697186971969720697216972269723697246972569726697276972869729697306973169732697336973469735697366973769738697396974069741697426974369744697456974669747697486974969750697516975269753697546975569756697576975869759697606976169762697636976469765697666976769768697696977069771697726977369774697756977669777697786977969780697816978269783697846978569786697876978869789697906979169792697936979469795697966979769798697996980069801698026980369804698056980669807698086980969810698116981269813698146981569816698176981869819698206982169822698236982469825698266982769828698296983069831698326983369834698356983669837698386983969840698416984269843698446984569846698476984869849698506985169852698536985469855698566985769858698596986069861698626986369864698656986669867698686986969870698716987269873698746987569876698776987869879698806988169882698836988469885698866988769888698896989069891698926989369894698956989669897698986989969900699016990269903699046990569906699076990869909699106991169912699136991469915699166991769918699196992069921699226992369924699256992669927699286992969930699316993269933699346993569936699376993869939699406994169942699436994469945699466994769948699496995069951699526995369954699556995669957699586995969960699616996269963699646996569966699676996869969699706997169972699736997469975699766997769978699796998069981699826998369984699856998669987699886998969990699916999269993699946999569996699976999869999700007000170002700037000470005700067000770008700097001070011700127001370014700157001670017700187001970020700217002270023700247002570026700277002870029700307003170032700337003470035700367003770038700397004070041700427004370044700457004670047700487004970050700517005270053700547005570056700577005870059700607006170062700637006470065700667006770068700697007070071700727007370074700757007670077700787007970080700817008270083700847008570086700877008870089700907009170092700937009470095700967009770098700997010070101701027010370104701057010670107701087010970110701117011270113701147011570116701177011870119701207012170122701237012470125701267012770128701297013070131701327013370134701357013670137701387013970140701417014270143701447014570146701477014870149701507015170152701537015470155701567015770158701597016070161701627016370164701657016670167701687016970170701717017270173701747017570176701777017870179701807018170182701837018470185701867018770188701897019070191701927019370194701957019670197701987019970200702017020270203702047020570206702077020870209702107021170212702137021470215702167021770218702197022070221702227022370224702257022670227702287022970230702317023270233702347023570236702377023870239702407024170242702437024470245702467024770248702497025070251702527025370254702557025670257702587025970260702617026270263702647026570266702677026870269702707027170272702737027470275702767027770278702797028070281702827028370284702857028670287702887028970290702917029270293702947029570296702977029870299703007030170302703037030470305703067030770308703097031070311703127031370314703157031670317703187031970320703217032270323703247032570326703277032870329703307033170332703337033470335703367033770338703397034070341703427034370344703457034670347703487034970350703517035270353703547035570356703577035870359703607036170362703637036470365703667036770368703697037070371703727037370374703757037670377703787037970380703817038270383703847038570386703877038870389703907039170392703937039470395703967039770398703997040070401704027040370404704057040670407704087040970410704117041270413704147041570416704177041870419704207042170422704237042470425704267042770428704297043070431704327043370434704357043670437704387043970440704417044270443704447044570446704477044870449704507045170452704537045470455704567045770458704597046070461704627046370464704657046670467704687046970470704717047270473704747047570476704777047870479704807048170482704837048470485704867048770488704897049070491704927049370494704957049670497704987049970500705017050270503705047050570506705077050870509705107051170512705137051470515705167051770518705197052070521705227052370524705257052670527705287052970530705317053270533705347053570536705377053870539705407054170542705437054470545705467054770548705497055070551705527055370554705557055670557705587055970560705617056270563705647056570566705677056870569705707057170572705737057470575705767057770578705797058070581705827058370584705857058670587705887058970590705917059270593705947059570596705977059870599706007060170602706037060470605706067060770608706097061070611706127061370614706157061670617706187061970620706217062270623706247062570626706277062870629706307063170632706337063470635706367063770638706397064070641706427064370644706457064670647706487064970650706517065270653706547065570656706577065870659706607066170662706637066470665706667066770668706697067070671706727067370674706757067670677706787067970680706817068270683706847068570686706877068870689706907069170692706937069470695706967069770698706997070070701707027070370704707057070670707707087070970710707117071270713707147071570716707177071870719707207072170722707237072470725707267072770728707297073070731707327073370734707357073670737707387073970740707417074270743707447074570746707477074870749707507075170752707537075470755707567075770758707597076070761707627076370764707657076670767707687076970770707717077270773707747077570776707777077870779707807078170782707837078470785707867078770788707897079070791707927079370794707957079670797707987079970800708017080270803708047080570806708077080870809708107081170812708137081470815708167081770818708197082070821708227082370824708257082670827708287082970830708317083270833708347083570836708377083870839708407084170842708437084470845708467084770848708497085070851708527085370854708557085670857708587085970860708617086270863708647086570866708677086870869708707087170872708737087470875708767087770878708797088070881708827088370884708857088670887708887088970890708917089270893708947089570896708977089870899709007090170902709037090470905709067090770908709097091070911709127091370914709157091670917709187091970920709217092270923709247092570926709277092870929709307093170932709337093470935709367093770938709397094070941709427094370944709457094670947709487094970950709517095270953709547095570956709577095870959709607096170962709637096470965709667096770968709697097070971709727097370974709757097670977709787097970980709817098270983709847098570986709877098870989709907099170992709937099470995709967099770998709997100071001710027100371004710057100671007710087100971010710117101271013710147101571016710177101871019710207102171022710237102471025710267102771028710297103071031710327103371034710357103671037710387103971040710417104271043710447104571046710477104871049710507105171052710537105471055710567105771058710597106071061710627106371064710657106671067710687106971070710717107271073710747107571076710777107871079710807108171082710837108471085710867108771088710897109071091710927109371094710957109671097710987109971100711017110271103711047110571106711077110871109711107111171112711137111471115711167111771118711197112071121711227112371124711257112671127711287112971130711317113271133711347113571136711377113871139711407114171142711437114471145711467114771148711497115071151711527115371154711557115671157711587115971160711617116271163711647116571166711677116871169711707117171172711737117471175711767117771178711797118071181711827118371184711857118671187711887118971190711917119271193711947119571196711977119871199712007120171202712037120471205712067120771208712097121071211712127121371214712157121671217712187121971220712217122271223712247122571226712277122871229712307123171232712337123471235712367123771238712397124071241712427124371244712457124671247712487124971250712517125271253712547125571256712577125871259712607126171262712637126471265712667126771268712697127071271712727127371274712757127671277712787127971280712817128271283712847128571286712877128871289712907129171292712937129471295712967129771298712997130071301713027130371304713057130671307713087130971310713117131271313713147131571316713177131871319713207132171322713237132471325713267132771328713297133071331713327133371334713357133671337713387133971340713417134271343713447134571346713477134871349713507135171352713537135471355713567135771358713597136071361713627136371364713657136671367713687136971370713717137271373713747137571376713777137871379713807138171382713837138471385713867138771388713897139071391713927139371394713957139671397713987139971400714017140271403714047140571406714077140871409714107141171412714137141471415714167141771418714197142071421714227142371424714257142671427714287142971430714317143271433714347143571436714377143871439714407144171442714437144471445714467144771448714497145071451714527145371454714557145671457714587145971460714617146271463714647146571466714677146871469714707147171472714737147471475714767147771478714797148071481714827148371484714857148671487714887148971490714917149271493714947149571496714977149871499715007150171502715037150471505715067150771508715097151071511715127151371514715157151671517715187151971520715217152271523715247152571526715277152871529715307153171532715337153471535715367153771538715397154071541715427154371544715457154671547715487154971550715517155271553715547155571556715577155871559715607156171562715637156471565715667156771568715697157071571715727157371574715757157671577715787157971580715817158271583715847158571586715877158871589715907159171592715937159471595715967159771598715997160071601716027160371604716057160671607716087160971610716117161271613716147161571616716177161871619716207162171622716237162471625716267162771628716297163071631716327163371634716357163671637716387163971640716417164271643716447164571646716477164871649716507165171652716537165471655716567165771658716597166071661716627166371664716657166671667716687166971670716717167271673716747167571676716777167871679716807168171682716837168471685716867168771688716897169071691716927169371694716957169671697716987169971700717017170271703717047170571706717077170871709717107171171712717137171471715717167171771718717197172071721717227172371724717257172671727717287172971730717317173271733717347173571736717377173871739717407174171742717437174471745717467174771748717497175071751717527175371754717557175671757717587175971760717617176271763717647176571766717677176871769717707177171772717737177471775717767177771778717797178071781717827178371784717857178671787717887178971790717917179271793717947179571796717977179871799718007180171802718037180471805718067180771808718097181071811718127181371814718157181671817718187181971820718217182271823718247182571826718277182871829718307183171832718337183471835718367183771838718397184071841718427184371844718457184671847718487184971850718517185271853718547185571856718577185871859718607186171862718637186471865718667186771868718697187071871718727187371874718757187671877718787187971880718817188271883718847188571886718877188871889718907189171892718937189471895718967189771898718997190071901719027190371904719057190671907719087190971910719117191271913719147191571916719177191871919719207192171922719237192471925719267192771928719297193071931719327193371934719357193671937719387193971940719417194271943719447194571946719477194871949719507195171952719537195471955719567195771958719597196071961719627196371964719657196671967719687196971970719717197271973719747197571976719777197871979719807198171982719837198471985719867198771988719897199071991719927199371994719957199671997719987199972000720017200272003720047200572006720077200872009720107201172012720137201472015720167201772018720197202072021720227202372024720257202672027720287202972030720317203272033720347203572036720377203872039720407204172042720437204472045720467204772048720497205072051720527205372054720557205672057720587205972060720617206272063720647206572066720677206872069720707207172072720737207472075720767207772078720797208072081720827208372084720857208672087720887208972090720917209272093720947209572096720977209872099721007210172102721037210472105721067210772108721097211072111721127211372114721157211672117721187211972120721217212272123721247212572126721277212872129721307213172132721337213472135721367213772138721397214072141721427214372144721457214672147721487214972150721517215272153721547215572156721577215872159721607216172162721637216472165721667216772168721697217072171721727217372174721757217672177721787217972180721817218272183721847218572186721877218872189721907219172192721937219472195721967219772198721997220072201722027220372204722057220672207722087220972210722117221272213722147221572216722177221872219722207222172222722237222472225722267222772228722297223072231722327223372234722357223672237722387223972240722417224272243722447224572246722477224872249722507225172252722537225472255722567225772258722597226072261722627226372264722657226672267722687226972270722717227272273722747227572276722777227872279722807228172282722837228472285722867228772288722897229072291722927229372294722957229672297722987229972300723017230272303723047230572306723077230872309723107231172312723137231472315723167231772318723197232072321723227232372324723257232672327723287232972330723317233272333723347233572336723377233872339723407234172342723437234472345723467234772348723497235072351723527235372354723557235672357723587235972360723617236272363723647236572366723677236872369723707237172372723737237472375723767237772378723797238072381723827238372384723857238672387723887238972390723917239272393723947239572396723977239872399724007240172402724037240472405724067240772408724097241072411724127241372414724157241672417724187241972420724217242272423724247242572426724277242872429724307243172432724337243472435724367243772438724397244072441724427244372444724457244672447724487244972450724517245272453724547245572456724577245872459724607246172462724637246472465724667246772468724697247072471724727247372474724757247672477724787247972480724817248272483724847248572486724877248872489724907249172492724937249472495724967249772498724997250072501725027250372504725057250672507725087250972510725117251272513725147251572516725177251872519725207252172522725237252472525725267252772528725297253072531725327253372534725357253672537725387253972540725417254272543725447254572546725477254872549725507255172552725537255472555725567255772558725597256072561725627256372564725657256672567725687256972570725717257272573725747257572576725777257872579725807258172582725837258472585725867258772588725897259072591725927259372594725957259672597725987259972600726017260272603726047260572606726077260872609726107261172612726137261472615726167261772618726197262072621726227262372624726257262672627726287262972630726317263272633726347263572636726377263872639726407264172642726437264472645726467264772648726497265072651726527265372654726557265672657726587265972660726617266272663726647266572666726677266872669726707267172672726737267472675726767267772678726797268072681726827268372684726857268672687726887268972690726917269272693726947269572696726977269872699727007270172702727037270472705727067270772708727097271072711727127271372714727157271672717727187271972720727217272272723727247272572726727277272872729727307273172732727337273472735727367273772738727397274072741727427274372744727457274672747727487274972750727517275272753727547275572756727577275872759727607276172762727637276472765727667276772768727697277072771727727277372774727757277672777727787277972780727817278272783727847278572786727877278872789727907279172792727937279472795727967279772798727997280072801728027280372804728057280672807728087280972810728117281272813728147281572816728177281872819728207282172822728237282472825728267282772828728297283072831728327283372834728357283672837728387283972840728417284272843728447284572846728477284872849728507285172852728537285472855728567285772858728597286072861728627286372864728657286672867728687286972870728717287272873728747287572876728777287872879728807288172882728837288472885728867288772888728897289072891728927289372894728957289672897728987289972900729017290272903729047290572906729077290872909729107291172912729137291472915729167291772918729197292072921729227292372924729257292672927729287292972930729317293272933729347293572936729377293872939729407294172942729437294472945729467294772948729497295072951729527295372954729557295672957729587295972960729617296272963729647296572966729677296872969729707297172972729737297472975729767297772978729797298072981729827298372984729857298672987729887298972990729917299272993729947299572996729977299872999730007300173002730037300473005730067300773008730097301073011730127301373014730157301673017730187301973020730217302273023730247302573026730277302873029730307303173032730337303473035730367303773038730397304073041730427304373044730457304673047730487304973050730517305273053730547305573056730577305873059730607306173062730637306473065730667306773068730697307073071730727307373074730757307673077730787307973080730817308273083730847308573086730877308873089730907309173092730937309473095730967309773098730997310073101731027310373104731057310673107731087310973110731117311273113731147311573116731177311873119731207312173122731237312473125731267312773128731297313073131731327313373134731357313673137731387313973140731417314273143731447314573146731477314873149731507315173152731537315473155731567315773158731597316073161731627316373164731657316673167731687316973170731717317273173731747317573176731777317873179731807318173182731837318473185731867318773188731897319073191731927319373194731957319673197731987319973200732017320273203732047320573206732077320873209732107321173212732137321473215732167321773218732197322073221732227322373224732257322673227732287322973230732317323273233732347323573236732377323873239732407324173242732437324473245732467324773248732497325073251732527325373254732557325673257732587325973260732617326273263732647326573266732677326873269732707327173272732737327473275732767327773278732797328073281732827328373284732857328673287732887328973290732917329273293732947329573296732977329873299733007330173302733037330473305733067330773308733097331073311733127331373314733157331673317733187331973320733217332273323733247332573326733277332873329733307333173332733337333473335733367333773338733397334073341733427334373344733457334673347733487334973350733517335273353733547335573356733577335873359733607336173362733637336473365733667336773368733697337073371733727337373374733757337673377733787337973380733817338273383733847338573386733877338873389733907339173392733937339473395733967339773398733997340073401734027340373404734057340673407734087340973410734117341273413734147341573416734177341873419734207342173422734237342473425734267342773428734297343073431734327343373434734357343673437734387343973440734417344273443734447344573446734477344873449734507345173452734537345473455734567345773458734597346073461734627346373464734657346673467734687346973470734717347273473734747347573476734777347873479734807348173482734837348473485734867348773488734897349073491734927349373494734957349673497734987349973500735017350273503735047350573506735077350873509735107351173512735137351473515735167351773518735197352073521735227352373524735257352673527735287352973530735317353273533735347353573536735377353873539735407354173542735437354473545735467354773548735497355073551735527355373554735557355673557735587355973560735617356273563735647356573566735677356873569735707357173572735737357473575735767357773578735797358073581735827358373584735857358673587735887358973590735917359273593735947359573596735977359873599736007360173602736037360473605736067360773608736097361073611736127361373614736157361673617736187361973620736217362273623736247362573626736277362873629736307363173632736337363473635736367363773638736397364073641736427364373644736457364673647736487364973650736517365273653736547365573656736577365873659736607366173662736637366473665736667366773668736697367073671736727367373674736757367673677736787367973680736817368273683736847368573686736877368873689736907369173692736937369473695736967369773698736997370073701737027370373704737057370673707737087370973710737117371273713737147371573716737177371873719737207372173722737237372473725737267372773728737297373073731737327373373734737357373673737737387373973740737417374273743737447374573746737477374873749737507375173752737537375473755737567375773758737597376073761737627376373764737657376673767737687376973770737717377273773737747377573776737777377873779737807378173782737837378473785737867378773788737897379073791737927379373794737957379673797737987379973800738017380273803738047380573806738077380873809738107381173812738137381473815738167381773818738197382073821738227382373824738257382673827738287382973830738317383273833738347383573836738377383873839738407384173842738437384473845738467384773848738497385073851738527385373854738557385673857738587385973860738617386273863738647386573866738677386873869738707387173872738737387473875738767387773878738797388073881738827388373884738857388673887738887388973890738917389273893738947389573896738977389873899739007390173902739037390473905739067390773908739097391073911739127391373914739157391673917739187391973920739217392273923739247392573926739277392873929739307393173932739337393473935739367393773938739397394073941739427394373944739457394673947739487394973950739517395273953739547395573956739577395873959739607396173962739637396473965739667396773968739697397073971739727397373974739757397673977739787397973980739817398273983739847398573986739877398873989739907399173992739937399473995739967399773998739997400074001740027400374004740057400674007740087400974010740117401274013740147401574016740177401874019740207402174022740237402474025740267402774028740297403074031740327403374034740357403674037740387403974040740417404274043740447404574046740477404874049740507405174052740537405474055740567405774058740597406074061740627406374064740657406674067740687406974070740717407274073740747407574076740777407874079740807408174082740837408474085740867408774088740897409074091740927409374094740957409674097740987409974100741017410274103741047410574106741077410874109741107411174112741137411474115741167411774118741197412074121741227412374124741257412674127741287412974130741317413274133741347413574136741377413874139741407414174142741437414474145741467414774148741497415074151741527415374154741557415674157741587415974160741617416274163741647416574166741677416874169741707417174172741737417474175741767417774178741797418074181741827418374184741857418674187741887418974190741917419274193741947419574196741977419874199742007420174202742037420474205742067420774208742097421074211742127421374214742157421674217742187421974220742217422274223742247422574226742277422874229742307423174232742337423474235742367423774238742397424074241742427424374244742457424674247742487424974250742517425274253742547425574256742577425874259742607426174262742637426474265742667426774268742697427074271742727427374274742757427674277742787427974280742817428274283742847428574286742877428874289742907429174292742937429474295742967429774298742997430074301743027430374304743057430674307743087430974310743117431274313743147431574316743177431874319743207432174322743237432474325743267432774328743297433074331743327433374334743357433674337743387433974340743417434274343743447434574346743477434874349743507435174352743537435474355743567435774358743597436074361743627436374364743657436674367743687436974370743717437274373743747437574376743777437874379743807438174382743837438474385743867438774388743897439074391743927439374394743957439674397743987439974400744017440274403744047440574406744077440874409744107441174412744137441474415744167441774418744197442074421744227442374424744257442674427744287442974430744317443274433744347443574436744377443874439744407444174442744437444474445744467444774448744497445074451744527445374454744557445674457744587445974460744617446274463744647446574466744677446874469744707447174472744737447474475744767447774478744797448074481744827448374484744857448674487744887448974490744917449274493744947449574496744977449874499745007450174502745037450474505745067450774508745097451074511745127451374514745157451674517745187451974520745217452274523745247452574526745277452874529745307453174532745337453474535745367453774538745397454074541745427454374544745457454674547745487454974550745517455274553745547455574556745577455874559745607456174562745637456474565745667456774568745697457074571745727457374574745757457674577745787457974580745817458274583745847458574586745877458874589745907459174592745937459474595745967459774598745997460074601746027460374604746057460674607746087460974610746117461274613746147461574616746177461874619746207462174622746237462474625746267462774628746297463074631746327463374634746357463674637746387463974640746417464274643746447464574646746477464874649746507465174652746537465474655746567465774658746597466074661746627466374664746657466674667746687466974670746717467274673746747467574676746777467874679746807468174682746837468474685746867468774688746897469074691746927469374694746957469674697746987469974700747017470274703747047470574706747077470874709747107471174712747137471474715747167471774718747197472074721747227472374724747257472674727747287472974730747317473274733747347473574736747377473874739747407474174742747437474474745747467474774748747497475074751747527475374754747557475674757747587475974760747617476274763747647476574766747677476874769747707477174772747737477474775747767477774778747797478074781747827478374784747857478674787747887478974790747917479274793747947479574796747977479874799748007480174802748037480474805748067480774808748097481074811748127481374814748157481674817748187481974820748217482274823748247482574826748277482874829748307483174832748337483474835748367483774838748397484074841748427484374844748457484674847748487484974850748517485274853748547485574856748577485874859748607486174862748637486474865748667486774868748697487074871748727487374874748757487674877748787487974880748817488274883748847488574886748877488874889748907489174892748937489474895748967489774898748997490074901749027490374904749057490674907749087490974910749117491274913749147491574916749177491874919749207492174922749237492474925749267492774928749297493074931749327493374934749357493674937749387493974940749417494274943749447494574946749477494874949749507495174952749537495474955749567495774958749597496074961749627496374964749657496674967749687496974970749717497274973749747497574976749777497874979749807498174982749837498474985749867498774988749897499074991749927499374994749957499674997749987499975000750017500275003750047500575006750077500875009750107501175012750137501475015750167501775018750197502075021750227502375024750257502675027750287502975030750317503275033750347503575036750377503875039750407504175042750437504475045750467504775048750497505075051750527505375054750557505675057750587505975060750617506275063750647506575066750677506875069750707507175072750737507475075750767507775078750797508075081750827508375084750857508675087750887508975090750917509275093750947509575096750977509875099751007510175102751037510475105751067510775108751097511075111751127511375114751157511675117751187511975120751217512275123751247512575126751277512875129751307513175132751337513475135751367513775138751397514075141751427514375144751457514675147751487514975150751517515275153751547515575156751577515875159751607516175162751637516475165751667516775168751697517075171751727517375174751757517675177751787517975180751817518275183751847518575186751877518875189751907519175192751937519475195751967519775198751997520075201752027520375204752057520675207752087520975210752117521275213752147521575216752177521875219752207522175222752237522475225752267522775228752297523075231752327523375234752357523675237752387523975240752417524275243752447524575246752477524875249752507525175252752537525475255752567525775258752597526075261752627526375264752657526675267752687526975270752717527275273752747527575276752777527875279752807528175282752837528475285752867528775288752897529075291752927529375294752957529675297752987529975300753017530275303753047530575306753077530875309753107531175312753137531475315753167531775318753197532075321753227532375324753257532675327753287532975330753317533275333753347533575336753377533875339753407534175342753437534475345753467534775348753497535075351753527535375354753557535675357753587535975360753617536275363753647536575366753677536875369753707537175372753737537475375753767537775378753797538075381753827538375384753857538675387753887538975390753917539275393753947539575396753977539875399754007540175402754037540475405754067540775408754097541075411754127541375414754157541675417754187541975420754217542275423754247542575426754277542875429754307543175432754337543475435754367543775438754397544075441754427544375444754457544675447754487544975450754517545275453754547545575456754577545875459754607546175462754637546475465754667546775468754697547075471754727547375474754757547675477754787547975480754817548275483754847548575486754877548875489754907549175492754937549475495754967549775498754997550075501755027550375504755057550675507755087550975510755117551275513755147551575516755177551875519755207552175522755237552475525755267552775528755297553075531755327553375534755357553675537755387553975540755417554275543755447554575546755477554875549755507555175552755537555475555755567555775558755597556075561755627556375564755657556675567755687556975570755717557275573755747557575576755777557875579755807558175582755837558475585755867558775588755897559075591755927559375594755957559675597755987559975600756017560275603756047560575606756077560875609756107561175612756137561475615756167561775618756197562075621756227562375624756257562675627756287562975630756317563275633756347563575636756377563875639756407564175642756437564475645756467564775648756497565075651756527565375654756557565675657756587565975660756617566275663756647566575666756677566875669756707567175672756737567475675756767567775678756797568075681756827568375684756857568675687756887568975690756917569275693756947569575696756977569875699757007570175702757037570475705757067570775708757097571075711757127571375714757157571675717757187571975720757217572275723757247572575726757277572875729757307573175732757337573475735757367573775738757397574075741757427574375744757457574675747757487574975750757517575275753757547575575756757577575875759757607576175762757637576475765757667576775768757697577075771757727577375774757757577675777757787577975780757817578275783757847578575786757877578875789757907579175792757937579475795757967579775798757997580075801758027580375804758057580675807758087580975810758117581275813758147581575816758177581875819758207582175822758237582475825758267582775828758297583075831758327583375834758357583675837758387583975840758417584275843758447584575846758477584875849758507585175852758537585475855758567585775858758597586075861758627586375864758657586675867758687586975870758717587275873758747587575876758777587875879758807588175882758837588475885758867588775888758897589075891758927589375894758957589675897758987589975900759017590275903759047590575906759077590875909759107591175912759137591475915759167591775918759197592075921759227592375924759257592675927759287592975930759317593275933759347593575936759377593875939759407594175942759437594475945759467594775948759497595075951759527595375954759557595675957759587595975960759617596275963759647596575966759677596875969759707597175972759737597475975759767597775978759797598075981759827598375984759857598675987759887598975990759917599275993759947599575996759977599875999760007600176002760037600476005760067600776008760097601076011760127601376014760157601676017760187601976020760217602276023760247602576026760277602876029760307603176032760337603476035760367603776038760397604076041760427604376044760457604676047760487604976050760517605276053760547605576056760577605876059760607606176062760637606476065760667606776068760697607076071760727607376074760757607676077760787607976080760817608276083760847608576086760877608876089760907609176092760937609476095760967609776098760997610076101761027610376104761057610676107761087610976110761117611276113761147611576116761177611876119761207612176122761237612476125761267612776128761297613076131761327613376134761357613676137761387613976140761417614276143761447614576146761477614876149761507615176152761537615476155761567615776158761597616076161761627616376164761657616676167761687616976170761717617276173761747617576176761777617876179761807618176182761837618476185761867618776188761897619076191761927619376194761957619676197761987619976200762017620276203762047620576206762077620876209762107621176212762137621476215762167621776218762197622076221762227622376224762257622676227762287622976230762317623276233762347623576236762377623876239762407624176242762437624476245762467624776248762497625076251762527625376254762557625676257762587625976260762617626276263762647626576266762677626876269762707627176272762737627476275762767627776278762797628076281762827628376284762857628676287762887628976290762917629276293762947629576296762977629876299763007630176302763037630476305763067630776308763097631076311763127631376314763157631676317763187631976320763217632276323763247632576326763277632876329763307633176332763337633476335763367633776338763397634076341763427634376344763457634676347763487634976350763517635276353763547635576356763577635876359763607636176362763637636476365763667636776368763697637076371763727637376374763757637676377763787637976380763817638276383763847638576386763877638876389763907639176392763937639476395763967639776398763997640076401764027640376404764057640676407764087640976410764117641276413764147641576416764177641876419764207642176422764237642476425764267642776428764297643076431764327643376434764357643676437764387643976440764417644276443764447644576446764477644876449764507645176452764537645476455764567645776458764597646076461764627646376464764657646676467764687646976470764717647276473764747647576476764777647876479764807648176482764837648476485764867648776488764897649076491764927649376494764957649676497764987649976500765017650276503765047650576506765077650876509765107651176512765137651476515765167651776518765197652076521765227652376524765257652676527765287652976530765317653276533765347653576536765377653876539765407654176542765437654476545765467654776548765497655076551765527655376554765557655676557765587655976560765617656276563765647656576566765677656876569765707657176572765737657476575765767657776578765797658076581765827658376584765857658676587765887658976590765917659276593765947659576596765977659876599766007660176602766037660476605766067660776608766097661076611766127661376614766157661676617766187661976620766217662276623766247662576626766277662876629766307663176632766337663476635766367663776638766397664076641766427664376644766457664676647766487664976650766517665276653766547665576656766577665876659766607666176662766637666476665766667666776668766697667076671766727667376674766757667676677766787667976680766817668276683766847668576686766877668876689766907669176692766937669476695766967669776698766997670076701767027670376704767057670676707767087670976710767117671276713767147671576716767177671876719767207672176722767237672476725767267672776728767297673076731767327673376734767357673676737767387673976740767417674276743767447674576746767477674876749767507675176752767537675476755767567675776758767597676076761767627676376764767657676676767767687676976770767717677276773767747677576776767777677876779767807678176782767837678476785767867678776788767897679076791767927679376794767957679676797767987679976800768017680276803768047680576806768077680876809768107681176812768137681476815768167681776818768197682076821768227682376824768257682676827768287682976830768317683276833768347683576836768377683876839768407684176842768437684476845768467684776848768497685076851768527685376854768557685676857768587685976860768617686276863768647686576866768677686876869768707687176872768737687476875768767687776878768797688076881768827688376884768857688676887768887688976890768917689276893768947689576896768977689876899769007690176902769037690476905769067690776908769097691076911769127691376914769157691676917769187691976920769217692276923769247692576926769277692876929769307693176932769337693476935769367693776938769397694076941769427694376944769457694676947769487694976950769517695276953769547695576956769577695876959769607696176962769637696476965769667696776968769697697076971769727697376974769757697676977769787697976980769817698276983769847698576986769877698876989769907699176992769937699476995769967699776998769997700077001770027700377004770057700677007770087700977010770117701277013770147701577016770177701877019770207702177022770237702477025770267702777028770297703077031770327703377034770357703677037770387703977040770417704277043770447704577046770477704877049770507705177052770537705477055770567705777058770597706077061770627706377064770657706677067770687706977070770717707277073770747707577076770777707877079770807708177082770837708477085770867708777088770897709077091770927709377094770957709677097770987709977100771017710277103771047710577106771077710877109771107711177112771137711477115771167711777118771197712077121771227712377124771257712677127771287712977130771317713277133771347713577136771377713877139771407714177142771437714477145771467714777148771497715077151771527715377154771557715677157771587715977160771617716277163771647716577166771677716877169771707717177172771737717477175771767717777178771797718077181771827718377184771857718677187771887718977190771917719277193771947719577196771977719877199772007720177202772037720477205772067720777208772097721077211772127721377214772157721677217772187721977220772217722277223772247722577226772277722877229772307723177232772337723477235772367723777238772397724077241772427724377244772457724677247772487724977250772517725277253772547725577256772577725877259772607726177262772637726477265772667726777268772697727077271772727727377274772757727677277772787727977280772817728277283772847728577286772877728877289772907729177292772937729477295772967729777298772997730077301773027730377304773057730677307773087730977310773117731277313773147731577316773177731877319773207732177322773237732477325773267732777328773297733077331773327733377334773357733677337773387733977340773417734277343773447734577346773477734877349773507735177352773537735477355773567735777358773597736077361773627736377364773657736677367773687736977370773717737277373773747737577376773777737877379773807738177382773837738477385773867738777388773897739077391773927739377394773957739677397773987739977400774017740277403774047740577406774077740877409774107741177412774137741477415774167741777418774197742077421774227742377424774257742677427774287742977430774317743277433774347743577436774377743877439774407744177442774437744477445774467744777448774497745077451774527745377454774557745677457774587745977460774617746277463774647746577466774677746877469774707747177472774737747477475774767747777478774797748077481774827748377484774857748677487774887748977490774917749277493774947749577496774977749877499775007750177502775037750477505775067750777508775097751077511775127751377514775157751677517775187751977520775217752277523775247752577526775277752877529775307753177532775337753477535775367753777538775397754077541775427754377544775457754677547775487754977550775517755277553775547755577556775577755877559775607756177562775637756477565775667756777568775697757077571775727757377574775757757677577775787757977580775817758277583775847758577586775877758877589775907759177592775937759477595775967759777598775997760077601776027760377604776057760677607776087760977610776117761277613776147761577616776177761877619776207762177622776237762477625776267762777628776297763077631776327763377634776357763677637776387763977640776417764277643776447764577646776477764877649776507765177652776537765477655776567765777658776597766077661776627766377664776657766677667776687766977670776717767277673776747767577676776777767877679776807768177682776837768477685776867768777688776897769077691776927769377694776957769677697776987769977700777017770277703777047770577706777077770877709777107771177712777137771477715777167771777718777197772077721777227772377724777257772677727777287772977730777317773277733777347773577736777377773877739777407774177742777437774477745777467774777748777497775077751777527775377754777557775677757777587775977760777617776277763777647776577766777677776877769777707777177772777737777477775777767777777778777797778077781777827778377784777857778677787777887778977790777917779277793777947779577796777977779877799778007780177802778037780477805778067780777808778097781077811778127781377814778157781677817778187781977820778217782277823778247782577826778277782877829778307783177832778337783477835778367783777838778397784077841778427784377844778457784677847778487784977850778517785277853778547785577856778577785877859778607786177862778637786477865778667786777868778697787077871778727787377874778757787677877778787787977880778817788277883778847788577886778877788877889778907789177892778937789477895778967789777898778997790077901779027790377904779057790677907779087790977910779117791277913779147791577916779177791877919779207792177922779237792477925779267792777928779297793077931779327793377934779357793677937779387793977940779417794277943779447794577946779477794877949779507795177952779537795477955779567795777958779597796077961779627796377964779657796677967779687796977970779717797277973779747797577976779777797877979779807798177982779837798477985779867798777988779897799077991779927799377994779957799677997779987799978000780017800278003780047800578006780077800878009780107801178012780137801478015780167801778018780197802078021780227802378024780257802678027780287802978030780317803278033780347803578036780377803878039780407804178042780437804478045780467804778048780497805078051780527805378054780557805678057780587805978060780617806278063780647806578066780677806878069780707807178072780737807478075780767807778078780797808078081780827808378084780857808678087780887808978090780917809278093780947809578096780977809878099781007810178102781037810478105781067810778108781097811078111781127811378114781157811678117781187811978120781217812278123781247812578126781277812878129781307813178132781337813478135781367813778138781397814078141781427814378144781457814678147781487814978150781517815278153781547815578156781577815878159781607816178162781637816478165781667816778168781697817078171781727817378174781757817678177781787817978180781817818278183781847818578186781877818878189781907819178192781937819478195781967819778198781997820078201782027820378204782057820678207782087820978210782117821278213782147821578216782177821878219782207822178222782237822478225782267822778228782297823078231782327823378234782357823678237782387823978240782417824278243782447824578246782477824878249782507825178252782537825478255782567825778258782597826078261782627826378264782657826678267782687826978270782717827278273782747827578276782777827878279782807828178282782837828478285782867828778288782897829078291782927829378294782957829678297782987829978300783017830278303783047830578306783077830878309783107831178312783137831478315783167831778318783197832078321783227832378324783257832678327783287832978330783317833278333783347833578336783377833878339783407834178342783437834478345783467834778348783497835078351783527835378354783557835678357783587835978360783617836278363783647836578366783677836878369783707837178372783737837478375783767837778378783797838078381783827838378384783857838678387783887838978390783917839278393783947839578396783977839878399784007840178402784037840478405784067840778408784097841078411784127841378414784157841678417784187841978420784217842278423784247842578426784277842878429784307843178432784337843478435784367843778438784397844078441784427844378444784457844678447784487844978450784517845278453784547845578456784577845878459784607846178462784637846478465784667846778468784697847078471784727847378474784757847678477784787847978480784817848278483784847848578486784877848878489784907849178492784937849478495784967849778498784997850078501785027850378504785057850678507785087850978510785117851278513785147851578516785177851878519785207852178522785237852478525785267852778528785297853078531785327853378534785357853678537785387853978540785417854278543785447854578546785477854878549785507855178552785537855478555785567855778558785597856078561785627856378564785657856678567785687856978570785717857278573785747857578576785777857878579785807858178582785837858478585785867858778588785897859078591785927859378594785957859678597785987859978600786017860278603786047860578606786077860878609786107861178612786137861478615786167861778618786197862078621786227862378624786257862678627786287862978630786317863278633786347863578636786377863878639786407864178642786437864478645786467864778648786497865078651786527865378654786557865678657786587865978660786617866278663786647866578666786677866878669786707867178672786737867478675786767867778678786797868078681786827868378684786857868678687786887868978690786917869278693786947869578696786977869878699787007870178702787037870478705787067870778708787097871078711787127871378714787157871678717787187871978720787217872278723787247872578726787277872878729787307873178732787337873478735787367873778738787397874078741787427874378744787457874678747787487874978750787517875278753787547875578756787577875878759787607876178762787637876478765787667876778768787697877078771787727877378774787757877678777787787877978780787817878278783787847878578786787877878878789787907879178792787937879478795787967879778798787997880078801788027880378804788057880678807788087880978810788117881278813788147881578816788177881878819788207882178822788237882478825788267882778828788297883078831788327883378834788357883678837788387883978840788417884278843788447884578846788477884878849788507885178852788537885478855788567885778858788597886078861788627886378864788657886678867788687886978870788717887278873788747887578876788777887878879788807888178882788837888478885788867888778888788897889078891788927889378894788957889678897788987889978900789017890278903789047890578906789077890878909789107891178912789137891478915789167891778918789197892078921789227892378924789257892678927789287892978930789317893278933789347893578936789377893878939789407894178942789437894478945789467894778948789497895078951789527895378954789557895678957789587895978960789617896278963789647896578966789677896878969789707897178972789737897478975789767897778978789797898078981789827898378984789857898678987789887898978990789917899278993789947899578996789977899878999790007900179002790037900479005790067900779008790097901079011790127901379014790157901679017790187901979020790217902279023790247902579026790277902879029790307903179032790337903479035790367903779038790397904079041790427904379044790457904679047790487904979050790517905279053790547905579056790577905879059790607906179062790637906479065790667906779068790697907079071790727907379074790757907679077790787907979080790817908279083790847908579086790877908879089790907909179092790937909479095790967909779098790997910079101791027910379104791057910679107791087910979110791117911279113791147911579116791177911879119791207912179122791237912479125791267912779128791297913079131791327913379134791357913679137791387913979140791417914279143791447914579146791477914879149791507915179152791537915479155791567915779158791597916079161791627916379164791657916679167791687916979170791717917279173791747917579176791777917879179791807918179182791837918479185791867918779188791897919079191791927919379194791957919679197791987919979200792017920279203792047920579206792077920879209792107921179212792137921479215792167921779218792197922079221792227922379224792257922679227792287922979230792317923279233792347923579236792377923879239792407924179242792437924479245792467924779248792497925079251792527925379254792557925679257792587925979260792617926279263792647926579266792677926879269792707927179272792737927479275792767927779278792797928079281792827928379284792857928679287792887928979290792917929279293792947929579296792977929879299793007930179302793037930479305793067930779308793097931079311793127931379314793157931679317793187931979320793217932279323793247932579326793277932879329793307933179332793337933479335793367933779338793397934079341793427934379344793457934679347793487934979350793517935279353793547935579356793577935879359793607936179362793637936479365793667936779368793697937079371793727937379374793757937679377793787937979380793817938279383793847938579386793877938879389793907939179392793937939479395793967939779398793997940079401794027940379404794057940679407794087940979410794117941279413794147941579416794177941879419794207942179422794237942479425794267942779428794297943079431794327943379434794357943679437794387943979440794417944279443794447944579446794477944879449794507945179452794537945479455794567945779458794597946079461794627946379464794657946679467794687946979470794717947279473794747947579476794777947879479794807948179482794837948479485794867948779488794897949079491794927949379494794957949679497794987949979500795017950279503795047950579506795077950879509795107951179512795137951479515795167951779518795197952079521795227952379524795257952679527795287952979530795317953279533795347953579536795377953879539795407954179542795437954479545795467954779548795497955079551795527955379554795557955679557795587955979560795617956279563795647956579566795677956879569795707957179572795737957479575795767957779578795797958079581795827958379584795857958679587795887958979590795917959279593795947959579596795977959879599796007960179602796037960479605796067960779608796097961079611796127961379614796157961679617796187961979620796217962279623796247962579626796277962879629796307963179632796337963479635796367963779638796397964079641796427964379644796457964679647796487964979650796517965279653796547965579656796577965879659796607966179662796637966479665796667966779668796697967079671796727967379674796757967679677796787967979680796817968279683796847968579686796877968879689796907969179692796937969479695796967969779698796997970079701797027970379704797057970679707797087970979710797117971279713797147971579716797177971879719797207972179722797237972479725797267972779728797297973079731797327973379734797357973679737797387973979740797417974279743797447974579746797477974879749797507975179752797537975479755797567975779758797597976079761797627976379764797657976679767797687976979770797717977279773797747977579776797777977879779797807978179782797837978479785797867978779788797897979079791797927979379794797957979679797797987979979800798017980279803798047980579806798077980879809798107981179812798137981479815798167981779818798197982079821798227982379824798257982679827798287982979830798317983279833798347983579836798377983879839798407984179842798437984479845798467984779848798497985079851798527985379854798557985679857798587985979860798617986279863798647986579866798677986879869798707987179872798737987479875798767987779878798797988079881798827988379884798857988679887798887988979890798917989279893798947989579896798977989879899799007990179902799037990479905799067990779908799097991079911799127991379914799157991679917799187991979920799217992279923799247992579926799277992879929799307993179932799337993479935799367993779938799397994079941799427994379944799457994679947799487994979950799517995279953799547995579956799577995879959799607996179962799637996479965799667996779968799697997079971799727997379974799757997679977799787997979980799817998279983799847998579986799877998879989799907999179992799937999479995799967999779998799998000080001800028000380004800058000680007800088000980010800118001280013800148001580016800178001880019800208002180022800238002480025800268002780028800298003080031800328003380034800358003680037800388003980040800418004280043800448004580046800478004880049800508005180052800538005480055800568005780058800598006080061800628006380064800658006680067800688006980070800718007280073800748007580076800778007880079800808008180082800838008480085800868008780088800898009080091800928009380094800958009680097800988009980100801018010280103801048010580106801078010880109801108011180112801138011480115801168011780118801198012080121801228012380124801258012680127801288012980130801318013280133801348013580136801378013880139801408014180142801438014480145801468014780148801498015080151801528015380154801558015680157801588015980160801618016280163801648016580166801678016880169801708017180172801738017480175801768017780178801798018080181801828018380184801858018680187801888018980190801918019280193801948019580196801978019880199802008020180202802038020480205802068020780208802098021080211802128021380214802158021680217802188021980220802218022280223802248022580226802278022880229802308023180232802338023480235802368023780238802398024080241802428024380244802458024680247802488024980250802518025280253802548025580256802578025880259802608026180262802638026480265802668026780268802698027080271802728027380274802758027680277802788027980280802818028280283802848028580286802878028880289802908029180292802938029480295802968029780298802998030080301803028030380304803058030680307803088030980310803118031280313803148031580316803178031880319803208032180322803238032480325803268032780328803298033080331803328033380334803358033680337803388033980340803418034280343803448034580346803478034880349803508035180352803538035480355803568035780358803598036080361803628036380364803658036680367803688036980370803718037280373803748037580376803778037880379803808038180382803838038480385803868038780388803898039080391803928039380394803958039680397803988039980400804018040280403804048040580406804078040880409804108041180412804138041480415804168041780418804198042080421804228042380424804258042680427804288042980430804318043280433804348043580436804378043880439804408044180442804438044480445804468044780448804498045080451804528045380454804558045680457804588045980460804618046280463804648046580466804678046880469804708047180472804738047480475804768047780478804798048080481804828048380484804858048680487804888048980490804918049280493804948049580496804978049880499805008050180502805038050480505805068050780508805098051080511805128051380514805158051680517805188051980520805218052280523805248052580526805278052880529805308053180532805338053480535805368053780538805398054080541805428054380544805458054680547805488054980550805518055280553805548055580556805578055880559805608056180562805638056480565805668056780568805698057080571805728057380574805758057680577805788057980580805818058280583805848058580586805878058880589805908059180592805938059480595805968059780598805998060080601806028060380604806058060680607806088060980610806118061280613806148061580616806178061880619806208062180622806238062480625806268062780628806298063080631806328063380634806358063680637806388063980640806418064280643806448064580646806478064880649806508065180652806538065480655806568065780658806598066080661806628066380664806658066680667806688066980670806718067280673806748067580676806778067880679806808068180682806838068480685806868068780688806898069080691806928069380694806958069680697806988069980700807018070280703807048070580706807078070880709807108071180712807138071480715807168071780718807198072080721807228072380724807258072680727807288072980730807318073280733807348073580736807378073880739807408074180742807438074480745807468074780748807498075080751807528075380754807558075680757807588075980760807618076280763807648076580766807678076880769807708077180772807738077480775807768077780778807798078080781807828078380784807858078680787807888078980790807918079280793807948079580796807978079880799808008080180802808038080480805808068080780808808098081080811808128081380814808158081680817808188081980820808218082280823808248082580826808278082880829808308083180832808338083480835808368083780838808398084080841808428084380844808458084680847808488084980850808518085280853808548085580856808578085880859808608086180862808638086480865808668086780868808698087080871808728087380874808758087680877808788087980880808818088280883808848088580886808878088880889808908089180892808938089480895808968089780898808998090080901809028090380904809058090680907809088090980910809118091280913809148091580916809178091880919809208092180922809238092480925809268092780928809298093080931809328093380934809358093680937809388093980940809418094280943809448094580946809478094880949809508095180952809538095480955809568095780958809598096080961809628096380964809658096680967809688096980970809718097280973809748097580976809778097880979809808098180982809838098480985809868098780988809898099080991809928099380994809958099680997809988099981000810018100281003810048100581006810078100881009810108101181012810138101481015810168101781018810198102081021810228102381024810258102681027810288102981030810318103281033810348103581036810378103881039810408104181042810438104481045810468104781048810498105081051810528105381054810558105681057810588105981060810618106281063810648106581066810678106881069810708107181072810738107481075810768107781078810798108081081810828108381084810858108681087810888108981090810918109281093810948109581096810978109881099811008110181102811038110481105811068110781108811098111081111811128111381114811158111681117811188111981120811218112281123811248112581126811278112881129811308113181132811338113481135811368113781138811398114081141811428114381144811458114681147811488114981150811518115281153811548115581156811578115881159811608116181162811638116481165811668116781168811698117081171811728117381174811758117681177811788117981180811818118281183811848118581186811878118881189811908119181192811938119481195811968119781198811998120081201812028120381204812058120681207812088120981210812118121281213812148121581216812178121881219812208122181222812238122481225812268122781228812298123081231812328123381234812358123681237812388123981240812418124281243812448124581246812478124881249812508125181252812538125481255812568125781258812598126081261812628126381264812658126681267812688126981270812718127281273812748127581276812778127881279812808128181282812838128481285812868128781288812898129081291812928129381294812958129681297812988129981300813018130281303813048130581306813078130881309813108131181312813138131481315813168131781318813198132081321813228132381324813258132681327813288132981330813318133281333813348133581336813378133881339813408134181342813438134481345813468134781348813498135081351813528135381354813558135681357813588135981360813618136281363813648136581366813678136881369813708137181372813738137481375813768137781378813798138081381813828138381384813858138681387813888138981390813918139281393813948139581396813978139881399814008140181402814038140481405814068140781408814098141081411814128141381414814158141681417814188141981420814218142281423814248142581426814278142881429814308143181432814338143481435814368143781438814398144081441814428144381444814458144681447814488144981450814518145281453814548145581456814578145881459814608146181462814638146481465814668146781468814698147081471814728147381474814758147681477814788147981480814818148281483814848148581486814878148881489814908149181492814938149481495814968149781498814998150081501815028150381504815058150681507815088150981510815118151281513815148151581516815178151881519815208152181522815238152481525815268152781528815298153081531815328153381534815358153681537815388153981540815418154281543815448154581546815478154881549815508155181552815538155481555815568155781558815598156081561815628156381564815658156681567815688156981570815718157281573815748157581576815778157881579815808158181582815838158481585815868158781588815898159081591815928159381594815958159681597815988159981600816018160281603816048160581606816078160881609816108161181612816138161481615816168161781618816198162081621816228162381624816258162681627816288162981630816318163281633816348163581636816378163881639816408164181642816438164481645816468164781648816498165081651816528165381654816558165681657816588165981660816618166281663816648166581666816678166881669816708167181672816738167481675816768167781678816798168081681816828168381684816858168681687816888168981690816918169281693816948169581696816978169881699817008170181702817038170481705817068170781708817098171081711817128171381714817158171681717817188171981720817218172281723817248172581726817278172881729817308173181732817338173481735817368173781738817398174081741817428174381744817458174681747817488174981750817518175281753817548175581756817578175881759817608176181762817638176481765817668176781768817698177081771817728177381774817758177681777817788177981780817818178281783817848178581786817878178881789817908179181792817938179481795817968179781798817998180081801818028180381804818058180681807818088180981810818118181281813818148181581816818178181881819818208182181822818238182481825818268182781828818298183081831818328183381834818358183681837818388183981840818418184281843818448184581846818478184881849818508185181852818538185481855818568185781858818598186081861818628186381864818658186681867818688186981870818718187281873818748187581876818778187881879818808188181882818838188481885818868188781888818898189081891818928189381894818958189681897818988189981900819018190281903819048190581906819078190881909819108191181912819138191481915819168191781918819198192081921819228192381924819258192681927819288192981930819318193281933819348193581936819378193881939819408194181942819438194481945819468194781948819498195081951819528195381954819558195681957819588195981960819618196281963819648196581966819678196881969819708197181972819738197481975819768197781978819798198081981819828198381984819858198681987819888198981990819918199281993819948199581996819978199881999820008200182002820038200482005820068200782008820098201082011820128201382014820158201682017820188201982020820218202282023820248202582026820278202882029820308203182032820338203482035820368203782038820398204082041820428204382044820458204682047820488204982050820518205282053820548205582056820578205882059820608206182062820638206482065820668206782068820698207082071820728207382074820758207682077820788207982080820818208282083820848208582086820878208882089820908209182092820938209482095820968209782098820998210082101821028210382104821058210682107821088210982110821118211282113821148211582116821178211882119821208212182122821238212482125821268212782128821298213082131821328213382134821358213682137821388213982140821418214282143821448214582146821478214882149821508215182152821538215482155821568215782158821598216082161821628216382164821658216682167821688216982170821718217282173821748217582176821778217882179821808218182182821838218482185821868218782188821898219082191821928219382194821958219682197821988219982200822018220282203822048220582206822078220882209822108221182212822138221482215822168221782218822198222082221822228222382224822258222682227822288222982230822318223282233822348223582236822378223882239822408224182242822438224482245822468224782248822498225082251822528225382254822558225682257822588225982260822618226282263822648226582266822678226882269822708227182272822738227482275822768227782278822798228082281822828228382284822858228682287822888228982290822918229282293822948229582296822978229882299823008230182302823038230482305823068230782308823098231082311823128231382314823158231682317823188231982320823218232282323823248232582326823278232882329823308233182332823338233482335823368233782338823398234082341823428234382344823458234682347823488234982350823518235282353823548235582356823578235882359823608236182362823638236482365823668236782368823698237082371823728237382374823758237682377823788237982380823818238282383823848238582386823878238882389823908239182392823938239482395823968239782398823998240082401824028240382404824058240682407824088240982410824118241282413824148241582416824178241882419824208242182422824238242482425824268242782428824298243082431824328243382434824358243682437824388243982440824418244282443824448244582446824478244882449824508245182452824538245482455824568245782458824598246082461824628246382464824658246682467824688246982470824718247282473824748247582476824778247882479824808248182482824838248482485824868248782488824898249082491824928249382494824958249682497824988249982500825018250282503825048250582506825078250882509825108251182512825138251482515825168251782518825198252082521825228252382524825258252682527825288252982530825318253282533825348253582536825378253882539825408254182542825438254482545825468254782548825498255082551825528255382554825558255682557825588255982560825618256282563825648256582566825678256882569825708257182572825738257482575825768257782578825798258082581825828258382584825858258682587825888258982590825918259282593825948259582596825978259882599826008260182602826038260482605826068260782608826098261082611826128261382614826158261682617826188261982620826218262282623826248262582626826278262882629826308263182632826338263482635826368263782638826398264082641826428264382644826458264682647826488264982650826518265282653826548265582656826578265882659826608266182662826638266482665826668266782668826698267082671826728267382674826758267682677826788267982680826818268282683826848268582686826878268882689826908269182692826938269482695826968269782698826998270082701827028270382704827058270682707827088270982710827118271282713827148271582716827178271882719827208272182722827238272482725827268272782728827298273082731827328273382734827358273682737827388273982740827418274282743827448274582746827478274882749827508275182752827538275482755827568275782758827598276082761827628276382764827658276682767827688276982770827718277282773827748277582776827778277882779827808278182782827838278482785827868278782788827898279082791827928279382794827958279682797827988279982800828018280282803828048280582806828078280882809828108281182812828138281482815828168281782818828198282082821828228282382824828258282682827828288282982830828318283282833828348283582836828378283882839828408284182842828438284482845828468284782848828498285082851828528285382854828558285682857828588285982860828618286282863828648286582866828678286882869828708287182872828738287482875828768287782878828798288082881828828288382884828858288682887828888288982890828918289282893828948289582896828978289882899829008290182902829038290482905829068290782908829098291082911829128291382914829158291682917829188291982920829218292282923829248292582926829278292882929829308293182932829338293482935829368293782938829398294082941829428294382944829458294682947829488294982950829518295282953829548295582956829578295882959829608296182962829638296482965829668296782968829698297082971829728297382974829758297682977829788297982980829818298282983829848298582986829878298882989829908299182992829938299482995829968299782998829998300083001830028300383004830058300683007830088300983010830118301283013830148301583016830178301883019830208302183022830238302483025830268302783028830298303083031830328303383034830358303683037830388303983040830418304283043830448304583046830478304883049830508305183052830538305483055830568305783058830598306083061830628306383064830658306683067830688306983070830718307283073830748307583076830778307883079830808308183082830838308483085830868308783088830898309083091830928309383094830958309683097830988309983100831018310283103831048310583106831078310883109831108311183112831138311483115831168311783118831198312083121831228312383124831258312683127831288312983130831318313283133831348313583136831378313883139831408314183142831438314483145831468314783148831498315083151831528315383154831558315683157831588315983160831618316283163831648316583166831678316883169831708317183172831738317483175831768317783178831798318083181831828318383184831858318683187831888318983190831918319283193831948319583196831978319883199832008320183202832038320483205832068320783208832098321083211832128321383214832158321683217832188321983220832218322283223832248322583226832278322883229832308323183232832338323483235832368323783238832398324083241832428324383244832458324683247832488324983250832518325283253832548325583256832578325883259832608326183262832638326483265832668326783268832698327083271832728327383274832758327683277832788327983280832818328283283832848328583286832878328883289832908329183292832938329483295832968329783298832998330083301833028330383304833058330683307833088330983310833118331283313833148331583316833178331883319833208332183322833238332483325833268332783328833298333083331833328333383334833358333683337833388333983340833418334283343833448334583346833478334883349833508335183352833538335483355833568335783358833598336083361833628336383364833658336683367833688336983370833718337283373833748337583376833778337883379833808338183382833838338483385833868338783388833898339083391833928339383394833958339683397833988339983400834018340283403834048340583406834078340883409834108341183412834138341483415834168341783418834198342083421834228342383424834258342683427834288342983430834318343283433834348343583436834378343883439834408344183442834438344483445834468344783448834498345083451834528345383454834558345683457834588345983460834618346283463834648346583466834678346883469834708347183472834738347483475834768347783478834798348083481834828348383484834858348683487834888348983490834918349283493834948349583496834978349883499835008350183502835038350483505835068350783508835098351083511835128351383514835158351683517835188351983520835218352283523835248352583526835278352883529835308353183532835338353483535835368353783538835398354083541835428354383544835458354683547835488354983550835518355283553835548355583556835578355883559835608356183562835638356483565835668356783568835698357083571835728357383574835758357683577835788357983580835818358283583835848358583586835878358883589835908359183592835938359483595835968359783598835998360083601836028360383604836058360683607836088360983610836118361283613836148361583616836178361883619836208362183622836238362483625836268362783628836298363083631836328363383634836358363683637836388363983640836418364283643836448364583646836478364883649836508365183652836538365483655836568365783658836598366083661836628366383664836658366683667836688366983670836718367283673836748367583676836778367883679836808368183682836838368483685836868368783688836898369083691836928369383694836958369683697836988369983700837018370283703837048370583706837078370883709837108371183712837138371483715837168371783718837198372083721837228372383724837258372683727837288372983730837318373283733837348373583736837378373883739837408374183742837438374483745837468374783748837498375083751837528375383754837558375683757837588375983760837618376283763837648376583766837678376883769837708377183772837738377483775837768377783778837798378083781837828378383784837858378683787837888378983790837918379283793837948379583796837978379883799838008380183802838038380483805838068380783808838098381083811838128381383814838158381683817838188381983820838218382283823838248382583826838278382883829838308383183832838338383483835838368383783838838398384083841838428384383844838458384683847838488384983850838518385283853838548385583856838578385883859838608386183862838638386483865838668386783868838698387083871838728387383874838758387683877838788387983880838818388283883838848388583886838878388883889838908389183892838938389483895838968389783898838998390083901839028390383904839058390683907839088390983910839118391283913839148391583916839178391883919839208392183922839238392483925839268392783928839298393083931839328393383934839358393683937839388393983940839418394283943839448394583946839478394883949839508395183952839538395483955839568395783958839598396083961839628396383964839658396683967839688396983970839718397283973839748397583976839778397883979839808398183982839838398483985839868398783988839898399083991839928399383994839958399683997839988399984000840018400284003840048400584006840078400884009840108401184012840138401484015840168401784018840198402084021840228402384024840258402684027840288402984030840318403284033840348403584036840378403884039840408404184042840438404484045840468404784048840498405084051840528405384054840558405684057840588405984060840618406284063840648406584066840678406884069840708407184072840738407484075840768407784078840798408084081840828408384084840858408684087840888408984090840918409284093840948409584096840978409884099841008410184102841038410484105841068410784108841098411084111841128411384114841158411684117841188411984120841218412284123841248412584126841278412884129841308413184132841338413484135841368413784138841398414084141841428414384144841458414684147841488414984150841518415284153841548415584156841578415884159841608416184162841638416484165841668416784168841698417084171841728417384174841758417684177841788417984180841818418284183841848418584186841878418884189841908419184192841938419484195841968419784198841998420084201842028420384204842058420684207842088420984210842118421284213842148421584216842178421884219842208422184222842238422484225842268422784228842298423084231842328423384234842358423684237842388423984240842418424284243842448424584246842478424884249842508425184252842538425484255842568425784258842598426084261842628426384264842658426684267842688426984270842718427284273842748427584276842778427884279842808428184282842838428484285842868428784288842898429084291842928429384294842958429684297842988429984300843018430284303843048430584306843078430884309843108431184312843138431484315843168431784318843198432084321843228432384324843258432684327843288432984330843318433284333843348433584336843378433884339843408434184342843438434484345843468434784348843498435084351843528435384354843558435684357843588435984360843618436284363843648436584366843678436884369843708437184372843738437484375843768437784378843798438084381843828438384384843858438684387843888438984390843918439284393843948439584396843978439884399844008440184402844038440484405844068440784408844098441084411844128441384414844158441684417844188441984420844218442284423844248442584426844278442884429844308443184432844338443484435844368443784438844398444084441844428444384444844458444684447844488444984450844518445284453844548445584456844578445884459844608446184462844638446484465844668446784468844698447084471844728447384474844758447684477844788447984480844818448284483844848448584486844878448884489844908449184492844938449484495844968449784498844998450084501845028450384504845058450684507845088450984510845118451284513845148451584516845178451884519845208452184522845238452484525845268452784528845298453084531845328453384534845358453684537845388453984540845418454284543845448454584546845478454884549845508455184552845538455484555845568455784558845598456084561845628456384564845658456684567845688456984570845718457284573845748457584576845778457884579845808458184582845838458484585845868458784588845898459084591845928459384594845958459684597845988459984600846018460284603846048460584606846078460884609846108461184612846138461484615846168461784618846198462084621846228462384624846258462684627846288462984630846318463284633846348463584636846378463884639846408464184642846438464484645846468464784648846498465084651846528465384654846558465684657846588465984660846618466284663846648466584666846678466884669846708467184672846738467484675846768467784678846798468084681846828468384684846858468684687846888468984690846918469284693846948469584696846978469884699847008470184702847038470484705847068470784708847098471084711847128471384714847158471684717847188471984720847218472284723847248472584726847278472884729847308473184732847338473484735847368473784738847398474084741847428474384744847458474684747847488474984750847518475284753847548475584756847578475884759847608476184762847638476484765847668476784768847698477084771847728477384774847758477684777847788477984780847818478284783847848478584786847878478884789847908479184792847938479484795847968479784798847998480084801848028480384804848058480684807848088480984810848118481284813848148481584816848178481884819848208482184822848238482484825848268482784828848298483084831848328483384834848358483684837848388483984840848418484284843848448484584846848478484884849848508485184852848538485484855848568485784858848598486084861848628486384864848658486684867848688486984870848718487284873848748487584876848778487884879848808488184882848838488484885848868488784888848898489084891848928489384894848958489684897848988489984900849018490284903849048490584906849078490884909849108491184912849138491484915849168491784918849198492084921849228492384924849258492684927849288492984930849318493284933849348493584936849378493884939849408494184942849438494484945849468494784948849498495084951849528495384954849558495684957849588495984960849618496284963849648496584966849678496884969849708497184972849738497484975849768497784978849798498084981849828498384984849858498684987849888498984990849918499284993849948499584996849978499884999850008500185002850038500485005850068500785008850098501085011850128501385014850158501685017850188501985020850218502285023850248502585026850278502885029850308503185032850338503485035850368503785038850398504085041850428504385044850458504685047850488504985050850518505285053850548505585056850578505885059850608506185062850638506485065850668506785068850698507085071850728507385074850758507685077850788507985080850818508285083850848508585086850878508885089850908509185092850938509485095850968509785098850998510085101851028510385104851058510685107851088510985110851118511285113851148511585116851178511885119851208512185122851238512485125851268512785128851298513085131851328513385134851358513685137851388513985140851418514285143851448514585146851478514885149851508515185152851538515485155851568515785158851598516085161851628516385164851658516685167851688516985170851718517285173851748517585176851778517885179851808518185182851838518485185851868518785188851898519085191851928519385194851958519685197851988519985200852018520285203852048520585206852078520885209852108521185212852138521485215852168521785218852198522085221852228522385224852258522685227852288522985230852318523285233852348523585236852378523885239852408524185242852438524485245852468524785248852498525085251852528525385254852558525685257852588525985260852618526285263852648526585266852678526885269852708527185272852738527485275852768527785278852798528085281852828528385284852858528685287852888528985290852918529285293852948529585296852978529885299853008530185302853038530485305853068530785308853098531085311853128531385314853158531685317853188531985320853218532285323853248532585326853278532885329853308533185332853338533485335853368533785338853398534085341853428534385344853458534685347853488534985350853518535285353853548535585356853578535885359853608536185362853638536485365853668536785368853698537085371853728537385374853758537685377853788537985380853818538285383853848538585386853878538885389853908539185392853938539485395853968539785398853998540085401854028540385404854058540685407854088540985410854118541285413854148541585416854178541885419854208542185422854238542485425854268542785428854298543085431854328543385434854358543685437854388543985440854418544285443854448544585446854478544885449854508545185452854538545485455854568545785458854598546085461854628546385464854658546685467854688546985470854718547285473854748547585476854778547885479854808548185482854838548485485854868548785488854898549085491854928549385494854958549685497854988549985500855018550285503855048550585506855078550885509855108551185512855138551485515855168551785518855198552085521855228552385524855258552685527855288552985530855318553285533855348553585536855378553885539855408554185542855438554485545855468554785548855498555085551855528555385554855558555685557855588555985560855618556285563855648556585566855678556885569855708557185572855738557485575855768557785578855798558085581855828558385584855858558685587855888558985590855918559285593855948559585596855978559885599856008560185602856038560485605856068560785608856098561085611856128561385614856158561685617856188561985620856218562285623856248562585626856278562885629856308563185632856338563485635856368563785638856398564085641856428564385644856458564685647856488564985650856518565285653856548565585656856578565885659856608566185662856638566485665856668566785668856698567085671856728567385674856758567685677856788567985680856818568285683856848568585686856878568885689856908569185692856938569485695856968569785698856998570085701857028570385704857058570685707857088570985710857118571285713857148571585716857178571885719857208572185722857238572485725857268572785728857298573085731857328573385734857358573685737857388573985740857418574285743857448574585746857478574885749857508575185752857538575485755857568575785758857598576085761857628576385764857658576685767857688576985770857718577285773857748577585776857778577885779857808578185782857838578485785857868578785788857898579085791857928579385794857958579685797857988579985800858018580285803858048580585806858078580885809858108581185812858138581485815858168581785818858198582085821858228582385824858258582685827858288582985830858318583285833858348583585836858378583885839858408584185842858438584485845858468584785848858498585085851858528585385854858558585685857858588585985860858618586285863858648586585866858678586885869858708587185872858738587485875858768587785878858798588085881858828588385884858858588685887858888588985890858918589285893858948589585896858978589885899859008590185902859038590485905859068590785908859098591085911859128591385914859158591685917859188591985920859218592285923859248592585926859278592885929859308593185932859338593485935859368593785938859398594085941859428594385944859458594685947859488594985950859518595285953859548595585956859578595885959859608596185962859638596485965859668596785968859698597085971859728597385974859758597685977859788597985980859818598285983859848598585986859878598885989859908599185992859938599485995859968599785998859998600086001860028600386004860058600686007860088600986010860118601286013860148601586016860178601886019860208602186022860238602486025860268602786028860298603086031860328603386034860358603686037860388603986040860418604286043860448604586046860478604886049860508605186052860538605486055860568605786058860598606086061860628606386064860658606686067860688606986070860718607286073860748607586076860778607886079860808608186082860838608486085860868608786088860898609086091860928609386094860958609686097860988609986100861018610286103861048610586106861078610886109861108611186112861138611486115861168611786118861198612086121861228612386124861258612686127861288612986130861318613286133861348613586136861378613886139861408614186142861438614486145861468614786148861498615086151861528615386154861558615686157861588615986160861618616286163861648616586166861678616886169861708617186172861738617486175861768617786178861798618086181861828618386184861858618686187861888618986190861918619286193861948619586196861978619886199862008620186202862038620486205862068620786208862098621086211862128621386214862158621686217862188621986220862218622286223862248622586226862278622886229862308623186232862338623486235862368623786238862398624086241862428624386244862458624686247862488624986250862518625286253862548625586256862578625886259862608626186262862638626486265862668626786268862698627086271862728627386274862758627686277862788627986280862818628286283862848628586286862878628886289862908629186292862938629486295862968629786298862998630086301863028630386304863058630686307863088630986310863118631286313863148631586316863178631886319863208632186322863238632486325863268632786328863298633086331863328633386334863358633686337863388633986340863418634286343863448634586346863478634886349863508635186352863538635486355863568635786358863598636086361863628636386364863658636686367863688636986370863718637286373863748637586376863778637886379863808638186382863838638486385863868638786388863898639086391863928639386394863958639686397863988639986400864018640286403864048640586406864078640886409864108641186412864138641486415864168641786418864198642086421864228642386424864258642686427864288642986430864318643286433864348643586436864378643886439864408644186442864438644486445864468644786448864498645086451864528645386454864558645686457864588645986460864618646286463864648646586466864678646886469864708647186472864738647486475864768647786478864798648086481864828648386484864858648686487864888648986490864918649286493864948649586496864978649886499865008650186502865038650486505865068650786508865098651086511865128651386514865158651686517865188651986520865218652286523865248652586526865278652886529865308653186532865338653486535865368653786538865398654086541865428654386544865458654686547865488654986550865518655286553865548655586556865578655886559865608656186562865638656486565865668656786568865698657086571865728657386574865758657686577865788657986580865818658286583865848658586586865878658886589865908659186592865938659486595865968659786598865998660086601866028660386604866058660686607866088660986610866118661286613866148661586616866178661886619866208662186622866238662486625866268662786628866298663086631866328663386634866358663686637866388663986640866418664286643866448664586646866478664886649866508665186652866538665486655866568665786658866598666086661866628666386664866658666686667866688666986670866718667286673866748667586676866778667886679866808668186682866838668486685866868668786688866898669086691866928669386694866958669686697866988669986700867018670286703867048670586706867078670886709867108671186712867138671486715867168671786718867198672086721867228672386724867258672686727867288672986730867318673286733867348673586736867378673886739867408674186742867438674486745867468674786748867498675086751867528675386754867558675686757867588675986760867618676286763867648676586766867678676886769867708677186772867738677486775867768677786778867798678086781867828678386784867858678686787867888678986790867918679286793867948679586796867978679886799868008680186802868038680486805868068680786808868098681086811868128681386814868158681686817868188681986820868218682286823868248682586826868278682886829868308683186832868338683486835868368683786838868398684086841868428684386844868458684686847868488684986850868518685286853868548685586856868578685886859868608686186862868638686486865868668686786868868698687086871868728687386874868758687686877868788687986880868818688286883868848688586886868878688886889868908689186892868938689486895868968689786898868998690086901869028690386904869058690686907869088690986910869118691286913869148691586916869178691886919869208692186922869238692486925869268692786928869298693086931869328693386934869358693686937869388693986940869418694286943869448694586946869478694886949869508695186952869538695486955869568695786958869598696086961869628696386964869658696686967869688696986970869718697286973869748697586976869778697886979869808698186982869838698486985869868698786988869898699086991869928699386994869958699686997869988699987000870018700287003870048700587006870078700887009870108701187012870138701487015870168701787018870198702087021870228702387024870258702687027870288702987030870318703287033870348703587036870378703887039870408704187042870438704487045870468704787048870498705087051870528705387054870558705687057870588705987060870618706287063870648706587066870678706887069870708707187072870738707487075870768707787078870798708087081870828708387084870858708687087870888708987090870918709287093870948709587096870978709887099871008710187102871038710487105871068710787108871098711087111871128711387114871158711687117871188711987120871218712287123871248712587126871278712887129871308713187132871338713487135871368713787138871398714087141871428714387144871458714687147871488714987150871518715287153871548715587156871578715887159871608716187162871638716487165871668716787168871698717087171871728717387174871758717687177871788717987180871818718287183871848718587186871878718887189871908719187192871938719487195871968719787198871998720087201872028720387204872058720687207872088720987210872118721287213872148721587216872178721887219872208722187222872238722487225872268722787228872298723087231872328723387234872358723687237872388723987240872418724287243872448724587246872478724887249872508725187252872538725487255872568725787258872598726087261872628726387264872658726687267872688726987270872718727287273872748727587276872778727887279872808728187282872838728487285872868728787288872898729087291872928729387294872958729687297872988729987300873018730287303873048730587306873078730887309873108731187312873138731487315873168731787318873198732087321873228732387324873258732687327873288732987330873318733287333873348733587336873378733887339873408734187342873438734487345873468734787348873498735087351873528735387354873558735687357873588735987360873618736287363873648736587366873678736887369873708737187372873738737487375873768737787378873798738087381873828738387384873858738687387873888738987390873918739287393873948739587396873978739887399874008740187402874038740487405874068740787408874098741087411874128741387414874158741687417874188741987420874218742287423874248742587426874278742887429874308743187432874338743487435874368743787438874398744087441874428744387444874458744687447874488744987450874518745287453874548745587456874578745887459874608746187462874638746487465874668746787468874698747087471874728747387474874758747687477874788747987480874818748287483874848748587486874878748887489874908749187492874938749487495874968749787498874998750087501875028750387504875058750687507875088750987510875118751287513875148751587516875178751887519875208752187522875238752487525875268752787528875298753087531875328753387534875358753687537875388753987540875418754287543875448754587546875478754887549875508755187552875538755487555875568755787558875598756087561875628756387564875658756687567875688756987570875718757287573875748757587576875778757887579875808758187582875838758487585875868758787588875898759087591875928759387594875958759687597875988759987600876018760287603876048760587606876078760887609876108761187612876138761487615876168761787618876198762087621876228762387624876258762687627876288762987630876318763287633876348763587636876378763887639876408764187642876438764487645876468764787648876498765087651876528765387654876558765687657876588765987660876618766287663876648766587666876678766887669876708767187672876738767487675876768767787678876798768087681876828768387684876858768687687876888768987690876918769287693876948769587696876978769887699877008770187702877038770487705877068770787708877098771087711877128771387714877158771687717877188771987720877218772287723877248772587726877278772887729877308773187732877338773487735877368773787738877398774087741877428774387744877458774687747877488774987750877518775287753877548775587756877578775887759877608776187762877638776487765877668776787768877698777087771877728777387774877758777687777877788777987780877818778287783877848778587786877878778887789877908779187792877938779487795877968779787798877998780087801878028780387804878058780687807878088780987810878118781287813878148781587816878178781887819878208782187822878238782487825878268782787828878298783087831878328783387834878358783687837878388783987840878418784287843878448784587846878478784887849878508785187852878538785487855878568785787858878598786087861878628786387864878658786687867878688786987870878718787287873878748787587876878778787887879878808788187882878838788487885878868788787888878898789087891878928789387894878958789687897878988789987900879018790287903879048790587906879078790887909879108791187912879138791487915879168791787918879198792087921879228792387924879258792687927879288792987930879318793287933879348793587936879378793887939879408794187942879438794487945879468794787948879498795087951879528795387954879558795687957879588795987960879618796287963879648796587966879678796887969879708797187972879738797487975879768797787978879798798087981879828798387984879858798687987879888798987990879918799287993879948799587996879978799887999880008800188002880038800488005880068800788008880098801088011880128801388014880158801688017880188801988020880218802288023880248802588026880278802888029880308803188032880338803488035880368803788038880398804088041880428804388044880458804688047880488804988050880518805288053880548805588056880578805888059880608806188062880638806488065880668806788068880698807088071880728807388074880758807688077880788807988080880818808288083880848808588086880878808888089880908809188092880938809488095880968809788098880998810088101881028810388104881058810688107881088810988110881118811288113881148811588116881178811888119881208812188122881238812488125881268812788128881298813088131881328813388134881358813688137881388813988140881418814288143881448814588146881478814888149881508815188152881538815488155881568815788158881598816088161881628816388164881658816688167881688816988170881718817288173881748817588176881778817888179881808818188182881838818488185881868818788188881898819088191881928819388194881958819688197881988819988200882018820288203882048820588206882078820888209882108821188212882138821488215882168821788218882198822088221882228822388224882258822688227882288822988230882318823288233882348823588236882378823888239882408824188242882438824488245882468824788248882498825088251882528825388254882558825688257882588825988260882618826288263882648826588266882678826888269882708827188272882738827488275882768827788278882798828088281882828828388284882858828688287882888828988290882918829288293882948829588296882978829888299883008830188302883038830488305883068830788308883098831088311883128831388314883158831688317883188831988320883218832288323883248832588326883278832888329883308833188332883338833488335883368833788338883398834088341883428834388344883458834688347883488834988350883518835288353883548835588356883578835888359883608836188362883638836488365883668836788368883698837088371883728837388374883758837688377883788837988380883818838288383883848838588386883878838888389883908839188392883938839488395883968839788398883998840088401884028840388404884058840688407884088840988410884118841288413884148841588416884178841888419884208842188422884238842488425884268842788428884298843088431884328843388434884358843688437884388843988440884418844288443884448844588446884478844888449884508845188452884538845488455884568845788458884598846088461884628846388464884658846688467884688846988470884718847288473884748847588476884778847888479884808848188482884838848488485884868848788488884898849088491884928849388494884958849688497884988849988500885018850288503885048850588506885078850888509885108851188512885138851488515885168851788518885198852088521885228852388524885258852688527885288852988530885318853288533885348853588536885378853888539885408854188542885438854488545885468854788548885498855088551885528855388554885558855688557885588855988560885618856288563885648856588566885678856888569885708857188572885738857488575885768857788578885798858088581885828858388584885858858688587885888858988590885918859288593885948859588596885978859888599886008860188602886038860488605886068860788608886098861088611886128861388614886158861688617886188861988620886218862288623886248862588626886278862888629886308863188632886338863488635886368863788638886398864088641886428864388644886458864688647886488864988650886518865288653886548865588656886578865888659886608866188662886638866488665886668866788668886698867088671886728867388674886758867688677886788867988680886818868288683886848868588686886878868888689886908869188692886938869488695886968869788698886998870088701887028870388704887058870688707887088870988710887118871288713887148871588716887178871888719887208872188722887238872488725887268872788728887298873088731887328873388734887358873688737887388873988740887418874288743887448874588746887478874888749887508875188752887538875488755887568875788758887598876088761887628876388764887658876688767887688876988770887718877288773887748877588776887778877888779887808878188782887838878488785887868878788788887898879088791887928879388794887958879688797887988879988800888018880288803888048880588806888078880888809888108881188812888138881488815888168881788818888198882088821888228882388824888258882688827888288882988830888318883288833888348883588836888378883888839888408884188842888438884488845888468884788848888498885088851888528885388854888558885688857888588885988860888618886288863888648886588866888678886888869888708887188872888738887488875888768887788878888798888088881888828888388884888858888688887888888888988890888918889288893888948889588896888978889888899889008890188902889038890488905889068890788908889098891088911889128891388914889158891688917889188891988920889218892288923889248892588926889278892888929889308893188932889338893488935889368893788938889398894088941889428894388944889458894688947889488894988950889518895288953889548895588956889578895888959889608896188962889638896488965889668896788968889698897088971889728897388974889758897688977889788897988980889818898288983889848898588986889878898888989889908899188992889938899488995889968899788998889998900089001890028900389004890058900689007890088900989010890118901289013890148901589016890178901889019890208902189022890238902489025890268902789028890298903089031890328903389034890358903689037890388903989040890418904289043890448904589046890478904889049890508905189052890538905489055890568905789058890598906089061890628906389064890658906689067890688906989070890718907289073890748907589076890778907889079890808908189082890838908489085890868908789088890898909089091890928909389094890958909689097890988909989100891018910289103891048910589106891078910889109891108911189112891138911489115891168911789118891198912089121891228912389124891258912689127891288912989130891318913289133891348913589136891378913889139891408914189142891438914489145891468914789148891498915089151891528915389154891558915689157891588915989160891618916289163891648916589166891678916889169891708917189172891738917489175891768917789178891798918089181891828918389184891858918689187891888918989190891918919289193891948919589196891978919889199892008920189202892038920489205892068920789208892098921089211892128921389214892158921689217892188921989220892218922289223892248922589226892278922889229892308923189232892338923489235892368923789238892398924089241892428924389244892458924689247892488924989250892518925289253892548925589256892578925889259892608926189262892638926489265892668926789268892698927089271892728927389274892758927689277892788927989280892818928289283892848928589286892878928889289892908929189292892938929489295892968929789298892998930089301893028930389304893058930689307893088930989310893118931289313893148931589316893178931889319893208932189322893238932489325893268932789328893298933089331893328933389334893358933689337893388933989340893418934289343893448934589346893478934889349893508935189352893538935489355893568935789358893598936089361893628936389364893658936689367893688936989370893718937289373893748937589376893778937889379893808938189382893838938489385893868938789388893898939089391893928939389394893958939689397893988939989400894018940289403894048940589406894078940889409894108941189412894138941489415894168941789418894198942089421894228942389424894258942689427894288942989430894318943289433894348943589436894378943889439894408944189442894438944489445894468944789448894498945089451894528945389454894558945689457894588945989460894618946289463894648946589466894678946889469894708947189472894738947489475894768947789478894798948089481894828948389484894858948689487894888948989490894918949289493894948949589496894978949889499895008950189502895038950489505895068950789508895098951089511895128951389514895158951689517895188951989520895218952289523895248952589526895278952889529895308953189532895338953489535895368953789538895398954089541895428954389544895458954689547895488954989550895518955289553895548955589556895578955889559895608956189562895638956489565895668956789568895698957089571895728957389574895758957689577895788957989580895818958289583895848958589586895878958889589895908959189592895938959489595895968959789598895998960089601896028960389604896058960689607896088960989610896118961289613896148961589616896178961889619896208962189622896238962489625896268962789628896298963089631896328963389634896358963689637896388963989640896418964289643896448964589646896478964889649896508965189652896538965489655896568965789658896598966089661896628966389664896658966689667896688966989670896718967289673896748967589676896778967889679896808968189682896838968489685896868968789688896898969089691896928969389694896958969689697896988969989700897018970289703897048970589706897078970889709897108971189712897138971489715897168971789718897198972089721897228972389724897258972689727897288972989730897318973289733897348973589736897378973889739897408974189742897438974489745897468974789748897498975089751897528975389754897558975689757897588975989760897618976289763897648976589766897678976889769897708977189772897738977489775897768977789778897798978089781897828978389784897858978689787897888978989790897918979289793897948979589796897978979889799898008980189802898038980489805898068980789808898098981089811898128981389814898158981689817898188981989820898218982289823898248982589826898278982889829898308983189832898338983489835898368983789838898398984089841898428984389844898458984689847898488984989850898518985289853898548985589856898578985889859898608986189862898638986489865898668986789868898698987089871898728987389874898758987689877898788987989880898818988289883898848988589886898878988889889898908989189892898938989489895898968989789898898998990089901899028990389904899058990689907899088990989910899118991289913899148991589916899178991889919899208992189922899238992489925899268992789928899298993089931899328993389934899358993689937899388993989940899418994289943899448994589946899478994889949899508995189952899538995489955899568995789958899598996089961899628996389964899658996689967899688996989970899718997289973899748997589976899778997889979899808998189982899838998489985899868998789988899898999089991899928999389994899958999689997899988999990000900019000290003900049000590006900079000890009900109001190012900139001490015900169001790018900199002090021900229002390024900259002690027900289002990030900319003290033900349003590036900379003890039900409004190042900439004490045900469004790048900499005090051900529005390054900559005690057900589005990060900619006290063900649006590066900679006890069900709007190072900739007490075900769007790078900799008090081900829008390084900859008690087900889008990090900919009290093900949009590096900979009890099901009010190102901039010490105901069010790108901099011090111901129011390114901159011690117901189011990120901219012290123901249012590126901279012890129901309013190132901339013490135901369013790138901399014090141901429014390144901459014690147901489014990150901519015290153901549015590156901579015890159901609016190162901639016490165901669016790168901699017090171901729017390174901759017690177901789017990180901819018290183901849018590186901879018890189901909019190192901939019490195901969019790198901999020090201902029020390204902059020690207902089020990210902119021290213902149021590216902179021890219902209022190222902239022490225902269022790228902299023090231902329023390234902359023690237902389023990240902419024290243902449024590246902479024890249902509025190252902539025490255902569025790258902599026090261902629026390264902659026690267902689026990270902719027290273902749027590276902779027890279902809028190282902839028490285902869028790288902899029090291902929029390294902959029690297902989029990300903019030290303903049030590306903079030890309903109031190312903139031490315903169031790318903199032090321903229032390324903259032690327903289032990330903319033290333903349033590336903379033890339903409034190342903439034490345903469034790348903499035090351903529035390354903559035690357903589035990360903619036290363903649036590366903679036890369903709037190372903739037490375903769037790378903799038090381903829038390384903859038690387903889038990390903919039290393903949039590396903979039890399904009040190402904039040490405904069040790408904099041090411904129041390414904159041690417904189041990420904219042290423904249042590426904279042890429904309043190432904339043490435904369043790438904399044090441904429044390444904459044690447904489044990450904519045290453904549045590456904579045890459904609046190462904639046490465904669046790468904699047090471904729047390474904759047690477904789047990480904819048290483904849048590486904879048890489904909049190492904939049490495904969049790498904999050090501905029050390504905059050690507905089050990510905119051290513905149051590516905179051890519905209052190522905239052490525905269052790528905299053090531905329053390534905359053690537905389053990540905419054290543905449054590546905479054890549905509055190552905539055490555905569055790558905599056090561905629056390564905659056690567905689056990570905719057290573905749057590576905779057890579905809058190582905839058490585905869058790588905899059090591905929059390594905959059690597905989059990600906019060290603906049060590606906079060890609906109061190612906139061490615906169061790618906199062090621906229062390624906259062690627906289062990630906319063290633906349063590636906379063890639906409064190642906439064490645906469064790648906499065090651906529065390654906559065690657906589065990660906619066290663906649066590666906679066890669906709067190672906739067490675906769067790678906799068090681906829068390684906859068690687906889068990690906919069290693906949069590696906979069890699907009070190702907039070490705907069070790708907099071090711907129071390714907159071690717907189071990720907219072290723907249072590726907279072890729907309073190732907339073490735907369073790738907399074090741907429074390744907459074690747907489074990750907519075290753907549075590756907579075890759907609076190762907639076490765907669076790768907699077090771907729077390774907759077690777907789077990780907819078290783907849078590786907879078890789907909079190792907939079490795907969079790798907999080090801908029080390804908059080690807908089080990810908119081290813908149081590816908179081890819908209082190822908239082490825908269082790828908299083090831908329083390834908359083690837908389083990840908419084290843908449084590846908479084890849908509085190852908539085490855908569085790858908599086090861908629086390864908659086690867908689086990870908719087290873908749087590876908779087890879908809088190882908839088490885908869088790888908899089090891908929089390894908959089690897908989089990900909019090290903909049090590906909079090890909909109091190912909139091490915909169091790918909199092090921909229092390924909259092690927909289092990930909319093290933909349093590936909379093890939909409094190942909439094490945909469094790948909499095090951909529095390954909559095690957909589095990960909619096290963909649096590966909679096890969909709097190972909739097490975909769097790978909799098090981909829098390984909859098690987909889098990990909919099290993909949099590996909979099890999910009100191002910039100491005910069100791008910099101091011910129101391014910159101691017910189101991020910219102291023910249102591026910279102891029910309103191032910339103491035910369103791038910399104091041910429104391044910459104691047910489104991050910519105291053910549105591056910579105891059910609106191062910639106491065910669106791068910699107091071910729107391074910759107691077910789107991080910819108291083910849108591086910879108891089910909109191092910939109491095910969109791098910999110091101911029110391104911059110691107911089110991110911119111291113911149111591116911179111891119911209112191122911239112491125911269112791128911299113091131911329113391134911359113691137911389113991140911419114291143911449114591146911479114891149911509115191152911539115491155911569115791158911599116091161911629116391164911659116691167911689116991170911719117291173911749117591176911779117891179911809118191182911839118491185911869118791188911899119091191911929119391194911959119691197911989119991200912019120291203912049120591206912079120891209912109121191212912139121491215912169121791218912199122091221912229122391224912259122691227912289122991230912319123291233912349123591236912379123891239912409124191242912439124491245912469124791248912499125091251912529125391254912559125691257912589125991260912619126291263912649126591266912679126891269912709127191272912739127491275912769127791278912799128091281912829128391284912859128691287912889128991290912919129291293912949129591296912979129891299913009130191302913039130491305913069130791308913099131091311913129131391314913159131691317913189131991320913219132291323913249132591326913279132891329913309133191332913339133491335913369133791338913399134091341913429134391344913459134691347913489134991350913519135291353913549135591356913579135891359913609136191362913639136491365913669136791368913699137091371913729137391374913759137691377913789137991380913819138291383913849138591386913879138891389913909139191392913939139491395913969139791398913999140091401914029140391404914059140691407914089140991410914119141291413914149141591416914179141891419914209142191422914239142491425914269142791428914299143091431914329143391434914359143691437914389143991440914419144291443914449144591446914479144891449914509145191452914539145491455914569145791458914599146091461914629146391464914659146691467914689146991470914719147291473914749147591476914779147891479914809148191482914839148491485914869148791488914899149091491914929149391494914959149691497914989149991500915019150291503915049150591506915079150891509915109151191512915139151491515915169151791518915199152091521915229152391524915259152691527915289152991530915319153291533915349153591536915379153891539915409154191542915439154491545915469154791548915499155091551915529155391554915559155691557915589155991560915619156291563915649156591566915679156891569915709157191572915739157491575915769157791578915799158091581915829158391584915859158691587915889158991590915919159291593915949159591596915979159891599916009160191602916039160491605916069160791608916099161091611916129161391614916159161691617916189161991620916219162291623916249162591626916279162891629916309163191632916339163491635916369163791638916399164091641916429164391644916459164691647916489164991650916519165291653916549165591656916579165891659916609166191662916639166491665916669166791668916699167091671916729167391674916759167691677916789167991680916819168291683916849168591686916879168891689916909169191692916939169491695916969169791698916999170091701917029170391704917059170691707917089170991710917119171291713917149171591716917179171891719917209172191722917239172491725917269172791728917299173091731917329173391734917359173691737917389173991740917419174291743917449174591746917479174891749917509175191752917539175491755917569175791758917599176091761917629176391764917659176691767917689176991770917719177291773917749177591776917779177891779917809178191782917839178491785917869178791788917899179091791917929179391794917959179691797917989179991800918019180291803918049180591806918079180891809918109181191812918139181491815918169181791818918199182091821918229182391824918259182691827918289182991830918319183291833918349183591836918379183891839918409184191842918439184491845918469184791848918499185091851918529185391854918559185691857918589185991860918619186291863918649186591866918679186891869918709187191872918739187491875918769187791878918799188091881918829188391884918859188691887918889188991890918919189291893918949189591896918979189891899919009190191902919039190491905919069190791908919099191091911919129191391914919159191691917919189191991920919219192291923919249192591926919279192891929919309193191932919339193491935919369193791938919399194091941919429194391944919459194691947919489194991950919519195291953919549195591956919579195891959919609196191962919639196491965919669196791968919699197091971919729197391974919759197691977919789197991980919819198291983919849198591986919879198891989919909199191992919939199491995919969199791998919999200092001920029200392004920059200692007920089200992010920119201292013920149201592016920179201892019920209202192022920239202492025920269202792028920299203092031920329203392034920359203692037920389203992040920419204292043920449204592046920479204892049920509205192052920539205492055920569205792058920599206092061920629206392064920659206692067920689206992070920719207292073920749207592076920779207892079920809208192082920839208492085920869208792088920899209092091920929209392094920959209692097920989209992100921019210292103921049210592106921079210892109921109211192112921139211492115921169211792118921199212092121921229212392124921259212692127921289212992130921319213292133921349213592136921379213892139921409214192142921439214492145921469214792148921499215092151921529215392154921559215692157921589215992160921619216292163921649216592166921679216892169921709217192172921739217492175921769217792178921799218092181921829218392184921859218692187921889218992190921919219292193921949219592196921979219892199922009220192202922039220492205922069220792208922099221092211922129221392214922159221692217922189221992220922219222292223922249222592226922279222892229922309223192232922339223492235922369223792238922399224092241922429224392244922459224692247922489224992250922519225292253922549225592256922579225892259922609226192262922639226492265922669226792268922699227092271922729227392274922759227692277922789227992280922819228292283922849228592286922879228892289922909229192292922939229492295922969229792298922999230092301923029230392304923059230692307923089230992310923119231292313923149231592316923179231892319923209232192322923239232492325923269232792328923299233092331923329233392334923359233692337923389233992340923419234292343923449234592346923479234892349923509235192352923539235492355923569235792358923599236092361923629236392364923659236692367923689236992370923719237292373923749237592376923779237892379923809238192382923839238492385923869238792388923899239092391923929239392394923959239692397923989239992400924019240292403924049240592406924079240892409924109241192412924139241492415924169241792418924199242092421924229242392424924259242692427924289242992430924319243292433924349243592436924379243892439924409244192442924439244492445924469244792448924499245092451924529245392454924559245692457924589245992460924619246292463924649246592466924679246892469924709247192472924739247492475924769247792478924799248092481924829248392484924859248692487924889248992490924919249292493924949249592496924979249892499925009250192502925039250492505925069250792508925099251092511925129251392514925159251692517925189251992520925219252292523925249252592526925279252892529925309253192532925339253492535925369253792538925399254092541925429254392544925459254692547925489254992550925519255292553925549255592556925579255892559925609256192562925639256492565925669256792568925699257092571925729257392574925759257692577925789257992580925819258292583925849258592586925879258892589925909259192592925939259492595925969259792598925999260092601926029260392604926059260692607926089260992610926119261292613926149261592616926179261892619926209262192622926239262492625926269262792628926299263092631926329263392634926359263692637926389263992640926419264292643926449264592646926479264892649926509265192652926539265492655926569265792658926599266092661926629266392664926659266692667926689266992670926719267292673926749267592676926779267892679926809268192682926839268492685926869268792688926899269092691926929269392694926959269692697926989269992700927019270292703927049270592706927079270892709927109271192712927139271492715927169271792718927199272092721927229272392724927259272692727927289272992730927319273292733927349273592736927379273892739927409274192742927439274492745927469274792748927499275092751927529275392754927559275692757927589275992760927619276292763927649276592766927679276892769927709277192772927739277492775927769277792778927799278092781927829278392784927859278692787927889278992790927919279292793927949279592796927979279892799928009280192802928039280492805928069280792808928099281092811928129281392814928159281692817928189281992820928219282292823928249282592826928279282892829928309283192832928339283492835928369283792838928399284092841928429284392844928459284692847928489284992850928519285292853928549285592856928579285892859928609286192862928639286492865928669286792868928699287092871928729287392874928759287692877928789287992880928819288292883928849288592886928879288892889928909289192892928939289492895928969289792898928999290092901929029290392904929059290692907929089290992910929119291292913929149291592916929179291892919929209292192922929239292492925929269292792928929299293092931929329293392934929359293692937929389293992940929419294292943929449294592946929479294892949929509295192952929539295492955929569295792958929599296092961929629296392964929659296692967929689296992970929719297292973929749297592976929779297892979929809298192982929839298492985929869298792988929899299092991929929299392994929959299692997929989299993000930019300293003930049300593006930079300893009930109301193012930139301493015930169301793018930199302093021930229302393024930259302693027930289302993030930319303293033930349303593036930379303893039930409304193042930439304493045930469304793048930499305093051930529305393054930559305693057930589305993060930619306293063930649306593066930679306893069930709307193072930739307493075930769307793078930799308093081930829308393084930859308693087930889308993090930919309293093930949309593096930979309893099931009310193102931039310493105931069310793108931099311093111931129311393114931159311693117931189311993120931219312293123931249312593126931279312893129931309313193132931339313493135931369313793138931399314093141931429314393144931459314693147931489314993150931519315293153931549315593156931579315893159931609316193162931639316493165931669316793168931699317093171931729317393174931759317693177931789317993180931819318293183931849318593186931879318893189931909319193192931939319493195931969319793198931999320093201932029320393204932059320693207932089320993210932119321293213932149321593216932179321893219932209322193222932239322493225932269322793228932299323093231932329323393234932359323693237932389323993240932419324293243932449324593246932479324893249932509325193252932539325493255932569325793258932599326093261932629326393264932659326693267932689326993270932719327293273932749327593276932779327893279932809328193282932839328493285932869328793288932899329093291932929329393294932959329693297932989329993300933019330293303933049330593306933079330893309933109331193312933139331493315933169331793318933199332093321933229332393324933259332693327933289332993330933319333293333933349333593336933379333893339933409334193342933439334493345933469334793348933499335093351933529335393354933559335693357933589335993360933619336293363933649336593366933679336893369933709337193372933739337493375933769337793378933799338093381933829338393384933859338693387933889338993390933919339293393933949339593396933979339893399934009340193402934039340493405934069340793408934099341093411934129341393414934159341693417934189341993420934219342293423934249342593426934279342893429934309343193432934339343493435934369343793438934399344093441934429344393444934459344693447934489344993450934519345293453934549345593456934579345893459934609346193462934639346493465934669346793468934699347093471934729347393474934759347693477934789347993480934819348293483934849348593486934879348893489934909349193492934939349493495934969349793498934999350093501935029350393504935059350693507935089350993510935119351293513935149351593516935179351893519935209352193522935239352493525935269352793528935299353093531935329353393534935359353693537935389353993540935419354293543935449354593546935479354893549935509355193552935539355493555935569355793558935599356093561935629356393564935659356693567935689356993570935719357293573935749357593576935779357893579935809358193582935839358493585935869358793588935899359093591935929359393594935959359693597935989359993600936019360293603936049360593606936079360893609936109361193612936139361493615936169361793618936199362093621936229362393624936259362693627936289362993630936319363293633936349363593636936379363893639936409364193642936439364493645936469364793648936499365093651936529365393654936559365693657936589365993660936619366293663936649366593666936679366893669936709367193672936739367493675936769367793678936799368093681936829368393684936859368693687936889368993690936919369293693936949369593696936979369893699937009370193702937039370493705937069370793708937099371093711937129371393714937159371693717937189371993720937219372293723937249372593726937279372893729937309373193732937339373493735937369373793738937399374093741937429374393744937459374693747937489374993750937519375293753937549375593756937579375893759937609376193762937639376493765937669376793768937699377093771937729377393774937759377693777937789377993780937819378293783937849378593786937879378893789937909379193792937939379493795937969379793798937999380093801938029380393804938059380693807938089380993810938119381293813938149381593816938179381893819938209382193822938239382493825938269382793828938299383093831938329383393834938359383693837938389383993840938419384293843938449384593846938479384893849938509385193852938539385493855938569385793858938599386093861938629386393864938659386693867938689386993870938719387293873938749387593876938779387893879938809388193882938839388493885938869388793888938899389093891938929389393894938959389693897938989389993900939019390293903939049390593906939079390893909939109391193912939139391493915939169391793918939199392093921939229392393924939259392693927939289392993930939319393293933939349393593936939379393893939939409394193942939439394493945939469394793948939499395093951939529395393954939559395693957939589395993960939619396293963939649396593966939679396893969939709397193972939739397493975939769397793978939799398093981939829398393984939859398693987939889398993990939919399293993939949399593996939979399893999940009400194002940039400494005940069400794008940099401094011940129401394014940159401694017940189401994020940219402294023940249402594026940279402894029940309403194032940339403494035940369403794038940399404094041940429404394044940459404694047940489404994050940519405294053940549405594056940579405894059940609406194062940639406494065940669406794068940699407094071940729407394074940759407694077940789407994080940819408294083940849408594086940879408894089940909409194092940939409494095940969409794098940999410094101941029410394104941059410694107941089410994110941119411294113941149411594116941179411894119941209412194122941239412494125941269412794128941299413094131941329413394134941359413694137941389413994140941419414294143941449414594146941479414894149941509415194152941539415494155941569415794158941599416094161941629416394164941659416694167941689416994170941719417294173941749417594176941779417894179941809418194182941839418494185941869418794188941899419094191941929419394194941959419694197941989419994200942019420294203942049420594206942079420894209942109421194212942139421494215942169421794218942199422094221942229422394224942259422694227942289422994230942319423294233942349423594236942379423894239942409424194242942439424494245942469424794248942499425094251942529425394254942559425694257942589425994260942619426294263942649426594266942679426894269942709427194272942739427494275942769427794278942799428094281942829428394284942859428694287942889428994290942919429294293942949429594296942979429894299943009430194302943039430494305943069430794308943099431094311943129431394314943159431694317943189431994320943219432294323943249432594326943279432894329943309433194332943339433494335943369433794338943399434094341943429434394344943459434694347943489434994350943519435294353943549435594356943579435894359943609436194362943639436494365943669436794368943699437094371943729437394374943759437694377943789437994380943819438294383943849438594386943879438894389943909439194392943939439494395943969439794398943999440094401944029440394404944059440694407944089440994410944119441294413944149441594416944179441894419944209442194422944239442494425944269442794428944299443094431944329443394434944359443694437944389443994440944419444294443944449444594446944479444894449944509445194452944539445494455944569445794458944599446094461944629446394464944659446694467944689446994470944719447294473944749447594476944779447894479944809448194482944839448494485944869448794488944899449094491944929449394494944959449694497944989449994500945019450294503945049450594506945079450894509945109451194512945139451494515945169451794518945199452094521945229452394524945259452694527945289452994530945319453294533945349453594536945379453894539945409454194542945439454494545945469454794548945499455094551945529455394554945559455694557945589455994560945619456294563945649456594566945679456894569945709457194572945739457494575945769457794578945799458094581945829458394584945859458694587945889458994590945919459294593945949459594596945979459894599946009460194602946039460494605946069460794608946099461094611946129461394614946159461694617946189461994620946219462294623946249462594626946279462894629946309463194632946339463494635946369463794638946399464094641946429464394644946459464694647946489464994650946519465294653946549465594656946579465894659946609466194662946639466494665946669466794668946699467094671946729467394674946759467694677946789467994680946819468294683946849468594686946879468894689946909469194692946939469494695946969469794698946999470094701947029470394704947059470694707947089470994710947119471294713947149471594716947179471894719947209472194722947239472494725947269472794728947299473094731947329473394734947359473694737947389473994740947419474294743947449474594746947479474894749947509475194752947539475494755947569475794758947599476094761947629476394764947659476694767947689476994770947719477294773947749477594776947779477894779947809478194782947839478494785947869478794788947899479094791947929479394794947959479694797947989479994800948019480294803948049480594806948079480894809948109481194812948139481494815948169481794818948199482094821948229482394824948259482694827948289482994830948319483294833948349483594836948379483894839948409484194842948439484494845948469484794848948499485094851948529485394854948559485694857948589485994860948619486294863948649486594866948679486894869948709487194872948739487494875948769487794878948799488094881948829488394884948859488694887948889488994890948919489294893948949489594896948979489894899949009490194902949039490494905949069490794908949099491094911949129491394914949159491694917949189491994920949219492294923949249492594926949279492894929949309493194932949339493494935949369493794938949399494094941949429494394944949459494694947949489494994950949519495294953949549495594956949579495894959949609496194962949639496494965949669496794968949699497094971949729497394974949759497694977949789497994980949819498294983949849498594986949879498894989949909499194992949939499494995949969499794998949999500095001950029500395004950059500695007950089500995010950119501295013950149501595016950179501895019950209502195022950239502495025950269502795028950299503095031950329503395034950359503695037950389503995040950419504295043950449504595046950479504895049950509505195052950539505495055950569505795058950599506095061950629506395064950659506695067950689506995070950719507295073950749507595076950779507895079950809508195082950839508495085950869508795088950899509095091950929509395094950959509695097950989509995100951019510295103951049510595106951079510895109951109511195112951139511495115951169511795118951199512095121951229512395124951259512695127951289512995130951319513295133951349513595136951379513895139951409514195142951439514495145951469514795148951499515095151951529515395154951559515695157951589515995160951619516295163951649516595166951679516895169951709517195172951739517495175951769517795178951799518095181951829518395184951859518695187951889518995190951919519295193951949519595196951979519895199952009520195202952039520495205952069520795208952099521095211952129521395214952159521695217952189521995220952219522295223952249522595226952279522895229952309523195232952339523495235952369523795238952399524095241952429524395244952459524695247952489524995250952519525295253952549525595256952579525895259952609526195262952639526495265952669526795268952699527095271952729527395274952759527695277952789527995280952819528295283952849528595286952879528895289952909529195292952939529495295952969529795298952999530095301953029530395304953059530695307953089530995310953119531295313953149531595316953179531895319953209532195322953239532495325953269532795328953299533095331953329533395334953359533695337953389533995340953419534295343953449534595346953479534895349953509535195352953539535495355953569535795358953599536095361953629536395364953659536695367953689536995370953719537295373953749537595376953779537895379953809538195382953839538495385953869538795388953899539095391953929539395394953959539695397953989539995400954019540295403954049540595406954079540895409954109541195412954139541495415954169541795418954199542095421954229542395424954259542695427954289542995430954319543295433954349543595436954379543895439954409544195442954439544495445954469544795448954499545095451954529545395454954559545695457954589545995460954619546295463954649546595466954679546895469954709547195472954739547495475954769547795478954799548095481954829548395484954859548695487954889548995490954919549295493954949549595496954979549895499955009550195502955039550495505955069550795508955099551095511955129551395514955159551695517955189551995520955219552295523955249552595526955279552895529955309553195532955339553495535955369553795538955399554095541955429554395544955459554695547955489554995550955519555295553955549555595556955579555895559955609556195562955639556495565955669556795568955699557095571955729557395574955759557695577955789557995580955819558295583955849558595586955879558895589955909559195592955939559495595955969559795598955999560095601956029560395604956059560695607956089560995610956119561295613956149561595616956179561895619956209562195622956239562495625956269562795628956299563095631956329563395634956359563695637956389563995640956419564295643956449564595646956479564895649956509565195652956539565495655956569565795658956599566095661956629566395664956659566695667956689566995670956719567295673956749567595676956779567895679956809568195682956839568495685956869568795688956899569095691956929569395694956959569695697956989569995700957019570295703957049570595706957079570895709957109571195712957139571495715957169571795718957199572095721957229572395724957259572695727957289572995730957319573295733957349573595736957379573895739957409574195742957439574495745957469574795748957499575095751957529575395754957559575695757957589575995760957619576295763957649576595766957679576895769957709577195772957739577495775957769577795778957799578095781957829578395784957859578695787957889578995790957919579295793957949579595796957979579895799958009580195802958039580495805958069580795808958099581095811958129581395814958159581695817958189581995820958219582295823958249582595826958279582895829958309583195832958339583495835958369583795838958399584095841958429584395844958459584695847958489584995850958519585295853958549585595856958579585895859958609586195862958639586495865958669586795868958699587095871958729587395874958759587695877958789587995880958819588295883958849588595886958879588895889958909589195892958939589495895958969589795898958999590095901959029590395904959059590695907959089590995910959119591295913959149591595916959179591895919959209592195922959239592495925959269592795928959299593095931959329593395934959359593695937959389593995940959419594295943959449594595946959479594895949959509595195952959539595495955959569595795958959599596095961959629596395964959659596695967959689596995970959719597295973959749597595976959779597895979959809598195982959839598495985959869598795988959899599095991959929599395994959959599695997959989599996000960019600296003960049600596006960079600896009960109601196012960139601496015960169601796018960199602096021960229602396024960259602696027960289602996030960319603296033960349603596036960379603896039960409604196042960439604496045960469604796048960499605096051960529605396054960559605696057960589605996060960619606296063960649606596066960679606896069960709607196072960739607496075960769607796078960799608096081960829608396084960859608696087960889608996090960919609296093960949609596096960979609896099961009610196102961039610496105961069610796108961099611096111961129611396114961159611696117961189611996120961219612296123961249612596126961279612896129961309613196132961339613496135961369613796138961399614096141961429614396144961459614696147961489614996150961519615296153961549615596156961579615896159961609616196162961639616496165961669616796168961699617096171961729617396174961759617696177961789617996180961819618296183961849618596186961879618896189961909619196192961939619496195961969619796198961999620096201962029620396204962059620696207962089620996210962119621296213962149621596216962179621896219962209622196222962239622496225962269622796228962299623096231962329623396234962359623696237962389623996240962419624296243962449624596246962479624896249962509625196252962539625496255962569625796258962599626096261962629626396264962659626696267962689626996270962719627296273962749627596276962779627896279962809628196282962839628496285962869628796288962899629096291962929629396294962959629696297962989629996300963019630296303963049630596306963079630896309963109631196312963139631496315963169631796318963199632096321963229632396324963259632696327963289632996330963319633296333963349633596336963379633896339963409634196342963439634496345963469634796348963499635096351963529635396354963559635696357963589635996360963619636296363963649636596366963679636896369963709637196372963739637496375963769637796378963799638096381963829638396384963859638696387963889638996390963919639296393963949639596396963979639896399964009640196402964039640496405964069640796408964099641096411964129641396414964159641696417964189641996420964219642296423964249642596426964279642896429964309643196432964339643496435964369643796438964399644096441964429644396444964459644696447964489644996450964519645296453964549645596456964579645896459964609646196462964639646496465964669646796468964699647096471964729647396474964759647696477964789647996480964819648296483964849648596486964879648896489964909649196492964939649496495964969649796498964999650096501965029650396504965059650696507965089650996510965119651296513965149651596516965179651896519965209652196522965239652496525965269652796528965299653096531965329653396534965359653696537965389653996540965419654296543965449654596546965479654896549965509655196552965539655496555965569655796558965599656096561965629656396564965659656696567965689656996570965719657296573965749657596576965779657896579965809658196582965839658496585965869658796588965899659096591965929659396594965959659696597965989659996600966019660296603966049660596606966079660896609966109661196612966139661496615966169661796618966199662096621966229662396624966259662696627966289662996630966319663296633966349663596636966379663896639966409664196642966439664496645966469664796648966499665096651966529665396654966559665696657966589665996660966619666296663966649666596666966679666896669966709667196672966739667496675966769667796678966799668096681966829668396684966859668696687966889668996690966919669296693966949669596696966979669896699967009670196702967039670496705967069670796708967099671096711967129671396714967159671696717967189671996720967219672296723967249672596726967279672896729967309673196732967339673496735967369673796738967399674096741967429674396744967459674696747967489674996750967519675296753967549675596756967579675896759967609676196762967639676496765967669676796768967699677096771967729677396774967759677696777967789677996780967819678296783967849678596786967879678896789967909679196792967939679496795967969679796798967999680096801968029680396804968059680696807968089680996810968119681296813968149681596816968179681896819968209682196822968239682496825968269682796828968299683096831968329683396834968359683696837968389683996840968419684296843968449684596846968479684896849968509685196852968539685496855968569685796858968599686096861968629686396864968659686696867968689686996870968719687296873968749687596876968779687896879968809688196882968839688496885968869688796888968899689096891968929689396894968959689696897968989689996900969019690296903969049690596906969079690896909969109691196912969139691496915969169691796918969199692096921969229692396924969259692696927969289692996930969319693296933969349693596936969379693896939969409694196942969439694496945969469694796948969499695096951969529695396954969559695696957969589695996960969619696296963969649696596966969679696896969969709697196972969739697496975969769697796978969799698096981969829698396984969859698696987969889698996990969919699296993969949699596996969979699896999970009700197002970039700497005970069700797008970099701097011970129701397014970159701697017970189701997020970219702297023970249702597026970279702897029970309703197032970339703497035970369703797038970399704097041970429704397044970459704697047970489704997050970519705297053970549705597056970579705897059970609706197062970639706497065970669706797068970699707097071970729707397074970759707697077970789707997080970819708297083970849708597086970879708897089970909709197092970939709497095970969709797098970999710097101971029710397104971059710697107971089710997110971119711297113971149711597116971179711897119971209712197122971239712497125971269712797128971299713097131971329713397134971359713697137971389713997140971419714297143971449714597146971479714897149971509715197152971539715497155971569715797158971599716097161971629716397164971659716697167971689716997170971719717297173971749717597176971779717897179971809718197182971839718497185971869718797188971899719097191971929719397194971959719697197971989719997200972019720297203972049720597206972079720897209972109721197212972139721497215972169721797218972199722097221972229722397224972259722697227972289722997230972319723297233972349723597236972379723897239972409724197242972439724497245972469724797248972499725097251972529725397254972559725697257972589725997260972619726297263972649726597266972679726897269972709727197272972739727497275972769727797278972799728097281972829728397284972859728697287972889728997290972919729297293972949729597296972979729897299973009730197302973039730497305973069730797308973099731097311973129731397314973159731697317973189731997320973219732297323973249732597326973279732897329973309733197332973339733497335973369733797338973399734097341973429734397344973459734697347973489734997350973519735297353973549735597356973579735897359973609736197362973639736497365973669736797368973699737097371973729737397374973759737697377973789737997380973819738297383973849738597386973879738897389973909739197392973939739497395973969739797398973999740097401974029740397404974059740697407974089740997410974119741297413974149741597416974179741897419974209742197422974239742497425974269742797428974299743097431974329743397434974359743697437974389743997440974419744297443974449744597446974479744897449974509745197452974539745497455974569745797458974599746097461974629746397464974659746697467974689746997470974719747297473974749747597476974779747897479974809748197482974839748497485974869748797488974899749097491974929749397494974959749697497974989749997500975019750297503975049750597506975079750897509975109751197512975139751497515975169751797518975199752097521975229752397524975259752697527975289752997530975319753297533975349753597536975379753897539975409754197542975439754497545975469754797548975499755097551975529755397554975559755697557975589755997560975619756297563975649756597566975679756897569975709757197572975739757497575975769757797578975799758097581975829758397584975859758697587975889758997590975919759297593975949759597596975979759897599976009760197602976039760497605976069760797608976099761097611976129761397614976159761697617976189761997620976219762297623976249762597626976279762897629976309763197632976339763497635976369763797638976399764097641976429764397644976459764697647976489764997650976519765297653976549765597656976579765897659976609766197662976639766497665976669766797668976699767097671976729767397674976759767697677976789767997680976819768297683976849768597686976879768897689976909769197692976939769497695976969769797698976999770097701977029770397704977059770697707977089770997710977119771297713977149771597716977179771897719977209772197722977239772497725977269772797728977299773097731977329773397734977359773697737977389773997740977419774297743977449774597746977479774897749977509775197752977539775497755977569775797758977599776097761977629776397764977659776697767977689776997770977719777297773977749777597776977779777897779977809778197782977839778497785977869778797788977899779097791977929779397794977959779697797977989779997800978019780297803978049780597806978079780897809978109781197812978139781497815978169781797818978199782097821978229782397824978259782697827978289782997830978319783297833978349783597836978379783897839978409784197842978439784497845978469784797848978499785097851978529785397854978559785697857978589785997860978619786297863978649786597866978679786897869978709787197872978739787497875978769787797878978799788097881978829788397884978859788697887978889788997890978919789297893978949789597896978979789897899979009790197902979039790497905979069790797908979099791097911979129791397914979159791697917979189791997920979219792297923979249792597926979279792897929979309793197932979339793497935979369793797938979399794097941979429794397944979459794697947979489794997950979519795297953979549795597956979579795897959979609796197962979639796497965979669796797968979699797097971979729797397974979759797697977979789797997980979819798297983979849798597986979879798897989979909799197992979939799497995979969799797998979999800098001980029800398004980059800698007980089800998010980119801298013980149801598016980179801898019980209802198022980239802498025980269802798028980299803098031980329803398034980359803698037980389803998040980419804298043980449804598046980479804898049980509805198052980539805498055980569805798058980599806098061980629806398064980659806698067980689806998070980719807298073980749807598076980779807898079980809808198082980839808498085980869808798088980899809098091980929809398094980959809698097980989809998100981019810298103981049810598106981079810898109981109811198112981139811498115981169811798118981199812098121981229812398124981259812698127981289812998130981319813298133981349813598136981379813898139981409814198142981439814498145981469814798148981499815098151981529815398154981559815698157981589815998160981619816298163981649816598166981679816898169981709817198172981739817498175981769817798178981799818098181981829818398184981859818698187981889818998190981919819298193981949819598196981979819898199982009820198202982039820498205982069820798208982099821098211982129821398214982159821698217982189821998220982219822298223982249822598226982279822898229982309823198232982339823498235982369823798238982399824098241982429824398244982459824698247982489824998250982519825298253982549825598256982579825898259982609826198262982639826498265982669826798268982699827098271982729827398274982759827698277982789827998280982819828298283982849828598286982879828898289982909829198292982939829498295982969829798298982999830098301983029830398304983059830698307983089830998310983119831298313983149831598316983179831898319983209832198322983239832498325983269832798328983299833098331983329833398334983359833698337983389833998340983419834298343983449834598346983479834898349983509835198352983539835498355983569835798358983599836098361983629836398364983659836698367983689836998370983719837298373983749837598376983779837898379983809838198382983839838498385983869838798388983899839098391983929839398394983959839698397983989839998400984019840298403984049840598406984079840898409984109841198412984139841498415984169841798418984199842098421984229842398424984259842698427984289842998430984319843298433984349843598436984379843898439984409844198442984439844498445984469844798448984499845098451984529845398454984559845698457984589845998460984619846298463984649846598466984679846898469984709847198472984739847498475984769847798478984799848098481984829848398484984859848698487984889848998490984919849298493984949849598496984979849898499985009850198502985039850498505985069850798508985099851098511985129851398514985159851698517985189851998520985219852298523985249852598526985279852898529985309853198532985339853498535985369853798538985399854098541985429854398544985459854698547985489854998550985519855298553985549855598556985579855898559985609856198562985639856498565985669856798568985699857098571985729857398574985759857698577985789857998580985819858298583985849858598586985879858898589985909859198592985939859498595985969859798598985999860098601986029860398604986059860698607986089860998610986119861298613986149861598616986179861898619986209862198622986239862498625986269862798628986299863098631986329863398634986359863698637986389863998640986419864298643986449864598646986479864898649986509865198652986539865498655986569865798658986599866098661986629866398664986659866698667986689866998670986719867298673986749867598676986779867898679986809868198682986839868498685986869868798688986899869098691986929869398694986959869698697986989869998700987019870298703987049870598706987079870898709987109871198712987139871498715987169871798718987199872098721987229872398724987259872698727987289872998730987319873298733987349873598736987379873898739987409874198742987439874498745987469874798748987499875098751987529875398754987559875698757987589875998760987619876298763987649876598766987679876898769987709877198772987739877498775987769877798778987799878098781987829878398784987859878698787987889878998790987919879298793987949879598796987979879898799988009880198802988039880498805988069880798808988099881098811988129881398814988159881698817988189881998820988219882298823988249882598826988279882898829988309883198832988339883498835988369883798838988399884098841988429884398844988459884698847988489884998850988519885298853988549885598856988579885898859988609886198862988639886498865988669886798868988699887098871988729887398874988759887698877988789887998880988819888298883988849888598886988879888898889988909889198892988939889498895988969889798898988999890098901989029890398904989059890698907989089890998910989119891298913989149891598916989179891898919989209892198922989239892498925989269892798928989299893098931989329893398934989359893698937989389893998940989419894298943989449894598946989479894898949989509895198952989539895498955989569895798958989599896098961989629896398964989659896698967989689896998970989719897298973989749897598976989779897898979989809898198982989839898498985989869898798988989899899098991989929899398994989959899698997989989899999000990019900299003990049900599006990079900899009990109901199012990139901499015990169901799018990199902099021990229902399024990259902699027990289902999030990319903299033990349903599036990379903899039990409904199042990439904499045990469904799048990499905099051990529905399054990559905699057990589905999060990619906299063990649906599066990679906899069990709907199072990739907499075990769907799078990799908099081990829908399084990859908699087990889908999090990919909299093990949909599096990979909899099991009910199102991039910499105991069910799108991099911099111991129911399114991159911699117991189911999120991219912299123991249912599126991279912899129991309913199132991339913499135991369913799138991399914099141991429914399144991459914699147991489914999150991519915299153991549915599156991579915899159991609916199162991639916499165991669916799168991699917099171991729917399174991759917699177991789917999180991819918299183991849918599186991879918899189991909919199192991939919499195991969919799198991999920099201992029920399204992059920699207992089920999210992119921299213992149921599216992179921899219992209922199222992239922499225992269922799228992299923099231992329923399234992359923699237992389923999240992419924299243992449924599246992479924899249992509925199252992539925499255992569925799258992599926099261992629926399264992659926699267992689926999270992719927299273992749927599276992779927899279992809928199282992839928499285992869928799288992899929099291992929929399294992959929699297992989929999300993019930299303993049930599306993079930899309993109931199312993139931499315993169931799318993199932099321993229932399324993259932699327993289932999330993319933299333993349933599336993379933899339993409934199342993439934499345993469934799348993499935099351993529935399354993559935699357993589935999360993619936299363993649936599366993679936899369993709937199372993739937499375993769937799378993799938099381993829938399384993859938699387993889938999390993919939299393993949939599396993979939899399994009940199402994039940499405994069940799408994099941099411994129941399414994159941699417994189941999420994219942299423994249942599426994279942899429994309943199432994339943499435994369943799438994399944099441994429944399444994459944699447994489944999450994519945299453994549945599456994579945899459994609946199462994639946499465994669946799468994699947099471994729947399474994759947699477994789947999480994819948299483994849948599486994879948899489994909949199492994939949499495994969949799498994999950099501995029950399504995059950699507995089950999510995119951299513995149951599516995179951899519995209952199522995239952499525995269952799528995299953099531995329953399534995359953699537995389953999540995419954299543995449954599546995479954899549995509955199552995539955499555995569955799558995599956099561995629956399564995659956699567995689956999570995719957299573995749957599576995779957899579995809958199582995839958499585995869958799588995899959099591995929959399594995959959699597995989959999600996019960299603996049960599606996079960899609996109961199612996139961499615996169961799618996199962099621996229962399624996259962699627996289962999630996319963299633996349963599636996379963899639996409964199642996439964499645996469964799648996499965099651996529965399654996559965699657996589965999660996619966299663996649966599666996679966899669996709967199672996739967499675996769967799678996799968099681996829968399684996859968699687996889968999690996919969299693996949969599696996979969899699997009970199702997039970499705997069970799708997099971099711997129971399714997159971699717997189971999720997219972299723997249972599726997279972899729997309973199732997339973499735997369973799738997399974099741997429974399744997459974699747997489974999750997519975299753997549975599756997579975899759997609976199762997639976499765997669976799768997699977099771997729977399774997759977699777997789977999780997819978299783997849978599786997879978899789997909979199792997939979499795997969979799798997999980099801998029980399804998059980699807998089980999810998119981299813998149981599816998179981899819998209982199822998239982499825998269982799828998299983099831998329983399834998359983699837998389983999840998419984299843998449984599846998479984899849998509985199852998539985499855998569985799858998599986099861998629986399864998659986699867998689986999870998719987299873998749987599876998779987899879998809988199882998839988499885998869988799888998899989099891998929989399894998959989699897998989989999900999019990299903999049990599906999079990899909999109991199912999139991499915999169991799918999199992099921999229992399924999259992699927999289992999930999319993299933999349993599936999379993899939999409994199942999439994499945999469994799948999499995099951999529995399954999559995699957999589995999960999619996299963999649996599966999679996899969999709997199972999739997499975999769997799978999799998099981999829998399984999859998699987999889998999990999919999299993999949999599996999979999899999100000100001100002100003100004100005100006100007100008100009100010100011100012100013100014100015100016100017100018100019100020100021100022100023100024100025100026100027100028100029100030100031100032100033100034100035100036100037100038100039100040100041100042100043100044100045100046100047100048100049100050100051100052100053100054100055100056100057100058100059100060100061100062100063100064100065100066100067100068100069100070100071100072100073100074100075100076100077100078100079100080100081100082100083100084100085100086100087100088100089100090100091100092100093100094100095100096100097100098100099100100100101100102100103100104100105100106100107100108100109100110100111100112100113100114100115100116100117100118100119100120100121100122100123100124100125100126100127100128100129100130100131100132100133100134100135100136100137100138100139100140100141100142100143100144100145100146100147100148100149100150100151100152100153100154100155100156100157100158100159100160100161100162100163100164100165100166100167100168100169100170100171100172100173100174100175100176100177100178100179100180100181100182100183100184100185100186100187100188100189100190100191100192100193100194100195100196100197100198100199100200100201100202100203100204100205100206100207100208100209100210100211100212100213100214100215100216100217100218100219100220100221100222100223100224100225100226100227100228100229100230100231100232100233100234100235100236100237100238100239100240100241100242100243100244100245100246100247100248100249100250100251100252100253100254100255100256100257100258100259100260100261100262100263100264100265100266100267100268100269100270100271100272100273100274100275100276100277100278100279100280100281100282100283100284100285100286100287100288100289100290100291100292100293100294100295100296100297100298100299100300100301100302100303100304100305100306100307100308100309100310100311100312100313100314100315100316100317100318100319100320100321100322100323100324100325100326100327100328100329100330100331100332100333100334100335100336100337100338100339100340100341100342100343100344100345100346100347100348100349100350100351100352100353100354100355100356100357100358100359100360100361100362100363100364100365100366100367100368100369100370100371100372100373100374100375100376100377100378100379100380100381100382100383100384100385100386100387100388100389100390100391100392100393100394100395100396100397100398100399100400100401100402100403100404100405100406100407100408100409100410100411100412100413100414100415100416100417100418100419100420100421100422100423100424100425100426100427100428100429100430100431100432100433100434100435100436100437100438100439100440100441100442100443100444100445100446100447100448100449100450100451100452100453100454100455100456100457100458100459100460100461100462100463100464100465100466100467100468100469100470100471100472100473100474100475100476100477100478100479100480100481100482100483100484100485100486100487100488100489100490100491100492100493100494100495100496100497100498100499100500100501100502100503100504100505100506100507100508100509100510100511100512100513100514100515100516100517100518100519100520100521100522100523100524100525100526100527100528100529100530100531100532100533100534100535100536100537100538100539100540100541100542100543100544100545100546100547100548100549100550100551100552100553100554100555100556100557100558100559100560100561100562100563100564100565100566100567100568100569100570100571100572100573100574100575100576100577100578100579100580100581100582100583100584100585100586100587100588100589100590100591100592100593100594100595100596100597100598100599100600100601100602100603100604100605100606100607100608100609100610100611100612100613100614100615100616100617100618100619100620100621100622100623100624100625100626100627100628100629100630100631100632100633100634100635100636100637100638100639100640100641100642100643100644100645100646100647100648100649100650100651100652100653100654100655100656100657100658100659100660100661100662100663100664100665100666100667100668100669100670100671100672100673100674100675100676100677100678100679100680100681100682100683100684100685100686100687100688100689100690100691100692100693100694100695100696100697100698100699100700100701100702100703100704100705100706100707100708100709100710100711100712100713100714100715100716100717100718100719100720100721100722100723100724100725100726100727100728100729100730100731100732100733100734100735100736100737100738100739100740100741100742100743100744100745100746100747100748100749100750100751100752100753100754100755100756100757100758100759100760100761100762100763100764100765100766100767100768100769100770100771100772100773100774100775100776100777100778100779100780100781100782100783100784100785100786100787100788100789100790100791100792100793100794100795100796100797100798100799100800100801100802100803100804100805100806100807100808100809100810100811100812100813100814100815100816100817100818100819100820100821100822100823100824100825100826100827100828100829100830100831100832100833100834100835100836100837100838100839100840100841100842100843100844100845100846100847100848100849100850100851100852100853100854100855100856100857100858100859100860100861100862100863100864100865100866100867100868100869100870100871100872100873100874100875100876100877100878100879100880100881100882100883100884100885100886100887100888100889100890100891100892100893100894100895100896100897100898100899100900100901100902100903100904100905100906100907100908100909100910100911100912100913100914100915100916100917100918100919100920100921100922100923100924100925100926100927100928100929100930100931100932100933100934100935100936100937100938100939100940100941100942100943100944100945100946100947100948100949100950100951100952100953100954100955100956100957100958100959100960100961100962100963100964100965100966100967100968100969100970100971100972100973100974100975100976100977100978100979100980100981100982100983100984100985100986100987100988100989100990100991100992100993100994100995100996100997100998100999101000101001101002101003101004101005101006101007101008101009101010101011101012101013101014101015101016101017101018101019101020101021101022101023101024101025101026101027101028101029101030101031101032101033101034101035101036101037101038101039101040101041101042101043101044101045101046101047101048101049101050101051101052101053101054101055101056101057101058101059101060101061101062101063101064101065101066101067101068101069101070101071101072101073101074101075101076101077101078101079101080101081101082101083101084101085101086101087101088101089101090101091101092101093101094101095101096101097101098101099101100101101101102101103101104101105101106101107101108101109101110101111101112101113101114101115101116101117101118101119101120101121101122101123101124101125101126101127101128101129101130101131101132101133101134101135101136101137101138101139101140101141101142101143101144101145101146101147101148101149101150101151101152101153101154101155101156101157101158101159101160101161101162101163101164101165101166101167101168101169101170101171101172101173101174101175101176101177101178101179101180101181101182101183101184101185101186101187101188101189101190101191101192101193101194101195101196101197101198101199101200101201101202101203101204101205101206101207101208101209101210101211101212101213101214101215101216101217101218101219101220101221101222101223101224101225101226101227101228101229101230101231101232101233101234101235101236101237101238101239101240101241101242101243101244101245101246101247101248101249101250101251101252101253101254101255101256101257101258101259101260101261101262101263101264101265101266101267101268101269101270101271101272101273101274101275101276101277101278101279101280101281101282101283101284101285101286101287101288101289101290101291101292101293101294101295101296101297101298101299101300101301101302101303101304101305101306101307101308101309101310101311101312101313101314101315101316101317101318101319101320101321101322101323101324101325101326101327101328101329101330101331101332101333101334101335101336101337101338101339101340101341101342101343101344101345101346101347101348101349101350101351101352101353101354101355101356101357101358101359101360101361101362101363101364101365101366101367101368101369101370101371101372101373101374101375101376101377101378101379101380101381101382101383101384101385101386101387101388101389101390101391101392101393101394101395101396101397101398101399101400101401101402101403101404101405101406101407101408101409101410101411101412101413101414101415101416101417101418101419101420101421101422101423101424101425101426101427101428101429101430101431101432101433101434101435101436101437101438101439101440101441101442101443101444101445101446101447101448101449101450101451101452101453101454101455101456101457101458101459101460101461101462101463101464101465101466101467101468101469101470101471101472101473101474101475101476101477101478101479101480101481101482101483101484101485101486101487101488101489101490101491101492101493101494101495101496101497101498101499101500101501101502101503101504101505101506101507101508101509101510101511101512101513101514101515101516101517101518101519101520101521101522101523101524101525101526101527101528101529101530101531101532101533101534101535101536101537101538101539101540101541101542101543101544101545101546101547101548101549101550101551101552101553101554101555101556101557101558101559101560101561101562101563101564101565101566101567101568101569101570101571101572101573101574101575101576101577101578101579101580101581101582101583101584101585101586101587101588101589101590101591101592101593101594101595101596101597101598101599101600101601101602101603101604101605101606101607101608101609101610101611101612101613101614101615101616101617101618101619101620101621101622101623101624101625101626101627101628101629101630101631101632101633101634101635101636101637101638101639101640101641101642101643101644101645101646101647101648101649101650101651101652101653101654101655101656101657101658101659101660101661101662101663101664101665101666101667101668101669101670101671101672101673101674101675101676101677101678101679101680101681101682101683101684101685101686101687101688101689101690101691101692101693101694101695101696101697101698101699101700101701101702101703101704101705101706101707101708101709101710101711101712101713101714101715101716101717101718101719101720101721101722101723101724101725101726101727101728101729101730101731101732101733101734101735101736101737101738101739101740101741101742101743101744101745101746101747101748101749101750101751101752101753101754101755101756101757101758101759101760101761101762101763101764101765101766101767101768101769101770101771101772101773101774101775101776101777101778101779101780101781101782101783101784101785101786101787101788101789101790101791101792101793101794101795101796101797101798101799101800101801101802101803101804101805101806101807101808101809101810101811101812101813101814101815101816101817101818101819101820101821101822101823101824101825101826101827101828101829101830101831101832101833101834101835101836101837101838101839101840101841101842101843101844101845101846101847101848101849101850101851101852101853101854101855101856101857101858101859101860101861101862101863101864101865101866101867101868101869101870101871101872101873101874101875101876101877101878101879101880101881101882101883101884101885101886101887101888101889101890101891101892101893101894101895101896101897101898101899101900101901101902101903101904101905101906101907101908101909101910101911101912101913101914101915101916101917101918101919101920101921101922101923101924101925101926101927101928101929101930101931101932101933101934101935101936101937101938101939101940101941101942101943101944101945101946101947101948101949101950101951101952101953101954101955101956101957101958101959101960101961101962101963101964101965101966101967101968101969101970101971101972101973101974101975101976101977101978101979101980101981101982101983101984101985101986101987101988101989101990101991101992101993101994101995101996101997101998101999102000102001102002102003102004102005102006102007102008102009102010102011102012102013102014102015102016102017102018102019102020102021102022102023102024102025102026102027102028102029102030102031102032102033102034102035102036102037102038102039102040102041102042102043102044102045102046102047102048102049102050102051102052102053102054102055102056102057102058102059102060102061102062102063102064102065102066102067102068102069102070102071102072102073102074102075102076102077102078102079102080102081102082102083102084102085102086102087102088102089102090102091102092102093102094102095102096102097102098102099102100102101102102102103102104102105102106102107102108102109102110102111102112102113102114102115102116102117102118102119102120102121102122102123102124102125102126102127102128102129102130102131102132102133102134102135102136102137102138102139102140102141102142102143102144102145102146102147102148102149102150102151102152102153102154102155102156102157102158102159102160102161102162102163102164102165102166102167102168102169102170102171102172102173102174102175102176102177102178102179102180102181102182102183102184102185102186102187102188102189102190102191102192102193102194102195102196102197102198102199102200102201102202102203102204102205102206102207102208102209102210102211102212102213102214102215102216102217102218102219102220102221102222102223102224102225102226102227102228102229102230102231102232102233102234102235102236102237102238102239102240102241102242102243102244102245102246102247102248102249102250102251102252102253102254102255102256102257102258102259102260102261102262102263102264102265102266102267102268102269102270102271102272102273102274102275102276102277102278102279102280102281102282102283102284102285102286102287102288102289102290102291102292102293102294102295102296102297102298102299102300102301102302102303102304102305102306102307102308102309102310102311102312102313102314102315102316102317102318102319102320102321102322102323102324102325102326102327102328102329102330102331102332102333102334102335102336102337102338102339102340102341102342102343102344102345102346102347102348102349102350102351102352102353102354102355102356102357102358102359102360102361102362102363102364102365102366102367102368102369102370102371102372102373102374102375102376102377102378102379102380102381102382102383102384102385102386102387102388102389102390102391102392102393102394102395102396102397102398102399102400102401102402102403102404102405102406102407102408102409102410102411102412102413102414102415102416102417102418102419102420102421102422102423102424102425102426102427102428102429102430102431102432102433102434102435102436102437102438102439102440102441102442102443102444102445102446102447102448102449102450102451102452102453102454102455102456102457102458102459102460102461102462102463102464102465102466102467102468102469102470102471102472102473102474102475102476102477102478102479102480102481102482102483102484102485102486102487102488102489102490102491102492102493102494102495102496102497102498102499102500102501102502102503102504102505102506102507102508102509102510102511102512102513102514102515102516102517102518102519102520102521102522102523102524102525102526102527102528102529102530102531102532102533102534102535102536102537102538102539102540102541102542102543102544102545102546102547102548102549102550102551102552102553102554102555102556102557102558102559102560102561102562102563102564102565102566102567102568102569102570102571102572102573102574102575102576102577102578102579102580102581102582102583102584102585102586102587102588102589102590102591102592102593102594102595102596102597102598102599102600102601102602102603102604102605102606102607102608102609102610102611102612102613102614102615102616102617102618102619102620102621102622102623102624102625102626102627102628102629102630102631102632102633102634102635102636102637102638102639102640102641102642102643102644102645102646102647102648102649102650102651102652102653102654102655102656102657102658102659102660102661102662102663102664102665102666102667102668102669102670102671102672102673102674102675102676102677102678102679102680102681102682102683102684102685102686102687102688102689102690102691102692102693102694102695102696102697102698102699102700102701102702102703102704102705102706102707102708102709102710102711102712102713102714102715102716102717102718102719102720102721102722102723102724102725102726102727102728102729102730102731102732102733102734102735102736102737102738102739102740102741102742102743102744102745102746102747102748102749102750102751102752102753102754102755102756102757102758102759102760102761102762102763102764102765102766102767102768102769102770102771102772102773102774102775102776102777102778102779102780102781102782102783102784102785102786102787102788102789102790102791102792102793102794102795102796102797102798102799102800102801102802102803102804102805102806102807102808102809102810102811102812102813102814102815102816102817102818102819102820102821102822102823102824102825102826102827102828102829102830102831102832102833102834102835102836102837102838102839102840102841102842102843102844102845102846102847102848102849102850102851102852102853102854102855102856102857102858102859102860102861102862102863102864102865102866102867102868102869102870102871102872102873102874102875102876102877102878102879102880102881102882102883102884102885102886102887102888102889102890102891102892102893102894102895102896102897102898102899102900102901102902102903102904102905102906102907102908102909102910102911102912102913102914102915102916102917102918102919102920102921102922102923102924102925102926102927102928102929102930102931102932102933102934102935102936102937102938102939102940102941102942102943102944102945102946102947102948102949102950102951102952102953102954102955102956102957102958102959102960102961102962102963102964102965102966102967102968102969102970102971102972102973102974102975102976102977102978102979102980102981102982102983102984102985102986102987102988102989102990102991102992102993102994102995102996102997102998102999103000103001103002103003103004103005103006103007103008103009103010103011103012103013103014103015103016103017103018103019103020103021103022103023103024103025103026103027103028103029103030103031103032103033103034103035103036103037103038103039103040103041103042103043103044103045103046103047103048103049103050103051103052103053103054103055103056103057103058103059103060103061103062103063103064103065103066103067103068103069103070103071103072103073103074103075103076103077103078103079103080103081103082103083103084103085103086103087103088103089103090103091103092103093103094103095103096103097103098103099103100103101103102103103103104103105103106103107103108103109103110103111103112103113103114103115103116103117103118103119103120103121103122103123103124103125103126103127103128103129103130103131103132103133103134103135103136103137103138103139103140103141103142103143103144103145103146103147103148103149103150103151103152103153103154103155103156103157103158103159103160103161103162103163103164103165103166103167103168103169103170103171103172103173103174103175103176103177103178103179103180103181103182103183103184103185103186103187103188103189103190103191103192103193103194103195103196103197103198103199103200103201103202103203103204103205103206103207103208103209103210103211103212103213103214103215103216103217103218103219103220103221103222103223103224103225103226103227103228103229103230103231103232103233103234103235103236103237103238103239103240103241103242103243103244103245103246103247103248103249103250103251103252103253103254103255103256103257103258103259103260103261103262103263103264103265103266103267103268103269103270103271103272103273103274103275103276103277103278103279103280103281103282103283103284103285103286103287103288103289103290103291103292103293103294103295103296103297103298103299103300103301103302103303103304103305103306103307103308103309103310103311103312103313103314103315103316103317103318103319103320103321103322103323103324103325103326103327103328103329103330103331103332103333103334103335103336103337103338103339103340103341103342103343103344103345103346103347103348103349103350103351103352103353103354103355103356103357103358103359103360103361103362103363103364103365103366103367103368103369103370103371103372103373103374103375103376103377103378103379103380103381103382103383103384103385103386103387103388103389103390103391103392103393103394103395103396103397103398103399103400103401103402103403103404103405103406103407103408103409103410103411103412103413103414103415103416103417103418103419103420103421103422103423103424103425103426103427103428103429103430103431103432103433103434103435103436103437103438103439103440103441103442103443103444103445103446103447103448103449103450103451103452103453103454103455103456103457103458103459103460103461103462103463103464103465103466103467103468103469103470103471103472103473103474103475103476103477103478103479103480103481103482103483103484103485103486103487103488103489103490103491103492103493103494103495103496103497103498103499103500103501103502103503103504103505103506103507103508103509103510103511103512103513103514103515103516103517103518103519103520103521103522103523103524103525103526103527103528103529103530103531103532103533103534103535103536103537103538103539103540103541103542103543103544103545103546103547103548103549103550103551103552103553103554103555103556103557103558103559103560103561103562103563103564103565103566103567103568103569103570103571103572103573103574103575103576103577103578103579103580103581103582103583103584103585103586103587103588103589103590103591103592103593103594103595103596103597103598103599103600103601103602103603103604103605103606103607103608103609103610103611103612103613103614103615103616103617103618103619103620103621103622103623103624103625103626103627103628103629103630103631103632103633103634103635103636103637103638103639103640103641103642103643103644103645103646103647103648103649103650103651103652103653103654103655103656103657103658103659103660103661103662103663103664103665103666103667103668103669103670103671103672103673103674103675103676103677103678103679103680103681103682103683103684103685103686103687103688103689103690103691103692103693103694103695103696103697103698103699103700103701103702103703103704103705103706103707103708103709103710103711103712103713103714103715103716103717103718103719103720103721103722103723103724103725103726103727103728103729103730103731103732103733103734103735103736103737103738103739103740103741103742103743103744103745103746103747103748103749103750103751103752103753103754103755103756103757103758103759103760103761103762103763103764103765103766103767103768103769103770103771103772103773103774103775103776103777103778103779103780103781103782103783103784103785103786103787103788103789103790103791103792103793103794103795103796103797103798103799103800103801103802103803103804103805103806103807103808103809103810103811103812103813103814103815103816103817103818103819103820103821103822103823103824103825103826103827103828103829103830103831103832103833103834103835103836103837103838103839103840103841103842103843103844103845103846103847103848103849103850103851103852103853103854103855103856103857103858103859103860103861103862103863103864103865103866103867103868103869103870103871103872103873103874103875103876103877103878103879103880103881103882103883103884103885103886103887103888103889103890103891103892103893103894103895103896103897103898103899103900103901103902103903103904103905103906103907103908103909103910103911103912103913103914103915103916103917103918103919103920103921103922103923103924103925103926103927103928103929103930103931103932103933103934103935103936103937103938103939103940103941103942103943103944103945103946103947103948103949103950103951103952103953103954103955103956103957103958103959103960103961103962103963103964103965103966103967103968103969103970103971103972103973103974103975103976103977103978103979103980103981103982103983103984103985103986103987103988103989103990103991103992103993103994103995103996103997103998103999104000104001104002104003104004104005104006104007104008104009104010104011104012104013104014104015104016104017104018104019104020104021104022104023104024104025104026104027104028104029104030104031104032104033104034104035104036104037104038104039104040104041104042104043104044104045104046104047104048104049104050104051104052104053104054104055104056104057104058104059104060104061104062104063104064104065104066104067104068104069104070104071104072104073104074104075104076104077104078104079104080104081104082104083104084104085104086104087104088104089104090104091104092104093104094104095104096104097104098104099104100104101104102104103104104104105104106104107104108104109104110104111104112104113104114104115104116104117104118104119104120104121104122104123104124104125104126104127104128104129104130104131104132104133104134104135104136104137104138104139104140104141104142104143104144104145104146104147104148104149104150104151104152104153104154104155104156104157104158104159104160104161104162104163104164104165104166104167104168104169104170104171104172104173104174104175104176104177104178104179104180104181104182104183104184104185104186104187104188104189104190104191104192104193104194104195104196104197104198104199104200104201104202104203104204104205104206104207104208104209104210104211104212104213104214104215104216104217104218104219104220104221104222104223104224104225104226104227104228104229104230104231104232104233104234104235104236104237104238104239104240104241104242104243104244104245104246104247104248104249104250104251104252104253104254104255104256104257104258104259104260104261104262104263104264104265104266104267104268104269104270104271104272104273104274104275104276104277104278104279104280104281104282104283104284104285104286104287104288104289104290104291104292104293104294104295104296104297104298104299104300104301104302104303104304104305104306104307104308104309104310104311104312104313104314104315104316104317104318104319104320104321104322104323104324104325104326104327104328104329104330104331104332104333104334104335104336104337104338104339104340104341104342104343104344104345104346104347104348104349104350104351104352104353104354104355104356104357104358104359104360104361104362104363104364104365104366104367104368104369104370104371104372104373104374104375104376104377104378104379104380104381104382104383104384104385104386104387104388104389104390104391104392104393104394104395104396104397104398104399104400104401104402104403104404104405104406104407104408104409104410104411104412104413104414104415104416104417104418104419104420104421104422104423104424104425104426104427104428104429104430104431104432104433104434104435104436104437104438104439104440104441104442104443104444104445104446104447104448104449104450104451104452104453104454104455104456104457104458104459104460104461104462104463104464104465104466104467104468104469104470104471104472104473104474104475104476104477104478104479104480104481104482104483104484104485104486104487104488104489104490104491104492104493104494104495104496104497104498104499104500104501104502104503104504104505104506104507104508104509104510104511104512104513104514104515104516104517104518104519104520104521104522104523104524104525104526104527104528104529104530104531104532104533104534104535104536104537104538104539104540104541104542104543104544104545104546104547104548104549104550104551104552104553104554104555104556104557104558104559104560104561104562104563104564104565104566104567104568104569104570104571104572104573104574104575104576104577104578104579104580104581104582104583104584104585104586104587104588104589104590104591104592104593104594104595104596104597104598104599104600104601104602104603104604104605104606104607104608104609104610104611104612104613104614104615104616104617104618104619104620104621104622104623104624104625104626104627104628104629104630104631104632104633104634104635104636104637104638104639104640104641104642104643104644104645104646104647104648104649104650104651104652104653104654104655104656104657104658104659104660104661104662104663104664104665104666104667104668104669104670104671104672104673104674104675104676104677104678104679104680104681104682104683104684104685104686104687104688104689104690104691104692104693104694104695104696104697104698104699104700104701104702104703104704104705104706104707104708104709104710104711104712104713104714104715104716104717104718104719104720104721104722104723104724104725104726104727104728104729104730104731104732104733104734104735104736104737104738104739104740104741104742104743104744104745104746104747104748104749104750104751104752104753104754104755104756104757104758104759104760104761104762104763104764104765104766104767104768104769104770104771104772104773104774104775104776104777104778104779104780104781104782104783104784104785104786104787104788104789104790104791104792104793104794104795104796104797104798104799104800104801104802104803104804104805104806104807104808104809104810104811104812104813104814104815104816104817104818104819104820104821104822104823104824104825104826104827104828104829104830104831104832104833104834104835104836104837104838104839104840104841104842104843104844104845104846104847104848104849104850104851104852104853104854104855104856104857104858104859104860104861104862104863104864104865104866104867104868104869104870104871104872104873104874104875104876104877104878104879104880104881104882104883104884104885104886104887104888104889104890104891104892104893104894104895104896104897104898104899104900104901104902104903104904104905104906104907104908104909104910104911104912104913104914104915104916104917104918104919104920104921104922104923104924104925104926104927104928104929104930104931104932104933104934104935104936104937104938104939104940104941104942104943104944104945104946104947104948104949104950104951104952104953104954104955104956104957104958104959104960104961104962104963104964104965104966104967104968104969104970104971104972104973104974104975104976104977104978104979104980104981104982104983104984104985104986104987104988104989104990104991104992104993104994104995104996104997104998104999105000105001105002105003105004105005105006105007105008105009105010105011105012105013105014105015105016105017105018105019105020105021105022105023105024105025105026105027105028105029105030105031105032105033105034105035105036105037105038105039105040105041105042105043105044105045105046105047105048105049105050105051105052105053105054105055105056105057105058105059105060105061105062105063105064105065105066105067105068105069105070105071105072105073105074105075105076105077105078105079105080105081105082105083105084105085105086105087105088105089105090105091105092105093105094105095105096105097105098105099105100105101105102105103105104105105105106105107105108105109105110105111105112105113105114105115105116105117105118105119105120105121105122105123105124105125105126105127105128105129105130105131105132105133105134105135105136105137105138105139105140105141105142105143105144105145105146105147105148105149105150105151105152105153105154105155105156105157105158105159105160105161105162105163105164105165105166105167105168105169105170105171105172105173105174105175105176105177105178105179105180105181105182105183105184105185105186105187105188105189105190105191105192105193105194105195105196105197105198105199105200105201105202105203105204105205105206105207105208105209105210105211105212105213105214105215105216105217105218105219105220105221105222105223105224105225105226105227105228105229105230105231105232105233105234105235105236105237105238105239105240105241105242105243105244105245105246105247105248105249105250105251105252105253105254105255105256105257105258105259105260105261105262105263105264105265105266105267105268105269105270105271105272105273105274105275105276105277105278105279105280105281105282105283105284105285105286105287105288105289105290105291105292105293105294105295105296105297105298105299105300105301105302105303105304105305105306105307105308105309105310105311105312105313105314105315105316105317105318105319105320105321105322105323105324105325105326105327105328105329105330105331105332105333105334105335105336105337105338105339105340105341105342105343105344105345105346105347105348105349105350105351105352105353105354105355105356105357105358105359105360105361105362105363105364105365105366105367105368105369105370105371105372105373105374105375105376105377105378105379105380105381105382105383105384105385105386105387105388105389105390105391105392105393105394105395105396105397105398105399105400105401105402105403105404105405105406105407105408105409105410105411105412105413105414105415105416105417105418105419105420105421105422105423105424105425105426105427105428105429105430105431105432105433105434105435105436105437105438105439105440105441105442105443105444105445105446105447105448105449105450105451105452105453105454105455105456105457105458105459105460105461105462105463105464105465105466105467105468105469105470105471105472105473105474105475105476105477105478105479105480105481105482105483105484105485105486105487105488105489105490105491105492105493105494105495105496105497105498105499105500105501105502105503105504105505105506105507105508105509105510105511105512105513105514105515105516105517105518105519105520105521105522105523105524105525105526105527105528105529105530105531105532105533105534105535105536105537105538105539105540105541105542105543105544105545105546105547105548105549105550105551105552105553105554105555105556105557105558105559105560105561105562105563105564105565105566105567105568105569105570105571105572105573105574105575105576105577105578105579105580105581105582105583105584105585105586105587105588105589105590105591105592105593105594105595105596105597105598105599105600105601105602105603105604105605105606105607105608105609105610105611105612105613105614105615105616105617105618105619105620105621105622105623105624105625105626105627105628105629105630105631105632105633105634105635105636105637105638105639105640105641105642105643105644105645105646105647105648105649105650105651105652105653105654105655105656105657105658105659105660105661105662105663105664105665105666105667105668105669105670105671105672105673105674105675105676105677105678105679105680105681105682105683105684105685105686105687105688105689105690105691105692105693105694105695105696105697105698105699105700105701105702105703105704105705105706105707105708105709105710105711105712105713105714105715105716105717105718105719105720105721105722105723105724105725105726105727105728105729105730105731105732105733105734105735105736105737105738105739105740105741105742105743105744105745105746105747105748105749105750105751105752105753105754105755105756105757105758105759105760105761105762105763105764105765105766105767105768105769105770105771105772105773105774105775105776105777105778105779105780105781105782105783105784105785105786105787105788105789105790105791105792105793105794105795105796105797105798105799105800105801105802105803105804105805105806105807105808105809105810105811105812105813105814105815105816105817105818105819105820105821105822105823105824105825105826105827105828105829105830105831105832105833105834105835105836105837105838105839105840105841105842105843105844105845105846105847105848105849105850105851105852105853105854105855105856105857105858105859105860105861105862105863105864105865105866105867105868105869105870105871105872105873105874105875105876105877105878105879105880105881105882105883105884105885105886105887105888105889105890105891105892105893105894105895105896105897105898105899105900105901105902105903105904105905105906105907105908105909105910105911105912105913105914105915105916105917105918105919105920105921105922105923105924105925105926105927105928105929105930105931105932105933105934105935105936105937105938105939105940105941105942105943105944105945105946105947105948105949105950105951105952105953105954105955105956105957105958105959105960105961105962105963105964105965105966105967105968105969105970105971105972105973105974105975105976105977105978105979105980105981105982105983105984105985105986105987105988105989105990105991105992105993105994105995105996105997105998105999106000106001106002106003106004106005106006106007106008106009106010106011106012106013106014106015106016106017106018106019106020106021106022106023106024106025106026106027106028106029106030106031106032106033106034106035106036106037106038106039106040106041106042106043106044106045106046106047106048106049106050106051106052106053106054106055106056106057106058106059106060106061106062106063106064106065106066106067106068106069106070106071106072106073106074106075106076106077106078106079106080106081106082106083106084106085106086106087106088106089106090106091106092106093106094106095106096106097106098106099106100106101106102106103106104106105106106106107106108106109106110106111106112106113106114106115106116106117106118106119106120106121106122106123106124106125106126106127106128106129106130106131106132106133106134106135106136106137106138106139106140106141106142106143106144106145106146106147106148106149106150106151106152106153106154106155106156106157106158106159106160106161106162106163106164106165106166106167106168106169106170106171106172106173106174106175106176106177106178106179106180106181106182106183106184106185106186106187106188106189106190106191106192106193106194106195106196106197106198106199106200106201106202106203106204106205106206106207106208106209106210106211106212106213106214106215106216106217106218106219106220106221106222106223106224106225106226106227106228106229106230106231106232106233106234106235106236106237106238106239106240106241106242106243106244106245106246106247106248106249106250106251106252106253106254106255106256106257106258106259106260106261106262106263106264106265106266106267106268106269106270106271106272106273106274106275106276106277106278106279106280106281106282106283106284106285106286106287106288106289106290106291106292106293106294106295106296106297106298106299106300106301106302106303106304106305106306106307106308106309106310106311106312106313106314106315106316106317106318106319106320106321106322106323106324106325106326106327106328106329106330106331106332106333106334106335106336106337106338106339106340106341106342106343106344106345106346106347106348106349106350106351106352106353106354106355106356106357106358106359106360106361106362106363106364106365106366106367106368106369106370106371106372106373106374106375106376106377106378106379106380106381106382106383106384106385106386106387106388106389106390106391106392106393106394106395106396106397106398106399106400106401106402106403106404106405106406106407106408106409106410106411106412106413106414106415106416106417106418106419106420106421106422106423106424106425106426106427106428106429106430106431106432106433106434106435106436106437106438106439106440106441106442106443106444106445106446106447106448106449106450106451106452106453106454106455106456106457106458106459106460106461106462106463106464106465106466106467106468106469106470106471106472106473106474106475106476106477106478106479106480106481106482106483106484106485106486106487106488106489106490106491106492106493106494106495106496106497106498106499106500106501106502106503106504106505106506106507106508106509106510106511106512106513106514106515106516106517106518106519106520106521106522106523106524106525106526106527106528106529106530106531106532106533106534106535106536106537106538106539106540106541106542106543106544106545106546106547106548106549106550106551106552106553106554106555106556106557106558106559106560106561106562106563106564106565106566106567106568106569106570106571106572106573106574106575106576106577106578106579106580106581106582106583106584106585106586106587106588106589106590106591106592106593106594106595106596106597106598106599106600106601106602106603106604106605106606106607106608106609106610106611106612106613106614106615106616106617106618106619106620106621106622106623106624106625106626106627106628106629106630106631106632106633106634106635106636106637106638106639106640106641106642106643106644106645106646106647106648106649106650106651106652106653106654106655106656106657106658106659106660106661106662106663106664106665106666106667106668106669106670106671106672106673106674106675106676106677106678106679106680106681106682106683106684106685106686106687106688106689106690106691106692106693106694106695106696106697106698106699106700106701106702106703106704106705106706106707106708106709106710106711106712106713106714106715106716106717106718106719106720106721106722106723106724106725106726106727106728106729106730106731106732106733106734106735106736106737106738106739106740106741106742106743106744106745106746106747106748106749106750106751106752106753106754106755106756106757106758106759106760106761106762106763106764106765106766106767106768106769106770106771106772106773106774106775106776106777106778106779106780106781106782106783106784106785106786106787106788106789106790106791106792106793106794106795106796106797106798106799106800106801106802106803106804106805106806106807106808106809106810106811106812106813106814106815106816106817106818106819106820106821106822106823106824106825106826106827106828106829106830106831106832106833106834106835106836106837106838106839106840106841106842106843106844106845106846106847106848106849106850106851106852106853106854106855106856106857106858106859106860106861106862106863106864106865106866106867106868106869106870106871106872106873106874106875106876106877106878106879106880106881106882106883106884106885106886106887106888106889106890106891106892106893106894106895106896106897106898106899106900106901106902106903106904106905106906106907106908106909106910106911106912106913106914106915106916106917106918106919106920106921106922106923106924106925106926106927106928106929106930106931106932106933106934106935106936106937106938106939106940106941106942106943106944106945106946106947106948106949106950106951106952106953106954106955106956106957106958106959106960106961106962106963106964106965106966106967106968106969106970106971106972106973106974106975106976106977106978106979106980106981106982106983106984106985106986106987106988106989106990106991106992106993106994106995106996106997106998106999107000107001107002107003107004107005107006107007107008107009107010107011107012107013107014107015107016107017107018107019107020107021107022107023107024107025107026107027107028107029107030107031107032107033107034107035107036107037107038107039107040107041107042107043107044107045107046107047107048107049107050107051107052107053107054107055107056107057107058107059107060107061107062107063107064107065107066107067107068107069107070107071107072107073107074107075107076107077107078107079107080107081107082107083107084107085107086107087107088107089107090107091107092107093107094107095107096107097107098107099107100107101107102107103107104107105107106107107107108107109107110107111107112107113107114107115107116107117107118107119107120107121107122107123107124107125107126107127107128107129107130107131107132107133107134107135107136107137107138107139107140107141107142107143107144107145107146107147107148107149107150107151107152107153107154107155107156107157107158107159107160107161107162107163107164107165107166107167107168107169107170107171107172107173107174107175107176107177107178107179107180107181107182107183107184107185107186107187107188107189107190107191107192107193107194107195107196107197107198107199107200107201107202107203107204107205107206107207107208107209107210107211107212107213107214107215107216107217107218107219107220107221107222107223107224107225107226107227107228107229107230107231107232107233107234107235107236107237107238107239107240107241107242107243107244107245107246107247107248107249107250107251107252107253107254107255107256107257107258107259107260107261107262107263107264107265107266107267107268107269107270107271107272107273107274107275107276107277107278107279107280107281107282107283107284107285107286107287107288107289107290107291107292107293107294107295107296107297107298107299107300107301107302107303107304107305107306107307107308107309107310107311107312107313107314107315107316107317107318107319107320107321107322107323107324107325107326107327107328107329107330107331107332107333107334107335107336107337107338107339107340107341107342107343107344107345107346107347107348107349107350107351107352107353107354107355107356107357107358107359107360107361107362107363107364107365107366107367107368107369107370107371107372107373107374107375107376107377107378107379107380107381107382107383107384107385107386107387107388107389107390107391107392107393107394107395107396107397107398107399107400107401107402107403107404107405107406107407107408107409107410107411107412107413107414107415107416107417107418107419107420107421107422107423107424107425107426107427107428107429107430107431107432107433107434107435107436107437107438107439107440107441107442107443107444107445107446107447107448107449107450107451107452107453107454107455107456107457107458107459107460107461107462107463107464107465107466107467107468107469107470107471107472107473107474107475107476107477107478107479107480107481107482107483107484107485107486107487107488107489107490107491107492107493107494107495107496107497107498107499107500107501107502107503107504107505107506107507107508107509107510107511107512107513107514107515107516107517107518107519107520107521107522107523107524107525107526107527107528107529107530107531107532107533107534107535107536107537107538107539107540107541107542107543107544107545107546107547107548107549107550107551107552107553107554107555107556107557107558107559107560107561107562107563107564107565107566107567107568107569107570107571107572107573107574107575107576107577107578107579107580107581107582107583107584107585107586107587107588107589107590107591107592107593107594107595107596107597107598107599107600107601107602107603107604107605107606107607107608107609107610107611107612107613107614107615107616107617107618107619107620107621107622107623107624107625107626107627107628107629107630107631107632107633107634107635107636107637107638107639107640107641107642107643107644107645107646107647107648107649107650107651107652107653107654107655107656107657107658107659107660107661107662107663107664107665107666107667107668107669107670107671107672107673107674107675107676107677107678107679107680107681107682107683107684107685107686107687107688107689107690107691107692107693107694107695107696107697107698107699107700107701107702107703107704107705107706107707107708107709107710107711107712107713107714107715107716107717107718107719107720107721107722107723107724107725107726107727107728107729107730107731107732107733107734107735107736107737107738107739107740107741107742107743107744107745107746107747107748107749107750107751107752107753107754107755107756107757107758107759107760107761107762107763107764107765107766107767107768107769107770107771107772107773107774107775107776107777107778107779107780107781107782107783107784107785107786107787107788107789107790107791107792107793107794107795107796107797107798107799107800107801107802107803107804107805107806107807107808107809107810107811107812107813107814107815107816107817107818107819107820107821107822107823107824107825107826107827107828107829107830107831107832107833107834107835107836107837107838107839107840107841107842107843107844107845107846107847107848107849107850107851107852107853107854107855107856107857107858107859107860107861107862107863107864107865107866107867107868107869107870107871107872107873107874107875107876107877107878107879107880107881107882107883107884107885107886107887107888107889107890107891107892107893107894107895107896107897107898107899107900107901107902107903107904107905107906107907107908107909107910107911107912107913107914107915107916107917107918107919107920107921107922107923107924107925107926107927107928107929107930107931107932107933107934107935107936107937107938107939107940107941107942107943107944107945107946107947107948107949107950107951107952107953107954107955107956107957107958107959107960107961107962107963107964107965107966107967107968107969107970107971107972107973107974107975107976107977107978107979107980107981107982107983107984107985107986107987107988107989107990107991107992107993107994107995107996107997107998107999108000108001108002108003108004108005108006108007108008108009108010108011108012108013108014108015108016108017108018108019108020108021108022108023108024108025108026108027108028108029108030108031108032108033108034108035108036108037108038108039108040108041108042108043108044108045108046108047108048108049108050108051108052108053108054108055108056108057108058108059108060108061108062108063108064108065108066108067108068108069108070108071108072108073108074108075108076108077108078108079108080108081108082108083108084108085108086108087108088108089108090108091108092108093108094108095108096108097108098108099108100108101108102108103108104108105108106108107108108108109108110108111108112108113108114108115108116108117108118108119108120108121108122108123108124108125108126108127108128108129108130108131108132108133108134108135108136108137108138108139108140108141108142108143108144108145108146108147108148108149108150108151108152108153108154108155108156108157108158108159108160108161108162108163108164108165108166108167108168108169108170108171108172108173108174108175108176108177108178108179108180108181108182108183108184108185108186108187108188108189108190108191108192108193108194108195108196108197108198108199108200108201108202108203108204108205108206108207108208108209108210108211108212108213108214108215108216108217108218108219108220108221108222108223108224108225108226108227108228108229108230108231108232108233108234108235108236108237108238108239108240108241108242108243108244108245108246108247108248108249108250108251108252108253108254108255108256108257108258108259108260108261108262108263108264108265108266108267108268108269108270108271108272108273108274108275108276108277108278108279108280108281108282108283108284108285108286108287108288108289108290108291108292108293108294108295108296108297108298108299108300108301108302108303108304108305108306108307108308108309108310108311108312108313108314108315108316108317108318108319108320108321108322108323108324108325108326108327108328108329108330108331108332108333108334108335108336108337108338108339108340108341108342108343108344108345108346108347108348108349108350108351108352108353108354108355108356108357108358108359108360108361108362108363108364108365108366108367108368108369108370108371108372108373108374108375108376108377108378108379108380108381108382108383108384108385108386108387108388108389108390108391108392108393108394108395108396108397108398108399108400108401108402108403108404108405108406108407108408108409108410108411108412108413108414108415108416108417108418108419108420108421108422108423108424108425108426108427108428108429108430108431108432108433108434108435108436108437108438108439108440108441108442108443108444108445108446108447108448108449108450108451108452108453108454108455108456108457108458108459108460108461108462108463108464108465108466108467108468108469108470108471108472108473108474108475108476108477108478108479108480108481108482108483108484108485108486108487108488108489108490108491108492108493108494108495108496108497108498108499108500108501108502108503108504108505108506108507108508108509108510108511108512108513108514108515108516108517108518108519108520108521108522108523108524108525108526108527108528108529108530108531108532108533108534108535108536108537108538108539108540108541108542108543108544108545108546108547108548108549108550108551108552108553108554108555108556108557108558108559108560108561108562108563108564108565108566108567108568108569108570108571108572108573108574108575108576108577108578108579108580108581108582108583108584108585108586108587108588108589108590108591108592108593108594108595108596108597108598108599108600108601108602108603108604108605108606108607108608108609108610108611108612108613108614108615108616108617108618108619108620108621108622108623108624108625108626108627108628108629108630108631108632108633108634108635108636108637108638108639108640108641108642108643108644108645108646108647108648108649108650108651108652108653108654108655108656108657108658108659108660108661108662108663108664108665108666108667108668108669108670108671108672108673108674108675108676108677108678108679108680108681108682108683108684108685108686108687108688108689108690108691108692108693108694108695108696108697108698108699108700108701108702108703108704108705108706108707108708108709108710108711108712108713108714108715108716108717108718108719108720108721108722108723108724108725108726108727108728108729108730108731108732108733108734108735108736108737108738108739108740108741108742108743108744108745108746108747108748108749108750108751108752108753108754108755108756108757108758108759108760108761108762108763108764108765108766108767108768108769108770108771108772108773108774108775108776108777108778108779108780108781108782108783108784108785108786108787108788108789108790108791108792108793108794108795108796108797108798108799108800108801108802108803108804108805108806108807108808108809108810108811108812108813108814108815108816108817108818108819108820108821108822108823108824108825108826108827108828108829108830108831108832108833108834108835108836108837108838108839108840108841108842108843108844108845108846108847108848108849108850108851108852108853108854108855108856108857108858108859108860108861108862108863108864108865108866108867108868108869108870108871108872108873108874108875108876108877108878108879108880108881108882108883108884108885108886108887108888108889108890108891108892108893108894108895108896108897108898108899108900108901108902108903108904108905108906108907108908108909108910108911108912108913108914108915108916108917108918108919108920108921108922108923108924108925108926108927108928108929108930108931108932108933108934108935108936108937108938108939108940108941108942108943108944108945108946108947108948108949108950108951108952108953108954108955108956108957108958108959108960108961108962108963108964108965108966108967108968108969108970108971108972108973108974108975108976108977108978108979108980108981108982108983108984108985108986108987108988108989108990108991108992108993108994108995108996108997108998108999109000109001109002109003109004109005109006109007109008109009109010109011109012109013109014109015109016109017109018109019109020109021109022109023109024109025109026109027109028109029109030109031109032109033109034109035109036109037109038109039109040109041109042109043109044109045109046109047109048109049109050109051109052109053109054109055109056109057109058109059109060109061109062109063109064109065109066109067109068109069109070109071109072109073109074109075109076109077109078109079109080109081109082109083109084109085109086109087109088109089109090109091109092109093109094109095109096109097109098109099109100109101109102109103109104109105109106109107109108109109109110109111109112109113109114109115109116109117109118109119109120109121109122109123109124109125109126109127109128109129109130109131109132109133109134109135109136109137109138109139109140109141109142109143109144109145109146109147109148109149109150109151109152109153109154109155109156109157109158109159109160109161109162109163109164109165109166109167109168109169109170109171109172109173109174109175109176109177109178109179109180109181109182109183109184109185109186109187109188109189109190109191109192109193109194109195109196109197109198109199109200109201109202109203109204109205109206109207109208109209109210109211109212109213109214109215109216109217109218109219109220109221109222109223109224109225109226109227109228109229109230109231109232109233109234109235109236109237109238109239109240109241109242109243109244109245109246109247109248109249109250109251109252109253109254109255109256109257109258109259109260109261109262109263109264109265109266109267109268109269109270109271109272109273109274109275109276109277109278109279109280109281109282109283109284109285109286109287109288109289109290109291109292109293109294109295109296109297109298109299109300109301109302109303109304109305109306109307109308109309109310109311109312109313109314109315109316109317109318109319109320109321109322109323109324109325109326109327109328109329109330109331109332109333109334109335109336109337109338109339109340109341109342109343109344109345109346109347109348109349109350109351109352109353109354109355109356109357109358109359109360109361109362109363109364109365109366109367109368109369109370109371109372109373109374109375109376109377109378109379109380109381109382109383109384109385109386109387109388109389109390109391109392109393109394109395109396109397109398109399109400109401109402109403109404109405109406109407109408109409109410109411109412109413109414109415109416109417109418109419109420109421109422109423109424109425109426109427109428109429109430109431109432109433109434109435109436109437109438109439109440109441109442109443109444109445109446109447109448109449109450109451109452109453109454109455109456109457109458109459109460109461109462109463109464109465109466109467109468109469109470109471109472109473109474109475109476109477109478109479109480109481109482109483109484109485109486109487109488109489109490109491109492109493109494109495109496109497109498109499109500109501109502109503109504109505109506109507109508109509109510109511109512109513109514109515109516109517109518109519109520109521109522109523109524109525109526109527109528109529109530109531109532109533109534109535109536109537109538109539109540109541109542109543109544109545109546109547109548109549109550109551109552109553109554109555109556109557109558109559109560109561109562109563109564109565109566109567109568109569109570109571109572109573109574109575109576109577109578109579109580109581109582109583109584109585109586109587109588109589109590109591109592109593109594109595109596109597109598109599109600109601109602109603109604109605109606109607109608109609109610109611109612109613109614109615109616109617109618109619109620109621109622109623109624109625109626109627109628109629109630109631109632109633109634109635109636109637109638109639109640109641109642109643109644109645109646109647109648109649109650109651109652109653109654109655109656109657109658109659109660109661109662109663109664109665109666109667109668109669109670109671109672109673109674109675109676109677109678109679109680109681109682109683109684109685109686109687109688109689109690109691109692109693109694109695109696109697109698109699109700109701109702109703109704109705109706109707109708109709109710109711109712109713109714109715109716109717109718109719109720109721109722109723109724109725109726109727109728109729109730109731109732109733109734109735109736109737109738109739109740109741109742109743109744109745109746109747109748109749109750109751109752109753109754109755109756109757109758109759109760109761109762109763109764109765109766109767109768109769109770109771109772109773109774109775109776109777109778109779109780109781109782109783109784109785109786109787109788109789109790109791109792109793109794109795109796109797109798109799109800109801109802109803109804109805109806109807109808109809109810109811109812109813109814109815109816109817109818109819109820109821109822109823109824109825109826109827109828109829109830109831109832109833109834109835109836109837109838109839109840109841109842109843109844109845109846109847109848109849109850109851109852109853109854109855109856109857109858109859109860109861109862109863109864109865109866109867109868109869109870109871109872109873109874109875109876109877109878109879109880109881109882109883109884109885109886109887109888109889109890109891109892109893109894109895109896109897109898109899109900109901109902109903109904109905109906109907109908109909109910109911109912109913109914109915109916109917109918109919109920109921109922109923109924109925109926109927109928109929109930109931109932109933109934109935109936109937109938109939109940109941109942109943109944109945109946109947109948109949109950109951109952109953109954109955109956109957109958109959109960109961109962109963109964109965109966109967109968109969109970109971109972109973109974109975109976109977109978109979109980109981109982109983109984109985109986109987109988109989109990109991109992109993109994109995109996109997109998109999110000110001110002110003110004110005110006110007110008110009110010110011110012110013110014110015110016110017110018110019110020110021110022110023110024110025110026110027110028110029110030110031110032110033110034110035110036110037110038110039110040110041110042110043110044110045110046110047110048110049110050110051110052110053110054110055110056110057110058110059110060110061110062110063110064110065110066110067110068110069110070110071110072110073110074110075110076110077110078110079110080110081110082110083110084110085110086110087110088110089110090110091110092110093110094110095110096110097110098110099110100110101110102110103110104110105110106110107110108110109110110110111110112110113110114110115110116110117110118110119110120110121110122110123110124110125110126110127110128110129110130110131110132110133110134110135110136110137110138110139110140110141110142110143110144110145110146110147110148110149110150110151110152110153110154110155110156110157110158110159110160110161110162110163110164110165110166110167110168110169110170110171110172110173110174110175110176110177110178110179110180110181110182110183110184110185110186110187110188110189110190110191110192110193110194110195110196110197110198110199110200110201110202110203110204110205110206110207110208110209110210110211110212110213110214110215110216110217110218110219110220110221110222110223110224110225110226110227110228110229110230110231110232110233110234110235110236110237110238110239110240110241110242110243110244110245110246110247110248110249110250110251110252110253110254110255110256110257110258110259110260110261110262110263110264110265110266110267110268110269110270110271110272110273110274110275110276110277110278110279110280110281110282110283110284110285110286110287110288110289110290110291110292110293110294110295110296110297110298110299110300110301110302110303110304110305110306110307110308110309110310110311110312110313110314110315110316110317110318110319110320110321110322110323110324110325110326110327110328110329110330110331110332110333110334110335110336110337110338110339110340110341110342110343110344110345110346110347110348110349110350110351110352110353110354110355110356110357110358110359110360110361110362110363110364110365110366110367110368110369110370110371110372110373110374110375110376110377110378110379110380110381110382110383110384110385110386110387110388110389110390110391110392110393110394110395110396110397110398110399110400110401110402110403110404110405110406110407110408110409110410110411110412110413110414110415110416110417110418110419110420110421110422110423110424110425110426110427110428110429110430110431110432110433110434110435110436110437110438110439110440110441110442110443110444110445110446110447110448110449110450110451110452110453110454110455110456110457110458110459110460110461110462110463110464110465110466110467110468110469110470110471110472110473110474110475110476110477110478110479110480110481110482110483110484110485110486110487110488110489110490110491110492110493110494110495110496110497110498110499110500110501110502110503110504110505110506110507110508110509110510110511110512110513110514110515110516110517110518110519110520110521110522110523110524110525110526110527110528110529110530110531110532110533110534110535110536110537110538110539110540110541110542110543110544110545110546110547110548110549110550110551110552110553110554110555110556110557110558110559110560110561110562110563110564110565110566110567110568110569110570110571110572110573110574110575110576110577110578110579110580110581110582110583110584110585110586110587110588110589110590110591110592110593110594110595110596110597110598110599110600110601110602110603110604110605110606110607110608110609110610110611110612110613110614110615110616110617110618110619110620110621110622110623110624110625110626110627110628110629110630110631110632110633110634110635110636110637110638110639110640110641110642110643110644110645110646110647110648110649110650110651110652110653110654110655110656110657110658110659110660110661110662110663110664110665110666110667110668110669110670110671110672110673110674110675110676110677110678110679110680110681110682110683110684110685110686110687110688110689110690110691110692110693110694110695110696110697110698110699110700110701110702110703110704110705110706110707110708110709110710110711110712110713110714110715110716110717110718110719110720110721110722110723110724110725110726110727110728110729110730110731110732110733110734110735110736110737110738110739110740110741110742110743110744110745110746110747110748110749110750110751110752110753110754110755110756110757110758110759110760110761110762110763110764110765110766110767110768110769110770110771110772110773110774110775110776110777110778110779110780110781110782110783110784110785110786110787110788110789110790110791110792110793110794110795110796110797110798110799110800110801110802110803110804110805110806110807110808110809110810110811110812110813110814110815110816110817110818110819110820110821110822110823110824110825110826110827110828110829110830110831110832110833110834110835110836110837110838110839110840110841110842110843110844110845110846110847110848110849110850110851110852110853110854110855110856110857110858110859110860110861110862110863110864110865110866110867110868110869110870110871110872110873110874110875110876110877110878110879110880110881110882110883110884110885110886110887110888110889110890110891110892110893110894110895110896110897110898110899110900110901110902110903110904110905110906110907110908110909110910110911110912110913110914110915110916110917110918110919110920110921110922110923110924110925110926110927110928110929110930110931110932110933110934110935110936110937110938110939110940110941110942110943110944110945110946110947110948110949110950110951110952110953110954110955110956110957110958110959110960110961110962110963110964110965110966110967110968110969110970110971110972110973110974110975110976110977110978110979110980110981110982110983110984110985110986110987110988110989110990110991110992110993110994110995110996110997110998110999111000111001111002111003111004111005111006111007111008111009111010111011111012111013111014111015111016111017111018111019111020111021111022111023111024111025111026111027111028111029111030111031111032111033111034111035111036111037111038111039111040111041111042111043111044111045111046111047111048111049111050111051111052111053111054111055111056111057111058111059111060111061111062111063111064111065111066111067111068111069111070111071111072111073111074111075111076111077111078111079111080111081111082111083111084111085111086111087111088111089111090111091111092111093111094111095111096111097111098111099111100111101111102111103111104111105111106111107111108111109111110111111111112111113111114111115111116111117111118111119111120111121111122111123111124111125111126111127111128111129111130111131111132111133111134111135111136111137111138111139111140111141111142111143111144111145111146111147111148111149111150111151111152111153111154111155111156111157111158111159111160111161111162111163111164111165111166111167111168111169111170111171111172111173111174111175111176111177111178111179111180111181111182111183111184111185111186111187111188111189111190111191111192111193111194111195111196111197111198111199111200111201111202111203111204111205111206111207111208111209111210111211111212111213111214111215111216111217111218111219111220111221111222111223111224111225111226111227111228111229111230111231111232111233111234111235111236111237111238111239111240111241111242111243111244111245111246111247111248111249111250111251111252111253111254111255111256111257111258111259111260111261111262111263111264111265111266111267111268111269111270111271111272111273111274111275111276111277111278111279111280111281111282111283111284111285111286111287111288111289111290111291111292111293111294111295111296111297111298111299111300111301111302111303111304111305111306111307111308111309111310111311111312111313111314111315111316111317111318111319111320111321111322111323111324111325111326111327111328111329111330111331111332111333111334111335111336111337111338111339111340111341111342111343111344111345111346111347111348111349111350111351111352111353111354111355111356111357111358111359111360111361111362111363111364111365111366111367111368111369111370111371111372111373111374111375111376111377111378111379111380111381111382111383111384111385111386111387111388111389111390111391111392111393111394111395111396111397111398111399111400111401111402111403111404111405111406111407111408111409111410111411111412111413111414111415111416111417111418111419111420111421111422111423111424111425111426111427111428111429111430111431111432111433111434111435111436111437111438111439111440111441111442111443111444111445111446111447111448111449111450111451111452111453111454111455111456111457111458111459111460111461111462111463111464111465111466111467111468111469111470111471111472111473111474111475111476111477111478111479111480111481111482111483111484111485111486111487111488111489111490111491111492111493111494111495111496111497111498111499111500111501111502111503111504111505111506111507111508111509111510111511111512111513111514111515111516111517111518111519111520111521111522111523111524111525111526111527111528111529111530111531111532111533111534111535111536111537111538111539111540111541111542111543111544111545111546111547111548111549111550111551111552111553111554111555111556111557111558111559111560111561111562111563111564111565111566111567111568111569111570111571111572111573111574111575111576111577111578111579111580111581111582111583111584111585111586111587111588111589111590111591111592111593111594111595111596111597111598111599111600111601111602111603111604111605111606111607111608111609111610111611111612111613111614111615111616111617111618111619111620111621111622111623111624111625111626111627111628111629111630111631111632111633111634111635111636111637111638111639111640111641111642111643111644111645111646111647111648111649111650111651111652111653111654111655111656111657111658111659111660111661111662111663111664111665111666111667111668111669111670111671111672111673111674111675111676111677111678111679111680111681111682111683111684111685111686111687111688111689111690111691111692111693111694111695111696111697111698111699111700111701111702111703111704111705111706111707111708111709111710111711111712111713111714111715111716111717111718111719111720111721111722111723111724111725111726111727111728111729111730111731111732111733111734111735111736111737111738111739111740111741111742111743111744111745111746111747111748111749111750111751111752111753111754111755111756111757111758111759111760111761111762111763111764111765111766111767111768111769111770111771111772111773111774111775111776111777111778111779111780111781111782111783111784111785111786111787111788111789111790111791111792111793111794111795111796111797111798111799111800111801111802111803111804111805111806111807111808111809111810111811111812111813111814111815111816111817111818111819111820111821111822111823111824111825111826111827111828111829111830111831111832111833111834111835111836111837111838111839111840111841111842111843111844111845111846111847111848111849111850111851111852111853111854111855111856111857111858111859111860111861111862111863111864111865111866111867111868111869111870111871111872111873111874111875111876111877111878111879111880111881111882111883111884111885111886111887111888111889111890111891111892111893111894111895111896111897111898111899111900111901111902111903111904111905111906111907111908111909111910111911111912111913111914111915111916111917111918111919111920111921111922111923111924111925111926111927111928111929111930111931111932111933111934111935111936111937111938111939111940111941111942111943111944111945111946111947111948111949111950111951111952111953111954111955111956111957111958111959111960111961111962111963111964111965111966111967111968111969111970111971111972111973111974111975111976111977111978111979111980111981111982111983111984111985111986111987111988111989111990111991111992111993111994111995111996111997111998111999112000112001112002112003112004112005112006112007112008112009112010112011112012112013112014112015112016112017112018112019112020112021112022112023112024112025112026112027112028112029112030112031112032112033112034112035112036112037112038112039112040112041112042112043112044112045112046112047112048112049112050112051112052112053112054112055112056112057112058112059112060112061112062112063112064112065112066112067112068112069112070112071112072112073112074112075112076112077112078112079112080112081112082112083112084112085112086112087112088112089112090112091112092112093112094112095112096112097112098112099112100112101112102112103112104112105112106112107112108112109112110112111112112112113112114112115112116112117112118112119112120112121112122112123112124112125112126112127112128112129112130112131112132112133112134112135112136112137112138112139112140112141112142112143112144112145112146112147112148112149112150112151112152112153112154112155112156112157112158112159112160112161112162112163112164112165112166112167112168112169112170112171112172112173112174112175112176112177112178112179112180112181112182112183112184112185112186112187112188112189112190112191112192112193112194112195112196112197112198112199112200112201112202112203112204112205112206112207112208112209112210112211112212112213112214112215112216112217112218112219112220112221112222112223112224112225112226112227112228112229112230112231112232112233112234112235112236112237112238112239112240112241112242112243112244112245112246112247112248112249112250112251112252112253112254112255112256112257112258112259112260112261112262112263112264112265112266112267112268112269112270112271112272112273112274112275112276112277112278112279112280112281112282112283112284112285112286112287112288112289112290112291112292112293112294112295112296112297112298112299112300112301112302112303112304112305112306112307112308112309112310112311112312112313112314112315112316112317112318112319112320112321112322112323112324112325112326112327112328112329112330112331112332112333112334112335112336112337112338112339112340112341112342112343112344112345112346112347112348112349112350112351112352112353112354112355112356112357112358112359112360112361112362112363112364112365112366112367112368112369112370112371112372112373112374112375112376112377112378112379112380112381112382112383112384112385112386112387112388112389112390112391112392112393112394112395112396112397112398112399112400112401112402112403112404112405112406112407112408112409112410112411112412112413112414112415112416112417112418112419112420112421112422112423112424112425112426112427112428112429112430112431112432112433112434112435112436112437112438112439112440112441112442112443112444112445112446112447112448112449112450112451112452112453112454112455112456112457112458112459112460112461112462112463112464112465112466112467112468112469112470112471112472112473112474112475112476112477112478112479112480112481112482112483112484112485112486112487112488112489112490112491112492112493112494112495112496112497112498112499112500112501112502112503112504112505112506112507112508112509112510112511112512112513112514112515112516112517112518112519112520112521112522112523112524112525112526112527112528112529112530112531112532112533112534112535112536112537112538112539112540112541112542112543112544112545112546112547112548112549112550112551112552112553112554112555112556112557112558112559112560112561112562112563112564112565112566112567112568112569112570112571112572112573112574112575112576112577112578112579112580112581112582112583112584112585112586112587112588112589112590112591112592112593112594112595112596112597112598112599112600112601112602112603112604112605112606112607112608112609112610112611112612112613112614112615112616112617112618112619112620112621112622112623112624112625112626112627112628112629112630112631112632112633112634112635112636112637112638112639112640112641112642112643112644112645112646112647112648112649112650112651112652112653112654112655112656112657112658112659112660112661112662112663112664112665112666112667112668112669112670112671112672112673112674112675112676112677112678112679112680112681112682112683112684112685112686112687112688112689112690112691112692112693112694112695112696112697112698112699112700112701112702112703112704112705112706112707112708112709112710112711112712112713112714112715112716112717112718112719112720112721112722112723112724112725112726112727112728112729112730112731112732112733112734112735112736112737112738112739112740112741112742112743112744112745112746112747112748112749112750112751112752112753112754112755112756112757112758112759112760112761112762112763112764112765112766112767112768112769112770112771112772112773112774112775112776112777112778112779112780112781112782112783112784112785112786112787112788112789112790112791112792112793112794112795112796112797112798112799112800112801112802112803112804112805112806112807112808112809112810112811112812112813112814112815112816112817112818112819112820112821112822112823112824112825112826112827112828112829112830112831112832112833112834112835112836112837112838112839112840112841112842112843112844112845112846112847112848112849112850112851112852112853112854112855112856112857112858112859112860112861112862112863112864112865112866112867112868112869112870112871112872112873112874112875112876112877112878112879112880112881112882112883112884112885112886112887112888112889112890112891112892112893112894112895112896112897112898112899112900112901112902112903112904112905112906112907112908112909112910112911112912112913112914112915112916112917112918112919112920112921112922112923112924112925112926112927112928112929112930112931112932112933112934112935112936112937112938112939112940112941112942112943112944112945112946112947112948112949112950112951112952112953112954112955112956112957112958112959112960112961112962112963112964112965112966112967112968112969112970112971112972112973112974112975112976112977112978112979112980112981112982112983112984112985112986112987112988112989112990112991112992112993112994112995112996112997112998112999113000113001113002113003113004113005113006113007113008113009113010113011113012113013113014113015113016113017113018113019113020113021113022113023113024113025113026113027113028113029113030113031113032113033113034113035113036113037113038113039113040113041113042113043113044113045113046113047113048113049113050113051113052113053113054113055113056113057113058113059113060113061113062113063113064113065113066113067113068113069113070113071113072113073113074113075113076113077113078113079113080113081113082113083113084113085113086113087113088113089113090113091113092113093113094113095113096113097113098113099113100113101113102113103113104113105113106113107113108113109113110113111113112113113113114113115113116113117113118113119113120113121113122113123113124113125113126113127113128113129113130113131113132113133113134113135113136113137113138113139113140113141113142113143113144113145113146113147113148113149113150113151113152113153113154113155113156113157113158113159113160113161113162113163113164113165113166113167113168113169113170113171113172113173113174113175113176113177113178113179113180113181113182113183113184113185113186113187113188113189113190113191113192113193113194113195113196113197113198113199113200113201113202113203113204113205113206113207113208113209113210113211113212113213113214113215113216113217113218113219113220113221113222113223113224113225113226113227113228113229113230113231113232113233113234113235113236113237113238113239113240113241113242113243113244113245113246113247113248113249113250113251113252113253113254113255113256113257113258113259113260113261113262113263113264113265113266113267113268113269113270113271113272113273113274113275113276113277113278113279113280113281113282113283113284113285113286113287113288113289113290113291113292113293113294113295113296113297113298113299113300113301113302113303113304113305113306113307113308113309113310113311113312113313113314113315113316113317113318113319113320113321113322113323113324113325113326113327113328113329113330113331113332113333113334113335113336113337113338113339113340113341113342113343113344113345113346113347113348113349113350113351113352113353113354113355113356113357113358113359113360113361113362113363113364113365113366113367113368113369113370113371113372113373113374113375113376113377113378113379113380113381113382113383113384113385113386113387113388113389113390113391113392113393113394113395113396113397113398113399113400113401113402113403113404113405113406113407113408113409113410113411113412113413113414113415113416113417113418113419113420113421113422113423113424113425113426113427113428113429113430113431113432113433113434113435113436113437113438113439113440113441113442113443113444113445113446113447113448113449113450113451113452113453113454113455113456113457113458113459113460113461113462113463113464113465113466113467113468113469113470113471113472113473113474113475113476113477113478113479113480113481113482113483113484113485113486113487113488113489113490113491113492113493113494113495113496113497113498113499113500113501113502113503113504113505113506113507113508113509113510113511113512113513113514113515113516113517113518113519113520113521113522113523113524113525113526113527113528113529113530113531113532113533113534113535113536113537113538113539113540113541113542113543113544113545113546113547113548113549113550113551113552113553113554113555113556113557113558113559113560113561113562113563113564113565113566113567113568113569113570113571113572113573113574113575113576113577113578113579113580113581113582113583113584113585113586113587113588113589113590113591113592113593113594113595113596113597113598113599113600113601113602113603113604113605113606113607113608113609113610113611113612113613113614113615113616113617113618113619113620113621113622113623113624113625113626113627113628113629113630113631113632113633113634113635113636113637113638113639113640113641113642113643113644113645113646113647113648113649113650113651113652113653113654113655113656113657113658113659113660113661113662113663113664113665113666113667113668113669113670113671113672113673113674113675113676113677113678113679113680113681113682113683113684113685113686113687113688113689113690113691113692113693113694113695113696113697113698113699113700113701113702113703113704113705113706113707113708113709113710113711113712113713113714113715113716113717113718113719113720113721113722113723113724113725113726113727113728113729113730113731113732113733113734113735113736113737113738113739113740113741113742113743113744113745113746113747113748113749113750113751113752113753113754113755113756113757113758113759113760113761113762113763113764113765113766113767113768113769113770113771113772113773113774113775113776113777113778113779113780113781113782113783113784113785113786113787113788113789113790113791113792113793113794113795113796113797113798113799113800113801113802113803113804113805113806113807113808113809113810113811113812113813113814113815113816113817113818113819113820113821113822113823113824113825113826113827113828113829113830113831113832113833113834113835113836113837113838113839113840113841113842113843113844113845113846113847113848113849113850113851113852113853113854113855113856113857113858113859113860113861113862113863113864113865113866113867113868113869113870113871113872113873113874113875113876113877113878113879113880113881113882113883113884113885113886113887113888113889113890113891113892113893113894113895113896113897113898113899113900113901113902113903113904113905113906113907113908113909113910113911113912113913113914113915113916113917113918113919113920113921113922113923113924113925113926113927113928113929113930113931113932113933113934113935113936113937113938113939113940113941113942113943113944113945113946113947113948113949113950113951113952113953113954113955113956113957113958113959113960113961113962113963113964113965113966113967113968113969113970113971113972113973113974113975113976113977113978113979113980113981113982113983113984113985113986113987113988113989113990113991113992113993113994113995113996113997113998113999114000114001114002114003114004114005114006114007114008114009114010114011114012114013114014114015114016114017114018114019114020114021114022114023114024114025114026114027114028114029114030114031114032114033114034114035114036114037114038114039114040114041114042114043114044114045114046114047114048114049114050114051114052114053114054114055114056114057114058114059114060114061114062114063114064114065114066114067114068114069114070114071114072114073114074114075114076114077114078114079114080114081114082114083114084114085114086114087114088114089114090114091114092114093114094114095114096114097114098114099114100114101114102114103114104114105114106114107114108114109114110114111114112114113114114114115114116114117114118114119114120114121114122114123114124114125114126114127114128114129114130114131114132114133114134114135114136114137114138114139114140114141114142114143114144114145114146114147114148114149114150114151114152114153114154114155114156114157114158114159114160114161114162114163114164114165114166114167114168114169114170114171114172114173114174114175114176114177114178114179114180114181114182114183114184114185114186114187114188114189114190114191114192114193114194114195114196114197114198114199114200114201114202114203114204114205114206114207114208114209114210114211114212114213114214114215114216114217114218114219114220114221114222114223114224114225114226114227114228114229114230114231114232114233114234114235114236114237114238114239114240114241114242114243114244114245114246114247114248114249114250114251114252114253114254114255114256114257114258114259114260114261114262114263114264114265114266114267114268114269114270114271114272114273114274114275114276114277114278114279114280114281114282114283114284114285114286114287114288114289114290114291114292114293114294114295114296114297114298114299114300114301114302114303114304114305114306114307114308114309114310114311114312114313114314114315114316114317114318114319114320114321114322114323114324114325114326114327114328114329114330114331114332114333114334114335114336114337114338114339114340114341114342114343114344114345114346114347114348114349114350114351114352114353114354114355114356114357114358114359114360114361114362114363114364114365114366114367114368114369114370114371114372114373114374114375114376114377114378114379114380114381114382114383114384114385114386114387114388114389114390114391114392114393114394114395114396114397114398114399114400114401114402114403114404114405114406114407114408114409114410114411114412114413114414114415114416114417114418114419114420114421114422114423114424114425114426114427114428114429114430114431114432114433114434114435114436114437114438114439114440114441114442114443114444114445114446114447114448114449114450114451114452114453114454114455114456114457114458114459114460114461114462114463114464114465114466114467114468114469114470114471114472114473114474114475114476114477114478114479114480114481114482114483114484114485114486114487114488114489114490114491114492114493114494114495114496114497114498114499114500114501114502114503114504114505114506114507114508114509114510114511114512114513114514114515114516114517114518114519114520114521114522114523114524114525114526114527114528114529114530114531114532114533114534114535114536114537114538114539114540114541114542114543114544114545114546114547114548114549114550114551114552114553114554114555114556114557114558114559114560114561114562114563114564114565114566114567114568114569114570114571114572114573114574114575114576114577114578114579114580114581114582114583114584114585114586114587114588114589114590114591114592114593114594114595114596114597114598114599114600114601114602114603114604114605114606114607114608114609114610114611114612114613114614114615114616114617114618114619114620114621114622114623114624114625114626114627114628114629114630114631114632114633114634114635114636114637114638114639114640114641114642114643114644114645114646114647114648114649114650114651114652114653114654114655114656114657114658114659114660114661114662114663114664114665114666114667114668114669114670114671114672114673114674114675114676114677114678114679114680114681114682114683114684114685114686114687114688114689114690114691114692114693114694114695114696114697114698114699114700114701114702114703114704114705114706114707114708114709114710114711114712114713114714114715114716114717114718114719114720114721114722114723114724114725114726114727114728114729114730114731114732114733114734114735114736114737114738114739114740114741114742114743114744114745114746114747114748114749114750114751114752114753114754114755114756114757114758114759114760114761114762114763114764114765114766114767114768114769114770114771114772114773114774114775114776114777114778114779114780114781114782114783114784114785114786114787114788114789114790114791114792114793114794114795114796114797114798114799114800114801114802114803114804114805114806114807114808114809114810114811114812114813114814114815114816114817114818114819114820114821114822114823114824114825114826114827114828114829114830114831114832114833114834114835114836114837114838114839114840114841114842114843114844114845114846114847114848114849114850114851114852114853114854114855114856114857114858114859114860114861114862114863114864114865114866114867114868114869114870114871114872114873114874114875114876114877114878114879114880114881114882114883114884114885114886114887114888114889114890114891114892114893114894114895114896114897114898114899114900114901114902114903114904114905114906114907114908114909114910114911114912114913114914114915114916114917114918114919114920114921114922114923114924114925114926114927114928114929114930114931114932114933114934114935114936114937114938114939114940114941114942114943114944114945114946114947114948114949114950114951114952114953114954114955114956114957114958114959114960114961114962114963114964114965114966114967114968114969114970114971114972114973114974114975114976114977114978114979114980114981114982114983114984114985114986114987114988114989114990114991114992114993114994114995114996114997114998114999115000115001115002115003115004115005115006115007115008115009115010115011115012115013115014115015115016115017115018115019115020115021115022115023115024115025115026115027115028115029115030115031115032115033115034115035115036115037115038115039115040115041115042115043115044115045115046115047115048115049115050115051115052115053115054115055115056115057115058115059115060115061115062115063115064115065115066115067115068115069115070115071115072115073115074115075115076115077115078115079115080115081115082115083115084115085115086115087115088115089115090115091115092115093115094115095115096115097115098115099115100115101115102115103115104115105115106115107115108115109115110115111115112115113115114115115115116115117115118115119115120115121115122115123115124115125115126115127115128115129115130115131115132115133115134115135115136115137115138115139115140115141115142115143115144115145115146115147115148115149115150115151115152115153115154115155115156115157115158115159115160115161115162115163115164115165115166115167115168115169115170115171115172115173115174115175115176115177115178115179115180115181115182115183115184115185115186115187115188115189115190115191115192115193115194115195115196115197115198115199115200115201115202115203115204115205115206115207115208115209115210115211115212115213115214115215115216115217115218115219115220115221115222115223115224115225115226115227115228115229115230115231115232115233115234115235115236115237115238115239115240115241115242115243115244115245115246115247115248115249115250115251115252115253115254115255115256115257115258115259115260115261115262115263115264115265115266115267115268115269115270115271115272115273115274115275115276115277115278115279115280115281115282115283115284115285115286115287115288115289115290115291115292115293115294115295115296115297115298115299115300115301115302115303115304115305115306115307115308115309115310115311115312115313115314115315115316115317115318115319115320115321115322115323115324115325115326115327115328115329115330115331115332115333115334115335115336115337115338115339115340115341115342115343115344115345115346115347115348115349115350115351115352115353115354115355115356115357115358115359115360115361115362115363115364115365115366115367115368115369115370115371115372115373115374115375115376115377115378115379115380115381115382115383115384115385115386115387115388115389115390115391115392115393115394115395115396115397115398115399115400115401115402115403115404115405115406115407115408115409115410115411115412115413115414115415115416115417115418115419115420115421115422115423115424115425115426115427115428115429115430115431115432115433115434115435115436115437115438115439115440115441115442115443115444115445115446115447115448115449115450115451115452115453115454115455115456115457115458115459115460115461115462115463115464115465115466115467115468115469115470115471115472115473115474115475115476115477115478115479115480115481115482115483115484115485115486115487115488115489115490115491115492115493115494115495115496115497115498115499115500115501115502115503115504115505115506115507115508115509115510115511115512115513115514115515115516115517115518115519115520115521115522115523115524115525115526115527115528115529115530115531115532115533115534115535115536115537115538115539115540115541115542115543115544115545115546115547115548115549115550115551115552115553115554115555115556115557115558115559115560115561115562115563115564115565115566115567115568115569115570115571115572115573115574115575115576115577115578115579115580115581115582115583115584115585115586115587115588115589115590115591115592115593115594115595115596115597115598115599115600115601115602115603115604115605115606115607115608115609115610115611115612115613115614115615115616115617115618115619115620115621115622115623115624115625115626115627115628115629115630115631115632115633115634115635115636115637115638115639115640115641115642115643115644115645115646115647115648115649115650115651115652115653115654115655115656115657115658115659115660115661115662115663115664115665115666115667115668115669115670115671115672115673115674115675115676115677115678115679115680115681115682115683115684115685115686115687115688115689115690115691115692115693115694115695115696115697115698115699115700115701115702115703115704115705115706115707115708115709115710115711115712115713115714115715115716115717115718115719115720115721115722115723115724115725115726115727115728115729115730115731115732115733115734115735115736115737115738115739115740115741115742115743115744115745115746115747115748115749115750115751115752115753115754115755115756115757115758115759115760115761115762115763115764115765115766115767115768115769115770115771115772115773115774115775115776115777115778115779115780115781115782115783115784115785115786115787115788115789115790115791115792115793115794115795115796115797115798115799115800115801115802115803115804115805115806115807115808115809115810115811115812115813115814115815115816115817115818115819115820115821115822115823115824115825115826115827115828115829115830115831115832115833115834115835115836115837115838115839115840115841115842115843115844115845115846115847115848115849115850115851115852115853115854115855115856115857115858115859115860115861115862115863115864115865115866115867115868115869115870115871115872115873115874115875115876115877115878115879115880115881115882115883115884115885115886115887115888115889115890115891115892115893115894115895115896115897115898115899115900115901115902115903115904115905115906115907115908115909115910115911115912115913115914115915115916115917115918115919115920115921115922115923115924115925115926115927115928115929115930115931115932115933115934115935115936115937115938115939115940115941115942115943115944115945115946115947115948115949115950115951115952115953115954115955115956115957115958115959115960115961115962115963115964115965115966115967115968115969115970115971115972115973115974115975115976115977115978115979115980115981115982115983115984115985115986115987115988115989115990115991115992115993115994115995115996115997115998115999116000116001116002116003116004116005116006116007116008116009116010116011116012116013116014116015116016116017116018116019116020116021116022116023116024116025116026116027116028116029116030116031116032116033116034116035116036116037116038116039116040116041116042116043116044116045116046116047116048116049116050116051116052116053116054116055116056116057116058116059116060116061116062116063116064116065116066116067116068116069116070116071116072116073116074116075116076116077116078116079116080116081116082116083116084116085116086116087116088116089116090116091116092116093116094116095116096116097116098116099116100116101116102116103116104116105116106116107116108116109116110116111116112116113116114116115116116116117116118116119116120116121116122116123116124116125116126116127116128116129116130116131116132116133116134116135116136116137116138116139116140116141116142116143116144116145116146116147116148116149116150116151116152116153116154116155116156116157116158116159116160116161116162116163116164116165116166116167116168116169116170116171116172116173116174116175116176116177116178116179116180116181116182116183116184116185116186116187116188116189116190116191116192116193116194116195116196116197116198116199116200116201116202116203116204116205116206116207116208116209116210116211116212116213116214116215116216116217116218116219116220116221116222116223116224116225116226116227116228116229116230116231116232116233116234116235116236116237116238116239116240116241116242116243116244116245116246116247116248116249116250116251116252116253116254116255116256116257116258116259116260116261116262116263116264116265116266116267116268116269116270116271116272116273116274116275116276116277116278116279116280116281116282116283116284116285116286116287116288116289116290116291116292116293116294116295116296116297116298116299116300116301116302116303116304116305116306116307116308116309116310116311116312116313116314116315116316116317116318116319116320116321116322116323116324116325116326116327116328116329116330116331116332116333116334116335116336116337116338116339116340116341116342116343116344116345116346116347116348116349116350116351116352116353116354116355116356116357116358116359116360116361116362116363116364116365116366116367116368116369116370116371116372116373116374116375116376116377116378116379116380116381116382116383116384116385116386116387116388116389116390116391116392116393116394116395116396116397116398116399116400116401116402116403116404116405116406116407116408116409116410116411116412116413116414116415116416116417116418116419116420116421116422116423116424116425116426116427116428116429116430116431116432116433116434116435116436116437116438116439116440116441116442116443116444116445116446116447116448116449116450116451116452116453116454116455116456116457116458116459116460116461116462116463116464116465116466116467116468116469116470116471116472116473116474116475116476116477116478116479116480116481116482116483116484116485116486116487116488116489116490116491116492116493116494116495116496116497116498116499116500116501116502116503116504116505116506116507116508116509116510116511116512116513116514116515116516116517116518116519116520116521116522116523116524116525116526116527116528116529116530116531116532116533116534116535116536116537116538116539116540116541116542116543116544116545116546116547116548116549116550116551116552116553116554116555116556116557116558116559116560116561116562116563116564116565116566116567116568116569116570116571116572116573116574116575116576116577116578116579116580116581116582116583116584116585116586116587116588116589116590116591116592116593116594116595116596116597116598116599116600116601116602116603116604116605116606116607116608116609116610116611116612116613116614116615116616116617116618116619116620116621116622116623116624116625116626116627116628116629116630116631116632116633116634116635116636116637116638116639116640116641116642116643116644116645116646116647116648116649116650116651116652116653116654116655116656116657116658116659116660116661116662116663116664116665116666116667116668116669116670116671116672116673116674116675116676116677116678116679116680116681116682116683116684116685116686116687116688116689116690116691116692116693116694116695116696116697116698116699116700116701116702116703116704116705116706116707116708116709116710116711116712116713116714116715116716116717116718116719116720116721116722116723116724116725116726116727116728116729116730116731116732116733116734116735116736116737116738116739116740116741116742116743116744116745116746116747116748116749116750116751116752116753116754116755116756116757116758116759116760116761116762116763116764116765116766116767116768116769116770116771116772116773116774116775116776116777116778116779116780116781116782116783116784116785116786116787116788116789116790116791116792116793116794116795116796116797116798116799116800116801116802116803116804116805116806116807116808116809116810116811116812116813116814116815116816116817116818116819116820116821116822116823116824116825116826116827116828116829116830116831116832116833116834116835116836116837116838116839116840116841116842116843116844116845116846116847116848116849116850116851116852116853116854116855116856116857116858116859116860116861116862116863116864116865116866116867116868116869116870116871116872116873116874116875116876116877116878116879116880116881116882116883116884116885116886116887116888116889116890116891116892116893116894116895116896116897116898116899116900116901116902116903116904116905116906116907116908116909116910116911116912116913116914116915116916116917116918116919116920116921116922116923116924116925116926116927116928116929116930116931116932116933116934116935116936116937116938116939116940116941116942116943116944116945116946116947116948116949116950116951116952116953116954116955116956116957116958116959116960116961116962116963116964116965116966116967116968116969116970116971116972116973116974116975116976116977116978116979116980116981116982116983116984116985116986116987116988116989116990116991116992116993116994116995116996116997116998116999117000117001117002117003117004117005117006117007117008117009117010117011117012117013117014117015117016117017117018117019117020117021117022117023117024117025117026117027117028117029117030117031117032117033117034117035117036117037117038117039117040117041117042117043117044117045117046117047117048117049117050117051117052117053117054117055117056117057117058117059117060117061117062117063117064117065117066117067117068117069117070117071117072117073117074117075117076117077117078117079117080117081117082117083117084117085117086117087117088117089117090117091117092117093117094117095117096117097117098117099117100117101117102117103117104117105117106117107117108117109117110117111117112117113117114117115117116117117117118117119117120117121117122117123117124117125117126117127117128117129117130117131117132117133117134117135117136117137117138117139117140117141117142117143117144117145117146117147117148117149117150117151117152117153117154117155117156117157117158117159117160117161117162117163117164117165117166117167117168117169117170117171117172117173117174117175117176117177117178117179117180117181117182117183117184117185117186117187117188117189117190117191117192117193117194117195117196117197117198117199117200117201117202117203117204117205117206117207117208117209117210117211117212117213117214117215117216117217117218117219117220117221117222117223117224117225117226117227117228117229117230117231117232117233117234117235117236117237117238117239117240117241117242117243117244117245117246117247117248117249117250117251117252117253117254117255117256117257117258117259117260117261117262117263117264117265117266117267117268117269117270117271117272117273117274117275117276117277117278117279117280117281117282117283117284117285117286117287117288117289117290117291117292117293117294117295117296117297117298117299117300117301117302117303117304117305117306117307117308117309117310117311117312117313117314117315117316117317117318117319117320117321117322117323117324117325117326117327117328117329117330117331117332117333117334117335117336117337117338117339117340117341117342117343117344117345117346117347117348117349117350117351117352117353117354117355117356117357117358117359117360117361117362117363117364117365117366117367117368117369117370117371117372117373117374117375117376117377117378117379117380117381117382117383117384117385117386117387117388117389117390117391117392117393117394117395117396117397117398117399117400117401117402117403117404117405117406117407117408117409117410117411117412117413117414117415117416117417117418117419117420117421117422117423117424117425117426117427117428117429117430117431117432117433117434117435117436117437117438117439117440117441117442117443117444117445117446117447117448117449117450117451117452117453117454117455117456117457117458117459117460117461117462117463117464117465117466117467117468117469117470117471117472117473117474117475117476117477117478117479117480117481117482117483117484117485117486117487117488117489117490117491117492117493117494117495117496117497117498117499117500117501117502117503117504117505117506117507117508117509117510117511117512117513117514117515117516117517117518117519117520117521117522117523117524117525117526117527117528117529117530117531117532117533117534117535117536117537117538117539117540117541117542117543117544117545117546117547117548117549117550117551117552117553117554117555117556117557117558117559117560117561117562117563117564117565117566117567117568117569117570117571117572117573117574117575117576117577117578117579117580117581117582117583117584117585117586117587117588117589117590117591117592117593117594117595117596117597117598117599117600117601117602117603117604117605117606117607117608117609117610117611117612117613117614117615117616117617117618117619117620117621117622117623117624117625117626117627117628117629117630117631117632117633117634117635117636117637117638117639117640117641117642117643117644117645117646117647117648117649117650117651117652117653117654117655117656117657117658117659117660117661117662117663117664117665117666117667117668117669117670117671117672117673117674117675117676117677117678117679117680117681117682117683117684117685117686117687117688117689117690117691117692117693117694117695117696117697117698117699117700117701117702117703117704117705117706117707117708117709117710117711117712117713117714117715117716117717117718117719117720117721117722117723117724117725117726117727117728117729117730117731117732117733117734117735117736117737117738117739117740117741117742117743117744117745117746117747117748117749117750117751117752117753117754117755117756117757117758117759117760117761117762117763117764117765117766117767117768117769117770117771117772117773117774117775117776117777117778117779117780117781117782117783117784117785117786117787117788117789117790117791117792117793117794117795117796117797117798117799117800117801117802117803117804117805117806117807117808117809117810117811117812117813117814117815117816117817117818117819117820117821117822117823117824117825117826117827117828117829117830117831117832117833117834117835117836117837117838117839117840117841117842117843117844117845117846117847117848117849117850117851117852117853117854117855117856117857117858117859117860117861117862117863117864117865117866117867117868117869117870117871117872117873117874117875117876117877117878117879117880117881117882117883117884117885117886117887117888117889117890117891117892117893117894117895117896117897117898117899117900117901117902117903117904117905117906117907117908117909117910117911117912117913117914117915117916117917117918117919117920117921117922117923117924117925117926117927117928117929117930117931117932117933117934117935117936117937117938117939117940117941117942117943117944117945117946117947117948117949117950117951117952117953117954117955117956117957117958117959117960117961117962117963117964117965117966117967117968117969117970117971117972117973117974117975117976117977117978117979117980117981117982117983117984117985117986117987117988117989117990117991117992117993117994117995117996117997117998117999118000118001118002118003118004118005118006118007118008118009118010118011118012118013118014118015118016118017118018118019118020118021118022118023118024118025118026118027118028118029118030118031118032118033118034118035118036118037118038118039118040118041118042118043118044118045118046118047118048118049118050118051118052118053118054118055118056118057118058118059118060118061118062118063118064118065118066118067118068118069118070118071118072118073118074118075118076118077118078118079118080118081118082118083118084118085118086118087118088118089118090118091118092118093118094118095118096118097118098118099118100118101118102118103118104118105118106118107118108118109118110118111118112118113118114118115118116118117118118118119118120118121118122118123118124118125118126118127118128118129118130118131118132118133118134118135118136118137118138118139118140118141118142118143118144118145118146118147118148118149118150118151118152118153118154118155118156118157118158118159118160118161118162118163118164118165118166118167118168118169118170118171118172118173118174118175118176118177118178118179118180118181118182118183118184118185118186118187118188118189118190118191118192118193118194118195118196118197118198118199118200118201118202118203118204118205118206118207118208118209118210118211118212118213118214118215118216118217118218118219118220118221118222118223118224118225118226118227118228118229118230118231118232118233118234118235118236118237118238118239118240118241118242118243118244118245118246118247118248118249118250118251118252118253118254118255118256118257118258118259118260118261118262118263118264118265118266118267118268118269118270118271118272118273118274118275118276118277118278118279118280118281118282118283118284118285118286118287118288118289118290118291118292118293118294118295118296118297118298118299118300118301118302118303118304118305118306118307118308118309118310118311118312118313118314118315118316118317118318118319118320118321118322118323118324118325118326118327118328118329118330118331118332118333118334118335118336118337118338118339118340118341118342118343118344118345118346118347118348118349118350118351118352118353118354118355118356118357118358118359118360118361118362118363118364118365118366118367118368118369118370118371118372118373118374118375118376118377118378118379118380118381118382118383118384118385118386118387118388118389118390118391118392118393118394118395118396118397118398118399118400118401118402118403118404118405118406118407118408118409118410118411118412118413118414118415118416118417118418118419118420118421118422118423118424118425118426118427118428118429118430118431118432118433118434118435118436118437118438118439118440118441118442118443118444118445118446118447118448118449118450118451118452118453118454118455118456118457118458118459118460118461118462118463118464118465118466118467118468118469118470118471118472118473118474118475118476118477118478118479118480118481118482118483118484118485118486118487118488118489118490118491118492118493118494118495118496118497118498118499118500118501118502118503118504118505118506118507118508118509118510118511118512118513118514118515118516118517118518118519118520118521118522118523118524118525118526118527118528118529118530118531118532118533118534118535118536118537118538118539118540118541118542118543118544118545118546118547118548118549118550118551118552118553118554118555118556118557118558118559118560118561118562118563118564118565118566118567118568118569118570118571118572118573118574118575118576118577118578118579118580118581118582118583118584118585118586118587118588118589118590118591118592118593118594118595118596118597118598118599118600118601118602118603118604118605118606118607118608118609118610118611118612118613118614118615118616118617118618118619118620118621118622118623118624118625118626118627118628118629118630118631118632118633118634118635118636118637118638118639118640118641118642118643118644118645118646118647118648118649118650118651118652118653118654118655118656118657118658118659118660118661118662118663118664118665118666118667118668118669118670118671118672118673118674118675118676118677118678118679118680118681118682118683118684118685118686118687118688118689118690118691118692118693118694118695118696118697118698118699118700118701118702118703118704118705118706118707118708118709118710118711118712118713118714118715118716118717118718118719118720118721118722118723118724118725118726118727118728118729118730118731118732118733118734118735118736118737118738118739118740118741118742118743118744118745118746118747118748118749118750118751118752118753118754118755118756118757118758118759118760118761118762118763118764118765118766118767118768118769118770118771118772118773118774118775118776118777118778118779118780118781118782118783118784118785118786118787118788118789118790118791118792118793118794118795118796118797118798118799118800118801118802118803118804118805118806118807118808118809118810118811118812118813118814118815118816118817118818118819118820118821118822118823118824118825118826118827118828118829118830118831118832118833118834118835118836118837118838118839118840118841118842118843118844118845118846118847118848118849118850118851118852118853118854118855118856118857118858118859118860118861118862118863118864118865118866118867118868118869118870118871118872118873118874118875118876118877118878118879118880118881118882118883118884118885118886118887118888118889118890118891118892118893118894118895118896118897118898118899118900118901118902118903118904118905118906118907118908118909118910118911118912118913118914118915118916118917118918118919118920118921118922118923118924118925118926118927118928118929118930118931118932118933118934118935118936118937118938118939118940118941118942118943118944118945118946118947118948118949118950118951118952118953118954118955118956118957118958118959118960118961118962118963118964118965118966118967118968118969118970118971118972118973118974118975118976118977118978118979118980118981118982118983118984118985118986118987118988118989118990118991118992118993118994118995118996118997118998118999119000119001119002119003119004119005119006119007119008119009119010119011119012119013119014119015119016119017119018119019119020119021119022119023119024119025119026119027119028119029119030119031119032119033119034119035119036119037119038119039119040119041119042119043119044119045119046119047119048119049119050119051119052119053119054119055119056119057119058119059119060119061119062119063119064119065119066119067119068119069119070119071119072119073119074119075119076119077119078119079119080119081119082119083119084119085119086119087119088119089119090119091119092119093119094119095119096119097119098119099119100119101119102119103119104119105119106119107119108119109119110119111119112119113119114119115119116119117119118119119119120119121119122119123119124119125119126119127119128119129119130119131119132119133119134119135119136119137119138119139119140119141119142119143119144119145119146119147119148119149119150119151119152119153119154119155119156119157119158119159119160119161119162119163119164119165119166119167119168119169119170119171119172119173119174119175119176119177119178119179119180119181119182119183119184119185119186119187119188119189119190119191119192119193119194119195119196119197119198119199119200119201119202119203119204119205119206119207119208119209119210119211119212119213119214119215119216119217119218119219119220119221119222119223119224119225119226119227119228119229119230119231119232119233119234119235119236119237119238119239119240119241119242119243119244119245119246119247119248119249119250119251119252119253119254119255119256119257119258119259119260119261119262119263119264119265119266119267119268119269119270119271119272119273119274119275119276119277119278119279119280119281119282119283119284119285119286119287119288119289119290119291119292119293119294119295119296119297119298119299119300119301119302119303119304119305119306119307119308119309119310119311119312119313119314119315119316119317119318119319119320119321119322119323119324119325119326119327119328119329119330119331119332119333119334119335119336119337119338119339119340119341119342119343119344119345119346119347119348119349119350119351119352119353119354119355119356119357119358119359119360119361119362119363119364119365119366119367119368119369119370119371119372119373119374119375119376119377119378119379119380119381119382119383119384119385119386119387119388119389119390119391119392119393119394119395119396119397119398119399119400119401119402119403119404119405119406119407119408119409119410119411119412119413119414119415119416119417119418119419119420119421119422119423119424119425119426119427119428119429119430119431119432119433119434119435119436119437119438119439119440119441119442119443119444119445119446119447119448119449119450119451119452119453119454119455119456119457119458119459119460119461119462119463119464119465119466119467119468119469119470119471119472119473119474119475119476119477119478119479119480119481119482119483119484119485119486119487119488119489119490119491119492119493119494119495119496119497119498119499119500119501119502119503119504119505119506119507119508119509119510119511119512119513119514119515119516119517119518119519119520119521119522119523119524119525119526119527119528119529119530119531119532119533119534119535119536119537119538119539119540119541119542119543119544119545119546119547119548119549119550119551119552119553119554119555119556119557119558119559119560119561119562119563119564119565119566119567119568119569119570119571119572119573119574119575119576119577119578119579119580119581119582119583119584119585119586119587119588119589119590119591119592119593119594119595119596119597119598119599119600119601119602119603119604119605119606119607119608119609119610119611119612119613119614119615119616119617119618119619119620119621119622119623119624119625119626119627119628119629119630119631119632119633119634119635119636119637119638119639119640119641119642119643119644119645119646119647119648119649119650119651119652119653119654119655119656119657119658119659119660119661119662119663119664119665119666119667119668119669119670119671119672119673119674119675119676119677119678119679119680119681119682119683119684119685119686119687119688119689119690119691119692119693119694119695119696119697119698119699119700119701119702119703119704119705119706119707119708119709119710119711119712119713119714119715119716119717119718119719119720119721119722119723119724119725119726119727119728119729119730119731119732119733119734119735119736119737119738119739119740119741119742119743119744119745119746119747119748119749119750119751119752119753119754119755119756119757119758119759119760119761119762119763119764119765119766119767119768119769119770119771119772119773119774119775119776119777119778119779119780119781119782119783119784119785119786119787119788119789119790119791119792119793119794119795119796119797119798119799119800119801119802119803119804119805119806119807119808119809119810119811119812119813119814119815119816119817119818119819119820119821119822119823119824119825119826119827119828119829119830119831119832119833119834119835119836119837119838119839119840119841119842119843119844119845119846119847119848119849119850119851119852119853119854119855119856119857119858119859119860119861119862119863119864119865119866119867119868119869119870119871119872119873119874119875119876119877119878119879119880119881119882119883119884119885119886119887119888119889119890119891119892119893119894119895119896119897119898119899119900119901119902119903119904119905119906119907119908119909119910119911119912119913119914119915119916119917119918119919119920119921119922119923119924119925119926119927119928119929119930119931119932119933119934119935119936119937119938119939119940119941119942119943119944119945119946119947119948119949119950119951119952119953119954119955119956119957119958119959119960119961119962119963119964119965119966119967119968119969119970119971119972119973119974119975119976119977119978119979119980119981119982119983119984119985119986119987119988119989119990119991119992119993119994119995119996119997119998119999120000120001120002120003120004120005120006120007120008120009120010120011120012120013120014120015120016120017120018120019120020120021120022120023120024120025120026120027120028120029120030120031120032120033120034120035120036120037120038120039120040120041120042120043120044120045120046120047120048120049120050120051120052120053120054120055120056120057120058120059120060120061120062120063120064120065120066120067120068120069120070120071120072120073120074120075120076120077120078120079120080120081120082120083120084120085120086120087120088120089120090120091120092120093120094120095120096120097120098120099120100120101120102120103120104120105120106120107120108120109120110120111120112120113120114120115120116120117120118120119120120120121120122120123120124120125120126120127120128120129120130120131120132120133120134120135120136120137120138120139120140120141120142120143120144120145120146120147120148120149120150120151120152120153120154120155120156120157120158120159120160120161120162120163120164120165120166120167120168120169120170120171120172120173120174120175120176120177120178120179120180120181120182120183120184120185120186120187120188120189120190120191120192120193120194120195120196120197120198120199120200120201120202120203120204120205120206120207120208120209120210120211120212120213120214120215120216120217120218120219120220120221120222120223120224120225120226120227120228120229120230120231120232120233120234120235120236120237120238120239120240120241120242120243120244120245120246120247120248120249120250120251120252120253120254120255120256120257120258120259120260120261120262120263120264120265120266120267120268120269120270120271120272120273120274120275120276120277120278120279120280120281120282120283120284120285120286120287120288120289120290120291120292120293120294120295120296120297120298120299120300120301120302120303120304120305120306120307120308120309120310120311120312120313120314120315120316120317120318120319120320120321120322120323120324120325120326120327120328120329120330120331120332120333120334120335120336120337120338120339120340120341120342120343120344120345120346120347120348120349120350120351120352120353120354120355120356120357120358120359120360120361120362120363120364120365120366120367120368120369120370120371120372120373120374120375120376120377120378120379120380120381120382120383120384120385120386120387120388120389120390120391120392120393120394120395120396120397120398120399120400120401120402120403120404120405120406120407120408120409120410120411120412120413120414120415120416120417120418120419120420120421120422120423120424120425120426120427120428120429120430120431120432120433120434120435120436120437120438120439120440120441120442120443120444120445120446120447120448120449120450120451120452120453120454120455120456120457120458120459120460120461120462120463120464120465120466120467120468120469120470120471120472120473120474120475120476120477120478120479120480120481120482120483120484120485120486120487120488120489120490120491120492120493120494120495120496120497120498120499120500120501120502120503120504120505120506120507120508120509120510120511120512120513120514120515120516120517120518120519120520120521120522120523120524120525120526120527120528120529120530120531120532120533120534120535120536120537120538120539120540120541120542120543120544120545120546120547120548120549120550120551120552120553120554120555120556120557120558120559120560120561120562120563120564120565120566120567120568120569120570120571120572120573120574120575120576120577120578120579120580120581120582120583120584120585120586120587120588120589120590120591120592120593120594120595120596120597120598120599120600120601120602120603120604120605120606120607120608120609120610120611120612120613120614120615120616120617120618120619120620120621120622120623120624120625120626120627120628120629120630120631120632120633120634120635120636120637120638120639120640120641120642120643120644120645120646120647120648120649120650120651120652120653120654120655120656120657120658120659120660120661120662120663120664120665120666120667120668120669120670120671120672120673120674120675120676120677120678120679120680120681120682120683120684120685120686120687120688120689120690120691120692120693120694120695120696120697120698120699120700120701120702120703120704120705120706120707120708120709120710120711120712120713120714120715120716120717120718120719120720120721120722120723120724120725120726120727120728120729120730120731120732120733120734120735120736120737120738120739120740120741120742120743120744120745120746120747120748120749120750120751120752120753120754120755120756120757120758120759120760120761120762120763120764120765120766120767120768120769120770120771120772120773120774120775120776120777120778120779120780120781120782120783120784120785120786120787120788120789120790120791120792120793120794120795120796120797120798120799120800120801120802120803120804120805120806120807120808120809120810120811120812120813120814120815120816120817120818120819120820120821120822120823120824120825120826120827120828120829120830120831120832120833120834120835120836120837120838120839120840120841120842120843120844120845120846120847120848120849120850120851120852120853120854120855120856120857120858120859120860120861120862120863120864120865120866120867120868120869120870120871120872120873120874120875120876120877120878120879120880120881120882120883120884120885120886120887120888120889120890120891120892120893120894120895120896120897120898120899120900120901120902120903120904120905120906120907120908120909120910120911120912120913120914120915120916120917120918120919120920120921120922120923120924120925120926120927120928120929120930120931120932120933120934120935120936120937120938120939120940120941120942120943120944120945120946120947120948120949120950120951120952120953120954120955120956120957120958120959120960120961120962120963120964120965120966120967120968120969120970120971120972120973120974120975120976120977120978120979120980120981120982120983120984120985120986120987120988120989120990120991120992120993120994120995120996120997120998120999121000121001121002121003121004121005121006121007121008121009121010121011121012121013121014121015121016121017121018121019121020121021121022121023121024121025121026121027121028121029121030121031121032121033121034121035121036121037121038121039121040121041121042121043121044121045121046121047121048121049121050121051121052121053121054121055121056121057121058121059121060121061121062121063121064121065121066121067121068121069121070121071121072121073121074121075121076121077121078121079121080121081121082121083121084121085121086121087121088121089121090121091121092121093121094121095121096121097121098121099121100121101121102121103121104121105121106121107121108121109121110121111121112121113121114121115121116121117121118121119121120121121121122121123121124121125121126121127121128121129121130121131121132121133121134121135121136121137121138121139121140121141121142121143121144121145121146121147121148121149121150121151121152121153121154121155121156121157121158121159121160121161121162121163121164121165121166121167121168121169121170121171121172121173121174121175121176121177121178121179121180121181121182121183121184121185121186121187121188121189121190121191121192121193121194121195121196121197121198121199121200121201121202121203121204121205121206121207121208121209121210121211121212121213121214121215121216121217121218121219121220121221121222121223121224121225121226121227121228121229121230121231121232121233121234121235121236121237121238121239121240121241121242121243121244121245121246121247121248121249121250121251121252121253121254121255121256121257121258121259121260121261121262121263121264121265121266121267121268121269121270121271121272121273121274121275121276121277121278121279121280121281121282121283121284121285121286121287121288121289121290121291121292121293121294121295121296121297121298121299121300121301121302121303121304121305121306121307121308121309121310121311121312121313121314121315121316121317121318121319121320121321121322121323121324121325121326121327121328121329121330121331121332121333121334121335121336121337121338121339121340121341121342121343121344121345121346121347121348121349121350121351121352121353121354121355121356121357121358121359121360121361121362121363121364121365121366121367121368121369121370121371121372121373121374121375121376121377121378121379121380121381121382121383121384121385121386121387121388121389121390121391121392121393121394121395121396121397121398121399121400121401121402121403121404121405121406121407121408121409121410121411121412121413121414121415121416121417121418121419121420121421121422121423121424121425121426121427121428121429121430121431121432121433121434121435121436121437121438121439121440121441121442121443121444121445121446121447121448121449121450121451121452121453121454121455121456121457121458121459121460121461121462121463121464121465121466121467121468121469121470121471121472121473121474121475121476121477121478121479121480121481121482121483121484121485121486121487121488121489121490121491121492121493121494121495121496121497121498121499121500121501121502121503121504121505121506121507121508121509121510121511121512121513121514121515121516121517121518121519121520121521121522121523121524121525121526121527121528121529121530121531121532121533121534121535121536121537121538121539121540121541121542121543121544121545121546121547121548121549121550121551121552121553121554121555121556121557121558121559121560121561121562121563121564121565121566121567121568121569121570121571121572121573121574121575121576121577121578121579121580121581121582121583121584121585121586121587121588121589121590121591121592121593121594121595121596121597121598121599121600121601121602121603121604121605121606121607121608121609121610121611121612121613121614121615121616121617121618121619121620121621121622121623121624121625121626121627121628121629121630121631121632121633121634121635121636121637121638121639121640121641121642121643121644121645121646121647121648121649121650121651121652121653121654121655121656121657121658121659121660121661121662121663121664121665121666121667121668121669121670121671121672121673121674121675121676121677121678121679121680121681121682121683121684121685121686121687121688121689121690121691121692121693121694121695121696121697121698121699121700121701121702121703121704121705121706121707121708121709121710121711121712121713121714121715121716121717121718121719121720121721121722121723121724121725121726121727121728121729121730121731121732121733121734121735121736121737121738121739121740121741121742121743121744121745121746121747121748121749121750121751121752121753121754121755121756121757121758121759121760121761121762121763121764121765121766121767121768121769121770121771121772121773121774121775121776121777121778121779121780121781121782121783121784121785121786121787121788121789121790121791121792121793121794121795121796121797121798121799121800121801121802121803121804121805121806121807121808121809121810121811121812121813121814121815121816121817121818121819121820121821121822121823121824121825121826121827121828121829121830121831121832121833121834121835121836121837121838121839121840121841121842121843121844121845121846121847121848121849121850121851121852121853121854121855121856121857121858121859121860121861121862121863121864121865121866121867121868121869121870121871121872121873121874121875121876121877121878121879121880121881121882121883121884121885121886121887121888121889121890121891121892121893121894121895121896121897121898121899121900121901121902121903121904121905121906121907121908121909121910121911121912121913121914121915121916121917121918121919121920121921121922121923121924121925121926121927121928121929121930121931121932121933121934121935121936121937121938121939121940121941121942121943121944121945121946121947121948121949121950121951121952121953121954121955121956121957121958121959121960121961121962121963121964121965121966121967121968121969121970121971121972121973121974121975121976121977121978121979121980121981121982121983121984121985121986121987121988121989121990121991121992121993121994121995121996121997121998121999122000122001122002122003122004122005122006122007122008122009122010122011122012122013122014122015122016122017122018122019122020122021122022122023122024122025122026122027122028122029122030122031122032122033122034122035122036122037122038122039122040122041122042122043122044122045122046122047122048122049122050122051122052122053122054122055122056122057122058122059122060122061122062122063122064122065122066122067122068122069122070122071122072122073122074122075122076122077122078122079122080122081122082122083122084122085122086122087122088122089122090122091122092122093122094122095122096122097122098122099122100122101122102122103122104122105122106122107122108122109122110122111122112122113122114122115122116122117122118122119122120122121122122122123122124122125122126122127122128122129122130122131122132122133122134122135122136122137122138122139122140122141122142122143122144122145122146122147122148122149122150122151122152122153122154122155122156122157122158122159122160122161122162122163122164122165122166122167122168122169122170122171122172122173122174122175122176122177122178122179122180122181122182122183122184122185122186122187122188122189122190122191122192122193122194122195122196122197122198122199122200122201122202122203122204122205122206122207122208122209122210122211122212122213122214122215122216122217122218122219122220122221122222122223122224122225122226122227122228122229122230122231122232122233122234122235122236122237122238122239122240122241122242122243122244122245122246122247122248122249122250122251122252122253122254122255122256122257122258122259122260122261122262122263122264122265122266122267122268122269122270122271122272122273122274122275122276122277122278122279122280122281122282122283122284122285122286122287122288122289122290122291122292122293122294122295122296122297122298122299122300122301122302122303122304122305122306122307122308122309122310122311122312122313122314122315122316122317122318122319122320122321122322122323122324122325122326122327122328122329122330122331122332122333122334122335122336122337122338122339122340122341122342122343122344122345122346122347122348122349122350122351122352122353122354122355122356122357122358122359122360122361122362122363122364122365122366122367122368122369122370122371122372122373122374122375122376122377122378122379122380122381122382122383122384122385122386122387122388122389122390122391122392122393122394122395122396122397122398122399122400122401122402122403122404122405122406122407122408122409122410122411122412122413122414122415122416122417122418122419122420122421122422122423122424122425122426122427122428122429122430122431122432122433122434122435122436122437122438122439122440122441122442122443122444122445122446122447122448122449122450122451122452122453122454122455122456122457122458122459122460122461122462122463122464122465122466122467122468122469122470122471122472122473122474122475122476122477122478122479122480122481122482122483122484122485122486122487122488122489122490122491122492122493122494122495122496122497122498122499122500122501122502122503122504122505122506122507122508122509122510122511122512122513122514122515122516122517122518122519122520122521122522122523122524122525122526122527122528122529122530122531122532122533122534122535122536122537122538122539122540122541122542122543122544122545122546122547122548122549122550122551122552122553122554122555122556122557122558122559122560122561122562122563122564122565122566122567122568122569122570122571122572122573122574122575122576122577122578122579122580122581122582122583122584122585122586122587122588122589122590122591122592122593122594122595122596122597122598122599122600122601122602122603122604122605122606122607122608122609122610122611122612122613122614122615122616122617122618122619122620122621122622122623122624122625122626122627122628122629122630122631122632122633122634122635122636122637122638122639122640122641122642122643122644122645122646122647122648122649122650122651122652122653122654122655122656122657122658122659122660122661122662122663122664122665122666122667122668122669122670122671122672122673122674122675122676122677122678122679122680122681122682122683122684122685122686122687122688122689122690122691122692122693122694122695122696122697122698122699122700122701122702122703122704122705122706122707122708122709122710122711122712122713122714122715122716122717122718122719122720122721122722122723122724122725122726122727122728122729122730122731122732122733122734122735122736122737122738122739122740122741122742122743122744122745122746122747122748122749122750122751122752122753122754122755122756122757122758122759122760122761122762122763122764122765122766122767122768122769122770122771122772122773122774122775122776122777122778122779122780122781122782122783122784122785122786122787122788122789122790122791122792122793122794122795122796122797122798122799122800122801122802122803122804122805122806122807122808122809122810122811122812122813122814122815122816122817122818122819122820122821122822122823122824122825122826122827122828122829122830122831122832122833122834122835122836122837122838122839122840122841122842122843122844122845122846122847122848122849122850122851122852122853122854122855122856122857122858122859122860122861122862122863122864122865122866122867122868122869122870122871122872122873122874122875122876122877122878122879122880122881122882122883122884122885122886122887122888122889122890122891122892122893122894122895122896122897122898122899122900122901122902122903122904122905122906122907122908122909122910122911122912122913122914122915122916122917122918122919122920122921122922122923122924122925122926122927122928122929122930122931122932122933122934122935122936122937122938122939122940122941122942122943122944122945122946122947122948122949122950122951122952122953122954122955122956122957122958122959122960122961122962122963122964122965122966122967122968122969122970122971122972122973122974122975122976122977122978122979122980122981122982122983122984122985122986122987122988122989122990122991122992122993122994122995122996122997122998122999123000123001123002123003123004123005123006123007123008123009123010123011123012123013123014123015123016123017123018123019123020123021123022123023123024123025123026123027123028123029123030123031123032123033123034123035123036123037123038123039123040123041123042123043123044123045123046123047123048123049123050123051123052123053123054123055123056123057123058123059123060123061123062123063123064123065123066123067123068123069123070123071123072123073123074123075123076123077123078123079123080123081123082123083123084123085123086123087123088123089123090123091123092123093123094123095123096123097123098123099123100123101123102123103123104123105123106123107123108123109123110123111123112123113123114123115123116123117123118123119123120123121123122123123123124123125123126123127123128123129123130123131123132123133123134123135123136123137123138123139123140123141123142123143123144123145123146123147123148123149123150123151123152123153123154123155123156123157123158123159123160123161123162123163123164123165123166123167123168123169123170123171123172123173123174123175123176123177123178123179123180123181123182123183123184123185123186123187123188123189123190123191123192123193123194123195123196123197123198123199123200123201123202123203123204123205123206123207123208123209123210123211123212123213123214123215123216123217123218123219123220123221123222123223123224123225123226123227123228123229123230123231123232123233123234123235123236123237123238123239123240123241123242123243123244123245123246123247123248123249123250123251123252123253123254123255123256123257123258123259123260123261123262123263123264123265123266123267123268123269123270123271123272123273123274123275123276123277123278123279123280123281123282123283123284123285123286123287123288123289123290123291123292123293123294123295123296123297123298123299123300123301123302123303123304123305123306123307123308123309123310123311123312123313123314123315123316123317123318123319123320123321123322123323123324123325123326123327123328123329123330123331123332123333123334123335123336123337123338123339123340123341123342123343123344123345123346123347123348123349123350123351123352123353123354123355123356123357123358123359123360123361123362123363123364123365123366123367123368123369123370123371123372123373123374123375123376123377123378123379123380123381123382123383123384123385123386123387123388123389123390123391123392123393123394123395123396123397123398123399123400123401123402123403123404123405123406123407123408123409123410123411123412123413123414123415123416123417123418123419123420123421123422123423123424123425123426123427123428123429123430123431123432123433123434123435123436123437123438123439123440123441123442123443123444123445123446123447123448123449123450123451123452123453123454123455123456123457123458123459123460123461123462123463123464123465123466123467123468123469123470123471123472123473123474123475123476123477123478123479123480123481123482123483123484123485123486123487123488123489123490123491123492123493123494123495123496123497123498123499123500123501123502123503123504123505123506123507123508123509123510123511123512123513123514123515123516123517123518123519123520123521123522123523123524123525123526123527123528123529123530123531123532123533123534123535123536123537123538123539123540123541123542123543123544123545123546123547123548123549123550123551123552123553123554123555123556123557123558123559123560123561123562123563123564123565123566123567123568123569123570123571123572123573123574123575123576123577123578123579123580123581123582123583123584123585123586123587123588123589123590123591123592123593123594123595123596123597123598123599123600123601123602123603123604123605123606123607123608123609123610123611123612123613123614123615123616123617123618123619123620123621123622123623123624123625123626123627123628123629123630123631123632123633123634123635123636123637123638123639123640123641123642123643123644123645123646123647123648123649123650123651123652123653123654123655123656123657123658123659123660123661123662123663123664123665123666123667123668123669123670123671123672123673123674123675123676123677123678123679123680123681123682123683123684123685123686123687123688123689123690123691123692123693123694123695123696123697123698123699123700123701123702123703123704123705123706123707123708123709123710123711123712123713123714123715123716123717123718123719123720123721123722123723123724123725123726123727123728123729123730123731123732123733123734123735123736123737123738123739123740123741123742123743123744123745123746123747123748123749123750123751123752123753123754123755123756123757123758123759123760123761123762123763123764123765123766123767123768123769123770123771123772123773123774123775123776123777123778123779123780123781123782123783123784123785123786123787123788123789123790123791123792123793123794123795123796123797123798123799123800123801123802123803123804123805123806123807123808123809123810123811123812123813123814123815123816123817123818123819123820123821123822123823123824123825123826123827123828123829123830123831123832123833123834123835123836123837123838123839123840123841123842123843123844123845123846123847123848123849123850123851123852123853123854123855123856123857123858123859123860123861123862123863123864123865123866123867123868123869123870123871123872123873123874123875123876123877123878123879123880123881123882123883123884123885123886123887123888123889123890123891123892123893123894123895123896123897123898123899123900123901123902123903123904123905123906123907123908123909123910123911123912123913123914123915123916123917123918123919123920123921123922123923123924123925123926123927123928123929123930123931123932123933123934123935123936123937123938123939123940123941123942123943123944123945123946123947123948123949123950123951123952123953123954123955123956123957123958123959123960123961123962123963123964123965123966123967123968123969123970123971123972123973123974123975123976123977123978123979123980123981123982123983123984123985123986123987123988123989123990123991123992123993123994123995123996123997123998123999124000124001124002124003124004124005124006124007124008124009124010124011124012124013124014124015124016124017124018124019124020124021124022124023124024124025124026124027124028124029124030124031124032124033124034124035124036124037124038124039124040124041124042124043124044124045124046124047124048124049124050124051124052124053124054124055124056124057124058124059124060124061124062124063124064124065124066124067124068124069124070124071124072124073124074124075124076124077124078124079124080124081124082124083124084124085124086124087124088124089124090124091124092124093124094124095124096124097124098124099124100124101124102124103124104124105124106124107124108124109124110124111124112124113124114124115124116124117124118124119124120124121124122124123124124124125124126124127124128124129124130124131124132124133124134124135124136124137124138124139124140124141124142124143124144124145124146124147124148124149124150124151124152124153124154124155124156124157124158124159124160124161124162124163124164124165124166124167124168124169124170124171124172124173124174124175124176124177124178124179124180124181124182124183124184124185124186124187124188124189124190124191124192124193124194124195124196124197124198124199124200124201124202124203124204124205124206124207124208124209124210124211124212124213124214124215124216124217124218124219124220124221124222124223124224124225124226124227124228124229124230124231124232124233124234124235124236124237124238124239124240124241124242124243124244124245124246124247124248124249124250124251124252124253124254124255124256124257124258124259124260124261124262124263124264124265124266124267124268124269124270124271124272124273124274124275124276124277124278124279124280124281124282124283124284124285124286124287124288124289124290124291124292124293124294124295124296124297124298124299124300124301124302124303124304124305124306124307124308124309124310124311124312124313124314124315124316124317124318124319124320124321124322124323124324124325124326124327124328124329124330124331124332124333124334124335124336124337124338124339124340124341124342124343124344124345124346124347124348124349124350124351124352124353124354124355124356124357124358124359124360124361124362124363124364124365124366124367124368124369124370124371124372124373124374124375124376124377124378124379124380124381124382124383124384124385124386124387124388124389124390124391124392124393124394124395124396124397124398124399124400124401124402124403124404124405124406124407124408124409124410124411124412124413124414124415124416124417124418124419124420124421124422124423124424124425124426124427124428124429124430124431124432124433124434124435124436124437124438124439124440124441124442124443124444124445124446124447124448124449124450124451124452124453124454124455124456124457124458124459124460124461124462124463124464124465124466124467124468124469124470124471124472124473124474124475124476124477124478124479124480124481124482124483124484124485124486124487124488124489124490124491124492124493124494124495124496124497124498124499124500124501124502124503124504124505124506124507124508124509124510124511124512124513124514124515124516124517124518124519124520124521124522124523124524124525124526124527124528124529124530124531124532124533124534124535124536124537124538124539124540124541124542124543124544124545124546124547124548124549124550124551124552124553124554124555124556124557124558124559124560124561124562124563124564124565124566124567124568124569124570124571124572124573124574124575124576124577124578124579124580124581124582124583124584124585124586124587124588124589124590124591124592124593124594124595124596124597124598124599124600124601124602124603124604124605124606124607124608124609124610124611124612124613124614124615124616124617124618124619124620124621124622124623124624124625124626124627124628124629124630124631124632124633124634124635124636124637124638124639124640124641124642124643124644124645124646124647124648124649124650124651124652124653124654124655124656124657124658124659124660124661124662124663124664124665124666124667124668124669124670124671124672124673124674124675124676124677124678124679124680124681124682124683124684124685124686124687124688124689124690124691124692124693124694124695124696124697124698124699124700124701124702124703124704124705124706124707124708124709124710124711124712124713124714124715124716124717124718124719124720124721124722124723124724124725124726124727124728124729124730124731124732124733124734124735124736124737124738124739124740124741124742124743124744124745124746124747124748124749124750124751124752124753124754124755124756124757124758124759124760124761124762124763124764124765124766124767124768124769124770124771124772124773124774124775124776124777124778124779124780124781124782124783124784124785124786124787124788124789124790124791124792124793124794124795124796124797124798124799124800124801124802124803124804124805124806124807124808124809124810124811124812124813124814124815124816124817124818124819124820124821124822124823124824124825124826124827124828124829124830124831124832124833124834124835124836124837124838124839124840124841124842124843124844124845124846124847124848124849124850124851124852124853124854124855124856124857124858124859124860124861124862124863124864124865124866124867124868124869124870124871124872124873124874124875124876124877124878124879124880124881124882124883124884124885124886124887124888124889124890124891124892124893124894124895124896124897124898124899124900124901124902124903124904124905124906124907124908124909124910124911124912124913124914124915124916124917124918124919124920124921124922124923124924124925124926124927124928124929124930124931124932124933124934124935124936124937124938124939124940124941124942124943124944124945124946124947124948124949124950124951124952124953124954124955124956124957124958124959124960124961124962124963124964124965124966124967124968124969124970124971124972124973124974124975124976124977124978124979124980124981124982124983124984124985124986124987124988124989124990124991124992124993124994124995124996124997124998124999125000125001125002125003125004125005125006125007125008125009125010125011125012125013125014125015125016125017125018125019125020125021125022125023125024125025125026125027125028125029125030125031125032125033125034125035125036125037125038125039125040125041125042125043125044125045125046125047125048125049125050125051125052125053125054125055125056125057125058125059125060125061125062125063125064125065125066125067125068125069125070125071125072125073125074125075125076125077125078125079125080125081125082125083125084125085125086125087125088125089125090125091125092125093125094125095125096125097125098125099125100125101125102125103125104125105125106125107125108125109125110125111125112125113125114125115125116125117125118125119125120125121125122125123125124125125125126125127125128125129125130125131125132125133125134125135125136125137125138125139125140125141125142125143125144125145125146125147125148125149125150125151125152125153125154125155125156125157125158125159125160125161125162125163125164125165125166125167125168125169125170125171125172125173125174125175125176125177125178125179125180125181125182125183125184125185125186125187125188125189125190125191125192125193125194125195125196125197125198125199125200125201125202125203125204125205125206125207125208125209125210125211125212125213125214125215125216125217125218125219125220125221125222125223125224125225125226125227125228125229125230125231125232125233125234125235125236125237125238125239125240125241125242125243125244125245125246125247125248125249125250125251125252125253125254125255125256125257125258125259125260125261125262125263125264125265125266125267125268125269125270125271125272125273125274125275125276125277125278125279125280125281125282125283125284125285125286125287125288125289125290125291125292125293125294125295125296125297125298125299125300125301125302125303125304125305125306125307125308125309125310125311125312125313125314125315125316125317125318125319125320125321125322125323125324125325125326125327125328125329125330125331125332125333125334125335125336125337125338125339125340125341125342125343125344125345125346125347125348125349125350125351125352125353125354125355125356125357125358125359125360125361125362125363125364125365125366125367125368125369125370125371125372125373125374125375125376125377125378125379125380125381125382125383125384125385125386125387125388125389125390125391125392125393125394125395125396125397125398125399125400125401125402125403125404125405125406125407125408125409125410125411125412125413125414125415125416125417125418125419125420125421125422125423125424125425125426125427125428125429125430125431125432125433125434125435125436125437125438125439125440125441125442125443125444125445125446125447125448125449125450125451125452125453125454125455125456125457125458125459125460125461125462125463125464125465125466125467125468125469125470125471125472125473125474125475125476125477125478125479125480125481125482125483125484125485125486125487125488125489125490125491125492125493125494125495125496125497125498125499125500125501125502125503125504125505125506125507125508125509125510125511125512125513125514125515125516125517125518125519125520125521125522125523125524125525125526125527125528125529125530125531125532125533125534125535125536125537125538125539125540125541125542125543125544125545125546125547125548125549125550125551125552125553125554125555125556125557125558125559125560125561125562125563125564125565125566125567125568125569125570125571125572125573125574125575125576125577125578125579125580125581125582125583125584125585125586125587125588125589125590125591125592125593125594125595125596125597125598125599125600125601125602125603125604125605125606125607125608125609125610125611125612125613125614125615125616125617125618125619125620125621125622125623125624125625125626125627125628125629125630125631125632125633125634125635125636125637125638125639125640125641125642125643125644125645125646125647125648125649125650125651125652125653125654125655125656125657125658125659125660125661125662125663125664125665125666125667125668125669125670125671125672125673125674125675125676125677125678125679125680125681125682125683125684125685125686125687125688125689125690125691125692125693125694125695125696125697125698125699125700125701125702125703125704125705125706125707125708125709125710125711125712125713125714125715125716125717125718125719125720125721125722125723125724125725125726125727125728125729125730125731125732125733125734125735125736125737125738125739125740125741125742125743125744125745125746125747125748125749125750125751125752125753125754125755125756125757125758125759125760125761125762125763125764125765125766125767125768125769125770125771125772125773125774125775125776125777125778125779125780125781125782125783125784125785125786125787125788125789125790125791125792125793125794125795125796125797125798125799125800125801125802125803125804125805125806125807125808125809125810125811125812125813125814125815125816125817125818125819125820125821125822125823125824125825125826125827125828125829125830125831125832125833125834125835125836125837125838125839125840125841125842125843125844125845125846125847125848125849125850125851125852125853125854125855125856125857125858125859125860125861125862125863125864125865125866125867125868125869125870125871125872125873125874125875125876125877125878125879125880125881125882125883125884125885125886125887125888125889125890125891125892125893125894125895125896125897125898125899125900125901125902125903125904125905125906125907125908125909125910125911125912125913125914125915125916125917125918125919125920125921125922125923125924125925125926125927125928125929125930125931125932125933125934125935125936125937125938125939125940125941125942125943125944125945125946125947125948125949125950125951125952125953125954125955125956125957125958125959125960125961125962125963125964125965125966125967125968125969125970125971125972125973125974125975125976125977125978125979125980125981125982125983125984125985125986125987125988125989125990125991125992125993125994125995125996125997125998125999126000126001126002126003126004126005126006126007126008126009126010126011126012126013126014126015126016126017126018126019126020126021126022126023126024126025126026126027126028126029126030126031126032126033126034126035126036126037126038126039126040126041126042126043126044126045126046126047126048126049126050126051126052126053126054126055126056126057126058126059126060126061126062126063126064126065126066126067126068126069126070126071126072126073126074126075126076126077126078126079126080126081126082126083126084126085126086126087126088126089126090126091126092126093126094126095126096126097126098126099126100126101126102126103126104126105126106126107126108126109126110126111126112126113126114126115126116126117126118126119126120126121126122126123126124126125126126126127126128126129126130126131126132126133126134126135126136126137126138126139126140126141126142126143126144126145126146126147126148126149126150126151126152126153126154126155126156126157126158126159126160126161126162126163126164126165126166126167126168126169126170126171126172126173126174126175126176126177126178126179126180126181126182126183126184126185126186126187126188126189126190126191126192126193126194126195126196126197126198126199126200126201126202126203126204126205126206126207126208126209126210126211126212126213126214126215126216126217126218126219126220126221126222126223126224126225126226126227126228126229126230126231126232126233126234126235126236126237126238126239126240126241126242126243126244126245126246126247126248126249126250126251126252126253126254126255126256126257126258126259126260126261126262126263126264126265126266126267126268126269126270126271126272126273126274126275126276126277126278126279126280126281126282126283126284126285126286126287126288126289126290126291126292126293126294126295126296126297126298126299126300126301126302126303126304126305126306126307126308126309126310126311126312126313126314126315126316126317126318126319126320126321126322126323126324126325126326126327126328126329126330126331126332126333126334126335126336126337126338126339126340126341126342126343126344126345126346126347126348126349126350126351126352126353126354126355126356126357126358126359126360126361126362126363126364126365126366126367126368126369126370126371126372126373126374126375126376126377126378126379126380126381126382126383126384126385126386126387126388126389126390126391126392126393126394126395126396126397126398126399126400126401126402126403126404126405126406126407126408126409126410126411126412126413126414126415126416126417126418126419126420126421126422126423126424126425126426126427126428126429126430126431126432126433126434126435126436126437126438126439126440126441126442126443126444126445126446126447126448126449126450126451126452126453126454126455126456126457126458126459126460126461126462126463126464126465126466126467126468126469126470126471126472126473126474126475126476126477126478126479126480126481126482126483126484126485126486126487126488126489126490126491126492126493126494126495126496126497126498126499126500126501126502126503126504126505126506126507126508126509126510126511126512126513126514126515126516126517126518126519126520126521126522126523126524126525126526126527126528126529126530126531126532126533126534126535126536126537126538126539126540126541126542126543126544126545126546126547126548126549126550126551126552126553126554126555126556126557126558126559126560126561126562126563126564126565126566126567126568126569126570126571126572126573126574126575126576126577126578126579126580126581126582126583126584126585126586126587126588126589126590126591126592126593126594126595126596126597126598126599126600126601126602126603126604126605126606126607126608126609126610126611126612126613126614126615126616126617126618126619126620126621126622126623126624126625126626126627126628126629126630126631126632126633126634126635126636126637126638126639126640126641126642126643126644126645126646126647126648126649126650126651126652126653126654126655126656126657126658126659126660126661126662126663126664126665126666126667126668126669126670126671126672126673126674126675126676126677126678126679126680126681126682126683126684126685126686126687126688126689126690126691126692126693126694126695126696126697126698126699126700126701126702126703126704126705126706126707126708126709126710126711126712126713126714126715126716126717126718126719126720126721126722126723126724126725126726126727126728126729126730126731126732126733126734126735126736126737126738126739126740126741126742126743126744126745126746126747126748126749126750126751126752126753126754126755126756126757126758126759126760126761126762126763126764126765126766126767126768126769126770126771126772126773126774126775126776126777126778126779126780126781126782126783126784126785126786126787126788126789126790126791126792126793126794126795126796126797126798126799126800126801126802126803126804126805126806126807126808126809126810126811126812126813126814126815126816126817126818126819126820126821126822126823126824126825126826126827126828126829126830126831126832126833126834126835126836126837126838126839126840126841126842126843126844126845126846126847126848126849126850126851126852126853126854126855126856126857126858126859126860126861126862126863126864126865126866126867126868126869126870126871126872126873126874126875126876126877126878126879126880126881126882126883126884126885126886126887126888126889126890126891126892126893126894126895126896126897126898126899126900126901126902126903126904126905126906126907126908126909126910126911126912126913126914126915126916126917126918126919126920126921126922126923126924126925126926126927126928126929126930126931126932126933126934126935126936126937126938126939126940126941126942126943126944126945126946126947126948126949126950126951126952126953126954126955126956126957126958126959126960126961126962126963126964126965126966126967126968126969126970126971126972126973126974126975126976126977126978126979126980126981126982126983126984126985126986126987126988126989126990126991126992126993126994126995126996126997126998126999127000127001127002127003127004127005127006127007127008127009127010127011127012127013127014127015127016127017127018127019127020127021127022127023127024127025127026127027127028127029127030127031127032127033127034127035127036127037127038127039127040127041127042127043127044127045127046127047127048127049127050127051127052127053127054127055127056127057127058127059127060127061127062127063127064127065127066127067127068127069127070127071127072127073127074127075127076127077127078127079127080127081127082127083127084127085127086127087127088127089127090127091127092127093127094127095127096127097127098127099127100127101127102127103127104127105127106127107127108127109127110127111127112127113127114127115127116127117127118127119127120127121127122127123127124127125127126127127127128127129127130127131127132127133127134127135127136127137127138127139127140127141127142127143127144127145127146127147127148127149127150127151127152127153127154127155127156127157127158127159127160127161127162127163127164127165127166127167127168127169127170127171127172127173127174127175127176127177127178127179127180127181127182127183127184127185127186127187127188127189127190127191127192127193127194127195127196127197127198127199127200127201127202127203127204127205127206127207127208127209127210127211127212127213127214127215127216127217127218127219127220127221127222127223127224127225127226127227127228127229127230127231127232127233127234127235127236127237127238127239127240127241127242127243127244127245127246127247127248127249127250127251127252127253127254127255127256127257127258127259127260127261127262127263127264127265127266127267127268127269127270127271127272127273127274127275127276127277127278127279127280127281127282127283127284127285127286127287127288127289127290127291127292127293127294127295127296127297127298127299127300127301127302127303127304127305127306127307127308127309127310127311127312127313127314127315127316127317127318127319127320127321127322127323127324127325127326127327127328127329127330127331127332127333127334127335127336127337127338127339127340127341127342127343127344127345127346127347127348127349127350127351127352127353127354127355127356127357127358127359127360127361127362127363127364127365127366127367127368127369127370127371127372127373127374127375127376127377127378127379127380127381127382127383127384127385127386127387127388127389127390127391127392127393127394127395127396127397127398127399127400127401127402127403127404127405127406127407127408127409127410127411127412127413127414127415127416127417127418127419127420127421127422127423127424127425127426127427127428127429127430127431127432127433127434127435127436127437127438127439127440127441127442127443127444127445127446127447127448127449127450127451127452127453127454127455127456127457127458127459127460127461127462127463127464127465127466127467127468127469127470127471127472127473127474127475127476127477127478127479127480127481127482127483127484127485127486127487127488127489127490127491127492127493127494127495127496127497127498127499127500127501127502127503127504127505127506127507127508127509127510127511127512127513127514127515127516127517127518127519127520127521127522127523127524127525127526127527127528127529127530127531127532127533127534127535127536127537127538127539127540127541127542127543127544127545127546127547127548127549127550127551127552127553127554127555127556127557127558127559127560127561127562127563127564127565127566127567127568127569127570127571127572127573127574127575127576127577127578127579127580127581127582127583127584127585127586127587127588127589127590127591127592127593127594127595127596127597127598127599127600127601127602127603127604127605127606127607127608127609127610127611127612127613127614127615127616127617127618127619127620127621127622127623127624127625127626127627127628127629127630127631127632127633127634127635127636127637127638127639127640127641127642127643127644127645127646127647127648127649127650127651127652127653127654127655127656127657127658127659127660127661127662127663127664127665127666127667127668127669127670127671127672127673127674127675127676127677127678127679127680127681127682127683127684127685127686127687127688127689127690127691127692127693127694127695127696127697127698127699127700127701127702127703127704127705127706127707127708127709127710127711127712127713127714127715127716127717127718127719127720127721127722127723127724127725127726127727127728127729127730127731127732127733127734127735127736127737127738127739127740127741127742127743127744127745127746127747127748127749127750127751127752127753127754127755127756127757127758127759127760127761127762127763127764127765127766127767127768127769127770127771127772127773127774127775127776127777127778127779127780127781127782127783127784127785127786127787127788127789127790127791127792127793127794127795127796127797127798127799127800127801127802127803127804127805127806127807127808127809127810127811127812127813127814127815127816127817127818127819127820127821127822127823127824127825127826127827127828127829127830127831127832127833127834127835127836127837127838127839127840127841127842127843127844127845127846127847127848127849127850127851127852127853127854127855127856127857127858127859127860127861127862127863127864127865127866127867127868127869127870127871127872127873127874127875127876127877127878127879127880127881127882127883127884127885127886127887127888127889127890127891127892127893127894127895127896127897127898127899127900127901127902127903127904127905127906127907127908127909127910127911127912127913127914127915127916127917127918127919127920127921127922127923127924127925127926127927127928127929127930127931127932127933127934127935127936127937127938127939127940127941127942127943127944127945127946127947127948127949127950127951127952127953127954127955127956127957127958127959127960127961127962127963127964127965127966127967127968127969127970127971127972127973127974127975127976127977127978127979127980127981127982
  1. /*!*
  2. *
  3. * Copyright (c) Highsoft AS. All rights reserved.
  4. *
  5. *!*/
  6. import * as globals from "./globals.src";
  7. /**
  8. * Formatter callback for the accessibility announcement.
  9. *
  10. * @param updatedSeries
  11. * Array of all series that received updates. If an announcement is
  12. * already queued, the series that received updates for that announcement
  13. * are also included in this array.
  14. *
  15. * @param addedSeries
  16. * This is provided if Highcharts.Chart#addSeries was called, and there
  17. * is a new series. In that case, this argument is a reference to the new
  18. * series.
  19. *
  20. * @param addedPoint
  21. * This is provided if Highcharts.Series#addPoint was called, and there
  22. * is a new point. In that case, this argument is a reference to the new
  23. * point.
  24. *
  25. * @return The function should return a string with the text to announce to the
  26. * user. Return empty string to not announce anything. Return `false` to
  27. * use the default announcement format.
  28. */
  29. export type AccessibilityAnnouncementFormatter = (updatedSeries: Array<Series>, addedSeries?: Series, addedPoint?: Point) => (false|string);
  30. /**
  31. * The horizontal alignment of an element.
  32. */
  33. export type AlignValue = ("center"|"left"|"right");
  34. /**
  35. * Creates a frame for the animated SVG element.
  36. *
  37. * @param this
  38. * The SVG element to animate.
  39. */
  40. export type AnimationStepCallbackFunction = (this: SVGElement) => void;
  41. /**
  42. * Callback to modify annotation's possitioner controls.
  43. */
  44. export type AnnotationControlPointPositionerFunction = (this: AnnotationControlPoint, target: AnnotationControllable) => PositionObject;
  45. /**
  46. * Possible directions for draggable annotations. An empty string (`''`) makes
  47. * the annotation undraggable.
  48. */
  49. export type AnnotationDraggableValue = (''|'x'|'xy'|'y');
  50. export type AxisEventCallbackFunction = (this: Axis) => void;
  51. export type AxisExtremesTriggerValue = ("navigator"|"pan"|"scrollbar"|"zoom"|"rangeSelectorButton"|"rangeSelectorInput"|"traverseUpButton");
  52. export type AxisLabelsFormatterCallbackFunction = (this: AxisLabelsFormatterContextObject, ctx: AxisLabelsFormatterContextObject) => string;
  53. /**
  54. * Options for axes.
  55. */
  56. export type AxisOptions = (XAxisOptions|YAxisOptions|ZAxisOptions);
  57. /**
  58. * Options for plot band labels on axes.
  59. */
  60. export type AxisPlotBandsLabelOptions = (XAxisPlotBandsLabelOptions|YAxisPlotBandsLabelOptions|ZAxisPlotBandsLabelOptions);
  61. /**
  62. * Options for plot bands on axes.
  63. */
  64. export type AxisPlotBandsOptions = (XAxisPlotBandsOptions|YAxisPlotBandsOptions|ZAxisPlotBandsOptions);
  65. /**
  66. * Options for plot line labels on axes.
  67. */
  68. export type AxisPlotLinesLabelOptions = (XAxisPlotLinesLabelOptions|YAxisPlotLinesLabelOptions|ZAxisPlotLinesLabelOptions);
  69. /**
  70. * Options for plot lines on axes.
  71. */
  72. export type AxisPlotLinesOptions = (XAxisPlotLinesOptions|YAxisPlotLinesOptions|ZAxisPlotLinesOptions);
  73. export type AxisPointBreakEventCallbackFunction = (this: Axis, evt: AxisPointBreakEventObject) => void;
  74. export type AxisSetExtremesEventCallbackFunction = (this: Axis, evt: AxisSetExtremesEventObject) => void;
  75. export type AxisTickPositionerCallbackFunction = (this: Axis) => AxisTickPositionsArray;
  76. export type AxisTitleAlignValue = ("high"|"low"|"middle");
  77. export type AxisTitleOptions = (XAxisTitleOptions|YAxisTitleOptions|ZAxisTitleOptions);
  78. export type AxisTypeValue = ("category"|"datetime"|"linear"|"logarithmic"|"treegrid");
  79. export type BubbleSizeByValue = ("area"|"width");
  80. export type ButtonRelativeToValue = ("plotBox"|"spacingBox");
  81. /**
  82. * Gets fired when a series is added to the chart after load time, using the
  83. * `addSeries` method. Returning `false` prevents the series from being added.
  84. *
  85. * @param this
  86. * The chart on which the event occured.
  87. *
  88. * @param event
  89. * The event that occured.
  90. */
  91. export type ChartAddSeriesCallbackFunction = (this: Chart, event: ChartAddSeriesEventObject) => void;
  92. /**
  93. * Callback for chart constructors.
  94. *
  95. * @param chart
  96. * Created chart.
  97. */
  98. export type ChartCallbackFunction = (chart: Chart) => void;
  99. /**
  100. * Gets fired when clicking on the plot background.
  101. *
  102. * @param this
  103. * The chart on which the event occured.
  104. *
  105. * @param event
  106. * The event that occured.
  107. */
  108. export type ChartClickCallbackFunction = (this: Chart, event: PointerEventObject) => void;
  109. /**
  110. * Gets fired when the chart is finished loading.
  111. *
  112. * @param this
  113. * The chart on which the event occured.
  114. *
  115. * @param event
  116. * The event that occured.
  117. */
  118. export type ChartLoadCallbackFunction = (this: Chart, event: Event) => void;
  119. /**
  120. * Fires when the chart is redrawn, either after a call to `chart.redraw()` or
  121. * after an axis, series or point is modified with the `redraw` option set to
  122. * `true`.
  123. *
  124. * @param this
  125. * The chart on which the event occured.
  126. *
  127. * @param event
  128. * The event that occured.
  129. */
  130. export type ChartRedrawCallbackFunction = (this: Chart, event: Event) => void;
  131. /**
  132. * Gets fired after initial load of the chart (directly after the `load` event),
  133. * and after each redraw (directly after the `redraw` event).
  134. *
  135. * @param this
  136. * The chart on which the event occured.
  137. *
  138. * @param event
  139. * The event that occured.
  140. */
  141. export type ChartRenderCallbackFunction = (this: Chart, event: Event) => void;
  142. /**
  143. * Gets fired when an area of the chart has been selected. The default action
  144. * for the selection event is to zoom the chart to the selected area. It can be
  145. * prevented by calling `event.preventDefault()` or return false.
  146. *
  147. * @param this
  148. * The chart on which the event occured.
  149. *
  150. * @param event
  151. * Event informations
  152. *
  153. * @return Return false to prevent the default action, usually zoom.
  154. */
  155. export type ChartSelectionCallbackFunction = (this: Chart, event: ChartSelectionContextObject) => (boolean|undefined);
  156. /**
  157. * A clipping rectangle that can be applied to one or more SVGElement instances.
  158. * It is instanciated with the SVGRenderer#clipRect function and applied with
  159. * the SVGElement#clip function.
  160. */
  161. export type ClipRectElement = SVGElement;
  162. /**
  163. * Color axis types
  164. */
  165. export type ColorAxisTypeValue = ("linear"|"logarithmic");
  166. /**
  167. * A valid color to be parsed and handled by Highcharts. Highcharts internally
  168. * supports hex colors like `#ffffff`, rgb colors like `rgb(255,255,255)` and
  169. * rgba colors like `rgba(255,255,255,1)`. Other colors may be supported by the
  170. * browsers and displayed correctly, but Highcharts is not able to process them
  171. * and apply concepts like opacity and brightening.
  172. */
  173. export type ColorString = string;
  174. /**
  175. * A valid color type than can be parsed and handled by Highcharts. It can be a
  176. * color string, a gradient object, or a pattern object.
  177. */
  178. export type ColorType = (ColorString|GradientColorObject|PatternObject);
  179. /**
  180. * All possible cursor styles.
  181. */
  182. export type CursorValue = ('alias'|'all-scroll'|'auto'|'cell'|'col-resize'|'context-menu'|'copy'|'crosshair'|'default'|'e-resize'|'ew-resize'|'grab'|'grabbing'|'help'|'move'|'n-resize'|'ne-resize'|
  183. 'nesw-resize'|'no-drop'|'none'|'not-allowed'|'ns-resize'|'nw-resize'|'nwse-resize'|'pointer'|'progress'|'row-resize'|'s-resize'|'se-resize'|'sw-resize'|'text'|'vertical-text'|'w-resize'|'wait'|
  184. 'zoom-in'|'zoom-out');
  185. /**
  186. * All possible dash styles.
  187. */
  188. export type DashStyleValue = ('Dash'|'DashDot'|'Dot'|'LongDash'|'LongDashDot'|'LongDashDotDot'|'ShortDash'|'ShortDashDot'|'ShortDashDotDot'|'ShortDot'|'Solid');
  189. /**
  190. * Callback function to modify the CSV before parsing it by the data module.
  191. *
  192. * @param csv
  193. * The CSV to modify.
  194. *
  195. * @return The CSV to parse.
  196. */
  197. export type DataBeforeParseCallbackFunction = (csv: string) => string;
  198. /**
  199. * Callback function that gets called after parsing data.
  200. *
  201. * @param chartOptions
  202. * The chart options that were used.
  203. */
  204. export type DataCompleteCallbackFunction = (chartOptions: Options) => void;
  205. /**
  206. * The position of the point inside the group.
  207. */
  208. export type DataGroupingAnchor = ("end"|"middle"|"start");
  209. /**
  210. * The position of the first or last point in the series inside the group.
  211. */
  212. export type DataGroupingAnchorExtremes = ("end"|"middle"|"start"|"firstPoint"|"lastPoint");
  213. export type DataGroupingApproximationValue = ("average"|"averages"|"close"|"high"|"low"|"open"|"sum");
  214. /**
  215. * Callback JavaScript function to format the data label as a string. Note that
  216. * if a `format` is defined, the format takes precedence and the formatter is
  217. * ignored.
  218. *
  219. * @param this
  220. * Data label context to format
  221. *
  222. * @param options
  223. * API options of the data label
  224. *
  225. * @return Formatted data label text
  226. */
  227. export type DataLabelsFormatterCallbackFunction = (this: PointLabelObject, options: DataLabelsOptions) => (number|string|null|undefined);
  228. /**
  229. * Values for handling data labels that flow outside the plot area.
  230. */
  231. export type DataLabelsOverflowValue = ("allow"|"justify");
  232. /**
  233. * Callback function to parse string representations of dates into JavaScript
  234. * timestamps (milliseconds since 1.1.1970).
  235. *
  236. * @return Timestamp (milliseconds since 1.1.1970) as integer for Date class.
  237. */
  238. export type DataParseDateCallbackFunction = (dateValue: string) => number;
  239. /**
  240. * Callback function to access the parsed columns, the two-dimentional input
  241. * data array directly, before they are interpreted into series data and
  242. * categories.
  243. *
  244. * @param columns
  245. * The parsed columns by the data module.
  246. *
  247. * @return Return `false` to stop completion, or call `this.complete()` to
  248. * continue async.
  249. */
  250. export type DataParsedCallbackFunction = (columns: Array<Array<any>>) => (boolean|undefined);
  251. /**
  252. * Possible types for a data item in a column or row.
  253. */
  254. export type DataValueType = (number|string|null);
  255. /**
  256. * Gets fired when a drilldown point is clicked, before the new series is added.
  257. * Note that when clicking a category label to trigger multiple series
  258. * drilldown, one `drilldown` event is triggered per point in the category.
  259. *
  260. * @param this
  261. * The chart where the event occurs.
  262. *
  263. * @param e
  264. * The drilldown event.
  265. */
  266. export type DrilldownCallbackFunction = (this: Chart, e: DrilldownEventObject) => void;
  267. /**
  268. * This gets fired after all the series have been drilled up. This is especially
  269. * usefull in a chart with multiple drilldown series.
  270. *
  271. * @param this
  272. * The chart where the event occurs.
  273. *
  274. * @param e
  275. * The final drillup event.
  276. */
  277. export type DrillupAllCallbackFunction = (this: Chart, e: DrillupAllEventObject) => void;
  278. /**
  279. * Gets fired when drilling up from a drilldown series.
  280. *
  281. * @param this
  282. * The chart where the event occurs.
  283. *
  284. * @param e
  285. * The drillup event.
  286. */
  287. export type DrillupCallbackFunction = (this: Chart, e: DrillupEventObject) => void;
  288. /**
  289. * The function callback to execute when the event is fired. The `this` context
  290. * contains the instance, that fired the event.
  291. *
  292. * @param eventArguments
  293. * Event arguments.
  294. */
  295. export type EventCallbackFunction<T> = (this: T, eventArguments?: (Event|Dictionary<any>)) => (boolean|void);
  296. /**
  297. * Function callback to execute while data rows are processed for exporting.
  298. * This allows the modification of data rows before processed into the final
  299. * format.
  300. *
  301. * @param this
  302. * Chart context where the event occured.
  303. *
  304. * @param event
  305. * Event object with data rows that can be modified.
  306. */
  307. export type ExportDataCallbackFunction = (this: Chart, event: ExportDataEventObject) => void;
  308. /**
  309. * Gets fired after a chart is printed through the context menu item or the
  310. * Chart.print method.
  311. *
  312. * @param chart
  313. * The chart on which the event occured.
  314. *
  315. * @param event
  316. * The event that occured.
  317. */
  318. export type ExportingAfterPrintCallbackFunction = (chart: Chart, event: Event) => void;
  319. /**
  320. * Gets fired before a chart is printed through the context menu item or the
  321. * Chart.print method.
  322. *
  323. * @param chart
  324. * The chart on which the event occured.
  325. *
  326. * @param event
  327. * The event that occured.
  328. */
  329. export type ExportingBeforePrintCallbackFunction = (chart: Chart, event: Event) => void;
  330. /**
  331. * Function to call if the offline-exporting module fails to export a chart on
  332. * the client side.
  333. *
  334. * @param options
  335. * The exporting options.
  336. *
  337. * @param err
  338. * The error from the module.
  339. */
  340. export type ExportingErrorCallbackFunction = (options: ExportingOptions, err: Error) => void;
  341. /**
  342. * Possible MIME types for exporting.
  343. */
  344. export type ExportingMimeTypeValue = ("application/pdf"|"image/jpeg"|"image/png"|"image/svg+xml");
  345. export type FlagsShapeValue = ("circlepin"|"flag"|"squarepin");
  346. /**
  347. * Formats data as a string. Usually the data is accessible throught the `this`
  348. * keyword.
  349. *
  350. * @param this
  351. * Context to format
  352. *
  353. * @return Formatted text
  354. */
  355. export type FormatterCallbackFunction<T> = (this: T) => string;
  356. /**
  357. * An object of key-value pairs for HTML attributes.
  358. */
  359. export type HTMLAttributes = Dictionary<(boolean|number|string|Function)>;
  360. /**
  361. * An HTML DOM element. The type is a reference to the regular HTMLElement in
  362. * the global scope.
  363. */
  364. export type HTMLDOMElement = HTMLElement;
  365. /**
  366. * Function callback when a cluster is clicked.
  367. *
  368. * @param this
  369. * The point where the event occured.
  370. *
  371. * @param event
  372. * Event arguments.
  373. */
  374. export type MarkerClusterDrillCallbackFunction = (this: Point, event: PointClickEventObject) => void;
  375. /**
  376. * Format a number and return a string based on input settings.
  377. *
  378. * @param number
  379. * The input number to format.
  380. *
  381. * @param decimals
  382. * The amount of decimals. A value of -1 preserves the amount in the
  383. * input number.
  384. *
  385. * @param decimalPoint
  386. * The decimal point, defaults to the one given in the lang options, or a
  387. * dot.
  388. *
  389. * @param thousandsSep
  390. * The thousands separator, defaults to the one given in the lang
  391. * options, or a space character.
  392. *
  393. * @return The formatted number.
  394. */
  395. export type NumberFormatterCallbackFunction = (number: number, decimals: number, decimalPoint?: string, thousandsSep?: string) => string;
  396. /**
  397. * The iterator callback.
  398. *
  399. * @param this
  400. * The context.
  401. *
  402. * @param value
  403. * The property value.
  404. *
  405. * @param key
  406. * The property key.
  407. *
  408. * @param obj
  409. * The object that objectEach is being applied to.
  410. */
  411. export type ObjectEachCallbackFunction<T> = (this: T, value: any, key: string, obj: any) => void;
  412. export type OptionsApproximationValue = ("barnes-hut"|"none");
  413. export type OptionsBoostBlendingValue = ("add"|"darken"|"multiply");
  414. export type OptionsDataClassColorValue = ("category"|"tween");
  415. export type OptionsDateFormatValue = ("dd/mm/YY"|"dd/mm/YYYY"|"mm/dd/YY"|"mm/dd/YYYY"|"YYYY/mm/dd");
  416. export type OptionsDropdownValue = ("always"|"never"|"responsive");
  417. export type OptionsFindNearestPointByValue = ("x"|"xy");
  418. export type OptionsGapUnitValue = ("relative"|"value");
  419. export type OptionsGridLineInterpolationValue = ("circle"|"polygon");
  420. export type OptionsHeaderShapeValue = ("callout"|"square");
  421. export type OptionsIntegrationValue = ("euler"|"verlet");
  422. export type OptionsLandmarkVerbosityValue = ("all"|"disabled"|"one");
  423. export type OptionsLayoutAlgorithmValue = ("squarified"|"strip"|"stripes"|"sliceAndDice");
  424. export type OptionsLayoutStartingDirectionValue = ("horizontal"|"vertical");
  425. export type OptionsLayoutValue = ("horizontal"|"proximate"|"vertical");
  426. export type OptionsLinecapValue = ("round"|"square");
  427. export type OptionsMarkerEndValue = ("arrow"|"none");
  428. export type OptionsMinorTickPositionValue = ("inside"|"outside");
  429. export type OptionsModeValue = ("normal"|"serialize");
  430. export type OptionsOnKeyValue = ("close"|"high"|"low"|"open"|"y");
  431. export type OptionsOperatorValue = ("=="|"==="|">"|">="|"<"|"<=");
  432. export type OptionsOverflowValue = ("allow"|"justify");
  433. export type OptionsPanKeyValue = ("alt"|"ctrl"|"meta"|"shift");
  434. export type OptionsPinchTypeValue = ("x"|"xy"|"y");
  435. export type OptionsPointIntervalUnitValue = ("day"|"month"|"year");
  436. export type OptionsPointValKeyValue = ("close"|"high"|"low"|"open");
  437. export type OptionsPosition3dValue = ("chart"|"flap"|"offset"|"ortho");
  438. export type OptionsRotationModeValue = ("auto"|"circular"|"parallel"|"perpendicular");
  439. export type OptionsRotationOriginValue = ("center"|"end"|"start");
  440. export type OptionsStackingValue = ("normal"|"overlap"|"percent"|"stream");
  441. export type OptionsStepValue = ("center"|"left"|"right");
  442. export type OptionsTextAlignValue = ("center"|"left"|"right");
  443. export type OptionsTickmarkPlacementValue = ("between"|"on");
  444. export type OptionsTickPositionValue = ("inside"|"outside");
  445. export type OptionsTypeValue = ("x"|"xy"|"y");
  446. export type OptionsUnitValue = ("percentage"|"pixels"|"weight");
  447. export type OptionsZoomKeyValue = ("alt"|"ctrl"|"meta"|"shift");
  448. export type OptionsZoomTypeValue = ("x"|"xy"|"y");
  449. export type PaneBackgroundShapeValue = ("arc"|"circle"|"solid");
  450. /**
  451. * The default pathfinder algorithm to use for a chart. It is possible to define
  452. * your own algorithms by adding them to the
  453. * `Highcharts.Pathfinder.prototype.algorithms` object before the chart has been
  454. * created.
  455. *
  456. * The default algorithms are as follows:
  457. *
  458. * `straight`: Draws a straight line between the connecting points. Does not
  459. * avoid other points when drawing.
  460. *
  461. * `simpleConnect`: Finds a path between the points using right angles only.
  462. * Takes only starting/ending points into account, and will not avoid other
  463. * points.
  464. *
  465. * `fastAvoid`: Finds a path between the points using right angles only. Will
  466. * attempt to avoid other points, but its focus is performance over accuracy.
  467. * Works well with less dense datasets.
  468. */
  469. export type PathfinderTypeValue = ("straight"|"fastAvoid"|"simpleConnect"|string);
  470. /**
  471. * Function callback when a series point is clicked. Return false to cancel the
  472. * action.
  473. *
  474. * @param this
  475. * The point where the event occured.
  476. *
  477. * @param event
  478. * Event arguments.
  479. */
  480. export type PointClickCallbackFunction = (this: Point, event: PointClickEventObject) => void;
  481. /**
  482. * Function callback to execute while series points are dragged. Return false to
  483. * stop the default drag action.
  484. *
  485. * @param this
  486. * Point where the event occured.
  487. *
  488. * @param event
  489. * Event arguments.
  490. */
  491. export type PointDragCallbackFunction = (this: Point, event: PointDragEventObject) => void;
  492. /**
  493. * Function callback to execute when a series point is dragged.
  494. *
  495. * @param this
  496. * Point where the event occured.
  497. *
  498. * @param event
  499. * Event arguments.
  500. */
  501. export type PointDragStartCallbackFunction = (this: Point, event: PointDragStartEventObject) => void;
  502. /**
  503. * Function callback to execute when series points are dropped.
  504. *
  505. * @param this
  506. * Point where the event occured.
  507. *
  508. * @param event
  509. * Event arguments.
  510. */
  511. export type PointDropCallbackFunction = (this: Point, event: PointDropEventObject) => void;
  512. /**
  513. * Gets fired when the legend item belonging to a point is clicked. The default
  514. * action is to toggle the visibility of the point. This can be prevented by
  515. * returning `false` or calling `event.preventDefault()`.
  516. *
  517. * @param this
  518. * The point on which the event occured.
  519. *
  520. * @param event
  521. * The event that occured.
  522. */
  523. export type PointLegendItemClickCallbackFunction = (this: Point, event: PointLegendItemClickEventObject) => void;
  524. /**
  525. * Gets fired when the mouse leaves the area close to the point.
  526. *
  527. * @param this
  528. * Point where the event occured.
  529. *
  530. * @param event
  531. * Event that occured.
  532. */
  533. export type PointMouseOutCallbackFunction = (this: Point, event: PointerEvent) => void;
  534. /**
  535. * Gets fired when the mouse enters the area close to the point.
  536. *
  537. * @param this
  538. * Point where the event occured.
  539. *
  540. * @param event
  541. * Event that occured.
  542. */
  543. export type PointMouseOverCallbackFunction = (this: Point, event: Event) => void;
  544. /**
  545. * Possible option types for a data point. Use `null` to indicate a gap.
  546. */
  547. export type PointOptionsType = (number|string|PointOptionsObject|Array<(number|string|null)>|null);
  548. /**
  549. * Gets fired when the point is removed using the `.remove()` method.
  550. *
  551. * @param this
  552. * Point where the event occured.
  553. *
  554. * @param event
  555. * Event that occured.
  556. */
  557. export type PointRemoveCallbackFunction = (this: Point, event: Event) => void;
  558. /**
  559. * Gets fired when the point is selected either programmatically or following a
  560. * click on the point.
  561. *
  562. * @param this
  563. * Point where the event occured.
  564. *
  565. * @param event
  566. * Event that occured.
  567. */
  568. export type PointSelectCallbackFunction = (this: Point, event: PointInteractionEventObject) => void;
  569. /**
  570. * Possible key values for the point state options.
  571. */
  572. export type PointStateValue = ("hover"|"inactive"|"normal"|"select");
  573. /**
  574. * Fires when the point is unselected either programmatically or following a
  575. * click on the point.
  576. *
  577. * @param this
  578. * Point where the event occured.
  579. *
  580. * @param event
  581. * Event that occured.
  582. */
  583. export type PointUnselectCallbackFunction = (this: Point, event: PointInteractionEventObject) => void;
  584. /**
  585. * Gets fired when the point is updated programmatically through the `.update()`
  586. * method.
  587. *
  588. * @param this
  589. * Point where the event occured.
  590. *
  591. * @param event
  592. * Event that occured.
  593. */
  594. export type PointUpdateCallbackFunction = (this: Point, event: PointUpdateEventObject) => void;
  595. /**
  596. * Define the time span for the button
  597. */
  598. export type RangeSelectorButtonTypeValue = ("all"|"day"|"hour"|"millisecond"|"minute"|"month"|"second"|"week"|"year"|"ytd");
  599. /**
  600. * Callback function to react on button clicks.
  601. *
  602. * @param e
  603. * Event arguments.
  604. *
  605. * @param Return
  606. * false to cancel the default button event.
  607. */
  608. export type RangeSelectorClickCallbackFunction = (e: Event, Return: (boolean|undefined)) => void;
  609. /**
  610. * Callback function to parse values entered in the input boxes and return a
  611. * valid JavaScript time as milliseconds since 1970.
  612. *
  613. * @param value
  614. * Input value to parse.
  615. *
  616. * @return Parsed JavaScript time value.
  617. */
  618. export type RangeSelectorParseCallbackFunction = (value: string) => number;
  619. /**
  620. * If a number is given, it defines the pixel length. If a percentage string is
  621. * given, like for example `'50%'`, the setting defines a length relative to a
  622. * base size, for example the size of a container.
  623. */
  624. export type RelativeSize = (number|string);
  625. /**
  626. * A callback function to gain complete control on when the responsive rule
  627. * applies.
  628. *
  629. * @param this
  630. * Chart context.
  631. *
  632. * @return Return `true` if it applies.
  633. */
  634. export type ResponsiveCallbackFunction = (this: Chart) => boolean;
  635. /**
  636. * @param evt
  637. * Mouse click event
  638. */
  639. export type ScreenReaderClickCallbackFunction = (evt: MouseEvent) => void;
  640. /**
  641. * Creates a formatted string for the screen reader module.
  642. *
  643. * @param context
  644. * Context to format
  645. *
  646. * @return Formatted string for the screen reader module.
  647. */
  648. export type ScreenReaderFormatterCallbackFunction<T> = (context: T) => string;
  649. /**
  650. * Function callback when a series has been animated.
  651. *
  652. * @param this
  653. * The series where the event occured.
  654. *
  655. * @param event
  656. * Event arguments.
  657. */
  658. export type SeriesAfterAnimateCallbackFunction = (this: Series, event: SeriesAfterAnimateEventObject) => void;
  659. /**
  660. * Function callback when the checkbox next to the series' name in the legend is
  661. * clicked.
  662. *
  663. * @param this
  664. * The series where the event occured.
  665. *
  666. * @param event
  667. * Event arguments.
  668. */
  669. export type SeriesCheckboxClickCallbackFunction = (this: Series, event: SeriesCheckboxClickEventObject) => void;
  670. /**
  671. * Function callback when a series is clicked. Return false to cancel toogle
  672. * actions.
  673. *
  674. * @param this
  675. * The series where the event occured.
  676. *
  677. * @param event
  678. * Event arguments.
  679. */
  680. export type SeriesClickCallbackFunction = (this: Series, event: SeriesClickEventObject) => void;
  681. /**
  682. * Gets fired when the series is hidden after chart generation time, either by
  683. * clicking the legend item or by calling `.hide()`.
  684. *
  685. * @param this
  686. * The series where the event occured.
  687. *
  688. * @param event
  689. * The event that occured.
  690. */
  691. export type SeriesHideCallbackFunction = (this: Series, event: Event) => void;
  692. /**
  693. * Gets fired when the legend item belonging to a series is clicked. The default
  694. * action is to toggle the visibility of the series. This can be prevented by
  695. * returning `false` or calling `event.preventDefault()`.
  696. *
  697. * @param this
  698. * The series where the event occured.
  699. *
  700. * @param event
  701. * The event that occured.
  702. */
  703. export type SeriesLegendItemClickCallbackFunction = (this: Series, event: SeriesLegendItemClickEventObject) => void;
  704. /**
  705. * The SVG value used for the `stroke-linecap` and `stroke-linejoin` of a line
  706. * graph.
  707. */
  708. export type SeriesLinecapValue = ("butt"|"round"|"square"|string);
  709. /**
  710. * Gets fired when the mouse leaves the graph.
  711. *
  712. * @param this
  713. * Series where the event occured.
  714. *
  715. * @param event
  716. * Event that occured.
  717. */
  718. export type SeriesMouseOutCallbackFunction = (this: Series, event: PointerEvent) => void;
  719. /**
  720. * Gets fired when the mouse enters the graph.
  721. *
  722. * @param this
  723. * Series where the event occured.
  724. *
  725. * @param event
  726. * Event that occured.
  727. */
  728. export type SeriesMouseOverCallbackFunction = (this: Series, event: PointerEvent) => void;
  729. /**
  730. * Formatter callback function.
  731. *
  732. * @param this
  733. * Data label context to format
  734. *
  735. * @return Formatted data label text
  736. */
  737. export type SeriesNetworkgraphDataLabelsFormatterCallbackFunction = (this: (PointLabelObject|SeriesNetworkgraphDataLabelsFormatterContextObject)) => string;
  738. /**
  739. * The possible types of series options.
  740. */
  741. export type SeriesOptionsType = SeriesOptionsRegistry[keyof SeriesOptionsRegistry];
  742. /**
  743. * Layout value for the child nodes in an organization chart. If `hanging`, this
  744. * node's children will hang below their parent, allowing a tighter packing of
  745. * nodes in the diagram.
  746. */
  747. export type SeriesOrganizationNodesLayoutValue = ("hanging"|"normal");
  748. /**
  749. * Formatter callback function.
  750. *
  751. * @param this
  752. * Data label context to format
  753. *
  754. * @return Formatted data label text
  755. */
  756. export type SeriesPackedBubbleDataLabelsFormatterCallbackFunction = (this: SeriesPackedBubbleDataLabelsFormatterContextObject) => string;
  757. /**
  758. * Formatter callback function.
  759. *
  760. * @param this
  761. * Data label context to format
  762. *
  763. * @return Formatted data label text
  764. */
  765. export type SeriesSankeyDataLabelsFormatterCallbackFunction = (this: (PointLabelObject|SeriesSankeyDataLabelsFormatterContextObject)) => (string|undefined);
  766. /**
  767. * Gets fired when the series is shown after chart generation time, either by
  768. * clicking the legend item or by calling `.show()`.
  769. *
  770. * @param this
  771. * Series where the event occured.
  772. *
  773. * @param event
  774. * Event that occured.
  775. */
  776. export type SeriesShowCallbackFunction = (this: Series, event: Event) => void;
  777. /**
  778. * Possible key values for the series state options.
  779. */
  780. export type SeriesStateValue = ("hover"|"inactive"|"normal"|"select");
  781. /**
  782. * An SVG DOM element. The type is a reference to the regular SVGElement in the
  783. * global scope.
  784. */
  785. export type SVGDOMElement = globals.GlobalSVGElement;
  786. /**
  787. * Array of path commands, that will go into the `d` attribute of an SVG
  788. * element.
  789. */
  790. export type SVGPathArray = Array<(Array<SVGPathCommand>|[SVGPathCommand, number]|[SVGPathCommand, number, number]|[SVGPathCommand, number, number, number, number]|[SVGPathCommand, number, number,
  791. number, number, number, number]|[SVGPathCommand, number, number, number, number, number, number, number])>;
  792. /**
  793. * Possible path commands in an SVG path array. Valid values are `A`, `C`, `H`,
  794. * `L`, `M`, `Q`, `S`, `T`, `V`, `Z`.
  795. */
  796. export type SVGPathCommand = ("a"|"c"|"h"|"l"|"m"|"q"|"s"|"t"|"v"|"z"|"A"|"C"|"H"|"L"|"M"|"Q"|"S"|"T"|"V"|"Z");
  797. /**
  798. * Can be one of `arc`, `callout`, `circle`, `diamond`, `square`, `triangle`,
  799. * and `triangle-down`. Symbols are used internally for point markers, button
  800. * and label borders and backgrounds, or custom shapes. Extendable by adding to
  801. * SVGRenderer#symbols.
  802. */
  803. export type SymbolKeyValue = ("arc"|"callout"|"circle"|"diamond"|"square"|"triangle"|"triangle-down");
  804. export type TilemapShapeValue = ("circle"|"diamond"|"hexagon"|"square");
  805. /**
  806. * Function of an additional date format specifier.
  807. *
  808. * @param timestamp
  809. * The time to format.
  810. *
  811. * @return The formatted portion of the date.
  812. */
  813. export type TimeFormatCallbackFunction = (timestamp: number) => string;
  814. /**
  815. * Callback JavaScript function to format the data label as a string. Note that
  816. * if a `format` is defined, the format takes precedence and the formatter is
  817. * ignored.
  818. *
  819. * @param this
  820. * Data label context to format
  821. *
  822. * @return Formatted data label text
  823. */
  824. export type TimelineDataLabelsFormatterCallbackFunction = (this: (PointLabelObject|TimelineDataLabelsFormatterContextObject)) => (number|string|null|undefined);
  825. /**
  826. * Time units used in `Time.get` and `Time.set`
  827. */
  828. export type TimeUnitValue = ("Date"|"Day"|"FullYear"|"Hours"|"Milliseconds"|"Minutes"|"Month"|"Seconds");
  829. /**
  830. * A callback to return the time zone offset for a given datetime. It takes the
  831. * timestamp in terms of milliseconds since January 1 1970, and returns the
  832. * timezone offset in minutes. This provides a hook for drawing time based
  833. * charts in specific time zones using their local DST crossover dates, with the
  834. * help of external libraries.
  835. *
  836. * @param timestamp
  837. * Timestamp in terms of milliseconds since January 1 1970.
  838. *
  839. * @return Timezone offset in minutes.
  840. */
  841. export type TimezoneOffsetCallbackFunction = (timestamp: number) => number;
  842. /**
  843. * Callback function to format the text of the tooltip from scratch.
  844. *
  845. * In case of single or shared tooltips, a string should be be returned. In case
  846. * of splitted tooltips, it should return an array where the first item is the
  847. * header, and subsequent items are mapped to the points. Return `false` to
  848. * disable tooltip for a specific point on series.
  849. *
  850. * @param this
  851. * Context to format
  852. *
  853. * @param tooltip
  854. * The tooltip instance
  855. *
  856. * @return Formatted text or false
  857. */
  858. export type TooltipFormatterCallbackFunction = (this: TooltipFormatterContextObject, tooltip: Tooltip) => (false|string|Array<(string|null|undefined)>|null|undefined);
  859. /**
  860. * A callback function to place the tooltip in a specific position.
  861. *
  862. * @param this
  863. * Tooltip context of the callback.
  864. *
  865. * @param labelWidth
  866. * Width of the tooltip.
  867. *
  868. * @param labelHeight
  869. * Height of the tooltip.
  870. *
  871. * @param point
  872. * Point information for positioning a tooltip.
  873. *
  874. * @return New position for the tooltip.
  875. */
  876. export type TooltipPositionerCallbackFunction = (this: Tooltip, labelWidth: number, labelHeight: number, point: TooltipPositionerPointObject) => PositionObject;
  877. export type TooltipShapeValue = ("callout"|"circle"|"square");
  878. export type VariablePieSizeByValue = ("area"|"radius");
  879. /**
  880. * The vertical alignment of an element.
  881. */
  882. export type VerticalAlignValue = ("bottom"|"middle"|"top");
  883. /**
  884. * Proceed function to call original (wrapped) function.
  885. *
  886. * @param arg1
  887. * Optional argument. Without any arguments defaults to first argument of
  888. * the wrapping function.
  889. *
  890. * @param arg2
  891. * Optional argument. Without any arguments defaults to second argument
  892. * of the wrapping function.
  893. *
  894. * @param arg3
  895. * Optional argument. Without any arguments defaults to third argument of
  896. * the wrapping function.
  897. *
  898. * @return Return value of the original function.
  899. */
  900. export type WrapProceedFunction = (arg1?: any, arg2?: any, arg3?: any) => any;
  901. /**
  902. * Formatter function for the text of a crosshair label.
  903. *
  904. * @param this
  905. * Axis context
  906. *
  907. * @param value
  908. * Y value of the data point
  909. */
  910. export type XAxisCrosshairLabelFormatterCallbackFunction = (this: Axis, value: number) => string;
  911. /**
  912. * (Highcharts, Highstock, Highmaps, Gantt) Options for announcing new data to
  913. * screen reader users. Useful for dynamic data applications and drilldown.
  914. *
  915. * Keep in mind that frequent announcements will not be useful to users, as they
  916. * won't have time to explore the new data. For these applications, consider
  917. * making snapshots of the data accessible, and do the announcements in batches.
  918. */
  919. export interface AccessibilityAnnounceNewDataOptionsObject {
  920. /**
  921. * (Highcharts, Highstock, Highmaps, Gantt) Optional formatter callback for
  922. * the announcement. Receives up to three arguments. The first argument is
  923. * always an array of all series that received updates. If an announcement
  924. * is already queued, the series that received updates for that announcement
  925. * are also included in this array. The second argument is provided if
  926. * `chart.addSeries` was called, and there is a new series. In that case,
  927. * this argument is a reference to the new series. The third argument,
  928. * similarly, is provided if `series.addPoint` was called, and there is a
  929. * new point. In that case, this argument is a reference to the new point.
  930. *
  931. * The function should return a string with the text to announce to the
  932. * user. Return empty string to not announce anything. Return `false` to use
  933. * the default announcement format.
  934. */
  935. announcementFormatter?: AccessibilityAnnouncementFormatter;
  936. /**
  937. * (Highcharts, Highstock, Highmaps, Gantt) Enable announcing new data to
  938. * screen reader users
  939. */
  940. enabled?: boolean;
  941. /**
  942. * (Highcharts, Highstock, Highmaps, Gantt) Choose whether or not the
  943. * announcements should interrupt the screen reader. If not enabled, the
  944. * user will be notified once idle. It is recommended not to enable this
  945. * setting unless there is a specific reason to do so.
  946. */
  947. interruptUser?: boolean;
  948. /**
  949. * (Highcharts, Highstock, Highmaps, Gantt) Minimum interval between
  950. * announcements in milliseconds. If new data arrives before this amount of
  951. * time has passed, it is queued for announcement. If another new data event
  952. * happens while an announcement is queued, the queued announcement is
  953. * dropped, and the latest announcement is queued instead. Set to 0 to allow
  954. * all announcements, but be warned that frequent announcements are
  955. * disturbing to users.
  956. */
  957. minAnnounceInterval?: number;
  958. }
  959. /**
  960. * (Highcharts, Highstock, Highmaps, Gantt) Options for configuring
  961. * accessibility for the chart. Requires the accessibility module to be loaded.
  962. * For a description of the module and information on its features, see
  963. * Highcharts Accessibility.
  964. */
  965. export interface AccessibilityOptions {
  966. /**
  967. * (Highcharts, Highstock, Highmaps, Gantt) Options for announcing new data
  968. * to screen reader users. Useful for dynamic data applications and
  969. * drilldown.
  970. *
  971. * Keep in mind that frequent announcements will not be useful to users, as
  972. * they won't have time to explore the new data. For these applications,
  973. * consider making snapshots of the data accessible, and do the
  974. * announcements in batches.
  975. */
  976. announceNewData?: AccessibilityAnnounceNewDataOptionsObject;
  977. /**
  978. * (Highcharts, Highstock, Highmaps, Gantt) A hook for adding custom
  979. * components to the accessibility module. Should be an object mapping
  980. * component names to instances of classes inheriting from the
  981. * Highcharts.AccessibilityComponent base class. Remember to add the
  982. * component to the keyboardNavigation.order for the keyboard navigation to
  983. * be usable.
  984. */
  985. customComponents?: any;
  986. /**
  987. * (Highcharts, Highstock, Highmaps, Gantt) A text description of the chart.
  988. *
  989. * **Note: Prefer using linkedDescription or caption instead.**
  990. *
  991. * If the Accessibility module is loaded, this option is included by default
  992. * as a long description of the chart in the hidden screen reader
  993. * information region.
  994. *
  995. * Note: Since Highcharts now supports captions and linked descriptions, it
  996. * is preferred to define the description using those methods, as a visible
  997. * caption/description benefits all users. If the
  998. * `accessibility.description` option is defined, the linked description is
  999. * ignored, and the caption is hidden from screen reader users.
  1000. */
  1001. description?: string;
  1002. /**
  1003. * (Highcharts, Highstock, Highmaps, Gantt) Enable accessibility
  1004. * functionality for the chart.
  1005. */
  1006. enabled?: boolean;
  1007. /**
  1008. * (Highcharts, Highstock, Highmaps, Gantt) Theme to apply to the chart when
  1009. * Windows High Contrast Mode is detected. By default, a high contrast theme
  1010. * matching the high contrast system system colors is used.
  1011. */
  1012. highContrastTheme?: any;
  1013. /**
  1014. * (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation.
  1015. */
  1016. keyboardNavigation?: KeyboardNavigationOptionsObject;
  1017. /**
  1018. * (Highcharts, Highstock, Highmaps, Gantt) Amount of landmarks/regions to
  1019. * create for screen reader users. More landmarks can make navigation with
  1020. * screen readers easier, but can be distracting if there are lots of charts
  1021. * on the page. Three modes are available:
  1022. *
  1023. * - `all`: Adds regions for all series, legend, menu, information region.
  1024. *
  1025. * - `one`: Adds a single landmark per chart.
  1026. *
  1027. * - `disabled`: No landmarks are added.
  1028. */
  1029. landmarkVerbosity?: OptionsLandmarkVerbosityValue;
  1030. /**
  1031. * (Highcharts, Highstock, Highmaps, Gantt) Link the chart to an HTML
  1032. * element describing the contents of the chart.
  1033. *
  1034. * It is always recommended to describe charts using visible text, to
  1035. * improve SEO as well as accessibility for users with disabilities. This
  1036. * option lets an HTML element with a description be linked to the chart, so
  1037. * that screen reader users can connect the two.
  1038. *
  1039. * By setting this option to a string, Highcharts runs the string as an HTML
  1040. * selector query on the entire document. If there is only a single match,
  1041. * this element is linked to the chart. The content of the linked element
  1042. * will be included in the chart description for screen reader users.
  1043. *
  1044. * By default, the chart looks for an adjacent sibling element with the
  1045. * `highcharts-description` class.
  1046. *
  1047. * The feature can be disabled by setting the option to an empty string, or
  1048. * overridden by providing the accessibility.description option.
  1049. * Alternatively, the HTML element to link can be passed in directly as an
  1050. * HTML node.
  1051. *
  1052. * If you need the description to be part of the exported image, consider
  1053. * using the caption feature.
  1054. *
  1055. * If you need the description to be hidden visually, use the
  1056. * accessibility.description option.
  1057. */
  1058. linkedDescription?: (string|HTMLDOMElement);
  1059. /**
  1060. * (Highcharts, Highstock, Highmaps, Gantt) Options for descriptions of
  1061. * individual data points.
  1062. */
  1063. point?: AccessibilityPointOptions;
  1064. /**
  1065. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
  1066. * screen reader information sections added before and after the chart.
  1067. */
  1068. screenReaderSection?: AccessibilityScreenReaderSectionOptions;
  1069. /**
  1070. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options global to
  1071. * all data series. Individual series can also have specific accessibility
  1072. * options set.
  1073. */
  1074. series?: AccessibilitySeriesOptions;
  1075. /**
  1076. * (Highcharts, Highstock, Highmaps, Gantt) A text description of the chart
  1077. * type.
  1078. *
  1079. * If the Accessibility module is loaded, this will be included in the
  1080. * description of the chart in the screen reader information region.
  1081. *
  1082. * Highcharts will by default attempt to guess the chart type, but for more
  1083. * complex charts it is recommended to specify this property for clarity.
  1084. */
  1085. typeDescription?: string;
  1086. }
  1087. /**
  1088. * (Highcharts, Highstock, Highmaps, Gantt) Options for descriptions of
  1089. * individual data points.
  1090. */
  1091. export interface AccessibilityPointOptions {
  1092. /**
  1093. * (Highcharts, Highstock, Highmaps, Gantt) Date format to use for points on
  1094. * datetime axes when describing them to screen reader users.
  1095. *
  1096. * Defaults to the same format as in tooltip.
  1097. *
  1098. * For an overview of the replacement codes, see dateFormat.
  1099. */
  1100. dateFormat?: string;
  1101. /**
  1102. * (Highcharts, Highstock, Highmaps, Gantt) Formatter function to determine
  1103. * the date/time format used with points on datetime axes when describing
  1104. * them to screen reader users. Receives one argument, `point`, referring to
  1105. * the point to describe. Should return a date format string compatible with
  1106. * dateFormat.
  1107. */
  1108. dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
  1109. /**
  1110. * (Highcharts, Highstock, Highmaps, Gantt) Formatter function to use
  1111. * instead of the default for point descriptions.
  1112. *
  1113. * Receives one argument, `point`, referring to the point to describe.
  1114. * Should return a string with the description of the point for a screen
  1115. * reader user. If `false` is returned, the default formatter will be used
  1116. * for that point.
  1117. *
  1118. * Note: Prefer using accessibility.point.valueDescriptionFormat instead if
  1119. * possible, as default functionality such as describing annotations will be
  1120. * preserved.
  1121. */
  1122. descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
  1123. /**
  1124. * (Highcharts, Highstock, Highmaps, Gantt) Decimals to use for the values
  1125. * in the point descriptions. Uses tooltip.valueDecimals if not defined.
  1126. */
  1127. valueDecimals?: number;
  1128. /**
  1129. * (Highcharts, Highstock, Highmaps, Gantt) Format to use for describing the
  1130. * values of data points to assistive technology - including screen readers.
  1131. * The point context is available as `{point}`.
  1132. *
  1133. * Additionally, the series name, annotation info, and description added in
  1134. * `point.accessibility.description` is added by default if relevant. To
  1135. * override this, use the accessibility.point.descriptionFormatter option.
  1136. */
  1137. valueDescriptionFormat?: string;
  1138. /**
  1139. * (Highcharts, Highstock, Highmaps, Gantt) Prefix to add to the values in
  1140. * the point descriptions. Uses tooltip.valuePrefix if not defined.
  1141. */
  1142. valuePrefix?: string;
  1143. /**
  1144. * (Highcharts, Highstock, Highmaps, Gantt) Suffix to add to the values in
  1145. * the point descriptions. Uses tooltip.valueSuffix if not defined.
  1146. */
  1147. valueSuffix?: string;
  1148. }
  1149. /**
  1150. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the screen
  1151. * reader information sections added before and after the chart.
  1152. */
  1153. export interface AccessibilityScreenReaderSectionOptions {
  1154. /**
  1155. * (Highcharts, Highstock, Highmaps, Gantt) Format for the screen reader
  1156. * information region after the chart. Analogous to beforeChartFormat.
  1157. */
  1158. afterChartFormat?: string;
  1159. /**
  1160. * (Highcharts, Highstock, Highmaps, Gantt) A formatter function to create
  1161. * the HTML contents of the hidden screen reader information region after
  1162. * the chart. Analogous to beforeChartFormatter.
  1163. */
  1164. afterChartFormatter?: ScreenReaderFormatterCallbackFunction<Chart>;
  1165. /**
  1166. * (Highcharts, Highstock, Highmaps, Gantt) Date format to use to describe
  1167. * range of datetime axes.
  1168. *
  1169. * For an overview of the replacement codes, see dateFormat.
  1170. */
  1171. axisRangeDateFormat?: string;
  1172. /**
  1173. * (Highcharts, Highstock, Highmaps, Gantt) Format for the screen reader
  1174. * information region before the chart. Supported HTML tags are `<h1-6>`,
  1175. * `<p>`, `<div>`, `<a>`, `<ul>`, `<ol>`, `<li>`, and `<button>`. Attributes
  1176. * are not supported, except for id on `<div>`, `<a>`, and `<button>`. Id is
  1177. * required on `<a>` and `<button>` in the format `<tag id="abcd">`.
  1178. * Numbers, lower- and uppercase letters, "-" and "#" are valid characters
  1179. * in IDs.
  1180. *
  1181. * The headingTagName is an auto-detected heading (h1-h6) that corresponds
  1182. * to the heading level below the previous heading in the DOM.
  1183. */
  1184. beforeChartFormat?: string;
  1185. /**
  1186. * (Highcharts, Highstock, Highmaps, Gantt) A formatter function to create
  1187. * the HTML contents of the hidden screen reader information region before
  1188. * the chart. Receives one argument, `chart`, referring to the chart object.
  1189. * Should return a string with the HTML content of the region. By default
  1190. * this returns an automatic description of the chart based on
  1191. * beforeChartFormat.
  1192. */
  1193. beforeChartFormatter?: ScreenReaderFormatterCallbackFunction<Chart>;
  1194. /**
  1195. * (Highcharts, Highstock, Highmaps, Gantt) Function to run upon clicking
  1196. * the "Play as sound" button in the screen reader region.
  1197. *
  1198. * By default Highcharts will call the `chart.sonify` function.
  1199. */
  1200. onPlayAsSoundClick?: ScreenReaderClickCallbackFunction;
  1201. /**
  1202. * (Highcharts, Highstock, Highmaps, Gantt) Function to run upon clicking
  1203. * the "View as Data Table" link in the screen reader region.
  1204. *
  1205. * By default Highcharts will insert and set focus to a data table
  1206. * representation of the chart.
  1207. */
  1208. onViewDataTableClick?: ScreenReaderClickCallbackFunction;
  1209. }
  1210. /**
  1211. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options global to all
  1212. * data series. Individual series can also have specific accessibility options
  1213. * set.
  1214. */
  1215. export interface AccessibilitySeriesOptions {
  1216. /**
  1217. * (Highcharts, Highstock, Highmaps, Gantt) Whether or not to add series
  1218. * descriptions to charts with a single series.
  1219. */
  1220. describeSingleSeries?: boolean;
  1221. /**
  1222. * (Highcharts, Highstock, Highmaps, Gantt) Formatter function to use
  1223. * instead of the default for series descriptions. Receives one argument,
  1224. * `series`, referring to the series to describe. Should return a string
  1225. * with the description of the series for a screen reader user. If `false`
  1226. * is returned, the default formatter will be used for that series.
  1227. */
  1228. descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Series>;
  1229. /**
  1230. * (Highcharts, Highstock, Highmaps, Gantt) When a series contains more
  1231. * points than this, we no longer expose information about individual points
  1232. * to screen readers.
  1233. *
  1234. * Set to `false` to disable.
  1235. */
  1236. pointDescriptionEnabledThreshold?: (boolean|number);
  1237. }
  1238. /**
  1239. * Options to align the element relative to the chart or another box.
  1240. */
  1241. export interface AlignObject {
  1242. /**
  1243. * Horizontal alignment. Can be one of `left`, `center` and `right`.
  1244. */
  1245. align?: AlignValue;
  1246. /**
  1247. * Use the `transform` attribute with translateX and translateY custom
  1248. * attributes to align this elements rather than `x` and `y` attributes.
  1249. */
  1250. alignByTranslate?: boolean;
  1251. /**
  1252. * Vertical alignment. Can be one of `top`, `middle` and `bottom`.
  1253. */
  1254. verticalAlign?: VerticalAlignValue;
  1255. /**
  1256. * Horizontal pixel offset from alignment.
  1257. */
  1258. x?: number;
  1259. /**
  1260. * Vertical pixel offset from alignment.
  1261. */
  1262. y?: number;
  1263. }
  1264. /**
  1265. * An animation configuration. Animation configurations can also be defined as
  1266. * booleans, where `false` turns off animation and `true` defaults to a duration
  1267. * of 500ms and defer of 0ms.
  1268. */
  1269. export interface AnimationOptionsObject {
  1270. /**
  1271. * A callback function to exectute when the animation finishes.
  1272. */
  1273. complete?: Function;
  1274. /**
  1275. * The animation defer in milliseconds.
  1276. */
  1277. defer?: number;
  1278. /**
  1279. * The animation duration in milliseconds.
  1280. */
  1281. duration?: number;
  1282. /**
  1283. * The name of an easing function as defined on the `Math` object.
  1284. */
  1285. easing?: (string|Function);
  1286. /**
  1287. * A callback function to execute on each step of each attribute or CSS
  1288. * property that's being animated. The first argument contains information
  1289. * about the animation and progress.
  1290. */
  1291. step?: Function;
  1292. }
  1293. export interface AnnotationControllable {
  1294. annotation: Annotation;
  1295. chart: Chart;
  1296. collection: string;
  1297. points: Array<Point>;
  1298. }
  1299. /**
  1300. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's control
  1301. * points. Each control point inherits options from controlPointOptions object.
  1302. * Options from the controlPointOptions can be overwritten by options in a
  1303. * specific control point.
  1304. */
  1305. export interface AnnotationControlPointOptionsObject {
  1306. positioner?: AnnotationControlPointPositionerFunction;
  1307. }
  1308. /**
  1309. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  1310. * annotation label.
  1311. */
  1312. export interface AnnotationLabelAccessibilityOptionsObject {
  1313. /**
  1314. * (Highcharts, Highstock, Highmaps, Gantt) Description of an annotation
  1315. * label for screen readers and other assistive technology.
  1316. */
  1317. description?: string;
  1318. }
  1319. /**
  1320. * (Highcharts, Highstock, Highmaps, Gantt) An array of points for the shape.
  1321. * This option is available for shapes which can use multiple points such as
  1322. * path. A point can be either a point object or a point's id.
  1323. */
  1324. export interface AnnotationMockPointOptionsObject {
  1325. /**
  1326. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the point.
  1327. * Units can be either in axis or chart pixel coordinates.
  1328. */
  1329. x?: number;
  1330. /**
  1331. * (Highcharts, Highstock, Highmaps, Gantt) This number defines which xAxis
  1332. * the point is connected to. It refers to either the axis id or the index
  1333. * of the axis in the xAxis array. If the option is not configured or the
  1334. * axis is not found the point's x coordinate refers to the chart pixels.
  1335. */
  1336. xAxis?: (number|string|null);
  1337. /**
  1338. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the point.
  1339. * Units can be either in axis or chart pixel coordinates.
  1340. */
  1341. y?: number;
  1342. /**
  1343. * (Highcharts, Highstock, Highmaps, Gantt) This number defines which yAxis
  1344. * the point is connected to. It refers to either the axis id or the index
  1345. * of the axis in the yAxis array. If the option is not configured or the
  1346. * axis is not found the point's y coordinate refers to the chart pixels.
  1347. */
  1348. yAxis?: (number|string|null);
  1349. }
  1350. /**
  1351. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  1352. * animation when a series is displayed for the `annotation`. The animation can
  1353. * also be set as a configuration object. Please note that this option only
  1354. * applies to the initial animation. For other animations, see chart.animation
  1355. * and the animation parameter under the API methods. The following properties
  1356. * are supported:
  1357. *
  1358. * - `defer`: The animation delay time in milliseconds.
  1359. */
  1360. export interface AnnotationsAnimationOptions {
  1361. /**
  1362. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  1363. * milliseconds. Set to `0` renders annotation immediately. As `undefined`
  1364. * inherits defer time from the series.animation.defer.
  1365. */
  1366. defer?: number;
  1367. }
  1368. export interface AnnotationsCrookedLineControlPointOptions {
  1369. events?: any;
  1370. }
  1371. /**
  1372. * (Highstock) Options for annotation's labels. Each label inherits options from
  1373. * the labelOptions object. An option from the labelOptions can be overwritten
  1374. * by config for a specific label.
  1375. */
  1376. export interface AnnotationsCrookedLineLabelOptions {
  1377. /**
  1378. * (Highstock) Accessibility options for an annotation label.
  1379. */
  1380. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  1381. /**
  1382. * (Highstock) The alignment of the annotation's label. If right, the right
  1383. * side of the label should be touching the point.
  1384. */
  1385. align?: AlignValue;
  1386. /**
  1387. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  1388. * the labels less sensitive for overlapping, the can be set to 0.
  1389. */
  1390. allowOverlap?: boolean;
  1391. /**
  1392. * (Highstock) The background color or gradient for the annotation's label.
  1393. */
  1394. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  1395. /**
  1396. * (Highstock) The border color for the annotation's label.
  1397. */
  1398. borderColor?: ColorString;
  1399. /**
  1400. * (Highstock) The border radius in pixels for the annotaiton's label.
  1401. */
  1402. borderRadius?: number;
  1403. /**
  1404. * (Highstock) The border width in pixels for the annotation's label
  1405. */
  1406. borderWidth?: number;
  1407. /**
  1408. * (Highstock) A class name for styling by CSS.
  1409. */
  1410. className?: string;
  1411. /**
  1412. * (Highstock) Whether to hide the annotation's label that is outside the
  1413. * plot area.
  1414. */
  1415. crop?: boolean;
  1416. /**
  1417. * (Highstock) The label's pixel distance from the point.
  1418. */
  1419. distance?: number;
  1420. /**
  1421. * (Highstock) A format string for the data label.
  1422. */
  1423. format?: string;
  1424. /**
  1425. * (Highstock) Callback JavaScript function to format the annotation's
  1426. * label. Note that if a `format` or `text` are defined, the format or text
  1427. * take precedence and the formatter is ignored. `This` refers to a point
  1428. * object.
  1429. */
  1430. formatter?: FormatterCallbackFunction<Point>;
  1431. /**
  1432. * (Highstock) Whether the annotation is visible in the exported data table.
  1433. */
  1434. includeInDataExport?: boolean;
  1435. /**
  1436. * (Highstock) How to handle the annotation's label that flow outside the
  1437. * plot area. The justify option aligns the label inside the plot area.
  1438. */
  1439. overflow?: OptionsOverflowValue;
  1440. /**
  1441. * (Highstock) When either the borderWidth or the backgroundColor is set,
  1442. * this is the padding within the box.
  1443. */
  1444. padding?: number;
  1445. /**
  1446. * (Highstock) The shadow of the box. The shadow can be an object
  1447. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  1448. * `width`.
  1449. */
  1450. shadow?: (boolean|ShadowOptionsObject);
  1451. /**
  1452. * (Highstock) The name of a symbol to use for the border around the label.
  1453. * Symbols are predefined functions on the Renderer object.
  1454. */
  1455. shape?: string;
  1456. /**
  1457. * (Highstock) Styles for the annotation's label.
  1458. */
  1459. style?: CSSObject;
  1460. /**
  1461. * (Highstock) Alias for the format option.
  1462. */
  1463. text?: string;
  1464. /**
  1465. * (Highstock) Whether to use HTML to render the annotation's label.
  1466. */
  1467. useHTML?: boolean;
  1468. /**
  1469. * (Highstock) The vertical alignment of the annotation's label.
  1470. */
  1471. verticalAlign?: VerticalAlignValue;
  1472. /**
  1473. * (Highstock) The x position offset of the label relative to the point.
  1474. * Note that if a `distance` is defined, the distance takes precedence over
  1475. * `x` and `y` options.
  1476. */
  1477. x?: number;
  1478. /**
  1479. * (Highstock) The y position offset of the label relative to the point.
  1480. * Note that if a `distance` is defined, the distance takes precedence over
  1481. * `x` and `y` options.
  1482. */
  1483. y?: number;
  1484. }
  1485. /**
  1486. * (Highstock) A crooked line annotation.
  1487. */
  1488. export interface AnnotationsCrookedLineOptions {
  1489. controlPointOptions?: AnnotationsCrookedLineControlPointOptions;
  1490. /**
  1491. * (Highstock) Options for annotation's labels. Each label inherits options
  1492. * from the labelOptions object. An option from the labelOptions can be
  1493. * overwritten by config for a specific label.
  1494. */
  1495. labelOptions?: AnnotationsCrookedLineLabelOptions;
  1496. /**
  1497. * (Highstock) Options for annotation's shapes. Each shape inherits options
  1498. * from the shapeOptions object. An option from the shapeOptions can be
  1499. * overwritten by config for a specific shape.
  1500. */
  1501. shapeOptions?: AnnotationsCrookedLineShapeOptions;
  1502. /**
  1503. * (Highstock) Additional options for an annotation with the type.
  1504. */
  1505. typeOptions?: AnnotationsCrookedLineTypeOptions;
  1506. }
  1507. /**
  1508. * (Highstock) Options for annotation's shapes. Each shape inherits options from
  1509. * the shapeOptions object. An option from the shapeOptions can be overwritten
  1510. * by config for a specific shape.
  1511. */
  1512. export interface AnnotationsCrookedLineShapeOptions {
  1513. /**
  1514. * (Highstock) Name of the dash style to use for the shape's stroke.
  1515. */
  1516. dashStyle?: DashStyleValue;
  1517. /**
  1518. * (Highstock) The color of the shape's fill.
  1519. */
  1520. fill?: (ColorString|GradientColorObject|PatternObject);
  1521. /**
  1522. * (Highstock) The height of the shape.
  1523. */
  1524. height?: number;
  1525. /**
  1526. * (Highstock) The radius of the shape.
  1527. */
  1528. r?: number;
  1529. /**
  1530. * (Highstock) Defines additional snapping area around an annotation making
  1531. * this annotation to focus. Defined in pixels.
  1532. */
  1533. snap?: number;
  1534. /**
  1535. * (Highstock) The URL for an image to use as the annotation shape. Note,
  1536. * type has to be set to `'image'`.
  1537. */
  1538. src?: string;
  1539. /**
  1540. * (Highstock) The color of the shape's stroke.
  1541. */
  1542. stroke?: ColorString;
  1543. /**
  1544. * (Highstock) The pixel stroke width of the shape.
  1545. */
  1546. strokeWidth?: number;
  1547. /**
  1548. * (Highstock) The type of the shape, e.g. circle or rectangle.
  1549. */
  1550. type?: string;
  1551. /**
  1552. * (Highstock) The width of the shape.
  1553. */
  1554. width?: number;
  1555. }
  1556. /**
  1557. * (Highstock) Line options.
  1558. */
  1559. export interface AnnotationsCrookedLineTypeLineOptions {
  1560. fill?: string;
  1561. }
  1562. /**
  1563. * (Highstock) Additional options for an annotation with the type.
  1564. */
  1565. export interface AnnotationsCrookedLineTypeOptions {
  1566. /**
  1567. * (Highstock) Line options.
  1568. */
  1569. line?: AnnotationsCrookedLineTypeLineOptions;
  1570. points?: Array<AnnotationsCrookedLineTypePointsOptions>;
  1571. /**
  1572. * (Highstock) This number defines which xAxis the point is connected to. It
  1573. * refers to either the axis id or the index of the axis in the xAxis array.
  1574. */
  1575. xAxis?: number;
  1576. /**
  1577. * (Highstock) This number defines which yAxis the point is connected to. It
  1578. * refers to either the axis id or the index of the axis in the xAxis array.
  1579. */
  1580. yAxis?: number;
  1581. }
  1582. export interface AnnotationsCrookedLineTypePointsOptions {
  1583. controlPoint?: number;
  1584. /**
  1585. * (Highstock) The x position of the point.
  1586. */
  1587. x?: number;
  1588. /**
  1589. * (Highstock) The y position of the point.
  1590. */
  1591. y?: number;
  1592. }
  1593. export interface AnnotationsElliottWaveControlPointOptions {
  1594. events?: any;
  1595. }
  1596. /**
  1597. * (Highstock) Options for annotation's labels. Each label inherits options from
  1598. * the labelOptions object. An option from the labelOptions can be overwritten
  1599. * by config for a specific label.
  1600. */
  1601. export interface AnnotationsElliottWaveLabelOptions {
  1602. /**
  1603. * (Highstock) Accessibility options for an annotation label.
  1604. */
  1605. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  1606. /**
  1607. * (Highstock) The alignment of the annotation's label. If right, the right
  1608. * side of the label should be touching the point.
  1609. */
  1610. align?: string;
  1611. /**
  1612. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  1613. * the labels less sensitive for overlapping, the can be set to 0.
  1614. */
  1615. allowOverlap?: boolean;
  1616. /**
  1617. * (Highstock) The background color or gradient for the annotation's label.
  1618. */
  1619. backgroundColor?: string;
  1620. /**
  1621. * (Highstock) The border color for the annotation's label.
  1622. */
  1623. borderColor?: ColorString;
  1624. /**
  1625. * (Highstock) The border radius in pixels for the annotaiton's label.
  1626. */
  1627. borderRadius?: number;
  1628. /**
  1629. * (Highstock) The border width in pixels for the annotation's label
  1630. */
  1631. borderWidth?: number;
  1632. /**
  1633. * (Highstock) A class name for styling by CSS.
  1634. */
  1635. className?: string;
  1636. /**
  1637. * (Highstock) Whether to hide the annotation's label that is outside the
  1638. * plot area.
  1639. */
  1640. crop?: boolean;
  1641. /**
  1642. * (Highstock) The label's pixel distance from the point.
  1643. */
  1644. distance?: number;
  1645. /**
  1646. * (Highstock) A format string for the data label.
  1647. */
  1648. format?: string;
  1649. /**
  1650. * (Highstock) Callback JavaScript function to format the annotation's
  1651. * label. Note that if a `format` or `text` are defined, the format or text
  1652. * take precedence and the formatter is ignored. `This` refers to a point
  1653. * object.
  1654. */
  1655. formatter?: FormatterCallbackFunction<Point>;
  1656. /**
  1657. * (Highstock) Whether the annotation is visible in the exported data table.
  1658. */
  1659. includeInDataExport?: boolean;
  1660. /**
  1661. * (Highstock) How to handle the annotation's label that flow outside the
  1662. * plot area. The justify option aligns the label inside the plot area.
  1663. */
  1664. overflow?: OptionsOverflowValue;
  1665. /**
  1666. * (Highstock) When either the borderWidth or the backgroundColor is set,
  1667. * this is the padding within the box.
  1668. */
  1669. padding?: number;
  1670. /**
  1671. * (Highstock) The shadow of the box. The shadow can be an object
  1672. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  1673. * `width`.
  1674. */
  1675. shadow?: (boolean|ShadowOptionsObject);
  1676. /**
  1677. * (Highstock) The name of a symbol to use for the border around the label.
  1678. * Symbols are predefined functions on the Renderer object.
  1679. */
  1680. shape?: string;
  1681. /**
  1682. * (Highstock) Styles for the annotation's label.
  1683. */
  1684. style?: CSSObject;
  1685. /**
  1686. * (Highstock) Alias for the format option.
  1687. */
  1688. text?: string;
  1689. type?: string;
  1690. /**
  1691. * (Highstock) Whether to use HTML to render the annotation's label.
  1692. */
  1693. useHTML?: boolean;
  1694. /**
  1695. * (Highstock) The vertical alignment of the annotation's label.
  1696. */
  1697. verticalAlign?: VerticalAlignValue;
  1698. /**
  1699. * (Highstock) The x position offset of the label relative to the point.
  1700. * Note that if a `distance` is defined, the distance takes precedence over
  1701. * `x` and `y` options.
  1702. */
  1703. x?: number;
  1704. /**
  1705. * (Highstock) The y position offset of the label relative to the point.
  1706. * Note that if a `distance` is defined, the distance takes precedence over
  1707. * `x` and `y` options.
  1708. */
  1709. y?: number;
  1710. }
  1711. /**
  1712. * (Highstock) An elliott wave annotation.
  1713. */
  1714. export interface AnnotationsElliottWaveOptions {
  1715. controlPointOptions?: AnnotationsElliottWaveControlPointOptions;
  1716. /**
  1717. * (Highstock) Options for annotation's labels. Each label inherits options
  1718. * from the labelOptions object. An option from the labelOptions can be
  1719. * overwritten by config for a specific label.
  1720. */
  1721. labelOptions?: AnnotationsElliottWaveLabelOptions;
  1722. /**
  1723. * (Highstock) Options for annotation's shapes. Each shape inherits options
  1724. * from the shapeOptions object. An option from the shapeOptions can be
  1725. * overwritten by config for a specific shape.
  1726. */
  1727. shapeOptions?: AnnotationsElliottWaveShapeOptions;
  1728. /**
  1729. * (Highstock) Additional options for an annotation with the type.
  1730. */
  1731. typeOptions?: AnnotationsElliottWaveTypeOptions;
  1732. }
  1733. /**
  1734. * (Highstock) Options for annotation's shapes. Each shape inherits options from
  1735. * the shapeOptions object. An option from the shapeOptions can be overwritten
  1736. * by config for a specific shape.
  1737. */
  1738. export interface AnnotationsElliottWaveShapeOptions {
  1739. /**
  1740. * (Highstock) Name of the dash style to use for the shape's stroke.
  1741. */
  1742. dashStyle?: DashStyleValue;
  1743. /**
  1744. * (Highstock) The color of the shape's fill.
  1745. */
  1746. fill?: (ColorString|GradientColorObject|PatternObject);
  1747. /**
  1748. * (Highstock) The height of the shape.
  1749. */
  1750. height?: number;
  1751. /**
  1752. * (Highstock) The radius of the shape.
  1753. */
  1754. r?: number;
  1755. /**
  1756. * (Highstock) Defines additional snapping area around an annotation making
  1757. * this annotation to focus. Defined in pixels.
  1758. */
  1759. snap?: number;
  1760. /**
  1761. * (Highstock) The URL for an image to use as the annotation shape. Note,
  1762. * type has to be set to `'image'`.
  1763. */
  1764. src?: string;
  1765. /**
  1766. * (Highstock) The color of the shape's stroke.
  1767. */
  1768. stroke?: ColorString;
  1769. /**
  1770. * (Highstock) The pixel stroke width of the shape.
  1771. */
  1772. strokeWidth?: number;
  1773. /**
  1774. * (Highstock) The type of the shape, e.g. circle or rectangle.
  1775. */
  1776. type?: string;
  1777. /**
  1778. * (Highstock) The width of the shape.
  1779. */
  1780. width?: number;
  1781. }
  1782. /**
  1783. * (Highstock) Line options.
  1784. */
  1785. export interface AnnotationsElliottWaveTypeLineOptions {
  1786. fill?: string;
  1787. strokeWidth?: number;
  1788. }
  1789. /**
  1790. * (Highstock) Additional options for an annotation with the type.
  1791. */
  1792. export interface AnnotationsElliottWaveTypeOptions {
  1793. /**
  1794. * (Highstock) Line options.
  1795. */
  1796. line?: AnnotationsElliottWaveTypeLineOptions;
  1797. points?: Array<AnnotationsElliottWaveTypePointsOptions>;
  1798. /**
  1799. * (Highstock) This number defines which xAxis the point is connected to. It
  1800. * refers to either the axis id or the index of the axis in the xAxis array.
  1801. */
  1802. xAxis?: number;
  1803. /**
  1804. * (Highstock) This number defines which yAxis the point is connected to. It
  1805. * refers to either the axis id or the index of the axis in the xAxis array.
  1806. */
  1807. yAxis?: number;
  1808. }
  1809. /**
  1810. * (Highstock) Options for annotation's labels. Each label inherits options from
  1811. * the labelOptions object. An option from the labelOptions can be overwritten
  1812. * by config for a specific label.
  1813. */
  1814. export interface AnnotationsElliottWaveTypePointsLabelOptions {
  1815. /**
  1816. * (Highstock) Accessibility options for an annotation label.
  1817. */
  1818. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  1819. /**
  1820. * (Highstock) The alignment of the annotation's label. If right, the right
  1821. * side of the label should be touching the point.
  1822. */
  1823. align?: AlignValue;
  1824. /**
  1825. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  1826. * the labels less sensitive for overlapping, the can be set to 0.
  1827. */
  1828. allowOverlap?: boolean;
  1829. /**
  1830. * (Highstock) The background color or gradient for the annotation's label.
  1831. */
  1832. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  1833. /**
  1834. * (Highstock) The border color for the annotation's label.
  1835. */
  1836. borderColor?: ColorString;
  1837. /**
  1838. * (Highstock) The border radius in pixels for the annotaiton's label.
  1839. */
  1840. borderRadius?: number;
  1841. /**
  1842. * (Highstock) The border width in pixels for the annotation's label
  1843. */
  1844. borderWidth?: number;
  1845. /**
  1846. * (Highstock) A class name for styling by CSS.
  1847. */
  1848. className?: string;
  1849. /**
  1850. * (Highstock) Whether to hide the annotation's label that is outside the
  1851. * plot area.
  1852. */
  1853. crop?: boolean;
  1854. /**
  1855. * (Highstock) The label's pixel distance from the point.
  1856. */
  1857. distance?: number;
  1858. /**
  1859. * (Highstock) A format string for the data label.
  1860. */
  1861. format?: string;
  1862. /**
  1863. * (Highstock) Callback JavaScript function to format the annotation's
  1864. * label. Note that if a `format` or `text` are defined, the format or text
  1865. * take precedence and the formatter is ignored. `This` refers to a point
  1866. * object.
  1867. */
  1868. formatter?: FormatterCallbackFunction<Point>;
  1869. /**
  1870. * (Highstock) Whether the annotation is visible in the exported data table.
  1871. */
  1872. includeInDataExport?: boolean;
  1873. /**
  1874. * (Highstock) How to handle the annotation's label that flow outside the
  1875. * plot area. The justify option aligns the label inside the plot area.
  1876. */
  1877. overflow?: OptionsOverflowValue;
  1878. /**
  1879. * (Highstock) When either the borderWidth or the backgroundColor is set,
  1880. * this is the padding within the box.
  1881. */
  1882. padding?: number;
  1883. /**
  1884. * (Highstock) The shadow of the box. The shadow can be an object
  1885. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  1886. * `width`.
  1887. */
  1888. shadow?: (boolean|ShadowOptionsObject);
  1889. /**
  1890. * (Highstock) The name of a symbol to use for the border around the label.
  1891. * Symbols are predefined functions on the Renderer object.
  1892. */
  1893. shape?: string;
  1894. /**
  1895. * (Highstock) Styles for the annotation's label.
  1896. */
  1897. style?: CSSObject;
  1898. /**
  1899. * (Highstock) Alias for the format option.
  1900. */
  1901. text?: string;
  1902. /**
  1903. * (Highstock) Whether to use HTML to render the annotation's label.
  1904. */
  1905. useHTML?: boolean;
  1906. /**
  1907. * (Highstock) The vertical alignment of the annotation's label.
  1908. */
  1909. verticalAlign?: VerticalAlignValue;
  1910. /**
  1911. * (Highstock) The x position offset of the label relative to the point.
  1912. * Note that if a `distance` is defined, the distance takes precedence over
  1913. * `x` and `y` options.
  1914. */
  1915. x?: number;
  1916. /**
  1917. * (Highstock) The y position offset of the label relative to the point.
  1918. * Note that if a `distance` is defined, the distance takes precedence over
  1919. * `x` and `y` options.
  1920. */
  1921. y?: number;
  1922. }
  1923. export interface AnnotationsElliottWaveTypePointsOptions {
  1924. controlPoint?: number;
  1925. /**
  1926. * (Highstock) Options for annotation's labels. Each label inherits options
  1927. * from the labelOptions object. An option from the labelOptions can be
  1928. * overwritten by config for a specific label.
  1929. */
  1930. label?: AnnotationsElliottWaveTypePointsLabelOptions;
  1931. /**
  1932. * (Highstock) The x position of the point.
  1933. */
  1934. x?: number;
  1935. /**
  1936. * (Highstock) The y position of the point.
  1937. */
  1938. y?: number;
  1939. }
  1940. /**
  1941. * (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
  1942. */
  1943. export interface AnnotationsEventsOptions {
  1944. /**
  1945. * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
  1946. * is added to the chart.
  1947. */
  1948. add?: EventCallbackFunction<Annotation>;
  1949. /**
  1950. * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
  1951. * is updated (e.g. drag and droppped or resized by control points).
  1952. */
  1953. afterUpdate?: EventCallbackFunction<Annotation>;
  1954. /**
  1955. * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
  1956. * is removed from the chart.
  1957. */
  1958. remove?: EventCallbackFunction<Annotation>;
  1959. }
  1960. export interface AnnotationsFibonacciControlPointOptions {
  1961. events?: any;
  1962. }
  1963. /**
  1964. * (Highstock) Options for annotation's labels. Each label inherits options from
  1965. * the labelOptions object. An option from the labelOptions can be overwritten
  1966. * by config for a specific label.
  1967. */
  1968. export interface AnnotationsFibonacciLabelOptions {
  1969. /**
  1970. * (Highstock) Accessibility options for an annotation label.
  1971. */
  1972. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  1973. /**
  1974. * (Highstock) The alignment of the annotation's label. If right, the right
  1975. * side of the label should be touching the point.
  1976. */
  1977. align?: string;
  1978. /**
  1979. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  1980. * the labels less sensitive for overlapping, the can be set to 0.
  1981. */
  1982. allowOverlap?: boolean;
  1983. /**
  1984. * (Highstock) The background color or gradient for the annotation's label.
  1985. */
  1986. backgroundColor?: string;
  1987. /**
  1988. * (Highstock) The border color for the annotation's label.
  1989. */
  1990. borderColor?: ColorString;
  1991. /**
  1992. * (Highstock) The border radius in pixels for the annotaiton's label.
  1993. */
  1994. borderRadius?: number;
  1995. /**
  1996. * (Highstock) The border width in pixels for the annotation's label
  1997. */
  1998. borderWidth?: number;
  1999. /**
  2000. * (Highstock) A class name for styling by CSS.
  2001. */
  2002. className?: string;
  2003. /**
  2004. * (Highstock) Whether to hide the annotation's label that is outside the
  2005. * plot area.
  2006. */
  2007. crop?: boolean;
  2008. /**
  2009. * (Highstock) The label's pixel distance from the point.
  2010. */
  2011. distance?: number;
  2012. /**
  2013. * (Highstock) A format string for the data label.
  2014. */
  2015. format?: string;
  2016. /**
  2017. * (Highstock) Callback JavaScript function to format the annotation's
  2018. * label. Note that if a `format` or `text` are defined, the format or text
  2019. * take precedence and the formatter is ignored. `This` refers to a point
  2020. * object.
  2021. */
  2022. formatter?: FormatterCallbackFunction<Point>;
  2023. /**
  2024. * (Highstock) Whether the annotation is visible in the exported data table.
  2025. */
  2026. includeInDataExport?: boolean;
  2027. /**
  2028. * (Highstock) How to handle the annotation's label that flow outside the
  2029. * plot area. The justify option aligns the label inside the plot area.
  2030. */
  2031. overflow?: OptionsOverflowValue;
  2032. /**
  2033. * (Highstock) When either the borderWidth or the backgroundColor is set,
  2034. * this is the padding within the box.
  2035. */
  2036. padding?: number;
  2037. /**
  2038. * (Highstock) The shadow of the box. The shadow can be an object
  2039. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  2040. * `width`.
  2041. */
  2042. shadow?: (boolean|ShadowOptionsObject);
  2043. /**
  2044. * (Highstock) The name of a symbol to use for the border around the label.
  2045. * Symbols are predefined functions on the Renderer object.
  2046. */
  2047. shape?: string;
  2048. /**
  2049. * (Highstock) Styles for the annotation's label.
  2050. */
  2051. style?: (AnnotationsFibonacciLabelStyleOptions|CSSObject);
  2052. /**
  2053. * (Highstock) Alias for the format option.
  2054. */
  2055. text?: string;
  2056. /**
  2057. * (Highstock) Whether to use HTML to render the annotation's label.
  2058. */
  2059. useHTML?: boolean;
  2060. /**
  2061. * (Highstock) The vertical alignment of the annotation's label.
  2062. */
  2063. verticalAlign?: string;
  2064. /**
  2065. * (Highstock) The x position offset of the label relative to the point.
  2066. * Note that if a `distance` is defined, the distance takes precedence over
  2067. * `x` and `y` options.
  2068. */
  2069. x?: number;
  2070. /**
  2071. * (Highstock) The y position offset of the label relative to the point.
  2072. * Note that if a `distance` is defined, the distance takes precedence over
  2073. * `x` and `y` options.
  2074. */
  2075. y?: number;
  2076. }
  2077. /**
  2078. * (Highstock) Styles for the annotation's label.
  2079. */
  2080. export interface AnnotationsFibonacciLabelStyleOptions {
  2081. color?: string;
  2082. }
  2083. /**
  2084. * (Highstock) A fibonacci annotation.
  2085. */
  2086. export interface AnnotationsFibonacciOptions {
  2087. controlPointOptions?: AnnotationsFibonacciControlPointOptions;
  2088. /**
  2089. * (Highstock) Options for annotation's labels. Each label inherits options
  2090. * from the labelOptions object. An option from the labelOptions can be
  2091. * overwritten by config for a specific label.
  2092. */
  2093. labelOptions?: AnnotationsFibonacciLabelOptions;
  2094. /**
  2095. * (Highstock) Options for annotation's shapes. Each shape inherits options
  2096. * from the shapeOptions object. An option from the shapeOptions can be
  2097. * overwritten by config for a specific shape.
  2098. */
  2099. shapeOptions?: AnnotationsFibonacciShapeOptions;
  2100. /**
  2101. * (Highstock) Additional options for an annotation with the type.
  2102. */
  2103. typeOptions?: AnnotationsFibonacciTypeOptions;
  2104. }
  2105. /**
  2106. * (Highstock) Options for annotation's shapes. Each shape inherits options from
  2107. * the shapeOptions object. An option from the shapeOptions can be overwritten
  2108. * by config for a specific shape.
  2109. */
  2110. export interface AnnotationsFibonacciShapeOptions {
  2111. /**
  2112. * (Highstock) Name of the dash style to use for the shape's stroke.
  2113. */
  2114. dashStyle?: DashStyleValue;
  2115. /**
  2116. * (Highstock) The color of the shape's fill.
  2117. */
  2118. fill?: (ColorString|GradientColorObject|PatternObject);
  2119. /**
  2120. * (Highstock) The height of the shape.
  2121. */
  2122. height?: number;
  2123. /**
  2124. * (Highstock) The radius of the shape.
  2125. */
  2126. r?: number;
  2127. /**
  2128. * (Highstock) Defines additional snapping area around an annotation making
  2129. * this annotation to focus. Defined in pixels.
  2130. */
  2131. snap?: number;
  2132. /**
  2133. * (Highstock) The URL for an image to use as the annotation shape. Note,
  2134. * type has to be set to `'image'`.
  2135. */
  2136. src?: string;
  2137. /**
  2138. * (Highstock) The color of the shape's stroke.
  2139. */
  2140. stroke?: ColorString;
  2141. /**
  2142. * (Highstock) The pixel stroke width of the shape.
  2143. */
  2144. strokeWidth?: number;
  2145. /**
  2146. * (Highstock) The type of the shape, e.g. circle or rectangle.
  2147. */
  2148. type?: string;
  2149. /**
  2150. * (Highstock) The width of the shape.
  2151. */
  2152. width?: number;
  2153. }
  2154. /**
  2155. * (Highstock) An array with options for the labels.
  2156. */
  2157. export interface AnnotationsFibonacciTypeLabelsOptions {
  2158. /**
  2159. * (Highstock) Accessibility options for an annotation label.
  2160. */
  2161. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  2162. /**
  2163. * (Highstock) The alignment of the annotation's label. If right, the right
  2164. * side of the label should be touching the point.
  2165. */
  2166. align?: AlignValue;
  2167. /**
  2168. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  2169. * the labels less sensitive for overlapping, the can be set to 0.
  2170. */
  2171. allowOverlap?: boolean;
  2172. /**
  2173. * (Highstock) The background color or gradient for the annotation's label.
  2174. */
  2175. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  2176. /**
  2177. * (Highstock) The border color for the annotation's label.
  2178. */
  2179. borderColor?: ColorString;
  2180. /**
  2181. * (Highstock) The border radius in pixels for the annotaiton's label.
  2182. */
  2183. borderRadius?: number;
  2184. /**
  2185. * (Highstock) The border width in pixels for the annotation's label
  2186. */
  2187. borderWidth?: number;
  2188. /**
  2189. * (Highstock) A class name for styling by CSS.
  2190. */
  2191. className?: string;
  2192. /**
  2193. * (Highstock) Whether to hide the annotation's label that is outside the
  2194. * plot area.
  2195. */
  2196. crop?: boolean;
  2197. /**
  2198. * (Highstock) The label's pixel distance from the point.
  2199. */
  2200. distance?: number;
  2201. /**
  2202. * (Highstock) A format string for the data label.
  2203. */
  2204. format?: string;
  2205. /**
  2206. * (Highstock) Callback JavaScript function to format the annotation's
  2207. * label. Note that if a `format` or `text` are defined, the format or text
  2208. * take precedence and the formatter is ignored. `This` refers to a point
  2209. * object.
  2210. */
  2211. formatter?: FormatterCallbackFunction<Point>;
  2212. /**
  2213. * (Highstock) Whether the annotation is visible in the exported data table.
  2214. */
  2215. includeInDataExport?: boolean;
  2216. /**
  2217. * (Highstock) How to handle the annotation's label that flow outside the
  2218. * plot area. The justify option aligns the label inside the plot area.
  2219. */
  2220. overflow?: OptionsOverflowValue;
  2221. /**
  2222. * (Highstock) When either the borderWidth or the backgroundColor is set,
  2223. * this is the padding within the box.
  2224. */
  2225. padding?: number;
  2226. /**
  2227. * (Highstock) The shadow of the box. The shadow can be an object
  2228. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  2229. * `width`.
  2230. */
  2231. shadow?: (boolean|ShadowOptionsObject);
  2232. /**
  2233. * (Highstock) The name of a symbol to use for the border around the label.
  2234. * Symbols are predefined functions on the Renderer object.
  2235. */
  2236. shape?: string;
  2237. /**
  2238. * (Highstock) Styles for the annotation's label.
  2239. */
  2240. style?: CSSObject;
  2241. /**
  2242. * (Highstock) Alias for the format option.
  2243. */
  2244. text?: string;
  2245. /**
  2246. * (Highstock) Whether to use HTML to render the annotation's label.
  2247. */
  2248. useHTML?: boolean;
  2249. /**
  2250. * (Highstock) The vertical alignment of the annotation's label.
  2251. */
  2252. verticalAlign?: VerticalAlignValue;
  2253. /**
  2254. * (Highstock) The x position offset of the label relative to the point.
  2255. * Note that if a `distance` is defined, the distance takes precedence over
  2256. * `x` and `y` options.
  2257. */
  2258. x?: number;
  2259. /**
  2260. * (Highstock) The y position offset of the label relative to the point.
  2261. * Note that if a `distance` is defined, the distance takes precedence over
  2262. * `x` and `y` options.
  2263. */
  2264. y?: number;
  2265. }
  2266. /**
  2267. * (Highstock) Line options.
  2268. */
  2269. export interface AnnotationsFibonacciTypeLineOptions {
  2270. fill?: string;
  2271. }
  2272. /**
  2273. * (Highstock) Additional options for an annotation with the type.
  2274. */
  2275. export interface AnnotationsFibonacciTypeOptions {
  2276. /**
  2277. * (Highstock) An array of background colors: Default to: (see online
  2278. * documentation for example)
  2279. */
  2280. backgroundColors?: object;
  2281. /**
  2282. * (Highstock) The height of the fibonacci in terms of yAxis.
  2283. */
  2284. height?: number;
  2285. /**
  2286. * (Highstock) An array with options for the labels.
  2287. */
  2288. labels?: Array<AnnotationsFibonacciTypeLabelsOptions>;
  2289. /**
  2290. * (Highstock) Line options.
  2291. */
  2292. line?: AnnotationsFibonacciTypeLineOptions;
  2293. /**
  2294. * (Highstock) The color of line.
  2295. */
  2296. lineColor?: string;
  2297. /**
  2298. * (Highstock) An array of colors for the lines.
  2299. */
  2300. lineColors?: object;
  2301. points?: Array<AnnotationsFibonacciTypePointsOptions>;
  2302. /**
  2303. * (Highstock) This number defines which xAxis the point is connected to. It
  2304. * refers to either the axis id or the index of the axis in the xAxis array.
  2305. */
  2306. xAxis?: number;
  2307. /**
  2308. * (Highstock) This number defines which yAxis the point is connected to. It
  2309. * refers to either the axis id or the index of the axis in the xAxis array.
  2310. */
  2311. yAxis?: number;
  2312. }
  2313. export interface AnnotationsFibonacciTypePointsOptions {
  2314. controlPoint?: number;
  2315. /**
  2316. * (Highstock) The x position of the point.
  2317. */
  2318. x?: number;
  2319. /**
  2320. * (Highstock) The y position of the point.
  2321. */
  2322. y?: number;
  2323. }
  2324. export interface AnnotationsInfinityLineControlPointOptions {
  2325. events?: any;
  2326. }
  2327. /**
  2328. * (Highstock) Options for annotation's labels. Each label inherits options from
  2329. * the labelOptions object. An option from the labelOptions can be overwritten
  2330. * by config for a specific label.
  2331. */
  2332. export interface AnnotationsInfinityLineLabelOptions {
  2333. /**
  2334. * (Highstock) Accessibility options for an annotation label.
  2335. */
  2336. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  2337. /**
  2338. * (Highstock) The alignment of the annotation's label. If right, the right
  2339. * side of the label should be touching the point.
  2340. */
  2341. align?: AlignValue;
  2342. /**
  2343. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  2344. * the labels less sensitive for overlapping, the can be set to 0.
  2345. */
  2346. allowOverlap?: boolean;
  2347. /**
  2348. * (Highstock) The background color or gradient for the annotation's label.
  2349. */
  2350. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  2351. /**
  2352. * (Highstock) The border color for the annotation's label.
  2353. */
  2354. borderColor?: ColorString;
  2355. /**
  2356. * (Highstock) The border radius in pixels for the annotaiton's label.
  2357. */
  2358. borderRadius?: number;
  2359. /**
  2360. * (Highstock) The border width in pixels for the annotation's label
  2361. */
  2362. borderWidth?: number;
  2363. /**
  2364. * (Highstock) A class name for styling by CSS.
  2365. */
  2366. className?: string;
  2367. /**
  2368. * (Highstock) Whether to hide the annotation's label that is outside the
  2369. * plot area.
  2370. */
  2371. crop?: boolean;
  2372. /**
  2373. * (Highstock) The label's pixel distance from the point.
  2374. */
  2375. distance?: number;
  2376. /**
  2377. * (Highstock) A format string for the data label.
  2378. */
  2379. format?: string;
  2380. /**
  2381. * (Highstock) Callback JavaScript function to format the annotation's
  2382. * label. Note that if a `format` or `text` are defined, the format or text
  2383. * take precedence and the formatter is ignored. `This` refers to a point
  2384. * object.
  2385. */
  2386. formatter?: FormatterCallbackFunction<Point>;
  2387. /**
  2388. * (Highstock) Whether the annotation is visible in the exported data table.
  2389. */
  2390. includeInDataExport?: boolean;
  2391. /**
  2392. * (Highstock) How to handle the annotation's label that flow outside the
  2393. * plot area. The justify option aligns the label inside the plot area.
  2394. */
  2395. overflow?: OptionsOverflowValue;
  2396. /**
  2397. * (Highstock) When either the borderWidth or the backgroundColor is set,
  2398. * this is the padding within the box.
  2399. */
  2400. padding?: number;
  2401. /**
  2402. * (Highstock) The shadow of the box. The shadow can be an object
  2403. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  2404. * `width`.
  2405. */
  2406. shadow?: (boolean|ShadowOptionsObject);
  2407. /**
  2408. * (Highstock) The name of a symbol to use for the border around the label.
  2409. * Symbols are predefined functions on the Renderer object.
  2410. */
  2411. shape?: string;
  2412. /**
  2413. * (Highstock) Styles for the annotation's label.
  2414. */
  2415. style?: CSSObject;
  2416. /**
  2417. * (Highstock) Alias for the format option.
  2418. */
  2419. text?: string;
  2420. /**
  2421. * (Highstock) Whether to use HTML to render the annotation's label.
  2422. */
  2423. useHTML?: boolean;
  2424. /**
  2425. * (Highstock) The vertical alignment of the annotation's label.
  2426. */
  2427. verticalAlign?: VerticalAlignValue;
  2428. /**
  2429. * (Highstock) The x position offset of the label relative to the point.
  2430. * Note that if a `distance` is defined, the distance takes precedence over
  2431. * `x` and `y` options.
  2432. */
  2433. x?: number;
  2434. /**
  2435. * (Highstock) The y position offset of the label relative to the point.
  2436. * Note that if a `distance` is defined, the distance takes precedence over
  2437. * `x` and `y` options.
  2438. */
  2439. y?: number;
  2440. }
  2441. /**
  2442. * (Highstock) An infinity line annotation.
  2443. */
  2444. export interface AnnotationsInfinityLineOptions {
  2445. controlPointOptions?: AnnotationsInfinityLineControlPointOptions;
  2446. /**
  2447. * (Highstock) Options for annotation's labels. Each label inherits options
  2448. * from the labelOptions object. An option from the labelOptions can be
  2449. * overwritten by config for a specific label.
  2450. */
  2451. labelOptions?: AnnotationsInfinityLineLabelOptions;
  2452. /**
  2453. * (Highstock) Options for annotation's shapes. Each shape inherits options
  2454. * from the shapeOptions object. An option from the shapeOptions can be
  2455. * overwritten by config for a specific shape.
  2456. */
  2457. shapeOptions?: AnnotationsInfinityLineShapeOptions;
  2458. /**
  2459. * (Highstock) Additional options for an annotation with the type.
  2460. */
  2461. typeOptions?: AnnotationsInfinityLineTypeOptions;
  2462. }
  2463. /**
  2464. * (Highstock) Options for annotation's shapes. Each shape inherits options from
  2465. * the shapeOptions object. An option from the shapeOptions can be overwritten
  2466. * by config for a specific shape.
  2467. */
  2468. export interface AnnotationsInfinityLineShapeOptions {
  2469. /**
  2470. * (Highstock) Name of the dash style to use for the shape's stroke.
  2471. */
  2472. dashStyle?: DashStyleValue;
  2473. /**
  2474. * (Highstock) The color of the shape's fill.
  2475. */
  2476. fill?: (ColorString|GradientColorObject|PatternObject);
  2477. /**
  2478. * (Highstock) The height of the shape.
  2479. */
  2480. height?: number;
  2481. /**
  2482. * (Highstock) The radius of the shape.
  2483. */
  2484. r?: number;
  2485. /**
  2486. * (Highstock) Defines additional snapping area around an annotation making
  2487. * this annotation to focus. Defined in pixels.
  2488. */
  2489. snap?: number;
  2490. /**
  2491. * (Highstock) The URL for an image to use as the annotation shape. Note,
  2492. * type has to be set to `'image'`.
  2493. */
  2494. src?: string;
  2495. /**
  2496. * (Highstock) The color of the shape's stroke.
  2497. */
  2498. stroke?: ColorString;
  2499. /**
  2500. * (Highstock) The pixel stroke width of the shape.
  2501. */
  2502. strokeWidth?: number;
  2503. /**
  2504. * (Highstock) The type of the shape, e.g. circle or rectangle.
  2505. */
  2506. type?: string;
  2507. /**
  2508. * (Highstock) The width of the shape.
  2509. */
  2510. width?: number;
  2511. }
  2512. /**
  2513. * (Highstock) Line options.
  2514. */
  2515. export interface AnnotationsInfinityLineTypeLineOptions {
  2516. fill?: string;
  2517. }
  2518. /**
  2519. * (Highstock) Additional options for an annotation with the type.
  2520. */
  2521. export interface AnnotationsInfinityLineTypeOptions {
  2522. /**
  2523. * (Highstock) Line options.
  2524. */
  2525. line?: AnnotationsInfinityLineTypeLineOptions;
  2526. points?: Array<AnnotationsInfinityLineTypePointsOptions>;
  2527. /**
  2528. * (Highstock) This number defines which xAxis the point is connected to. It
  2529. * refers to either the axis id or the index of the axis in the xAxis array.
  2530. */
  2531. xAxis?: number;
  2532. /**
  2533. * (Highstock) This number defines which yAxis the point is connected to. It
  2534. * refers to either the axis id or the index of the axis in the xAxis array.
  2535. */
  2536. yAxis?: number;
  2537. }
  2538. export interface AnnotationsInfinityLineTypePointsOptions {
  2539. controlPoint?: number;
  2540. /**
  2541. * (Highstock) The x position of the point.
  2542. */
  2543. x?: number;
  2544. /**
  2545. * (Highstock) The y position of the point.
  2546. */
  2547. y?: number;
  2548. }
  2549. /**
  2550. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
  2551. * Each label inherits options from the labelOptions object. An option from the
  2552. * labelOptions can be overwritten by config for a specific label.
  2553. */
  2554. export interface AnnotationsLabelOptions {
  2555. /**
  2556. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  2557. * annotation label.
  2558. */
  2559. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  2560. /**
  2561. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
  2562. * annotation's label. If right, the right side of the label should be
  2563. * touching the point.
  2564. */
  2565. align?: AlignValue;
  2566. /**
  2567. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
  2568. * annotation's labels to overlap. To make the labels less sensitive for
  2569. * overlapping, the can be set to 0.
  2570. */
  2571. allowOverlap?: boolean;
  2572. /**
  2573. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  2574. * for the annotation's label.
  2575. */
  2576. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  2577. /**
  2578. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the
  2579. * annotation's label.
  2580. */
  2581. borderColor?: ColorString;
  2582. /**
  2583. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  2584. * the annotaiton's label.
  2585. */
  2586. borderRadius?: number;
  2587. /**
  2588. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  2589. * the annotation's label
  2590. */
  2591. borderWidth?: number;
  2592. /**
  2593. * (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
  2594. */
  2595. className?: string;
  2596. /**
  2597. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
  2598. * label that is outside the plot area.
  2599. */
  2600. crop?: boolean;
  2601. /**
  2602. * (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
  2603. * the point.
  2604. */
  2605. distance?: number;
  2606. /**
  2607. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  2608. * label.
  2609. */
  2610. format?: string;
  2611. /**
  2612. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  2613. * format the annotation's label. Note that if a `format` or `text` are
  2614. * defined, the format or text take precedence and the formatter is ignored.
  2615. * `This` refers to a point object.
  2616. */
  2617. formatter?: FormatterCallbackFunction<Point>;
  2618. /**
  2619. * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
  2620. * visible in the exported data table.
  2621. */
  2622. includeInDataExport?: boolean;
  2623. /**
  2624. * (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
  2625. * label that flow outside the plot area. The justify option aligns the
  2626. * label inside the plot area.
  2627. */
  2628. overflow?: OptionsOverflowValue;
  2629. /**
  2630. * (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
  2631. * the backgroundColor is set, this is the padding within the box.
  2632. */
  2633. padding?: number;
  2634. /**
  2635. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
  2636. * shadow can be an object configuration containing `color`, `offsetX`,
  2637. * `offsetY`, `opacity` and `width`.
  2638. */
  2639. shadow?: (boolean|ShadowOptionsObject);
  2640. /**
  2641. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  2642. * the border around the label. Symbols are predefined functions on the
  2643. * Renderer object.
  2644. */
  2645. shape?: string;
  2646. /**
  2647. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
  2648. * label.
  2649. */
  2650. style?: CSSObject;
  2651. /**
  2652. * (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
  2653. */
  2654. text?: string;
  2655. /**
  2656. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  2657. * the annotation's label.
  2658. */
  2659. useHTML?: boolean;
  2660. /**
  2661. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  2662. * annotation's label.
  2663. */
  2664. verticalAlign?: VerticalAlignValue;
  2665. /**
  2666. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  2667. * label relative to the point. Note that if a `distance` is defined, the
  2668. * distance takes precedence over `x` and `y` options.
  2669. */
  2670. x?: number;
  2671. /**
  2672. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  2673. * label relative to the point. Note that if a `distance` is defined, the
  2674. * distance takes precedence over `x` and `y` options.
  2675. */
  2676. y?: number;
  2677. }
  2678. /**
  2679. * (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
  2680. * annotation. For options that apply to multiple labels, they can be added to
  2681. * the labelOptions.
  2682. */
  2683. export interface AnnotationsLabelsOptions {
  2684. /**
  2685. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  2686. * annotation label.
  2687. */
  2688. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  2689. /**
  2690. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
  2691. * annotation's label. If right, the right side of the label should be
  2692. * touching the point.
  2693. */
  2694. align?: AlignValue;
  2695. /**
  2696. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
  2697. * annotation's labels to overlap. To make the labels less sensitive for
  2698. * overlapping, the can be set to 0.
  2699. */
  2700. allowOverlap?: boolean;
  2701. /**
  2702. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  2703. * for the annotation's label.
  2704. */
  2705. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  2706. /**
  2707. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the
  2708. * annotation's label.
  2709. */
  2710. borderColor?: ColorString;
  2711. /**
  2712. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  2713. * the annotaiton's label.
  2714. */
  2715. borderRadius?: number;
  2716. /**
  2717. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  2718. * the annotation's label
  2719. */
  2720. borderWidth?: number;
  2721. /**
  2722. * (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
  2723. */
  2724. className?: string;
  2725. /**
  2726. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
  2727. * label that is outside the plot area.
  2728. */
  2729. crop?: boolean;
  2730. /**
  2731. * (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
  2732. * the point.
  2733. */
  2734. distance?: number;
  2735. /**
  2736. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  2737. * label.
  2738. */
  2739. format?: string;
  2740. /**
  2741. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  2742. * format the annotation's label. Note that if a `format` or `text` are
  2743. * defined, the format or text take precedence and the formatter is ignored.
  2744. * `This` refers to a point object.
  2745. */
  2746. formatter?: FormatterCallbackFunction<Point>;
  2747. /**
  2748. * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
  2749. * visible in the exported data table.
  2750. */
  2751. includeInDataExport?: boolean;
  2752. /**
  2753. * (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
  2754. * label that flow outside the plot area. The justify option aligns the
  2755. * label inside the plot area.
  2756. */
  2757. overflow?: OptionsOverflowValue;
  2758. /**
  2759. * (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
  2760. * the backgroundColor is set, this is the padding within the box.
  2761. */
  2762. padding?: number;
  2763. /**
  2764. * (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
  2765. * which the label will be connected. It can be either the point which
  2766. * exists in the series - it is referenced by the point's id - or a new
  2767. * point with defined x, y properties and optionally axes.
  2768. */
  2769. point?: (string|AnnotationMockPointOptionsObject);
  2770. /**
  2771. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
  2772. * shadow can be an object configuration containing `color`, `offsetX`,
  2773. * `offsetY`, `opacity` and `width`.
  2774. */
  2775. shadow?: (boolean|ShadowOptionsObject);
  2776. /**
  2777. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  2778. * the border around the label. Symbols are predefined functions on the
  2779. * Renderer object.
  2780. */
  2781. shape?: string;
  2782. /**
  2783. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
  2784. * label.
  2785. */
  2786. style?: CSSObject;
  2787. /**
  2788. * (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
  2789. */
  2790. text?: string;
  2791. /**
  2792. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  2793. * the annotation's label.
  2794. */
  2795. useHTML?: boolean;
  2796. /**
  2797. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  2798. * annotation's label.
  2799. */
  2800. verticalAlign?: VerticalAlignValue;
  2801. /**
  2802. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  2803. * label relative to the point. Note that if a `distance` is defined, the
  2804. * distance takes precedence over `x` and `y` options.
  2805. */
  2806. x?: number;
  2807. /**
  2808. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  2809. * label relative to the point. Note that if a `distance` is defined, the
  2810. * distance takes precedence over `x` and `y` options.
  2811. */
  2812. y?: number;
  2813. }
  2814. export interface AnnotationsMeasureControlPointOptions {
  2815. events?: any;
  2816. }
  2817. /**
  2818. * (Highstock) A measure annotation.
  2819. */
  2820. export interface AnnotationsMeasureOptions {
  2821. controlPointOptions?: AnnotationsMeasureControlPointOptions;
  2822. /**
  2823. * (Highstock) Additional options for an annotation with the type.
  2824. */
  2825. typeOptions?: AnnotationsMeasureTypeOptions;
  2826. }
  2827. export interface AnnotationsMeasureTypeBackgroundOptions {
  2828. /**
  2829. * (Highstock) The color of the rectangle.
  2830. */
  2831. fill?: string;
  2832. /**
  2833. * (Highstock) The color of border.
  2834. */
  2835. stroke?: string;
  2836. /**
  2837. * (Highstock) The width of border.
  2838. */
  2839. strokeWidth?: number;
  2840. }
  2841. /**
  2842. * (Highstock) Configure a crosshair that is horizontally placed in middle of
  2843. * rectangle.
  2844. */
  2845. export interface AnnotationsMeasureTypeCrosshairXOptions {
  2846. /**
  2847. * (Highstock) The dash or dot style of the crosshair's line. For possible
  2848. * values, see this demonstration.
  2849. */
  2850. dashStyle?: DashStyleValue;
  2851. /**
  2852. * (Highstock) Enable or disable the horizontal crosshair.
  2853. */
  2854. enabled?: boolean;
  2855. /**
  2856. * (Highstock) The marker-end defines the arrowhead that will be drawn at
  2857. * the final vertex of the given crosshair's path.
  2858. */
  2859. markerEnd?: string;
  2860. /**
  2861. * (Highstock) The Z index of the crosshair in annotation.
  2862. */
  2863. zIndex?: number;
  2864. }
  2865. /**
  2866. * (Highstock) Configure a crosshair that is vertically placed in middle of
  2867. * rectangle.
  2868. */
  2869. export interface AnnotationsMeasureTypeCrosshairYOptions {
  2870. /**
  2871. * (Highstock) The dash or dot style of the crosshair's line. For possible
  2872. * values, see this demonstration.
  2873. */
  2874. dashStyle?: DashStyleValue;
  2875. /**
  2876. * (Highstock) Enable or disable the vertical crosshair.
  2877. */
  2878. enabled?: boolean;
  2879. /**
  2880. * (Highstock) The marker-end defines the arrowhead that will be drawn at
  2881. * the final vertex of the given crosshair's path.
  2882. */
  2883. markerEnd?: OptionsMarkerEndValue;
  2884. /**
  2885. * (Highstock) The Z index of the crosshair in annotation.
  2886. */
  2887. zIndex?: number;
  2888. }
  2889. export interface AnnotationsMeasureTypeLabelOptions {
  2890. /**
  2891. * (Highstock) Enable or disable the label text (min, max, average, bins
  2892. * values).
  2893. *
  2894. * Defaults to true.
  2895. */
  2896. enabled?: boolean;
  2897. /**
  2898. * (Highstock) Formatter function for the label text.
  2899. *
  2900. * Available data are:
  2901. *
  2902. * (see online documentation for example)
  2903. */
  2904. formatter?: Function;
  2905. /**
  2906. * (Highstock) CSS styles for the measure label.
  2907. */
  2908. style?: (AnnotationsMeasureTypeLabelStyleOptions|CSSObject);
  2909. }
  2910. /**
  2911. * (Highstock) CSS styles for the measure label.
  2912. */
  2913. export interface AnnotationsMeasureTypeLabelStyleOptions {
  2914. color?: string;
  2915. fontSize?: string;
  2916. }
  2917. /**
  2918. * (Highstock) Line options.
  2919. */
  2920. export interface AnnotationsMeasureTypeLineOptions {
  2921. fill?: string;
  2922. }
  2923. /**
  2924. * (Highstock) Additional options for an annotation with the type.
  2925. */
  2926. export interface AnnotationsMeasureTypeOptions {
  2927. background?: AnnotationsMeasureTypeBackgroundOptions;
  2928. /**
  2929. * (Highstock) Configure a crosshair that is horizontally placed in middle
  2930. * of rectangle.
  2931. */
  2932. crosshairX?: AnnotationsMeasureTypeCrosshairXOptions;
  2933. /**
  2934. * (Highstock) Configure a crosshair that is vertically placed in middle of
  2935. * rectangle.
  2936. */
  2937. crosshairY?: AnnotationsMeasureTypeCrosshairYOptions;
  2938. label?: AnnotationsMeasureTypeLabelOptions;
  2939. /**
  2940. * (Highstock) Line options.
  2941. */
  2942. line?: AnnotationsMeasureTypeLineOptions;
  2943. points?: Array<AnnotationsMeasureTypePointsOptions>;
  2944. /**
  2945. * (Highstock) Decides in what dimensions the user can resize by dragging
  2946. * the mouse. Can be one of x, y or xy.
  2947. */
  2948. selectType?: string;
  2949. /**
  2950. * (Highstock) This number defines which xAxis the point is connected to. It
  2951. * refers to either the axis id or the index of the axis in the xAxis array.
  2952. */
  2953. xAxis?: number;
  2954. /**
  2955. * (Highstock) This number defines which yAxis the point is connected to. It
  2956. * refers to either the axis id or the index of the axis in the yAxis array.
  2957. */
  2958. yAxis?: number;
  2959. }
  2960. export interface AnnotationsMeasureTypePointsOptions {
  2961. controlPoint?: number;
  2962. /**
  2963. * (Highstock) The x position of the point.
  2964. */
  2965. x?: number;
  2966. /**
  2967. * (Highstock) The y position of the point.
  2968. */
  2969. y?: number;
  2970. }
  2971. /**
  2972. * (Highcharts, Highstock, Highmaps, Gantt) A basic type of an annotation. It
  2973. * allows to add custom labels or shapes. The items can be tied to points, axis
  2974. * coordinates or chart pixel coordinates.
  2975. */
  2976. export interface AnnotationsOptions {
  2977. /**
  2978. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  2979. * animation when a series is displayed for the `annotation`. The animation
  2980. * can also be set as a configuration object. Please note that this option
  2981. * only applies to the initial animation. For other animations, see
  2982. * chart.animation and the animation parameter under the API methods. The
  2983. * following properties are supported:
  2984. *
  2985. * - `defer`: The animation delay time in milliseconds.
  2986. */
  2987. animation?: (boolean|AnnotationsAnimationOptions|Partial<AnimationOptionsObject>);
  2988. /**
  2989. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's control
  2990. * points. Each control point inherits options from controlPointOptions
  2991. * object. Options from the controlPointOptions can be overwritten by
  2992. * options in a specific control point.
  2993. */
  2994. controlPointOptions?: AnnotationControlPointOptionsObject;
  2995. /**
  2996. * (Highstock) A crooked line annotation.
  2997. */
  2998. crookedLine?: AnnotationsCrookedLineOptions;
  2999. /**
  3000. * (Highcharts, Highstock, Highmaps, Gantt) Allow an annotation to be
  3001. * draggable by a user. Possible values are `'x'`, `'xy'`, `'y'` and `''`
  3002. * (disabled).
  3003. */
  3004. draggable?: AnnotationDraggableValue;
  3005. /**
  3006. * (Highstock) An elliott wave annotation.
  3007. */
  3008. elliottWave?: AnnotationsElliottWaveOptions;
  3009. /**
  3010. * (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
  3011. */
  3012. events?: AnnotationsEventsOptions;
  3013. /**
  3014. * (Highstock) A fibonacci annotation.
  3015. */
  3016. fibonacci?: AnnotationsFibonacciOptions;
  3017. /**
  3018. * (Highcharts, Highstock, Highmaps, Gantt) Sets an ID for an annotation.
  3019. * Can be user later when removing an annotation in
  3020. * Chart.removeAnnotation(id) method.
  3021. */
  3022. id?: (number|string);
  3023. /**
  3024. * (Highstock) An infinity line annotation.
  3025. */
  3026. infinityLine?: AnnotationsInfinityLineOptions;
  3027. /**
  3028. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
  3029. * Each label inherits options from the labelOptions object. An option from
  3030. * the labelOptions can be overwritten by config for a specific label.
  3031. */
  3032. labelOptions?: AnnotationsLabelOptions;
  3033. /**
  3034. * (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
  3035. * annotation. For options that apply to multiple labels, they can be added
  3036. * to the labelOptions.
  3037. */
  3038. labels?: Array<AnnotationsLabelsOptions>;
  3039. /**
  3040. * (Highstock) A measure annotation.
  3041. */
  3042. measure?: AnnotationsMeasureOptions;
  3043. /**
  3044. * (Highstock) A pitchfork annotation.
  3045. */
  3046. pitchfork?: AnnotationsPitchforkOptions;
  3047. /**
  3048. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
  3049. * Each shape inherits options from the shapeOptions object. An option from
  3050. * the shapeOptions can be overwritten by config for a specific shape.
  3051. */
  3052. shapeOptions?: AnnotationsShapeOptions;
  3053. /**
  3054. * (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
  3055. * annotation. For options that apply to multiple shapes, then can be added
  3056. * to the shapeOptions.
  3057. */
  3058. shapes?: Array<AnnotationsShapesOptions>;
  3059. /**
  3060. * (Highstock) A tunnel annotation.
  3061. */
  3062. tunnel?: AnnotationsTunnelOptions;
  3063. /**
  3064. * (Highstock) A vertical line annotation.
  3065. */
  3066. verticalLine?: AnnotationsVerticalLineOptions;
  3067. /**
  3068. * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
  3069. * visible.
  3070. */
  3071. visible?: boolean;
  3072. /**
  3073. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the annotation.
  3074. */
  3075. zIndex?: number;
  3076. }
  3077. export interface AnnotationsPitchforkControlPointOptions {
  3078. events?: any;
  3079. }
  3080. /**
  3081. * (Highstock) Options for annotation's labels. Each label inherits options from
  3082. * the labelOptions object. An option from the labelOptions can be overwritten
  3083. * by config for a specific label.
  3084. */
  3085. export interface AnnotationsPitchforkLabelOptions {
  3086. /**
  3087. * (Highstock) Accessibility options for an annotation label.
  3088. */
  3089. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  3090. /**
  3091. * (Highstock) The alignment of the annotation's label. If right, the right
  3092. * side of the label should be touching the point.
  3093. */
  3094. align?: AlignValue;
  3095. /**
  3096. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  3097. * the labels less sensitive for overlapping, the can be set to 0.
  3098. */
  3099. allowOverlap?: boolean;
  3100. /**
  3101. * (Highstock) The background color or gradient for the annotation's label.
  3102. */
  3103. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  3104. /**
  3105. * (Highstock) The border color for the annotation's label.
  3106. */
  3107. borderColor?: ColorString;
  3108. /**
  3109. * (Highstock) The border radius in pixels for the annotaiton's label.
  3110. */
  3111. borderRadius?: number;
  3112. /**
  3113. * (Highstock) The border width in pixels for the annotation's label
  3114. */
  3115. borderWidth?: number;
  3116. /**
  3117. * (Highstock) A class name for styling by CSS.
  3118. */
  3119. className?: string;
  3120. /**
  3121. * (Highstock) Whether to hide the annotation's label that is outside the
  3122. * plot area.
  3123. */
  3124. crop?: boolean;
  3125. /**
  3126. * (Highstock) The label's pixel distance from the point.
  3127. */
  3128. distance?: number;
  3129. /**
  3130. * (Highstock) A format string for the data label.
  3131. */
  3132. format?: string;
  3133. /**
  3134. * (Highstock) Callback JavaScript function to format the annotation's
  3135. * label. Note that if a `format` or `text` are defined, the format or text
  3136. * take precedence and the formatter is ignored. `This` refers to a point
  3137. * object.
  3138. */
  3139. formatter?: FormatterCallbackFunction<Point>;
  3140. /**
  3141. * (Highstock) Whether the annotation is visible in the exported data table.
  3142. */
  3143. includeInDataExport?: boolean;
  3144. /**
  3145. * (Highstock) How to handle the annotation's label that flow outside the
  3146. * plot area. The justify option aligns the label inside the plot area.
  3147. */
  3148. overflow?: OptionsOverflowValue;
  3149. /**
  3150. * (Highstock) When either the borderWidth or the backgroundColor is set,
  3151. * this is the padding within the box.
  3152. */
  3153. padding?: number;
  3154. /**
  3155. * (Highstock) The shadow of the box. The shadow can be an object
  3156. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  3157. * `width`.
  3158. */
  3159. shadow?: (boolean|ShadowOptionsObject);
  3160. /**
  3161. * (Highstock) The name of a symbol to use for the border around the label.
  3162. * Symbols are predefined functions on the Renderer object.
  3163. */
  3164. shape?: string;
  3165. /**
  3166. * (Highstock) Styles for the annotation's label.
  3167. */
  3168. style?: CSSObject;
  3169. /**
  3170. * (Highstock) Alias for the format option.
  3171. */
  3172. text?: string;
  3173. /**
  3174. * (Highstock) Whether to use HTML to render the annotation's label.
  3175. */
  3176. useHTML?: boolean;
  3177. /**
  3178. * (Highstock) The vertical alignment of the annotation's label.
  3179. */
  3180. verticalAlign?: VerticalAlignValue;
  3181. /**
  3182. * (Highstock) The x position offset of the label relative to the point.
  3183. * Note that if a `distance` is defined, the distance takes precedence over
  3184. * `x` and `y` options.
  3185. */
  3186. x?: number;
  3187. /**
  3188. * (Highstock) The y position offset of the label relative to the point.
  3189. * Note that if a `distance` is defined, the distance takes precedence over
  3190. * `x` and `y` options.
  3191. */
  3192. y?: number;
  3193. }
  3194. /**
  3195. * (Highstock) A pitchfork annotation.
  3196. */
  3197. export interface AnnotationsPitchforkOptions {
  3198. controlPointOptions?: AnnotationsPitchforkControlPointOptions;
  3199. /**
  3200. * (Highstock) Options for annotation's labels. Each label inherits options
  3201. * from the labelOptions object. An option from the labelOptions can be
  3202. * overwritten by config for a specific label.
  3203. */
  3204. labelOptions?: AnnotationsPitchforkLabelOptions;
  3205. /**
  3206. * (Highstock) Options for annotation's shapes. Each shape inherits options
  3207. * from the shapeOptions object. An option from the shapeOptions can be
  3208. * overwritten by config for a specific shape.
  3209. */
  3210. shapeOptions?: AnnotationsPitchforkShapeOptions;
  3211. /**
  3212. * (Highstock) Additional options for an annotation with the type.
  3213. */
  3214. typeOptions?: AnnotationsPitchforkTypeOptions;
  3215. }
  3216. /**
  3217. * (Highstock) Options for annotation's shapes. Each shape inherits options from
  3218. * the shapeOptions object. An option from the shapeOptions can be overwritten
  3219. * by config for a specific shape.
  3220. */
  3221. export interface AnnotationsPitchforkShapeOptions {
  3222. /**
  3223. * (Highstock) Name of the dash style to use for the shape's stroke.
  3224. */
  3225. dashStyle?: DashStyleValue;
  3226. /**
  3227. * (Highstock) The color of the shape's fill.
  3228. */
  3229. fill?: (ColorString|GradientColorObject|PatternObject);
  3230. /**
  3231. * (Highstock) The height of the shape.
  3232. */
  3233. height?: number;
  3234. /**
  3235. * (Highstock) The radius of the shape.
  3236. */
  3237. r?: number;
  3238. /**
  3239. * (Highstock) Defines additional snapping area around an annotation making
  3240. * this annotation to focus. Defined in pixels.
  3241. */
  3242. snap?: number;
  3243. /**
  3244. * (Highstock) The URL for an image to use as the annotation shape. Note,
  3245. * type has to be set to `'image'`.
  3246. */
  3247. src?: string;
  3248. /**
  3249. * (Highstock) The color of the shape's stroke.
  3250. */
  3251. stroke?: ColorString;
  3252. /**
  3253. * (Highstock) The pixel stroke width of the shape.
  3254. */
  3255. strokeWidth?: number;
  3256. /**
  3257. * (Highstock) The type of the shape, e.g. circle or rectangle.
  3258. */
  3259. type?: string;
  3260. /**
  3261. * (Highstock) The width of the shape.
  3262. */
  3263. width?: number;
  3264. }
  3265. /**
  3266. * (Highstock) Inner background options.
  3267. */
  3268. export interface AnnotationsPitchforkTypeInnerBackgroundOptions {
  3269. /**
  3270. * (Highstock) Name of the dash style to use for the shape's stroke.
  3271. */
  3272. dashStyle?: DashStyleValue;
  3273. /**
  3274. * (Highstock) The color of the shape's fill.
  3275. */
  3276. fill?: string;
  3277. /**
  3278. * (Highstock) Defines additional snapping area around an annotation making
  3279. * this annotation to focus. Defined in pixels.
  3280. */
  3281. snap?: number;
  3282. /**
  3283. * (Highstock) The URL for an image to use as the annotation shape. Note,
  3284. * type has to be set to `'image'`.
  3285. */
  3286. src?: string;
  3287. /**
  3288. * (Highstock) The color of the shape's stroke.
  3289. */
  3290. stroke?: ColorString;
  3291. /**
  3292. * (Highstock) The pixel stroke width of the shape.
  3293. */
  3294. strokeWidth?: number;
  3295. }
  3296. /**
  3297. * (Highstock) Line options.
  3298. */
  3299. export interface AnnotationsPitchforkTypeLineOptions {
  3300. fill?: string;
  3301. }
  3302. /**
  3303. * (Highstock) Additional options for an annotation with the type.
  3304. */
  3305. export interface AnnotationsPitchforkTypeOptions {
  3306. /**
  3307. * (Highstock) Inner background options.
  3308. */
  3309. innerBackground?: AnnotationsPitchforkTypeInnerBackgroundOptions;
  3310. /**
  3311. * (Highstock) Line options.
  3312. */
  3313. line?: AnnotationsPitchforkTypeLineOptions;
  3314. /**
  3315. * (Highstock) Outer background options.
  3316. */
  3317. outerBackground?: AnnotationsPitchforkTypeOuterBackgroundOptions;
  3318. points?: Array<AnnotationsPitchforkTypePointsOptions>;
  3319. /**
  3320. * (Highstock) This number defines which xAxis the point is connected to. It
  3321. * refers to either the axis id or the index of the axis in the xAxis array.
  3322. */
  3323. xAxis?: number;
  3324. /**
  3325. * (Highstock) This number defines which yAxis the point is connected to. It
  3326. * refers to either the axis id or the index of the axis in the xAxis array.
  3327. */
  3328. yAxis?: number;
  3329. }
  3330. /**
  3331. * (Highstock) Outer background options.
  3332. */
  3333. export interface AnnotationsPitchforkTypeOuterBackgroundOptions {
  3334. /**
  3335. * (Highstock) Name of the dash style to use for the shape's stroke.
  3336. */
  3337. dashStyle?: DashStyleValue;
  3338. /**
  3339. * (Highstock) The color of the shape's fill.
  3340. */
  3341. fill?: string;
  3342. /**
  3343. * (Highstock) Defines additional snapping area around an annotation making
  3344. * this annotation to focus. Defined in pixels.
  3345. */
  3346. snap?: number;
  3347. /**
  3348. * (Highstock) The URL for an image to use as the annotation shape. Note,
  3349. * type has to be set to `'image'`.
  3350. */
  3351. src?: string;
  3352. /**
  3353. * (Highstock) The color of the shape's stroke.
  3354. */
  3355. stroke?: ColorString;
  3356. /**
  3357. * (Highstock) The pixel stroke width of the shape.
  3358. */
  3359. strokeWidth?: number;
  3360. }
  3361. export interface AnnotationsPitchforkTypePointsOptions {
  3362. controlPoint?: number;
  3363. /**
  3364. * (Highstock) The x position of the point.
  3365. */
  3366. x?: number;
  3367. /**
  3368. * (Highstock) The y position of the point.
  3369. */
  3370. y?: number;
  3371. }
  3372. /**
  3373. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
  3374. * Each shape inherits options from the shapeOptions object. An option from the
  3375. * shapeOptions can be overwritten by config for a specific shape.
  3376. */
  3377. export interface AnnotationsShapeOptions {
  3378. /**
  3379. * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
  3380. * for the shape's stroke.
  3381. */
  3382. dashStyle?: DashStyleValue;
  3383. /**
  3384. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
  3385. */
  3386. fill?: (ColorString|GradientColorObject|PatternObject);
  3387. /**
  3388. * (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
  3389. */
  3390. height?: number;
  3391. /**
  3392. * (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
  3393. */
  3394. r?: number;
  3395. /**
  3396. * (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
  3397. * around an annotation making this annotation to focus. Defined in pixels.
  3398. */
  3399. snap?: number;
  3400. /**
  3401. * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
  3402. * the annotation shape. Note, type has to be set to `'image'`.
  3403. */
  3404. src?: string;
  3405. /**
  3406. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
  3407. */
  3408. stroke?: ColorString;
  3409. /**
  3410. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  3411. * shape.
  3412. */
  3413. strokeWidth?: number;
  3414. /**
  3415. * (Highcharts, Highstock, Highmaps, Gantt) The type of the shape, e.g.
  3416. * circle or rectangle.
  3417. */
  3418. type?: string;
  3419. /**
  3420. * (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
  3421. */
  3422. width?: number;
  3423. }
  3424. /**
  3425. * (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
  3426. * annotation. For options that apply to multiple shapes, then can be added to
  3427. * the shapeOptions.
  3428. */
  3429. export interface AnnotationsShapesOptions {
  3430. /**
  3431. * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
  3432. * for the shape's stroke.
  3433. */
  3434. dashStyle?: DashStyleValue;
  3435. /**
  3436. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
  3437. */
  3438. fill?: (ColorString|GradientColorObject|PatternObject);
  3439. /**
  3440. * (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
  3441. */
  3442. height?: number;
  3443. /**
  3444. * (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
  3445. * drawn at the final vertex of the path. Custom markers can be defined in
  3446. * defs property.
  3447. */
  3448. markerEnd?: string;
  3449. /**
  3450. * (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
  3451. * drawn at the first vertex of the path. Custom markers can be defined in
  3452. * defs property.
  3453. */
  3454. markerStart?: string;
  3455. /**
  3456. * (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
  3457. * which the shape will be connected. It can be either the point which
  3458. * exists in the series - it is referenced by the point's id - or a new
  3459. * point with defined x, y properties and optionally axes.
  3460. */
  3461. point?: (string|AnnotationMockPointOptionsObject);
  3462. /**
  3463. * (Highcharts, Highstock, Highmaps, Gantt) An array of points for the
  3464. * shape. This option is available for shapes which can use multiple points
  3465. * such as path. A point can be either a point object or a point's id.
  3466. */
  3467. points?: Array<(string|AnnotationMockPointOptionsObject)>;
  3468. /**
  3469. * (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
  3470. */
  3471. r?: number;
  3472. /**
  3473. * (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
  3474. * around an annotation making this annotation to focus. Defined in pixels.
  3475. */
  3476. snap?: number;
  3477. /**
  3478. * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
  3479. * the annotation shape. Note, type has to be set to `'image'`.
  3480. */
  3481. src?: string;
  3482. /**
  3483. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
  3484. */
  3485. stroke?: ColorString;
  3486. /**
  3487. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  3488. * shape.
  3489. */
  3490. strokeWidth?: number;
  3491. /**
  3492. * (Highcharts, Highstock, Highmaps, Gantt) The type of the shape, e.g.
  3493. * circle or rectangle.
  3494. */
  3495. type?: string;
  3496. /**
  3497. * (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
  3498. */
  3499. width?: number;
  3500. }
  3501. export interface AnnotationsTunnelControlPointOptions {
  3502. events?: any;
  3503. }
  3504. /**
  3505. * (Highstock) Options for annotation's labels. Each label inherits options from
  3506. * the labelOptions object. An option from the labelOptions can be overwritten
  3507. * by config for a specific label.
  3508. */
  3509. export interface AnnotationsTunnelLabelOptions {
  3510. /**
  3511. * (Highstock) Accessibility options for an annotation label.
  3512. */
  3513. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  3514. /**
  3515. * (Highstock) The alignment of the annotation's label. If right, the right
  3516. * side of the label should be touching the point.
  3517. */
  3518. align?: AlignValue;
  3519. /**
  3520. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  3521. * the labels less sensitive for overlapping, the can be set to 0.
  3522. */
  3523. allowOverlap?: boolean;
  3524. /**
  3525. * (Highstock) The background color or gradient for the annotation's label.
  3526. */
  3527. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  3528. /**
  3529. * (Highstock) The border color for the annotation's label.
  3530. */
  3531. borderColor?: ColorString;
  3532. /**
  3533. * (Highstock) The border radius in pixels for the annotaiton's label.
  3534. */
  3535. borderRadius?: number;
  3536. /**
  3537. * (Highstock) The border width in pixels for the annotation's label
  3538. */
  3539. borderWidth?: number;
  3540. /**
  3541. * (Highstock) A class name for styling by CSS.
  3542. */
  3543. className?: string;
  3544. /**
  3545. * (Highstock) Whether to hide the annotation's label that is outside the
  3546. * plot area.
  3547. */
  3548. crop?: boolean;
  3549. /**
  3550. * (Highstock) The label's pixel distance from the point.
  3551. */
  3552. distance?: number;
  3553. /**
  3554. * (Highstock) A format string for the data label.
  3555. */
  3556. format?: string;
  3557. /**
  3558. * (Highstock) Callback JavaScript function to format the annotation's
  3559. * label. Note that if a `format` or `text` are defined, the format or text
  3560. * take precedence and the formatter is ignored. `This` refers to a point
  3561. * object.
  3562. */
  3563. formatter?: FormatterCallbackFunction<Point>;
  3564. /**
  3565. * (Highstock) Whether the annotation is visible in the exported data table.
  3566. */
  3567. includeInDataExport?: boolean;
  3568. /**
  3569. * (Highstock) How to handle the annotation's label that flow outside the
  3570. * plot area. The justify option aligns the label inside the plot area.
  3571. */
  3572. overflow?: OptionsOverflowValue;
  3573. /**
  3574. * (Highstock) When either the borderWidth or the backgroundColor is set,
  3575. * this is the padding within the box.
  3576. */
  3577. padding?: number;
  3578. /**
  3579. * (Highstock) The shadow of the box. The shadow can be an object
  3580. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  3581. * `width`.
  3582. */
  3583. shadow?: (boolean|ShadowOptionsObject);
  3584. /**
  3585. * (Highstock) The name of a symbol to use for the border around the label.
  3586. * Symbols are predefined functions on the Renderer object.
  3587. */
  3588. shape?: string;
  3589. /**
  3590. * (Highstock) Styles for the annotation's label.
  3591. */
  3592. style?: CSSObject;
  3593. /**
  3594. * (Highstock) Alias for the format option.
  3595. */
  3596. text?: string;
  3597. /**
  3598. * (Highstock) Whether to use HTML to render the annotation's label.
  3599. */
  3600. useHTML?: boolean;
  3601. /**
  3602. * (Highstock) The vertical alignment of the annotation's label.
  3603. */
  3604. verticalAlign?: VerticalAlignValue;
  3605. /**
  3606. * (Highstock) The x position offset of the label relative to the point.
  3607. * Note that if a `distance` is defined, the distance takes precedence over
  3608. * `x` and `y` options.
  3609. */
  3610. x?: number;
  3611. /**
  3612. * (Highstock) The y position offset of the label relative to the point.
  3613. * Note that if a `distance` is defined, the distance takes precedence over
  3614. * `x` and `y` options.
  3615. */
  3616. y?: number;
  3617. }
  3618. /**
  3619. * (Highstock) A tunnel annotation.
  3620. */
  3621. export interface AnnotationsTunnelOptions {
  3622. controlPointOptions?: AnnotationsTunnelControlPointOptions;
  3623. /**
  3624. * (Highstock) Options for annotation's labels. Each label inherits options
  3625. * from the labelOptions object. An option from the labelOptions can be
  3626. * overwritten by config for a specific label.
  3627. */
  3628. labelOptions?: AnnotationsTunnelLabelOptions;
  3629. /**
  3630. * (Highstock) Options for annotation's shapes. Each shape inherits options
  3631. * from the shapeOptions object. An option from the shapeOptions can be
  3632. * overwritten by config for a specific shape.
  3633. */
  3634. shapeOptions?: AnnotationsTunnelShapeOptions;
  3635. /**
  3636. * (Highstock) Additional options for an annotation with the type.
  3637. */
  3638. typeOptions?: AnnotationsTunnelTypeOptions;
  3639. }
  3640. /**
  3641. * (Highstock) Options for annotation's shapes. Each shape inherits options from
  3642. * the shapeOptions object. An option from the shapeOptions can be overwritten
  3643. * by config for a specific shape.
  3644. */
  3645. export interface AnnotationsTunnelShapeOptions {
  3646. /**
  3647. * (Highstock) Name of the dash style to use for the shape's stroke.
  3648. */
  3649. dashStyle?: DashStyleValue;
  3650. /**
  3651. * (Highstock) The color of the shape's fill.
  3652. */
  3653. fill?: (ColorString|GradientColorObject|PatternObject);
  3654. /**
  3655. * (Highstock) The height of the shape.
  3656. */
  3657. height?: number;
  3658. /**
  3659. * (Highstock) The radius of the shape.
  3660. */
  3661. r?: number;
  3662. /**
  3663. * (Highstock) Defines additional snapping area around an annotation making
  3664. * this annotation to focus. Defined in pixels.
  3665. */
  3666. snap?: number;
  3667. /**
  3668. * (Highstock) The URL for an image to use as the annotation shape. Note,
  3669. * type has to be set to `'image'`.
  3670. */
  3671. src?: string;
  3672. /**
  3673. * (Highstock) The color of the shape's stroke.
  3674. */
  3675. stroke?: ColorString;
  3676. /**
  3677. * (Highstock) The pixel stroke width of the shape.
  3678. */
  3679. strokeWidth?: number;
  3680. /**
  3681. * (Highstock) The type of the shape, e.g. circle or rectangle.
  3682. */
  3683. type?: string;
  3684. /**
  3685. * (Highstock) The width of the shape.
  3686. */
  3687. width?: number;
  3688. }
  3689. /**
  3690. * (Highstock) Background options.
  3691. */
  3692. export interface AnnotationsTunnelTypeBackgroundOptions {
  3693. fill?: string;
  3694. strokeWidth?: number;
  3695. }
  3696. /**
  3697. * (Highstock) Options for the control point which controls the annotation's
  3698. * height.
  3699. */
  3700. export interface AnnotationsTunnelTypeHeightControlPointOptions {
  3701. events?: any;
  3702. }
  3703. /**
  3704. * (Highstock) Line options.
  3705. */
  3706. export interface AnnotationsTunnelTypeLineOptions {
  3707. fill?: string;
  3708. strokeWidth?: number;
  3709. }
  3710. /**
  3711. * (Highstock) Additional options for an annotation with the type.
  3712. */
  3713. export interface AnnotationsTunnelTypeOptions {
  3714. /**
  3715. * (Highstock) Background options.
  3716. */
  3717. background?: (object|AnnotationsTunnelTypeBackgroundOptions);
  3718. /**
  3719. * (Highstock) The height of the annotation in terms of yAxis.
  3720. */
  3721. height?: number;
  3722. /**
  3723. * (Highstock) Options for the control point which controls the annotation's
  3724. * height.
  3725. */
  3726. heightControlPoint?: AnnotationsTunnelTypeHeightControlPointOptions;
  3727. /**
  3728. * (Highstock) Line options.
  3729. */
  3730. line?: AnnotationsTunnelTypeLineOptions;
  3731. points?: Array<AnnotationsTunnelTypePointsOptions>;
  3732. /**
  3733. * (Highstock) This number defines which xAxis the point is connected to. It
  3734. * refers to either the axis id or the index of the axis in the xAxis array.
  3735. */
  3736. xAxis?: number;
  3737. /**
  3738. * (Highstock) This number defines which yAxis the point is connected to. It
  3739. * refers to either the axis id or the index of the axis in the xAxis array.
  3740. */
  3741. yAxis?: number;
  3742. }
  3743. export interface AnnotationsTunnelTypePointsOptions {
  3744. controlPoint?: number;
  3745. /**
  3746. * (Highstock) The x position of the point.
  3747. */
  3748. x?: number;
  3749. /**
  3750. * (Highstock) The y position of the point.
  3751. */
  3752. y?: number;
  3753. }
  3754. /**
  3755. * (Highstock) Options for annotation's labels. Each label inherits options from
  3756. * the labelOptions object. An option from the labelOptions can be overwritten
  3757. * by config for a specific label.
  3758. */
  3759. export interface AnnotationsVerticalLineLabelOptions {
  3760. /**
  3761. * (Highstock) Accessibility options for an annotation label.
  3762. */
  3763. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  3764. /**
  3765. * (Highstock) The alignment of the annotation's label. If right, the right
  3766. * side of the label should be touching the point.
  3767. */
  3768. align?: AlignValue;
  3769. /**
  3770. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  3771. * the labels less sensitive for overlapping, the can be set to 0.
  3772. */
  3773. allowOverlap?: boolean;
  3774. /**
  3775. * (Highstock) The background color or gradient for the annotation's label.
  3776. */
  3777. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  3778. /**
  3779. * (Highstock) The border color for the annotation's label.
  3780. */
  3781. borderColor?: ColorString;
  3782. /**
  3783. * (Highstock) The border radius in pixels for the annotaiton's label.
  3784. */
  3785. borderRadius?: number;
  3786. /**
  3787. * (Highstock) The border width in pixels for the annotation's label
  3788. */
  3789. borderWidth?: number;
  3790. /**
  3791. * (Highstock) A class name for styling by CSS.
  3792. */
  3793. className?: string;
  3794. /**
  3795. * (Highstock) Whether to hide the annotation's label that is outside the
  3796. * plot area.
  3797. */
  3798. crop?: boolean;
  3799. /**
  3800. * (Highstock) The label's pixel distance from the point.
  3801. */
  3802. distance?: number;
  3803. /**
  3804. * (Highstock) A format string for the data label.
  3805. */
  3806. format?: string;
  3807. /**
  3808. * (Highstock) Callback JavaScript function to format the annotation's
  3809. * label. Note that if a `format` or `text` are defined, the format or text
  3810. * take precedence and the formatter is ignored. `This` refers to a point
  3811. * object.
  3812. */
  3813. formatter?: FormatterCallbackFunction<Point>;
  3814. /**
  3815. * (Highstock) Whether the annotation is visible in the exported data table.
  3816. */
  3817. includeInDataExport?: boolean;
  3818. /**
  3819. * (Highstock) How to handle the annotation's label that flow outside the
  3820. * plot area. The justify option aligns the label inside the plot area.
  3821. */
  3822. overflow?: OptionsOverflowValue;
  3823. /**
  3824. * (Highstock) When either the borderWidth or the backgroundColor is set,
  3825. * this is the padding within the box.
  3826. */
  3827. padding?: number;
  3828. /**
  3829. * (Highstock) The shadow of the box. The shadow can be an object
  3830. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  3831. * `width`.
  3832. */
  3833. shadow?: (boolean|ShadowOptionsObject);
  3834. /**
  3835. * (Highstock) The name of a symbol to use for the border around the label.
  3836. * Symbols are predefined functions on the Renderer object.
  3837. */
  3838. shape?: string;
  3839. /**
  3840. * (Highstock) Styles for the annotation's label.
  3841. */
  3842. style?: CSSObject;
  3843. /**
  3844. * (Highstock) Alias for the format option.
  3845. */
  3846. text?: string;
  3847. /**
  3848. * (Highstock) Whether to use HTML to render the annotation's label.
  3849. */
  3850. useHTML?: boolean;
  3851. /**
  3852. * (Highstock) The vertical alignment of the annotation's label.
  3853. */
  3854. verticalAlign?: VerticalAlignValue;
  3855. /**
  3856. * (Highstock) The x position offset of the label relative to the point.
  3857. * Note that if a `distance` is defined, the distance takes precedence over
  3858. * `x` and `y` options.
  3859. */
  3860. x?: number;
  3861. /**
  3862. * (Highstock) The y position offset of the label relative to the point.
  3863. * Note that if a `distance` is defined, the distance takes precedence over
  3864. * `x` and `y` options.
  3865. */
  3866. y?: number;
  3867. }
  3868. /**
  3869. * (Highstock) A vertical line annotation.
  3870. */
  3871. export interface AnnotationsVerticalLineOptions {
  3872. /**
  3873. * (Highstock) Options for annotation's labels. Each label inherits options
  3874. * from the labelOptions object. An option from the labelOptions can be
  3875. * overwritten by config for a specific label.
  3876. */
  3877. labelOptions?: AnnotationsVerticalLineLabelOptions;
  3878. /**
  3879. * (Highstock) Options for annotation's shapes. Each shape inherits options
  3880. * from the shapeOptions object. An option from the shapeOptions can be
  3881. * overwritten by config for a specific shape.
  3882. */
  3883. shapeOptions?: AnnotationsVerticalLineShapeOptions;
  3884. /**
  3885. * (Highstock) Additional options for an annotation with the type.
  3886. */
  3887. typeOptions?: AnnotationsVerticalLineTypeOptions;
  3888. }
  3889. /**
  3890. * (Highstock) Options for annotation's shapes. Each shape inherits options from
  3891. * the shapeOptions object. An option from the shapeOptions can be overwritten
  3892. * by config for a specific shape.
  3893. */
  3894. export interface AnnotationsVerticalLineShapeOptions {
  3895. /**
  3896. * (Highstock) Name of the dash style to use for the shape's stroke.
  3897. */
  3898. dashStyle?: DashStyleValue;
  3899. /**
  3900. * (Highstock) The color of the shape's fill.
  3901. */
  3902. fill?: (ColorString|GradientColorObject|PatternObject);
  3903. /**
  3904. * (Highstock) The height of the shape.
  3905. */
  3906. height?: number;
  3907. /**
  3908. * (Highstock) The radius of the shape.
  3909. */
  3910. r?: number;
  3911. /**
  3912. * (Highstock) Defines additional snapping area around an annotation making
  3913. * this annotation to focus. Defined in pixels.
  3914. */
  3915. snap?: number;
  3916. /**
  3917. * (Highstock) The URL for an image to use as the annotation shape. Note,
  3918. * type has to be set to `'image'`.
  3919. */
  3920. src?: string;
  3921. /**
  3922. * (Highstock) The color of the shape's stroke.
  3923. */
  3924. stroke?: ColorString;
  3925. /**
  3926. * (Highstock) The pixel stroke width of the shape.
  3927. */
  3928. strokeWidth?: number;
  3929. /**
  3930. * (Highstock) The type of the shape, e.g. circle or rectangle.
  3931. */
  3932. type?: string;
  3933. /**
  3934. * (Highstock) The width of the shape.
  3935. */
  3936. width?: number;
  3937. }
  3938. /**
  3939. * (Highstock) Connector options.
  3940. */
  3941. export interface AnnotationsVerticalLineTypeConnectorOptions {
  3942. /**
  3943. * (Highstock) Name of the dash style to use for the shape's stroke.
  3944. */
  3945. dashStyle?: DashStyleValue;
  3946. /**
  3947. * (Highstock) The color of the shape's fill.
  3948. */
  3949. fill?: (ColorString|GradientColorObject|PatternObject);
  3950. markerEnd?: string;
  3951. /**
  3952. * (Highstock) Defines additional snapping area around an annotation making
  3953. * this annotation to focus. Defined in pixels.
  3954. */
  3955. snap?: number;
  3956. /**
  3957. * (Highstock) The URL for an image to use as the annotation shape. Note,
  3958. * type has to be set to `'image'`.
  3959. */
  3960. src?: string;
  3961. /**
  3962. * (Highstock) The color of the shape's stroke.
  3963. */
  3964. stroke?: ColorString;
  3965. /**
  3966. * (Highstock) The pixel stroke width of the shape.
  3967. */
  3968. strokeWidth?: number;
  3969. }
  3970. /**
  3971. * (Highstock) Label options.
  3972. */
  3973. export interface AnnotationsVerticalLineTypeLabelOptions {
  3974. /**
  3975. * (Highstock) Accessibility options for an annotation label.
  3976. */
  3977. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  3978. /**
  3979. * (Highstock) The alignment of the annotation's label. If right, the right
  3980. * side of the label should be touching the point.
  3981. */
  3982. align?: AlignValue;
  3983. /**
  3984. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  3985. * the labels less sensitive for overlapping, the can be set to 0.
  3986. */
  3987. allowOverlap?: boolean;
  3988. /**
  3989. * (Highstock) The background color or gradient for the annotation's label.
  3990. */
  3991. backgroundColor?: string;
  3992. /**
  3993. * (Highstock) The border color for the annotation's label.
  3994. */
  3995. borderColor?: ColorString;
  3996. /**
  3997. * (Highstock) The border radius in pixels for the annotaiton's label.
  3998. */
  3999. borderRadius?: number;
  4000. /**
  4001. * (Highstock) The border width in pixels for the annotation's label
  4002. */
  4003. borderWidth?: number;
  4004. /**
  4005. * (Highstock) A class name for styling by CSS.
  4006. */
  4007. className?: string;
  4008. /**
  4009. * (Highstock) Whether to hide the annotation's label that is outside the
  4010. * plot area.
  4011. */
  4012. crop?: boolean;
  4013. /**
  4014. * (Highstock) The label's pixel distance from the point.
  4015. */
  4016. distance?: number;
  4017. /**
  4018. * (Highstock) A format string for the data label.
  4019. */
  4020. format?: string;
  4021. /**
  4022. * (Highstock) Callback JavaScript function to format the annotation's
  4023. * label. Note that if a `format` or `text` are defined, the format or text
  4024. * take precedence and the formatter is ignored. `This` refers to a point
  4025. * object.
  4026. */
  4027. formatter?: FormatterCallbackFunction<Point>;
  4028. /**
  4029. * (Highstock) Whether the annotation is visible in the exported data table.
  4030. */
  4031. includeInDataExport?: boolean;
  4032. offset?: number;
  4033. /**
  4034. * (Highstock) How to handle the annotation's label that flow outside the
  4035. * plot area. The justify option aligns the label inside the plot area.
  4036. */
  4037. overflow?: OptionsOverflowValue;
  4038. /**
  4039. * (Highstock) When either the borderWidth or the backgroundColor is set,
  4040. * this is the padding within the box.
  4041. */
  4042. padding?: number;
  4043. /**
  4044. * (Highstock) The shadow of the box. The shadow can be an object
  4045. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  4046. * `width`.
  4047. */
  4048. shadow?: (boolean|ShadowOptionsObject);
  4049. /**
  4050. * (Highstock) The name of a symbol to use for the border around the label.
  4051. * Symbols are predefined functions on the Renderer object.
  4052. */
  4053. shape?: string;
  4054. /**
  4055. * (Highstock) Styles for the annotation's label.
  4056. */
  4057. style?: CSSObject;
  4058. /**
  4059. * (Highstock) Alias for the format option.
  4060. */
  4061. text?: string;
  4062. /**
  4063. * (Highstock) Whether to use HTML to render the annotation's label.
  4064. */
  4065. useHTML?: boolean;
  4066. /**
  4067. * (Highstock) The vertical alignment of the annotation's label.
  4068. */
  4069. verticalAlign?: VerticalAlignValue;
  4070. /**
  4071. * (Highstock) The x position offset of the label relative to the point.
  4072. * Note that if a `distance` is defined, the distance takes precedence over
  4073. * `x` and `y` options.
  4074. */
  4075. x?: number;
  4076. /**
  4077. * (Highstock) The y position offset of the label relative to the point.
  4078. * Note that if a `distance` is defined, the distance takes precedence over
  4079. * `x` and `y` options.
  4080. */
  4081. y?: number;
  4082. }
  4083. /**
  4084. * (Highstock) Line options.
  4085. */
  4086. export interface AnnotationsVerticalLineTypeLineOptions {
  4087. fill?: string;
  4088. }
  4089. /**
  4090. * (Highstock) Additional options for an annotation with the type.
  4091. */
  4092. export interface AnnotationsVerticalLineTypeOptions {
  4093. /**
  4094. * (Highstock) Connector options.
  4095. */
  4096. connector?: AnnotationsVerticalLineTypeConnectorOptions;
  4097. /**
  4098. * (Highstock) Label options.
  4099. */
  4100. label?: AnnotationsVerticalLineTypeLabelOptions;
  4101. /**
  4102. * (Highstock) Line options.
  4103. */
  4104. line?: AnnotationsVerticalLineTypeLineOptions;
  4105. points?: Array<AnnotationsVerticalLineTypePointsOptions>;
  4106. /**
  4107. * (Highstock) This number defines which xAxis the point is connected to. It
  4108. * refers to either the axis id or the index of the axis in the xAxis array.
  4109. */
  4110. xAxis?: number;
  4111. /**
  4112. * (Highstock) This number defines which yAxis the point is connected to. It
  4113. * refers to either the axis id or the index of the axis in the xAxis array.
  4114. */
  4115. yAxis?: number;
  4116. }
  4117. export interface AnnotationsVerticalLineTypePointsOptions {
  4118. controlPoint?: number;
  4119. /**
  4120. * (Highstock) The x position of the point.
  4121. */
  4122. x?: number;
  4123. /**
  4124. * (Highstock) The y position of the point.
  4125. */
  4126. y?: number;
  4127. }
  4128. /**
  4129. * Serialized form of an SVG/HTML definition, including children.
  4130. */
  4131. export interface ASTNode {
  4132. attributes?: SVGAttributes;
  4133. children?: Array<ASTNode>;
  4134. tagName?: string;
  4135. textContent?: string;
  4136. }
  4137. /**
  4138. * (Highcharts) Accessibility options for an axis. Requires the accessibility
  4139. * module.
  4140. */
  4141. export interface AxisAccessibilityOptionsObject {
  4142. /**
  4143. * (Highcharts) Description for an axis to expose to screen reader users.
  4144. */
  4145. description?: string;
  4146. /**
  4147. * (Highcharts) Enable axis accessibility features, including axis
  4148. * information in the screen reader information region. If this is disabled
  4149. * on the xAxis, the x values are not exposed to screen readers for the
  4150. * individual data points by default.
  4151. */
  4152. enabled?: boolean;
  4153. /**
  4154. * (Highcharts) Range description for an axis. Overrides the default range
  4155. * description. Set to empty to disable range description for this axis.
  4156. */
  4157. rangeDescription?: string;
  4158. }
  4159. /**
  4160. * (Highstock) A label on the axis next to the crosshair.
  4161. *
  4162. * In styled mode, the label is styled with the `.highcharts-crosshair-label`
  4163. * class.
  4164. */
  4165. export interface AxisCrosshairLabelOptions {
  4166. /**
  4167. * (Highstock) Alignment of the label compared to the axis. Defaults to
  4168. * `"left"` for right-side axes, `"right"` for left-side axes and `"center"`
  4169. * for horizontal axes.
  4170. */
  4171. align?: AlignValue;
  4172. /**
  4173. * (Highstock) The background color for the label. Defaults to the related
  4174. * series color, or `#666666` if that is not available.
  4175. */
  4176. backgroundColor?: ColorType;
  4177. /**
  4178. * (Highstock) The border color for the crosshair label
  4179. */
  4180. borderColor?: ColorType;
  4181. /**
  4182. * (Highstock) The border corner radius of the crosshair label.
  4183. */
  4184. borderRadius?: number;
  4185. /**
  4186. * (Highstock) The border width for the crosshair label.
  4187. */
  4188. borderWidth?: number;
  4189. /**
  4190. * (Highstock) Flag to enable crosshair's label.
  4191. */
  4192. enabled?: boolean;
  4193. /**
  4194. * (Highstock) A format string for the crosshair label. Defaults to
  4195. * `{value}` for numeric axes and `{value:%b %d, %Y}` for datetime axes.
  4196. */
  4197. format?: string;
  4198. /**
  4199. * (Highstock) Formatter function for the label text.
  4200. */
  4201. formatter?: XAxisCrosshairLabelFormatterCallbackFunction;
  4202. /**
  4203. * (Highstock) Padding inside the crosshair label.
  4204. */
  4205. padding?: number;
  4206. /**
  4207. * (Highstock) The shape to use for the label box.
  4208. */
  4209. shape?: string;
  4210. /**
  4211. * (Highstock) Text styles for the crosshair label.
  4212. */
  4213. style?: CSSObject;
  4214. }
  4215. /**
  4216. * (Highcharts, Highstock, Highmaps, Gantt) Configure a crosshair that follows
  4217. * either the mouse pointer or the hovered point.
  4218. *
  4219. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  4220. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  4221. */
  4222. export interface AxisCrosshairOptions {
  4223. /**
  4224. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the crosshair,
  4225. * especially as a hook for styling.
  4226. */
  4227. className?: string;
  4228. /**
  4229. * (Highcharts, Highstock, Highmaps, Gantt) The color of the crosshair.
  4230. * Defaults to `#cccccc` for numeric and datetime axes, and
  4231. * `rgba(204,214,235,0.25)` for category axes, where the crosshair by
  4232. * default highlights the whole category.
  4233. */
  4234. color?: ColorType;
  4235. /**
  4236. * (Highcharts, Highstock, Highmaps, Gantt) The dash style for the
  4237. * crosshair. See plotOptions.series.dashStyle for possible values.
  4238. */
  4239. dashStyle?: DashStyleValue;
  4240. /**
  4241. * (Highstock) A label on the axis next to the crosshair.
  4242. *
  4243. * In styled mode, the label is styled with the
  4244. * `.highcharts-crosshair-label` class.
  4245. */
  4246. label?: AxisCrosshairLabelOptions;
  4247. /**
  4248. * (Highcharts, Highstock, Highmaps, Gantt) Whether the crosshair should
  4249. * snap to the point or follow the pointer independent of points.
  4250. */
  4251. snap?: boolean;
  4252. /**
  4253. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the
  4254. * crosshair. Defaults to 1 for numeric or datetime axes, and for one
  4255. * category width for category axes.
  4256. */
  4257. width?: number;
  4258. /**
  4259. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the crosshair.
  4260. * Higher Z indices allow drawing the crosshair on top of the series or
  4261. * behind the grid lines.
  4262. */
  4263. zIndex?: number;
  4264. }
  4265. /**
  4266. * (Highcharts, Highstock, Gantt) For a datetime axis, the scale will
  4267. * automatically adjust to the appropriate unit. This member gives the default
  4268. * string representations used for each unit. For intermediate values, different
  4269. * units may be used, for example the `day` unit can be used on midnight and
  4270. * `hour` unit be used for intermediate values on the same axis.
  4271. *
  4272. * For an overview of the replacement codes, see dateFormat.
  4273. *
  4274. * Defaults to: (see online documentation for example)
  4275. */
  4276. export interface AxisDateTimeLabelFormatsOptions {
  4277. day?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4278. hour?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4279. millisecond?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4280. minute?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4281. month?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4282. second?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4283. week?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4284. year?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4285. }
  4286. export interface AxisDateTimeLabelFormatsOptionsObject {
  4287. main?: string;
  4288. range?: boolean;
  4289. }
  4290. export interface AxisLabelsFormatterContextObject {
  4291. /**
  4292. * The axis item of the label
  4293. */
  4294. axis: Axis;
  4295. /**
  4296. * The chart instance.
  4297. */
  4298. chart: Chart;
  4299. /**
  4300. * Whether the label belongs to the first tick on the axis.
  4301. */
  4302. isFirst: boolean;
  4303. /**
  4304. * Whether the label belongs to the last tick on the axis.
  4305. */
  4306. isLast: boolean;
  4307. /**
  4308. * The position on the axis in terms of axis values. For category axes, a
  4309. * zero-based index. For datetime axes, the JavaScript time in milliseconds
  4310. * since 1970.
  4311. */
  4312. pos: number;
  4313. /**
  4314. * The preformatted text as the result of the default formatting. For
  4315. * example dates will be formatted as strings, and numbers with
  4316. * language-specific comma separators, thousands separators and numeric
  4317. * symbols like `k` or `M`.
  4318. */
  4319. text: string;
  4320. /**
  4321. * The Tick instance.
  4322. */
  4323. tick: Tick;
  4324. /**
  4325. * This can be either a numeric value or a category string.
  4326. */
  4327. value: (number|string);
  4328. }
  4329. /**
  4330. * Options for the path on the Axis to be calculated.
  4331. */
  4332. export interface AxisPlotLinePathOptionsObject {
  4333. /**
  4334. * Used in Highcharts Stock. When `true`, plot paths (crosshair, plotLines,
  4335. * gridLines) will be rendered on all axes when defined on the first axis.
  4336. */
  4337. acrossPanes?: boolean;
  4338. /**
  4339. * If `false`, the function will return null when it falls outside the axis
  4340. * bounds. If `true`, the function will return a path aligned to the plot
  4341. * area sides if it falls outside. If `pass`, it will return a path outside.
  4342. */
  4343. force?: (boolean|string);
  4344. /**
  4345. * Line width used for calculation crisp line coordinates. Defaults to 1.
  4346. */
  4347. lineWidth?: number;
  4348. /**
  4349. * Use old coordinates (for resizing and rescaling). If not set, defaults to
  4350. * `false`.
  4351. */
  4352. old?: boolean;
  4353. /**
  4354. * Used in Polar axes. Reverse the positions for concatenation of polygonal
  4355. * plot bands
  4356. */
  4357. reverse?: boolean;
  4358. /**
  4359. * If given, return the plot line path of a pixel position on the axis.
  4360. */
  4361. translatedValue?: number;
  4362. /**
  4363. * Axis value.
  4364. */
  4365. value?: number;
  4366. }
  4367. export interface AxisPointBreakEventObject {
  4368. brk: Dictionary<number>;
  4369. point: Point;
  4370. preventDefault: Function;
  4371. target: SVGElement;
  4372. type: ("pointBreak"|"pointInBreak");
  4373. }
  4374. export interface AxisSetExtremesEventObject extends ExtremesObject {
  4375. preventDefault: Function;
  4376. target: SVGElement;
  4377. trigger: (string|AxisExtremesTriggerValue);
  4378. type: "setExtremes";
  4379. }
  4380. /**
  4381. * Time ticks.
  4382. */
  4383. export interface AxisTickPositionsArray extends Array<number> {
  4384. info?: TimeTicksInfoObject;
  4385. }
  4386. /**
  4387. * Bounding box of an element.
  4388. */
  4389. export interface BBoxObject extends PositionObject {
  4390. /**
  4391. * Height of the bounding box.
  4392. */
  4393. height: number;
  4394. /**
  4395. * Width of the bounding box.
  4396. */
  4397. width: number;
  4398. /**
  4399. * Horizontal position of the bounding box.
  4400. */
  4401. x: number;
  4402. /**
  4403. * Vertical position of the bounding box.
  4404. */
  4405. y: number;
  4406. }
  4407. /**
  4408. * (Highcharts, Highstock) Debugging options for boost. Useful for benchmarking,
  4409. * and general timing.
  4410. */
  4411. export interface BoostDebugOptions {
  4412. /**
  4413. * (Highcharts, Highstock) Show the number of points skipped through
  4414. * culling.
  4415. *
  4416. * When set to true, the number of points skipped in series processing is
  4417. * outputted. Points are skipped if they are closer than 1 pixel from each
  4418. * other.
  4419. */
  4420. showSkipSummary?: boolean;
  4421. /**
  4422. * (Highcharts, Highstock) Time the WebGL to SVG buffer copy
  4423. *
  4424. * After rendering, the result is copied to an image which is injected into
  4425. * the SVG.
  4426. *
  4427. * If this property is set to true, the time it takes for the buffer copy to
  4428. * complete is outputted.
  4429. */
  4430. timeBufferCopy?: boolean;
  4431. /**
  4432. * (Highcharts, Highstock) Time the building of the k-d tree.
  4433. *
  4434. * This outputs the time spent building the k-d tree used for markers etc.
  4435. *
  4436. * Note that the k-d tree is built async, and runs post-rendering.
  4437. * Following, it does not affect the performance of the rendering itself.
  4438. */
  4439. timeKDTree?: boolean;
  4440. /**
  4441. * (Highcharts, Highstock) Time the series rendering.
  4442. *
  4443. * This outputs the time spent on actual rendering in the console when set
  4444. * to true.
  4445. */
  4446. timeRendering?: boolean;
  4447. /**
  4448. * (Highcharts, Highstock) Time the series processing.
  4449. *
  4450. * This outputs the time spent on transforming the series data to vertex
  4451. * buffers when set to true.
  4452. */
  4453. timeSeriesProcessing?: boolean;
  4454. /**
  4455. * (Highcharts, Highstock) Time the the WebGL setup.
  4456. *
  4457. * This outputs the time spent on setting up the WebGL context, creating
  4458. * shaders, and textures.
  4459. */
  4460. timeSetup?: boolean;
  4461. }
  4462. /**
  4463. * (Highcharts, Highstock) Options for the Boost module. The Boost module allows
  4464. * certain series types to be rendered by WebGL instead of the default SVG. This
  4465. * allows hundreds of thousands of data points to be rendered in milliseconds.
  4466. * In addition to the WebGL rendering it saves time by skipping processing and
  4467. * inspection of the data wherever possible. This introduces some limitations to
  4468. * what features are available in boost mode. See the docs for details.
  4469. *
  4470. * In addition to the global `boost` option, each series has a boostThreshold
  4471. * that defines when the boost should kick in.
  4472. *
  4473. * Requires the `modules/boost.js` module.
  4474. */
  4475. export interface BoostOptions {
  4476. /**
  4477. * (Highcharts, Highstock) If set to true, the whole chart will be boosted
  4478. * if one of the series crosses its threshold, and all the series can be
  4479. * boosted.
  4480. */
  4481. allowForce?: boolean;
  4482. /**
  4483. * (Highcharts, Highstock) Debugging options for boost. Useful for
  4484. * benchmarking, and general timing.
  4485. */
  4486. debug?: BoostDebugOptions;
  4487. /**
  4488. * (Highcharts, Highstock) Enable or disable boost on a chart.
  4489. */
  4490. enabled?: boolean;
  4491. /**
  4492. * (Highcharts, Highstock) Set the series threshold for when the boost
  4493. * should kick in globally.
  4494. *
  4495. * Setting to e.g. 20 will cause the whole chart to enter boost mode if
  4496. * there are 20 or more series active. When the chart is in boost mode,
  4497. * every series in it will be rendered to a common canvas. This offers a
  4498. * significant speed improvment in charts with a very high amount of series.
  4499. */
  4500. seriesThreshold?: (number|null);
  4501. /**
  4502. * (Highcharts, Highstock) Enable or disable GPU translations. GPU
  4503. * translations are faster than doing the translation in JavaScript.
  4504. *
  4505. * This option may cause rendering issues with certain datasets. Namely, if
  4506. * your dataset has large numbers with small increments (such as
  4507. * timestamps), it won't work correctly. This is due to floating point
  4508. * precission.
  4509. */
  4510. useGPUTranslations?: boolean;
  4511. /**
  4512. * (Highcharts, Highstock) Enable or disable pre-allocation of vertex
  4513. * buffers.
  4514. *
  4515. * Enabling this will make it so that the binary data arrays required for
  4516. * storing the series data will be allocated prior to transforming the data
  4517. * to a WebGL-compatible format.
  4518. *
  4519. * This saves a copy operation on the order of O(n) and so is significantly
  4520. * more performant. However, this is currently an experimental option, and
  4521. * may cause visual artifacts with some datasets.
  4522. *
  4523. * As such, care should be taken when using this setting to make sure that
  4524. * it doesn't cause any rendering glitches with the given use-case.
  4525. */
  4526. usePreallocated?: boolean;
  4527. }
  4528. export interface BubbleLegendFormatterContextObject {
  4529. /**
  4530. * The center y position of the range.
  4531. */
  4532. center: number;
  4533. /**
  4534. * The radius of the bubble range.
  4535. */
  4536. radius: number;
  4537. /**
  4538. * The bubble value.
  4539. */
  4540. value: number;
  4541. }
  4542. /**
  4543. * The chart caption. The caption has an `update` method that allows modifying
  4544. * the options directly or indirectly via `chart.update`.
  4545. */
  4546. export interface CaptionObject extends SVGElement {
  4547. /**
  4548. * Modify options for the caption.
  4549. *
  4550. * @param captionOptions
  4551. * Options to modify.
  4552. *
  4553. * @param redraw
  4554. * Whether to redraw the chart after the caption is altered. If doing
  4555. * more operations on the chart, it is a good idea to set redraw to
  4556. * false and call Chart#redraw after.
  4557. */
  4558. update(captionOptions: CaptionOptions, redraw?: boolean): void;
  4559. }
  4560. /**
  4561. * (Highcharts, Highstock, Highmaps, Gantt) The chart's caption, which will
  4562. * render below the chart and will be part of exported charts. The caption can
  4563. * be updated after chart initialization through the `Chart.update` or
  4564. * `Chart.caption.update` methods.
  4565. */
  4566. export interface CaptionOptions {
  4567. /**
  4568. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
  4569. * caption. Can be one of "left", "center" and "right".
  4570. */
  4571. align?: AlignValue;
  4572. /**
  4573. * (Highcharts, Highstock, Highmaps, Gantt) When the caption is floating,
  4574. * the plot area will not move to make space for it.
  4575. */
  4576. floating?: boolean;
  4577. /**
  4578. * (Highcharts, Highstock, Highmaps, Gantt) The margin between the caption
  4579. * and the plot area.
  4580. */
  4581. margin?: number;
  4582. /**
  4583. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the caption.
  4584. *
  4585. * In styled mode, the caption style is given in the `.highcharts-caption`
  4586. * class.
  4587. */
  4588. style?: CSSObject;
  4589. /**
  4590. * (Highcharts, Highstock, Highmaps, Gantt) The caption text of the chart.
  4591. */
  4592. text?: string;
  4593. /**
  4594. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  4595. * the text.
  4596. */
  4597. useHTML?: boolean;
  4598. /**
  4599. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  4600. * caption. Can be one of `"top"`, `"middle"` and `"bottom"`. When middle,
  4601. * the caption behaves as floating.
  4602. */
  4603. verticalAlign?: VerticalAlignValue;
  4604. /**
  4605. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the caption
  4606. * relative to the alignment within `chart.spacingLeft` and
  4607. * `chart.spacingRight`.
  4608. */
  4609. x?: number;
  4610. /**
  4611. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the caption
  4612. * relative to the alignment within `chart.spacingTop` and
  4613. * `chart.spacingBottom`.
  4614. */
  4615. y?: number;
  4616. }
  4617. /**
  4618. * (Highcharts) The back side of the frame around a 3D chart.
  4619. */
  4620. export interface Chart3dFrameBackOptions {
  4621. /**
  4622. * (Highcharts) The color of the panel.
  4623. */
  4624. color?: (ColorString|GradientColorObject|PatternObject);
  4625. /**
  4626. * (Highcharts) The thickness of the panel.
  4627. */
  4628. size?: number;
  4629. /**
  4630. * (Highcharts) Whether to display the frame. Possible values are `true`,
  4631. * `false`, `"auto"` to display only the frames behind the data, and
  4632. * `"default"` to display faces behind the data based on the axis layout,
  4633. * ignoring the point of view.
  4634. */
  4635. visible?: ("auto"|"default"|boolean);
  4636. }
  4637. /**
  4638. * (Highcharts) The bottom of the frame around a 3D chart.
  4639. */
  4640. export interface Chart3dFrameBottomOptions {
  4641. /**
  4642. * (Highcharts) The color of the panel.
  4643. */
  4644. color?: (ColorString|GradientColorObject|PatternObject);
  4645. /**
  4646. * (Highcharts) The thickness of the panel.
  4647. */
  4648. size?: number;
  4649. /**
  4650. * (Highcharts) Whether to display the frame. Possible values are `true`,
  4651. * `false`, `"auto"` to display only the frames behind the data, and
  4652. * `"default"` to display faces behind the data based on the axis layout,
  4653. * ignoring the point of view.
  4654. */
  4655. visible?: ("auto"|"default"|boolean);
  4656. }
  4657. /**
  4658. * (Highcharts) The front of the frame around a 3D chart.
  4659. */
  4660. export interface Chart3dFrameFrontOptions {
  4661. /**
  4662. * (Highcharts) The color of the panel.
  4663. */
  4664. color?: (ColorString|GradientColorObject|PatternObject);
  4665. /**
  4666. * (Highcharts) The thickness of the panel.
  4667. */
  4668. size?: number;
  4669. /**
  4670. * (Highcharts) Whether to display the frame. Possible values are `true`,
  4671. * `false`, `"auto"` to display only the frames behind the data, and
  4672. * `"default"` to display faces behind the data based on the axis layout,
  4673. * ignoring the point of view.
  4674. */
  4675. visible?: ("auto"|"default"|boolean);
  4676. }
  4677. /**
  4678. * (Highcharts) The left side of the frame around a 3D chart.
  4679. */
  4680. export interface Chart3dFrameLeftOptions {
  4681. /**
  4682. * (Highcharts) The color of the panel.
  4683. */
  4684. color?: (ColorString|GradientColorObject|PatternObject);
  4685. /**
  4686. * (Highcharts) The thickness of the panel.
  4687. */
  4688. size?: number;
  4689. /**
  4690. * (Highcharts) Whether to display the frame. Possible values are `true`,
  4691. * `false`, `"auto"` to display only the frames behind the data, and
  4692. * `"default"` to display faces behind the data based on the axis layout,
  4693. * ignoring the point of view.
  4694. */
  4695. visible?: ("auto"|"default"|boolean);
  4696. }
  4697. /**
  4698. * (Highcharts) Provides the option to draw a frame around the charts by
  4699. * defining a bottom, front and back panel.
  4700. */
  4701. export interface Chart3dFrameOptions {
  4702. /**
  4703. * (Highcharts) The back side of the frame around a 3D chart.
  4704. */
  4705. back?: Chart3dFrameBackOptions;
  4706. /**
  4707. * (Highcharts) The bottom of the frame around a 3D chart.
  4708. */
  4709. bottom?: Chart3dFrameBottomOptions;
  4710. /**
  4711. * (Highcharts) The front of the frame around a 3D chart.
  4712. */
  4713. front?: Chart3dFrameFrontOptions;
  4714. /**
  4715. * (Highcharts) The left side of the frame around a 3D chart.
  4716. */
  4717. left?: Chart3dFrameLeftOptions;
  4718. /**
  4719. * (Highcharts) The right of the frame around a 3D chart.
  4720. */
  4721. right?: Chart3dFrameRightOptions;
  4722. /**
  4723. * (Highcharts) General pixel thickness for the frame faces.
  4724. */
  4725. size?: number;
  4726. /**
  4727. * (Highcharts) The top of the frame around a 3D chart.
  4728. */
  4729. top?: Chart3dFrameTopOptions;
  4730. /**
  4731. * (Highcharts) Whether the frames are visible.
  4732. */
  4733. visible?: string;
  4734. }
  4735. /**
  4736. * (Highcharts) The right of the frame around a 3D chart.
  4737. */
  4738. export interface Chart3dFrameRightOptions {
  4739. /**
  4740. * (Highcharts) The color of the panel.
  4741. */
  4742. color?: (ColorString|GradientColorObject|PatternObject);
  4743. /**
  4744. * (Highcharts) The thickness of the panel.
  4745. */
  4746. size?: number;
  4747. /**
  4748. * (Highcharts) Whether to display the frame. Possible values are `true`,
  4749. * `false`, `"auto"` to display only the frames behind the data, and
  4750. * `"default"` to display faces behind the data based on the axis layout,
  4751. * ignoring the point of view.
  4752. */
  4753. visible?: ("auto"|"default"|boolean);
  4754. }
  4755. /**
  4756. * (Highcharts) The top of the frame around a 3D chart.
  4757. */
  4758. export interface Chart3dFrameTopOptions {
  4759. /**
  4760. * (Highcharts) The color of the panel.
  4761. */
  4762. color?: (ColorString|GradientColorObject|PatternObject);
  4763. /**
  4764. * (Highcharts) The thickness of the panel.
  4765. */
  4766. size?: number;
  4767. /**
  4768. * (Highcharts) Whether to display the frame. Possible values are `true`,
  4769. * `false`, `"auto"` to display only the frames behind the data, and
  4770. * `"default"` to display faces behind the data based on the axis layout,
  4771. * ignoring the point of view.
  4772. */
  4773. visible?: ("auto"|"default"|boolean);
  4774. }
  4775. /**
  4776. * (Highcharts) Options to render charts in 3 dimensions. This feature requires
  4777. * `highcharts-3d.js`, found in the download package or online at
  4778. * code.highcharts.com/highcharts-3d.js.
  4779. */
  4780. export interface Chart3dOptions {
  4781. /**
  4782. * (Highcharts) One of the two rotation angles for the chart.
  4783. */
  4784. alpha?: number;
  4785. /**
  4786. * (Highcharts) Set it to `"auto"` to automatically move the labels to the
  4787. * best edge.
  4788. */
  4789. axisLabelPosition?: ("auto"|null);
  4790. /**
  4791. * (Highcharts) One of the two rotation angles for the chart.
  4792. */
  4793. beta?: number;
  4794. /**
  4795. * (Highcharts) The total depth of the chart.
  4796. */
  4797. depth?: number;
  4798. /**
  4799. * (Highcharts) Wether to render the chart using the 3D functionality.
  4800. */
  4801. enabled?: boolean;
  4802. /**
  4803. * (Highcharts) Whether the 3d box should automatically adjust to the chart
  4804. * plot area.
  4805. */
  4806. fitToPlot?: boolean;
  4807. /**
  4808. * (Highcharts) Provides the option to draw a frame around the charts by
  4809. * defining a bottom, front and back panel.
  4810. */
  4811. frame?: Chart3dFrameOptions;
  4812. /**
  4813. * (Highcharts) Defines the distance the viewer is standing in front of the
  4814. * chart, this setting is important to calculate the perspective effect in
  4815. * column and scatter charts. It is not used for 3D pie charts.
  4816. */
  4817. viewDistance?: number;
  4818. }
  4819. /**
  4820. * Contains common event information. Through the `options` property you can
  4821. * access the series options that were passed to the `addSeries` method.
  4822. */
  4823. export interface ChartAddSeriesEventObject {
  4824. /**
  4825. * The series options that were passed to the `addSeries` method.
  4826. */
  4827. options: SeriesOptionsType;
  4828. /**
  4829. * Prevents the default behaviour of the event.
  4830. */
  4831. preventDefault: Function;
  4832. /**
  4833. * The event target.
  4834. */
  4835. target: Chart;
  4836. /**
  4837. * The event type.
  4838. */
  4839. type: "addSeries";
  4840. }
  4841. /**
  4842. * Contains an axes of the clicked spot.
  4843. */
  4844. export interface ChartClickEventAxisObject {
  4845. /**
  4846. * Axis at the clicked spot.
  4847. */
  4848. axis: Axis;
  4849. /**
  4850. * Axis value at the clicked spot.
  4851. */
  4852. value: number;
  4853. }
  4854. /**
  4855. * Contains information about the clicked spot on the chart. Remember the unit
  4856. * of a datetime axis is milliseconds since 1970-01-01 00:00:00.
  4857. */
  4858. export interface ChartClickEventObject extends PointerEventObject {
  4859. /**
  4860. * Information about the x-axis on the clicked spot.
  4861. */
  4862. xAxis: Array<ChartClickEventAxisObject>;
  4863. /**
  4864. * Information about the y-axis on the clicked spot.
  4865. */
  4866. yAxis: Array<ChartClickEventAxisObject>;
  4867. /**
  4868. * Information about the z-axis on the clicked spot.
  4869. */
  4870. zAxis?: Array<ChartClickEventAxisObject>;
  4871. }
  4872. /**
  4873. * (Highcharts, Highstock, Highmaps, Gantt) Event listeners for the chart.
  4874. */
  4875. export interface ChartEventsOptions {
  4876. /**
  4877. * (Highcharts, Highstock, Highmaps, Gantt) Fires when a series is added to
  4878. * the chart after load time, using the `addSeries` method. One parameter,
  4879. * `event`, is passed to the function, containing common event information.
  4880. * Through `event.options` you can access the series options that were
  4881. * passed to the `addSeries` method. Returning false prevents the series
  4882. * from being added.
  4883. */
  4884. addSeries?: ChartAddSeriesCallbackFunction;
  4885. /**
  4886. * (Highcharts, Highstock, Highmaps, Gantt) Fires after a chart is printed
  4887. * through the context menu item or the `Chart.print` method.
  4888. */
  4889. afterPrint?: ExportingAfterPrintCallbackFunction;
  4890. /**
  4891. * (Highcharts, Highstock, Highmaps, Gantt) Fires before a chart is printed
  4892. * through the context menu item or the `Chart.print` method.
  4893. */
  4894. beforePrint?: ExportingBeforePrintCallbackFunction;
  4895. /**
  4896. * (Highcharts, Highstock, Highmaps, Gantt) Fires when clicking on the plot
  4897. * background. One parameter, `event`, is passed to the function, containing
  4898. * common event information.
  4899. *
  4900. * Information on the clicked spot can be found through `event.xAxis` and
  4901. * `event.yAxis`, which are arrays containing the axes of each dimension and
  4902. * each axis' value at the clicked spot. The primary axes are
  4903. * `event.xAxis[0]` and `event.yAxis[0]`. Remember the unit of a datetime
  4904. * axis is milliseconds since 1970-01-01 00:00:00. (see online documentation
  4905. * for example)
  4906. */
  4907. click?: ChartClickCallbackFunction;
  4908. /**
  4909. * (Highcharts, Highmaps) Fires when a drilldown point is clicked, before
  4910. * the new series is added. This event is also utilized for async drilldown,
  4911. * where the seriesOptions are not added by option, but rather loaded async.
  4912. * Note that when clicking a category label to trigger multiple series
  4913. * drilldown, one `drilldown` event is triggered per point in the category.
  4914. *
  4915. * Event arguments:
  4916. *
  4917. * - `category`: If a category label was clicked, which index.
  4918. *
  4919. * - `originalEvent`: The original browser event (usually click) that
  4920. * triggered the drilldown.
  4921. *
  4922. * - `point`: The originating point.
  4923. *
  4924. * - `points`: If a category label was clicked, this array holds all points
  4925. * corresponding to the category.
  4926. *
  4927. * - `seriesOptions`: Options for the new series.
  4928. */
  4929. drilldown?: DrilldownCallbackFunction;
  4930. /**
  4931. * (Highcharts, Highmaps) Fires when drilling up from a drilldown series.
  4932. */
  4933. drillup?: DrillupCallbackFunction;
  4934. /**
  4935. * (Highcharts, Highmaps) In a chart with multiple drilldown series, this
  4936. * event fires after all the series have been drilled up.
  4937. */
  4938. drillupall?: DrillupAllCallbackFunction;
  4939. /**
  4940. * (Highcharts, Highstock, Highmaps, Gantt) Callback that fires while
  4941. * exporting data. This allows the modification of data rows before
  4942. * processed into the final format.
  4943. */
  4944. exportData?: ExportDataCallbackFunction;
  4945. /**
  4946. * (Highcharts, Highstock, Highmaps, Gantt) Fires when the chart is finished
  4947. * loading. Since v4.2.2, it also waits for images to be loaded, for example
  4948. * from point markers. One parameter, `event`, is passed to the function,
  4949. * containing common event information.
  4950. *
  4951. * There is also a second parameter to the chart constructor where a
  4952. * callback function can be passed to be executed on chart.load.
  4953. */
  4954. load?: ChartLoadCallbackFunction;
  4955. /**
  4956. * (Highcharts, Highstock, Highmaps, Gantt) Fires when the chart is redrawn,
  4957. * either after a call to `chart.redraw()` or after an axis, series or point
  4958. * is modified with the `redraw` option set to `true`. One parameter,
  4959. * `event`, is passed to the function, containing common event information.
  4960. */
  4961. redraw?: ChartRedrawCallbackFunction;
  4962. /**
  4963. * (Highcharts, Highstock, Highmaps, Gantt) Fires after initial load of the
  4964. * chart (directly after the `load` event), and after each redraw (directly
  4965. * after the `redraw` event).
  4966. */
  4967. render?: ChartRenderCallbackFunction;
  4968. /**
  4969. * (Highcharts, Highstock, Highmaps, Gantt) Fires when an area of the chart
  4970. * has been selected. Selection is enabled by setting the chart's zoomType.
  4971. * One parameter, `event`, is passed to the function, containing common
  4972. * event information. The default action for the selection event is to zoom
  4973. * the chart to the selected area. It can be prevented by calling
  4974. * `event.preventDefault()` or return false.
  4975. *
  4976. * Information on the selected area can be found through `event.xAxis` and
  4977. * `event.yAxis`, which are arrays containing the axes of each dimension and
  4978. * each axis' min and max values. The primary axes are `event.xAxis[0]` and
  4979. * `event.yAxis[0]`. Remember the unit of a datetime axis is milliseconds
  4980. * since 1970-01-01 00:00:00. (see online documentation for example)
  4981. */
  4982. selection?: ChartSelectionCallbackFunction;
  4983. }
  4984. export interface ChartIsInsideOptionsObject {
  4985. ignoreX?: boolean;
  4986. ignoreY?: boolean;
  4987. inverted?: boolean;
  4988. paneCoordinates?: boolean;
  4989. series?: Series;
  4990. visiblePlotOnly?: boolean;
  4991. }
  4992. /**
  4993. * (Highcharts, Highstock, Highmaps, Gantt) General options for the chart.
  4994. */
  4995. export interface ChartOptions {
  4996. /**
  4997. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  4998. * or more opposite axes will automatically be aligned by adding ticks to
  4999. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  5000. *
  5001. * This can be prevented by setting `alignTicks` to false. If the grid lines
  5002. * look messy, it's a good idea to hide them for the secondary axis by
  5003. * setting `gridLineWidth` to 0.
  5004. *
  5005. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  5006. * the `alignTicks ` will be disabled for the Axis.
  5007. *
  5008. * Disabled for logarithmic axes.
  5009. */
  5010. alignTicks?: boolean;
  5011. /**
  5012. * (Highcharts, Highstock, Highmaps, Gantt) Set the overall animation for
  5013. * all chart updating. Animation can be disabled throughout the chart by
  5014. * setting it to false here. It can be overridden for each individual API
  5015. * method as a function parameter. The only animation not affected by this
  5016. * option is the initial series animation, see plotOptions.series.animation.
  5017. *
  5018. * The animation can either be set as a boolean or a configuration object.
  5019. * If `true`, it will use the 'swing' jQuery easing and a duration of 500
  5020. * ms. If used as a configuration object, the following properties are
  5021. * supported:
  5022. *
  5023. * - `defer`: The animation delay time in milliseconds.
  5024. *
  5025. * - `duration`: The duration of the animation in milliseconds.
  5026. *
  5027. * - `easing`: A string reference to an easing function set on the `Math`
  5028. * object. See the easing demo.
  5029. *
  5030. * When zooming on a series with less than 100 points, the chart redraw will
  5031. * be done with animation, but in case of more data points, it is necessary
  5032. * to set this option to ensure animation on zoom.
  5033. */
  5034. animation?: (boolean|Partial<AnimationOptionsObject>);
  5035. /**
  5036. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  5037. * for the outer chart area.
  5038. */
  5039. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  5040. /**
  5041. * (Highcharts, Highstock, Highmaps, Gantt) The color of the outer chart
  5042. * border.
  5043. */
  5044. borderColor?: (ColorString|GradientColorObject|PatternObject);
  5045. /**
  5046. * (Highcharts, Highstock, Highmaps, Gantt) The corner radius of the outer
  5047. * chart border.
  5048. */
  5049. borderRadius?: number;
  5050. /**
  5051. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the outer
  5052. * chart border.
  5053. */
  5054. borderWidth?: number;
  5055. /**
  5056. * (Highcharts, Highstock, Highmaps, Gantt) A CSS class name to apply to the
  5057. * charts container `div`, allowing unique CSS styling for each chart.
  5058. */
  5059. className?: string;
  5060. /**
  5061. * (Highcharts, Highstock, Highmaps, Gantt) In styled mode, this sets how
  5062. * many colors the class names should rotate between. With ten colors,
  5063. * series (or points) are given class names like `highcharts-color-0`,
  5064. * `highcharts-color-0` [...] `highcharts-color-9`. The equivalent in
  5065. * non-styled mode is to set colors using the colors setting.
  5066. */
  5067. colorCount?: number;
  5068. /**
  5069. * (Highcharts, Highstock, Highmaps, Gantt) Whether to display errors on the
  5070. * chart. When `false`, the errors will be shown only in the console.
  5071. */
  5072. displayErrors?: boolean;
  5073. /**
  5074. * (Highcharts, Highstock, Highmaps, Gantt) Event listeners for the chart.
  5075. */
  5076. events?: ChartEventsOptions;
  5077. /**
  5078. * (Highcharts, Highstock, Highmaps, Gantt) An explicit height for the
  5079. * chart. If a _number_, the height is given in pixels. If given a
  5080. * _percentage string_ (for example `'56%'`), the height is given as the
  5081. * percentage of the actual chart width. This allows for preserving the
  5082. * aspect ratio across responsive sizes.
  5083. *
  5084. * By default (when `null`) the height is calculated from the offset height
  5085. * of the containing element, or 400 pixels if the containing element's
  5086. * height is 0.
  5087. */
  5088. height?: (number|string|null);
  5089. /**
  5090. * (Highcharts, Highstock, Gantt) If true, the axes will scale to the
  5091. * remaining visible series once one series is hidden. If false, hiding and
  5092. * showing a series will not affect the axes or the other series. For
  5093. * stacks, once one series within the stack is hidden, the rest of the stack
  5094. * will close in around it even if the axis is not affected.
  5095. */
  5096. ignoreHiddenSeries?: boolean;
  5097. /**
  5098. * (Highcharts, Highstock, Gantt) Whether to invert the axes so that the x
  5099. * axis is vertical and y axis is horizontal. When `true`, the x axis is
  5100. * reversed by default.
  5101. */
  5102. inverted?: boolean;
  5103. /**
  5104. * (Highmaps) Default `mapData` for all series. If set to a string, it
  5105. * functions as an index into the `Highcharts.maps` array. Otherwise it is
  5106. * interpreted as map data.
  5107. */
  5108. map?: (string|GeoJSON|Array<any>);
  5109. /**
  5110. * (Highmaps) Set lat/lon transformation definitions for the chart. If not
  5111. * defined, these are extracted from the map data.
  5112. */
  5113. mapTransforms?: any;
  5114. /**
  5115. * (Highcharts, Highstock, Highmaps, Gantt) The margin between the outer
  5116. * edge of the chart and the plot area. The numbers in the array designate
  5117. * top, right, bottom and left respectively. Use the options `marginTop`,
  5118. * `marginRight`, `marginBottom` and `marginLeft` for shorthand setting of
  5119. * one option.
  5120. *
  5121. * By default there is no margin. The actual space is dynamically calculated
  5122. * from the offset of axis labels, axis title, title, subtitle and legend in
  5123. * addition to the `spacingTop`, `spacingRight`, `spacingBottom` and
  5124. * `spacingLeft` options.
  5125. */
  5126. margin?: (number|Array<number>);
  5127. /**
  5128. * (Highcharts, Highstock, Highmaps, Gantt) The margin between the bottom
  5129. * outer edge of the chart and the plot area. Use this to set a fixed pixel
  5130. * value for the margin as opposed to the default dynamic margin. See also
  5131. * `spacingBottom`.
  5132. */
  5133. marginBottom?: number;
  5134. /**
  5135. * (Highcharts, Highstock, Highmaps, Gantt) The margin between the left
  5136. * outer edge of the chart and the plot area. Use this to set a fixed pixel
  5137. * value for the margin as opposed to the default dynamic margin. See also
  5138. * `spacingLeft`.
  5139. */
  5140. marginLeft?: number;
  5141. /**
  5142. * (Highcharts, Highstock, Highmaps, Gantt) The margin between the right
  5143. * outer edge of the chart and the plot area. Use this to set a fixed pixel
  5144. * value for the margin as opposed to the default dynamic margin. See also
  5145. * `spacingRight`.
  5146. */
  5147. marginRight?: number;
  5148. /**
  5149. * (Highcharts, Highstock, Highmaps, Gantt) The margin between the top outer
  5150. * edge of the chart and the plot area. Use this to set a fixed pixel value
  5151. * for the margin as opposed to the default dynamic margin. See also
  5152. * `spacingTop`.
  5153. */
  5154. marginTop?: number;
  5155. /**
  5156. * (Highcharts, Highstock, Highmaps, Gantt) Callback function to override
  5157. * the default function that formats all the numbers in the chart. Returns a
  5158. * string with the formatted number.
  5159. */
  5160. numberFormatter?: NumberFormatterCallbackFunction;
  5161. /**
  5162. * (Highcharts) Options to render charts in 3 dimensions. This feature
  5163. * requires `highcharts-3d.js`, found in the download package or online at
  5164. * code.highcharts.com/highcharts-3d.js.
  5165. */
  5166. options3d?: Chart3dOptions;
  5167. /**
  5168. * (Highcharts, Gantt) Allows setting a key to switch between zooming and
  5169. * panning. Can be one of `alt`, `ctrl`, `meta` (the command key on Mac and
  5170. * Windows key on Windows) or `shift`. The keys are mapped directly to the
  5171. * key properties of the click event argument (`event.altKey`,
  5172. * `event.ctrlKey`, `event.metaKey` and `event.shiftKey`).
  5173. */
  5174. panKey?: OptionsPanKeyValue;
  5175. /**
  5176. * (Highcharts, Highstock, Highmaps, Gantt) Allow panning in a chart. Best
  5177. * used with panKey to combine zooming and panning.
  5178. *
  5179. * On touch devices, when the tooltip.followTouchMove option is `true`
  5180. * (default), panning requires two fingers. To allow panning with one
  5181. * finger, set `followTouchMove` to `false`.
  5182. */
  5183. panning?: ChartPanningOptions;
  5184. /**
  5185. * (Highcharts) Common options for all yAxes rendered in a parallel
  5186. * coordinates plot. This feature requires
  5187. * `modules/parallel-coordinates.js`.
  5188. *
  5189. * The default options are: (see online documentation for example)
  5190. */
  5191. parallelAxes?: (ChartParallelAxesOptions|Array<ChartParallelAxesOptions>);
  5192. /**
  5193. * (Highcharts) Flag to render charts as a parallel coordinates plot. In a
  5194. * parallel coordinates plot (||-coords) by default all required yAxes are
  5195. * generated and the legend is disabled. This feature requires
  5196. * `modules/parallel-coordinates.js`.
  5197. */
  5198. parallelCoordinates?: boolean;
  5199. /**
  5200. * (Highcharts, Highstock, Gantt) Equivalent to zoomType, but for multitouch
  5201. * gestures only. By default, the `pinchType` is the same as the `zoomType`
  5202. * setting. However, pinching can be enabled separately in some cases, for
  5203. * example in stock charts where a mouse drag pans the chart, while pinching
  5204. * is enabled. When tooltip.followTouchMove is true, pinchType only applies
  5205. * to two-finger touches.
  5206. */
  5207. pinchType?: OptionsPinchTypeValue;
  5208. /**
  5209. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  5210. * for the plot area.
  5211. */
  5212. plotBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  5213. /**
  5214. * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
  5215. * the plot background. To set an image as the background for the entire
  5216. * chart, set a CSS background image to the container element. Note that for
  5217. * the image to be applied to exported charts, its URL needs to be
  5218. * accessible by the export server.
  5219. */
  5220. plotBackgroundImage?: string;
  5221. /**
  5222. * (Highcharts, Highstock, Highmaps, Gantt) The color of the inner chart or
  5223. * plot area border.
  5224. */
  5225. plotBorderColor?: (ColorString|GradientColorObject|PatternObject);
  5226. /**
  5227. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the plot area
  5228. * border.
  5229. */
  5230. plotBorderWidth?: number;
  5231. /**
  5232. * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
  5233. * to the plot area. Requires that plotBackgroundColor be set. The shadow
  5234. * can be an object configuration containing `color`, `offsetX`, `offsetY`,
  5235. * `opacity` and `width`.
  5236. */
  5237. plotShadow?: (boolean|CSSObject);
  5238. /**
  5239. * (Highcharts) When true, cartesian charts like line, spline, area and
  5240. * column are transformed into the polar coordinate system. This produces
  5241. * _polar charts_, also known as _radar charts_.
  5242. */
  5243. polar?: boolean;
  5244. /**
  5245. * (Highmaps) Allows to manually load the proj4 library from Highcharts
  5246. * options instead of the `window`. In case of loading the library from a
  5247. * `script` tag, this option is not needed, it will be loaded from there by
  5248. * default.
  5249. */
  5250. proj4?: Function;
  5251. /**
  5252. * (Highcharts, Highstock, Highmaps, Gantt) Whether to reflow the chart to
  5253. * fit the width of the container div on resizing the window.
  5254. */
  5255. reflow?: boolean;
  5256. /**
  5257. * (Highcharts, Highstock, Highmaps, Gantt) The HTML element where the chart
  5258. * will be rendered. If it is a string, the element by that id is used. The
  5259. * HTML element can also be passed by direct reference, or as the first
  5260. * argument of the chart constructor, in which case the option is not
  5261. * needed.
  5262. */
  5263. renderTo?: (string|HTMLDOMElement);
  5264. /**
  5265. * (Highcharts, Highstock, Highmaps, Gantt) The button that appears after a
  5266. * selection zoom, allowing the user to reset zoom.
  5267. */
  5268. resetZoomButton?: ChartResetZoomButtonOptions;
  5269. /**
  5270. * (Highcharts, Gantt) Options for a scrollable plot area. This feature
  5271. * provides a minimum size for the plot area of the chart. If the size gets
  5272. * smaller than this, typically on mobile devices, a native browser
  5273. * scrollbar is presented. This scrollbar provides smooth scrolling for the
  5274. * contents of the plot area, whereas the title, legend and unaffected axes
  5275. * are fixed.
  5276. *
  5277. * Since v7.1.2, a scrollable plot area can be defined for either horizontal
  5278. * or vertical scrolling, depending on whether the `minWidth` or `minHeight`
  5279. * option is set.
  5280. */
  5281. scrollablePlotArea?: ChartScrollablePlotAreaOptions;
  5282. /**
  5283. * (Highcharts, Highstock, Highmaps, Gantt) The background color of the
  5284. * marker square when selecting (zooming in on) an area of the chart.
  5285. */
  5286. selectionMarkerFill?: (ColorString|GradientColorObject|PatternObject);
  5287. /**
  5288. * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
  5289. * to the outer chart area. Requires that backgroundColor be set. The shadow
  5290. * can be an object configuration containing `color`, `offsetX`, `offsetY`,
  5291. * `opacity` and `width`.
  5292. */
  5293. shadow?: (boolean|CSSObject);
  5294. /**
  5295. * (Highcharts, Gantt) Whether to show the axes initially. This only applies
  5296. * to empty charts where series are added dynamically, as axes are
  5297. * automatically added to cartesian series.
  5298. */
  5299. showAxes?: boolean;
  5300. /**
  5301. * (Highcharts, Highstock, Highmaps, Gantt) The distance between the outer
  5302. * edge of the chart and the content, like title or legend, or axis title
  5303. * and labels if present. The numbers in the array designate top, right,
  5304. * bottom and left respectively. Use the options spacingTop, spacingRight,
  5305. * spacingBottom and spacingLeft options for shorthand setting of one
  5306. * option.
  5307. */
  5308. spacing?: Array<number>;
  5309. /**
  5310. * (Highcharts, Highstock, Highmaps, Gantt) The space between the bottom
  5311. * edge of the chart and the content (plot area, axis title and labels,
  5312. * title, subtitle or legend in top position).
  5313. */
  5314. spacingBottom?: number;
  5315. /**
  5316. * (Highcharts, Highstock, Highmaps, Gantt) The space between the left edge
  5317. * of the chart and the content (plot area, axis title and labels, title,
  5318. * subtitle or legend in top position).
  5319. */
  5320. spacingLeft?: number;
  5321. /**
  5322. * (Highcharts, Highstock, Highmaps, Gantt) The space between the right edge
  5323. * of the chart and the content (plot area, axis title and labels, title,
  5324. * subtitle or legend in top position).
  5325. */
  5326. spacingRight?: number;
  5327. /**
  5328. * (Highcharts, Highstock, Highmaps, Gantt) The space between the top edge
  5329. * of the chart and the content (plot area, axis title and labels, title,
  5330. * subtitle or legend in top position).
  5331. */
  5332. spacingTop?: number;
  5333. /**
  5334. * (Highcharts, Highstock, Highmaps, Gantt) Additional CSS styles to apply
  5335. * inline to the container `div`. Note that since the default font styles
  5336. * are applied in the renderer, it is ignorant of the individual chart
  5337. * options and must be set globally.
  5338. */
  5339. style?: CSSObject;
  5340. /**
  5341. * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply styled mode.
  5342. * When in styled mode, no presentational attributes or CSS are applied to
  5343. * the chart SVG. Instead, CSS rules are required to style the chart. The
  5344. * default style sheet is available from
  5345. * `https://code.highcharts.com/css/highcharts.css`.
  5346. */
  5347. styledMode?: boolean;
  5348. /**
  5349. * (Highcharts, Highstock, Highmaps, Gantt) The default series type for the
  5350. * chart. Can be any of the chart types listed under plotOptions and series
  5351. * or can be a series provided by an additional module.
  5352. *
  5353. * In TypeScript this option has no effect in sense of typing and instead
  5354. * the `type` option must always be set in the series.
  5355. */
  5356. type?: string;
  5357. /**
  5358. * (Highcharts, Highstock, Highmaps, Gantt) An explicit width for the chart.
  5359. * By default (when `null`) the width is calculated from the offset width of
  5360. * the containing element.
  5361. */
  5362. width?: (number|string|null);
  5363. /**
  5364. * (Highcharts, Highstock, Gantt) Enables zooming by a single touch, in
  5365. * combination with chart.zoomType. When enabled, two-finger pinch will
  5366. * still work as set up by chart.pinchType. However, `zoomBySingleTouch`
  5367. * will interfere with touch-dragging the chart to read the tooltip. And
  5368. * especially when vertical zooming is enabled, it will make it hard to
  5369. * scroll vertically on the page.
  5370. */
  5371. zoomBySingleTouch?: boolean;
  5372. /**
  5373. * (Highcharts, Highstock, Highmaps, Gantt) Set a key to hold when dragging
  5374. * to zoom the chart. This is useful to avoid zooming while moving points.
  5375. * Should be set different than chart.panKey.
  5376. */
  5377. zoomKey?: OptionsZoomKeyValue;
  5378. /**
  5379. * (Highcharts, Highstock, Gantt) Decides in what dimensions the user can
  5380. * zoom by dragging the mouse. Can be one of `x`, `y` or `xy`.
  5381. */
  5382. zoomType?: OptionsZoomTypeValue;
  5383. }
  5384. /**
  5385. * (Highcharts, Highstock, Highmaps, Gantt) Allow panning in a chart. Best used
  5386. * with panKey to combine zooming and panning.
  5387. *
  5388. * On touch devices, when the tooltip.followTouchMove option is `true`
  5389. * (default), panning requires two fingers. To allow panning with one finger,
  5390. * set `followTouchMove` to `false`.
  5391. */
  5392. export interface ChartPanningOptions {
  5393. /**
  5394. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable chart panning.
  5395. */
  5396. enabled?: boolean;
  5397. /**
  5398. * (Highcharts, Highstock, Highmaps, Gantt) Decides in what dimensions the
  5399. * user can pan the chart. Can be one of `x`, `y`, or `xy`.
  5400. */
  5401. type?: OptionsTypeValue;
  5402. }
  5403. /**
  5404. * (Highcharts) Event handlers for the axis.
  5405. */
  5406. export interface ChartParallelAxesEventsOptions {
  5407. /**
  5408. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  5409. */
  5410. afterBreaks?: AxisEventCallbackFunction;
  5411. /**
  5412. * (Highcharts) As opposed to the `setExtremes` event, this event fires
  5413. * after the final min and max values are computed and corrected for
  5414. * `minRange`.
  5415. *
  5416. * Fires when the minimum and maximum is set for the axis, either by calling
  5417. * the `.setExtremes()` method or by selecting an area in the chart. One
  5418. * parameter, `event`, is passed to the function, containing common event
  5419. * information.
  5420. *
  5421. * The new user set minimum and maximum values can be found by `event.min`
  5422. * and `event.max`. These reflect the axis minimum and maximum in axis
  5423. * values. The actual data extremes are found in `event.dataMin` and
  5424. * `event.dataMax`.
  5425. */
  5426. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  5427. /**
  5428. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  5429. * a point.
  5430. */
  5431. pointBreak?: AxisPointBreakEventCallbackFunction;
  5432. /**
  5433. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  5434. * break from this axis.
  5435. */
  5436. pointInBreak?: AxisPointBreakEventCallbackFunction;
  5437. /**
  5438. * (Highcharts) Fires when the minimum and maximum is set for the axis,
  5439. * either by calling the `.setExtremes()` method or by selecting an area in
  5440. * the chart. One parameter, `event`, is passed to the function, containing
  5441. * common event information.
  5442. *
  5443. * The new user set minimum and maximum values can be found by `event.min`
  5444. * and `event.max`. These reflect the axis minimum and maximum in data
  5445. * values. When an axis is zoomed all the way out from the "Reset zoom"
  5446. * button, `event.min` and `event.max` are null, and the new extremes are
  5447. * set based on `this.dataMin` and `this.dataMax`.
  5448. */
  5449. setExtremes?: AxisSetExtremesEventCallbackFunction;
  5450. }
  5451. /**
  5452. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  5453. */
  5454. export interface ChartParallelAxesGridOptions {
  5455. /**
  5456. * (Gantt) Set border color for the label grid lines.
  5457. */
  5458. borderColor?: ColorString;
  5459. /**
  5460. * (Gantt) Set border width of the label grid lines.
  5461. */
  5462. borderWidth?: number;
  5463. /**
  5464. * (Gantt) Set cell height for grid axis labels. By default this is
  5465. * calculated from font size. This option only applies to horizontal axes.
  5466. */
  5467. cellHeight?: number;
  5468. /**
  5469. * (Gantt) Set specific options for each column (or row for horizontal axes)
  5470. * in the grid. Each extra column/row is its own axis, and the axis options
  5471. * can be set here.
  5472. */
  5473. columns?: Array<XAxisOptions>;
  5474. /**
  5475. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  5476. * charts.
  5477. */
  5478. enabled?: boolean;
  5479. }
  5480. /**
  5481. * (Gantt) Set options on specific levels in a tree grid axis. Takes precedence
  5482. * over labels options.
  5483. */
  5484. export interface ChartParallelAxesLabelsLevelsOptions {
  5485. /**
  5486. * (Gantt) Specify the level which the options within this object applies
  5487. * to.
  5488. */
  5489. level?: number;
  5490. style?: CSSObject;
  5491. }
  5492. /**
  5493. * (Highcharts) The axis labels show the number or category for each tick.
  5494. *
  5495. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  5496. * `tickInterval` and `step` is set to 1.
  5497. */
  5498. export interface ChartParallelAxesLabelsOptions {
  5499. /**
  5500. * (Highcharts) What part of the string the given position is anchored to.
  5501. * Can be one of `"left"`, `"center"` or `"right"`. The exact position also
  5502. * depends on the `labels.x` setting.
  5503. *
  5504. * Angular gauges and solid gauges defaults to `"center"`. Solid gauges with
  5505. * two labels have additional option `"auto"` for automatic horizontal and
  5506. * vertical alignment.
  5507. */
  5508. align?: string;
  5509. /**
  5510. * (Highcharts) Whether to allow the axis labels to overlap. When false,
  5511. * overlapping labels are hidden.
  5512. */
  5513. allowOverlap?: boolean;
  5514. /**
  5515. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  5516. * of label rotation to prevent overlapping labels. If there is enough
  5517. * space, labels are not rotated. As the chart gets narrower, it will start
  5518. * rotating the labels -45 degrees, then remove every second label and try
  5519. * again with rotations 0 and -45 etc. Set it to `undefined` to disable
  5520. * rotation, which will cause the labels to word-wrap if possible. Defaults
  5521. * to `[-45]`` on bottom and top axes, `undefined` on left and right axes.
  5522. */
  5523. autoRotation?: Array<number>;
  5524. /**
  5525. * (Highcharts, Gantt) When each category width is more than this many
  5526. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  5527. * with word wrap. A lower limit makes sense when the label contains
  5528. * multiple short words that don't extend the available horizontal space for
  5529. * each label.
  5530. */
  5531. autoRotationLimit?: number;
  5532. /**
  5533. * (Highcharts) Angular gauges and solid gauges only. The label's pixel
  5534. * distance from the perimeter of the plot area.
  5535. *
  5536. * Since v7.1.2: If it's a percentage string, it is interpreted the same as
  5537. * series.radius, so label can be aligned under the gauge's shape.
  5538. */
  5539. distance?: (number|string);
  5540. /**
  5541. * (Highcharts) Enable or disable the axis labels.
  5542. */
  5543. enabled?: boolean;
  5544. /**
  5545. * (Highcharts) A format string for the axis label. The context is available
  5546. * as format string variables. For example, you can use `{text}` to insert
  5547. * the default formatted text. The recommended way of adding units for the
  5548. * label is using `text`, for example `{text} km`.
  5549. *
  5550. * To add custom numeric or datetime formatting, use `{value}` with
  5551. * formatting, for example `{value:.1f}` or `{value:%Y-%m-%d}`.
  5552. *
  5553. * See format string for more examples of formatting.
  5554. *
  5555. * The default value is not specified due to the dynamic nature of the
  5556. * default implementation.
  5557. */
  5558. format?: string;
  5559. /**
  5560. * (Highcharts) Callback JavaScript function to format the label. The value
  5561. * is given by `this.value`. Additional properties for `this` are `axis`,
  5562. * `chart`, `isFirst`, `isLast` and `text` which holds the value of the
  5563. * default formatter.
  5564. *
  5565. * Defaults to a built in function returning a formatted string depending on
  5566. * whether the axis is `category`, `datetime`, `numeric` or other.
  5567. */
  5568. formatter?: AxisLabelsFormatterCallbackFunction;
  5569. /**
  5570. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  5571. * axis.
  5572. */
  5573. indentation?: number;
  5574. /**
  5575. * (Gantt) Set options on specific levels in a tree grid axis. Takes
  5576. * precedence over labels options.
  5577. */
  5578. levels?: Array<ChartParallelAxesLabelsLevelsOptions>;
  5579. /**
  5580. * (Highcharts) How to handle overflowing labels on horizontal axis. If set
  5581. * to `"allow"`, it will not be aligned at all. By default it `"justify"`
  5582. * labels inside the chart area. If there is room to move it, it will be
  5583. * aligned to the edge, else it will be removed.
  5584. */
  5585. overflow?: OptionsOverflowValue;
  5586. /**
  5587. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  5588. * space between them.
  5589. */
  5590. padding?: number;
  5591. /**
  5592. * (Highcharts) Defines how the labels are be repositioned according to the
  5593. * 3D chart orientation.
  5594. *
  5595. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  5596. * marks, despite the chart orientation. This is the backwards compatible
  5597. * behavior, and causes skewing of X and Z axes.
  5598. *
  5599. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  5600. * but hard to read if the text isn't forward-facing.
  5601. *
  5602. * - `'flap'`: Rotated text along the axis to compensate for the chart
  5603. * orientation. This tries to maintain text as legible as possible on all
  5604. * orientations.
  5605. *
  5606. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  5607. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  5608. * skewing the labels (X and Y scaling are still present).
  5609. */
  5610. position3d?: OptionsPosition3dValue;
  5611. /**
  5612. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  5613. * space is reserved for the labels in these cases:
  5614. *
  5615. * * On all horizontal axes.
  5616. *
  5617. * * On vertical axes if `label.align` is `right` on a left-side axis or
  5618. * `left` on a right-side axis.
  5619. *
  5620. * * On vertical axes if `label.align` is `center`.
  5621. *
  5622. * This can be turned off when for example the labels are rendered inside
  5623. * the plot area instead of outside.
  5624. */
  5625. reserveSpace?: boolean;
  5626. /**
  5627. * (Highcharts) Rotation of the labels in degrees. When `undefined`, the
  5628. * `autoRotation` option takes precedence.
  5629. */
  5630. rotation?: number;
  5631. /**
  5632. * (Highcharts) If enabled, the axis labels will skewed to follow the
  5633. * perspective.
  5634. *
  5635. * This will fix overlapping labels and titles, but texts become less
  5636. * legible due to the distortion.
  5637. *
  5638. * The final appearance depends heavily on `labels.position3d`.
  5639. */
  5640. skew3d?: boolean;
  5641. /**
  5642. * (Highcharts) Horizontal axes only. The number of lines to spread the
  5643. * labels over to make room or tighter labels. 0 disables staggering.
  5644. */
  5645. staggerLines?: object;
  5646. /**
  5647. * (Highcharts) To show only every _n_'th label on the axis, set the step to
  5648. * _n_. Setting the step to 2 shows every other label.
  5649. *
  5650. * By default, when 0, the step is calculated automatically to avoid
  5651. * overlap. To prevent this, set it to 1\. This usually only happens on a
  5652. * category axis, and is often a sign that you have chosen the wrong axis
  5653. * type.
  5654. *
  5655. * Read more at Axis docs => What axis should I use?
  5656. */
  5657. step?: number;
  5658. /**
  5659. * (Highcharts) CSS styles for the label. Use `whiteSpace: 'nowrap'` to
  5660. * prevent wrapping of category labels. Use `textOverflow: 'none'` to
  5661. * prevent ellipsis (dots).
  5662. *
  5663. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  5664. * class.
  5665. */
  5666. style?: CSSObject;
  5667. /**
  5668. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  5669. */
  5670. symbol?: ChartParallelAxesLabelsSymbolOptions;
  5671. /**
  5672. * (Highcharts) Whether to use HTML to render the labels.
  5673. */
  5674. useHTML?: boolean;
  5675. /**
  5676. * (Highcharts) The x position offset of all labels relative to the tick
  5677. * positions on the axis. Defaults to -15 for left axis, 15 for right axis.
  5678. */
  5679. x?: number;
  5680. /**
  5681. * (Highcharts) The y position offset of all labels relative to the tick
  5682. * positions on the axis. For polar and radial axis consider the use of the
  5683. * distance option.
  5684. */
  5685. y?: number;
  5686. /**
  5687. * (Highcharts) The Z index for the axis labels.
  5688. */
  5689. zIndex?: number;
  5690. }
  5691. /**
  5692. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  5693. */
  5694. export interface ChartParallelAxesLabelsSymbolOptions {
  5695. height?: number;
  5696. padding?: number;
  5697. /**
  5698. * (Gantt) The symbol type. Points to a definition function in the
  5699. * `Highcharts.Renderer.symbols` collection.
  5700. */
  5701. type?: SymbolKeyValue;
  5702. width?: number;
  5703. x?: number;
  5704. y?: number;
  5705. }
  5706. /**
  5707. * (Highcharts) Common options for all yAxes rendered in a parallel coordinates
  5708. * plot. This feature requires `modules/parallel-coordinates.js`.
  5709. *
  5710. * The default options are: (see online documentation for example)
  5711. */
  5712. export interface ChartParallelAxesOptions {
  5713. /**
  5714. * (Highcharts) Accessibility options for an axis. Requires the
  5715. * accessibility module.
  5716. */
  5717. accessibility?: AxisAccessibilityOptionsObject;
  5718. /**
  5719. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  5720. * or more opposite axes will automatically be aligned by adding ticks to
  5721. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  5722. *
  5723. * This can be prevented by setting `alignTicks` to false. If the grid lines
  5724. * look messy, it's a good idea to hide them for the secondary axis by
  5725. * setting `gridLineWidth` to 0.
  5726. *
  5727. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  5728. * the `alignTicks ` will be disabled for the Axis.
  5729. *
  5730. * Disabled for logarithmic axes.
  5731. */
  5732. alignTicks?: boolean;
  5733. /**
  5734. * (Highcharts) Whether to allow decimals in this axis' ticks. When counting
  5735. * integers, like persons or hits on a web page, decimals should be avoided
  5736. * in the labels. By default, decimals are allowed on small scale axes.
  5737. */
  5738. allowDecimals?: (boolean|undefined);
  5739. /**
  5740. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  5741. * used instead of numbers for that axis.
  5742. *
  5743. * Since Highcharts 3.0, categories can also be extracted by giving each
  5744. * point a name and setting axis type to `category`. However, if you have
  5745. * multiple series, best practice remains defining the `categories` array.
  5746. *
  5747. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  5748. */
  5749. categories?: Array<string>;
  5750. /**
  5751. * (Highcharts, Highstock, Gantt) The highest allowed value for
  5752. * automatically computed axis extremes.
  5753. */
  5754. ceiling?: number;
  5755. /**
  5756. * (Highcharts) A class name that opens for styling the axis by CSS,
  5757. * especially in Highcharts styled mode. The class name is applied to group
  5758. * elements for the grid, axis elements and labels.
  5759. */
  5760. className?: string;
  5761. /**
  5762. * (Highcharts) Configure a crosshair that follows either the mouse pointer
  5763. * or the hovered point.
  5764. *
  5765. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  5766. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  5767. */
  5768. crosshair?: (boolean|AxisCrosshairOptions);
  5769. /**
  5770. * (Highcharts, Highstock, Gantt) For a datetime axis, the scale will
  5771. * automatically adjust to the appropriate unit. This member gives the
  5772. * default string representations used for each unit. For intermediate
  5773. * values, different units may be used, for example the `day` unit can be
  5774. * used on midnight and `hour` unit be used for intermediate values on the
  5775. * same axis.
  5776. *
  5777. * For an overview of the replacement codes, see dateFormat.
  5778. *
  5779. * Defaults to: (see online documentation for example)
  5780. */
  5781. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  5782. /**
  5783. * (Highcharts) Whether to force the axis to end on a tick. Use this option
  5784. * with the `maxPadding` option to control the axis end.
  5785. *
  5786. * This option is always disabled, when panning type is either `y` or `xy`.
  5787. */
  5788. endOnTick?: boolean;
  5789. /**
  5790. * (Highcharts) Event handlers for the axis.
  5791. */
  5792. events?: ChartParallelAxesEventsOptions;
  5793. /**
  5794. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  5795. * computed axis extremes.
  5796. */
  5797. floor?: number;
  5798. /**
  5799. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  5800. */
  5801. grid?: ChartParallelAxesGridOptions;
  5802. /**
  5803. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  5804. */
  5805. gridZIndex?: number;
  5806. /**
  5807. * (Highcharts, Highstock) The height of the Y axis. If it's a number, it is
  5808. * interpreted as pixels.
  5809. *
  5810. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  5811. * percentages of the total plot height.
  5812. */
  5813. height?: (number|string);
  5814. /**
  5815. * (Highcharts) The axis labels show the number or category for each tick.
  5816. *
  5817. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  5818. * data if `tickInterval` and `step` is set to 1.
  5819. */
  5820. labels?: ChartParallelAxesLabelsOptions;
  5821. /**
  5822. * (Highcharts, Highstock) The left position as the horizontal axis. If it's
  5823. * a number, it is interpreted as pixel position relative to the chart.
  5824. *
  5825. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  5826. * as percentages of the plot width, offset from plot area left.
  5827. */
  5828. left?: (number|string);
  5829. /**
  5830. * (Highcharts) The color of the line marking the axis itself.
  5831. *
  5832. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  5833. * or `.highcharts-xaxis-line` class.
  5834. */
  5835. lineColor?: ColorType;
  5836. /**
  5837. * (Highcharts) The width of the line marking the axis itself.
  5838. *
  5839. * In styled mode, the stroke width is given in the `.highcharts-axis-line`
  5840. * or `.highcharts-xaxis-line` class.
  5841. */
  5842. lineWidth?: number;
  5843. /**
  5844. * (Highcharts, Highstock, Gantt) Index of another axis that this axis is
  5845. * linked to. When an axis is linked to a master axis, it will take the same
  5846. * extremes as the master, but as assigned by min or max or by setExtremes.
  5847. * It can be used to show additional info, or to ease reading the chart by
  5848. * duplicating the scales.
  5849. */
  5850. linkedTo?: number;
  5851. /**
  5852. * (Highcharts) If there are multiple axes on the same side of the chart,
  5853. * the pixel margin between the axes. Defaults to 0 on vertical axes, 15 on
  5854. * horizontal axes.
  5855. */
  5856. margin?: number;
  5857. /**
  5858. * (Highcharts) The maximum value of the axis. If `null`, the max value is
  5859. * automatically calculated.
  5860. *
  5861. * If the endOnTick option is true, the `max` value might be rounded up.
  5862. *
  5863. * If a tickAmount is set, the axis may be extended beyond the set max in
  5864. * order to reach the given number of ticks. The same may happen in a chart
  5865. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  5866. * is applied internally.
  5867. */
  5868. max?: (number|null);
  5869. /**
  5870. * (Highstock) Maximal size of a resizable axis. Could be set as a percent
  5871. * of plot area or pixel size.
  5872. */
  5873. maxLength?: (number|string);
  5874. /**
  5875. * (Highcharts, Highstock, Gantt) Padding of the max value relative to the
  5876. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  5877. * This is useful when you don't want the highest data value to appear on
  5878. * the edge of the plot area. When the axis' `max` option is set or a max
  5879. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  5880. * ignored.
  5881. *
  5882. * Also the `softThreshold` option takes precedence over `maxPadding`, so if
  5883. * the data is tangent to the threshold, `maxPadding` may not apply unless
  5884. * `softThreshold` is set to false.
  5885. */
  5886. maxPadding?: number;
  5887. /**
  5888. * (Highstock, Gantt) Maximum range which can be set using the navigator's
  5889. * handles. Opposite of xAxis.minRange.
  5890. */
  5891. maxRange?: number;
  5892. /**
  5893. * (Highcharts) The minimum value of the axis. If `null` the min value is
  5894. * automatically calculated.
  5895. *
  5896. * If the startOnTick option is true (default), the `min` value might be
  5897. * rounded down.
  5898. *
  5899. * The automatically calculated minimum value is also affected by floor,
  5900. * softMin, minPadding, minRange as well as series.threshold and
  5901. * series.softThreshold.
  5902. */
  5903. min?: (number|null);
  5904. /**
  5905. * (Highstock) Minimal size of a resizable axis. Could be set as a percent
  5906. * of plot area or pixel size.
  5907. */
  5908. minLength?: (number|string);
  5909. /**
  5910. * (Highcharts) Color for the minor tick marks.
  5911. */
  5912. minorTickColor?: ColorType;
  5913. /**
  5914. * (Highcharts) Specific tick interval in axis units for the minor ticks. On
  5915. * a linear axis, if `"auto"`, the minor tick interval is calculated as a
  5916. * fifth of the tickInterval. If `null` or `undefined`, minor ticks are not
  5917. * shown.
  5918. *
  5919. * On logarithmic axes, the unit is the power of the value. For example,
  5920. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  5921. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  5922. * and 10, 10 and 100 etc.
  5923. *
  5924. * If user settings dictate minor ticks to become too dense, they don't make
  5925. * sense, and will be ignored to prevent performance problems.
  5926. */
  5927. minorTickInterval?: (number|string|null);
  5928. /**
  5929. * (Highcharts) The pixel length of the minor tick marks.
  5930. */
  5931. minorTickLength?: number;
  5932. /**
  5933. * (Highcharts) The position of the minor tick marks relative to the axis
  5934. * line. Can be one of `inside` and `outside`.
  5935. */
  5936. minorTickPosition?: OptionsMinorTickPositionValue;
  5937. /**
  5938. * (Highcharts) Enable or disable minor ticks. Unless minorTickInterval is
  5939. * set, the tick interval is calculated as a fifth of the `tickInterval`.
  5940. *
  5941. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  5942. * attempting to enter approximately 5 minor ticks between each major tick.
  5943. *
  5944. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  5945. * `minorTickInterval` to `"auto"`.
  5946. */
  5947. minorTicks?: boolean;
  5948. /**
  5949. * (Highcharts) The pixel width of the minor tick mark.
  5950. */
  5951. minorTickWidth?: number;
  5952. /**
  5953. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  5954. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  5955. * This is useful when you don't want the lowest data value to appear on the
  5956. * edge of the plot area. When the axis' `min` option is set or a max
  5957. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  5958. * ignored.
  5959. *
  5960. * Also the `softThreshold` option takes precedence over `minPadding`, so if
  5961. * the data is tangent to the threshold, `minPadding` may not apply unless
  5962. * `softThreshold` is set to false.
  5963. */
  5964. minPadding?: number;
  5965. /**
  5966. * (Highcharts) The minimum range to display on this axis. The entire axis
  5967. * will not be allowed to span over a smaller interval than this. For
  5968. * example, for a datetime axis the main unit is milliseconds. If minRange
  5969. * is set to 3600000, you can't zoom in more than to one hour.
  5970. *
  5971. * The default minRange for the x axis is five times the smallest interval
  5972. * between any of the data points.
  5973. *
  5974. * On a logarithmic axis, the unit for the minimum range is the power. So a
  5975. * minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
  5976. * 1000-10000 etc.
  5977. *
  5978. * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
  5979. * settings also affect how the extremes of the axis are computed.
  5980. */
  5981. minRange?: number;
  5982. /**
  5983. * (Highcharts) The minimum tick interval allowed in axis values. For
  5984. * example on zooming in on an axis with daily data, this can be used to
  5985. * prevent the axis from showing hours. Defaults to the closest distance
  5986. * between two points on the axis.
  5987. */
  5988. minTickInterval?: number;
  5989. /**
  5990. * (Highcharts) The distance in pixels from the plot area to the axis line.
  5991. * A positive offset moves the axis with it's line, labels and ticks away
  5992. * from the plot area. This is typically used when two or more axes are
  5993. * displayed on the same side of the plot. With multiple axes the offset is
  5994. * dynamically adjusted to avoid collision, this can be overridden by
  5995. * setting offset explicitly.
  5996. */
  5997. offset?: number;
  5998. /**
  5999. * (Highstock, Highcharts, Gantt) Whether to display the axis on the
  6000. * opposite side of the normal. The normal is on the left side for vertical
  6001. * axes and bottom for horizontal, so the opposite sides will be right and
  6002. * top respectively. This is typically used with dual or multiple axes.
  6003. */
  6004. opposite?: boolean;
  6005. /**
  6006. * (Highcharts) Refers to the index in the panes array. Used for circular
  6007. * gauges and polar charts. When the option is not set then first pane will
  6008. * be used.
  6009. */
  6010. pane?: number;
  6011. /**
  6012. * (Highstock) The zoomed range to display when only defining one or none of
  6013. * `min` or `max`. For example, to show the latest month, a range of one
  6014. * month can be set.
  6015. */
  6016. range?: number;
  6017. /**
  6018. * (Highstock) Options for axis resizing. It adds a thick line between panes
  6019. * which the user can drag in order to resize the panes.
  6020. */
  6021. resize?: ChartParallelAxesResizeOptions;
  6022. /**
  6023. * (Highcharts) Whether to reverse the axis so that the highest number is
  6024. * closest to the origin.
  6025. */
  6026. reversed?: boolean;
  6027. /**
  6028. * (Highcharts, Highstock) If `true`, the first series in a stack will be
  6029. * drawn on top in a positive, non-reversed Y axis. If `false`, the first
  6030. * series is in the base of the stack.
  6031. */
  6032. reversedStacks?: boolean;
  6033. /**
  6034. * (Highcharts) Whether to show the axis line and title when the axis has no
  6035. * data.
  6036. */
  6037. showEmpty?: boolean;
  6038. /**
  6039. * (Highcharts) Whether to show the first tick label.
  6040. */
  6041. showFirstLabel?: boolean;
  6042. /**
  6043. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  6044. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  6045. */
  6046. showLastLabel?: boolean;
  6047. /**
  6048. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  6049. * data maximum is less than this, the axis will stay at this maximum, but
  6050. * if the series data maximum is higher, the axis will flex to show all
  6051. * data.
  6052. *
  6053. * **Note**: The series.softThreshold option takes precedence over this
  6054. * option.
  6055. */
  6056. softMax?: number;
  6057. /**
  6058. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  6059. * data minimum is greater than this, the axis will stay at this minimum,
  6060. * but if the series data minimum is lower, the axis will flex to show all
  6061. * data.
  6062. *
  6063. * **Note**: The series.softThreshold option takes precedence over this
  6064. * option.
  6065. */
  6066. softMin?: number;
  6067. /**
  6068. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  6069. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  6070. */
  6071. startOfWeek?: number;
  6072. /**
  6073. * (Highcharts, Highstock, Gantt) Whether to force the axis to start on a
  6074. * tick. Use this option with the `maxPadding` option to control the axis
  6075. * start.
  6076. *
  6077. * This option is always disabled, when panning type is either `y` or `xy`.
  6078. */
  6079. startOnTick?: boolean;
  6080. /**
  6081. * (Gantt) For vertical axes only. Setting the static scale ensures that
  6082. * each tick unit is translated into a fixed pixel height. For example,
  6083. * setting the static scale to 24 results in each Y axis category taking up
  6084. * 24 pixels, and the height of the chart adjusts. Adding or removing items
  6085. * will make the chart resize.
  6086. */
  6087. staticScale?: number;
  6088. /**
  6089. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  6090. * This opens up for aligning the ticks of multiple charts or panes within a
  6091. * chart. This option overrides the `tickPixelInterval` option.
  6092. *
  6093. * This option only has an effect on linear axes. Datetime, logarithmic or
  6094. * category axes are not affected.
  6095. */
  6096. tickAmount?: number;
  6097. /**
  6098. * (Highcharts) Color for the main tick marks.
  6099. *
  6100. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  6101. */
  6102. tickColor?: ColorType;
  6103. /**
  6104. * (Highcharts) The interval of the tick marks in axis units. When
  6105. * `undefined`, the tick interval is computed to approximately follow the
  6106. * tickPixelInterval on linear and datetime axes. On categorized axes, a
  6107. * `undefined` tickInterval will default to 1, one category. Note that
  6108. * datetime axes are based on milliseconds, so for example an interval of
  6109. * one day is expressed as `24 * 3600 * 1000`.
  6110. *
  6111. * On logarithmic axes, the tickInterval is based on powers, so a
  6112. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  6113. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  6114. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  6115. * etc.
  6116. *
  6117. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  6118. * remove ticks.
  6119. *
  6120. * If the chart has multiple axes, the alignTicks option may interfere with
  6121. * the `tickInterval` setting.
  6122. */
  6123. tickInterval?: number;
  6124. /**
  6125. * (Highcharts) The pixel length of the main tick marks.
  6126. */
  6127. tickLength?: number;
  6128. /**
  6129. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  6130. * placed in the center of the category, if `between` the tick mark is
  6131. * placed between categories. The default is `between` if the `tickInterval`
  6132. * is 1, else `on`.
  6133. */
  6134. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  6135. /**
  6136. * (Highcharts) If tickInterval is `null` this option sets the approximate
  6137. * pixel interval of the tick marks. Not applicable to categorized axis.
  6138. *
  6139. * The tick interval is also influenced by the minTickInterval option, that,
  6140. * by default prevents ticks from being denser than the data points.
  6141. */
  6142. tickPixelInterval?: number;
  6143. /**
  6144. * (Highcharts) The position of the major tick marks relative to the axis
  6145. * line. Can be one of `inside` and `outside`.
  6146. */
  6147. tickPosition?: OptionsTickPositionValue;
  6148. /**
  6149. * (Highcharts) A callback function returning array defining where the ticks
  6150. * are laid out on the axis. This overrides the default behaviour of
  6151. * tickPixelInterval and tickInterval. The automatic tick positions are
  6152. * accessible through `this.tickPositions` and can be modified by the
  6153. * callback.
  6154. */
  6155. tickPositioner?: AxisTickPositionerCallbackFunction;
  6156. /**
  6157. * (Highcharts) An array defining where the ticks are laid out on the axis.
  6158. * This overrides the default behaviour of tickPixelInterval and
  6159. * tickInterval.
  6160. */
  6161. tickPositions?: Array<number>;
  6162. /**
  6163. * (Highcharts, Highstock, Gantt) The pixel width of the major tick marks.
  6164. */
  6165. tickWidth?: number;
  6166. /**
  6167. * (Highcharts) Titles for yAxes are taken from xAxis.categories. All
  6168. * options for `xAxis.labels` applies to parallel coordinates titles. For
  6169. * example, to style categories, use xAxis.labels.style.
  6170. */
  6171. title?: ChartParallelAxesTitleOptions;
  6172. /**
  6173. * (Highcharts) Parallel coordinates only. Format that will be used for
  6174. * point.y and available in tooltip.pointFormat as `{point.formattedValue}`.
  6175. * If not set, `{point.formattedValue}` will use other options, in this
  6176. * order:
  6177. *
  6178. * 1. yAxis.labels.format will be used if set
  6179. *
  6180. * 2. If yAxis is a category, then category name will be displayed
  6181. *
  6182. * 3. If yAxis is a datetime, then value will use the same format as yAxis
  6183. * labels
  6184. *
  6185. * 4. If yAxis is linear/logarithmic type, then simple value will be used
  6186. */
  6187. tooltipValueFormat?: string;
  6188. /**
  6189. * (Highcharts, Highstock) The top position of the Y axis. If it's a number,
  6190. * it is interpreted as pixel position relative to the chart.
  6191. *
  6192. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  6193. * percentages of the plot height, offset from plot area top.
  6194. */
  6195. top?: (number|string);
  6196. /**
  6197. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  6198. * `logarithmic`, `datetime`, `category` or `treegrid`. Defaults to
  6199. * `treegrid` for Gantt charts, `linear` for other chart types.
  6200. *
  6201. * In a datetime axis, the numbers are given in milliseconds, and tick marks
  6202. * are placed on appropriate values, like full hours or days. In a category
  6203. * or treegrid axis, the point names of the chart's series are used for
  6204. * categories, if a categories array is not defined.
  6205. */
  6206. type?: AxisTypeValue;
  6207. /**
  6208. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  6209. * `uniqueNames` is true, points are placed on the X axis according to their
  6210. * names. If the same point name is repeated in the same or another series,
  6211. * the point is placed on the same X position as other points of the same
  6212. * name. When `uniqueNames` is false, the points are laid out in increasing
  6213. * X positions regardless of their names, and the X axis category will take
  6214. * the name of the last point in each position.
  6215. */
  6216. uniqueNames?: boolean;
  6217. /**
  6218. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  6219. * what time intervals the ticks are allowed to fall on. Each array item is
  6220. * an array where the first value is the time unit and the second value
  6221. * another array of allowed multiples.
  6222. *
  6223. * Defaults to: (see online documentation for example)
  6224. */
  6225. units?: Array<[string, (Array<number>|null)]>;
  6226. /**
  6227. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  6228. * ticks and labels, should be visible.
  6229. */
  6230. visible?: boolean;
  6231. /**
  6232. * (Highcharts, Highstock) The width as the horizontal axis. If it's a
  6233. * number, it is interpreted as pixels.
  6234. *
  6235. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  6236. * as percentages of the total plot width.
  6237. */
  6238. width?: (number|string);
  6239. /**
  6240. * (Highcharts) The Z index for the axis group.
  6241. */
  6242. zIndex?: number;
  6243. /**
  6244. * (Highcharts) Whether to zoom axis. If `chart.zoomType` is set, the option
  6245. * allows to disable zooming on an individual axis.
  6246. */
  6247. zoomEnabled?: boolean;
  6248. }
  6249. /**
  6250. * (Highstock) Contains two arrays of axes that are controlled by control line
  6251. * of the axis.
  6252. */
  6253. export interface ChartParallelAxesResizeControlledAxisOptions {
  6254. /**
  6255. * (Highstock) Array of axes that should move out of the way of resizing
  6256. * being done for the current axis. If not set, the next axis will be used.
  6257. */
  6258. next?: Array<(number|string)>;
  6259. /**
  6260. * (Highstock) Array of axes that should move with the current axis while
  6261. * resizing.
  6262. */
  6263. prev?: Array<(number|string)>;
  6264. }
  6265. /**
  6266. * (Highstock) Options for axis resizing. It adds a thick line between panes
  6267. * which the user can drag in order to resize the panes.
  6268. */
  6269. export interface ChartParallelAxesResizeOptions {
  6270. /**
  6271. * (Highstock) Contains two arrays of axes that are controlled by control
  6272. * line of the axis.
  6273. */
  6274. controlledAxis?: ChartParallelAxesResizeControlledAxisOptions;
  6275. /**
  6276. * (Highstock) Cursor style for the control line.
  6277. *
  6278. * In styled mode use class `highcharts-axis-resizer` instead.
  6279. */
  6280. cursor?: string;
  6281. /**
  6282. * (Highstock) Enable or disable resize by drag for the axis.
  6283. */
  6284. enabled?: boolean;
  6285. /**
  6286. * (Highstock) Color of the control line.
  6287. *
  6288. * In styled mode use class `highcharts-axis-resizer` instead.
  6289. */
  6290. lineColor?: ColorString;
  6291. /**
  6292. * (Highstock) Dash style of the control line.
  6293. *
  6294. * In styled mode use class `highcharts-axis-resizer` instead.
  6295. */
  6296. lineDashStyle?: string;
  6297. /**
  6298. * (Highstock) Width of the control line.
  6299. *
  6300. * In styled mode use class `highcharts-axis-resizer` instead.
  6301. */
  6302. lineWidth?: number;
  6303. /**
  6304. * (Highstock) Horizontal offset of the control line.
  6305. */
  6306. x?: number;
  6307. /**
  6308. * (Highstock) Vertical offset of the control line.
  6309. */
  6310. y?: number;
  6311. }
  6312. /**
  6313. * (Highcharts) Titles for yAxes are taken from xAxis.categories. All options
  6314. * for `xAxis.labels` applies to parallel coordinates titles. For example, to
  6315. * style categories, use xAxis.labels.style.
  6316. */
  6317. export interface ChartParallelAxesTitleOptions {
  6318. reserveSpace?: boolean;
  6319. text?: string;
  6320. /**
  6321. * (Highcharts) Alignment of the text, can be `"left"`, `"right"` or
  6322. * `"center"`. Default alignment depends on the title.align:
  6323. *
  6324. * Horizontal axes:
  6325. *
  6326. * - for `align` = `"low"`, `textAlign` is set to `left`
  6327. *
  6328. * - for `align` = `"middle"`, `textAlign` is set to `center`
  6329. *
  6330. * - for `align` = `"high"`, `textAlign` is set to `right`
  6331. *
  6332. * Vertical axes:
  6333. *
  6334. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  6335. * `right`
  6336. *
  6337. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  6338. * `left`
  6339. *
  6340. * - for `align` = `"middle"`, `textAlign` is set to `center`
  6341. *
  6342. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  6343. * `left`
  6344. *
  6345. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  6346. * `right`
  6347. */
  6348. textAlign?: AlignValue;
  6349. }
  6350. /**
  6351. * Chart position and scale.
  6352. */
  6353. export interface ChartPositionObject {
  6354. left: number;
  6355. scaleX: number;
  6356. scaleY: number;
  6357. top: number;
  6358. }
  6359. /**
  6360. * (Highcharts, Highstock, Highmaps, Gantt) The button that appears after a
  6361. * selection zoom, allowing the user to reset zoom.
  6362. */
  6363. export interface ChartResetZoomButtonOptions {
  6364. /**
  6365. * (Highcharts, Highstock, Highmaps, Gantt) The position of the button.
  6366. */
  6367. position?: (AlignObject|ChartResetZoomButtonPositionOptions);
  6368. /**
  6369. * (Highcharts, Highstock, Highmaps, Gantt) What frame the button placement
  6370. * should be related to. Can be either `plotBox` or `spacingBox`.
  6371. */
  6372. relativeTo?: ButtonRelativeToValue;
  6373. /**
  6374. * (Highcharts, Highstock, Highmaps, Gantt) A collection of attributes for
  6375. * the button. The object takes SVG attributes like `fill`, `stroke`,
  6376. * `stroke-width` or `r`, the border radius. The theme also supports
  6377. * `style`, a collection of CSS properties for the text. Equivalent
  6378. * attributes for the hover state are given in `theme.states.hover`.
  6379. */
  6380. theme?: SVGAttributes;
  6381. }
  6382. /**
  6383. * (Highcharts, Highstock, Highmaps, Gantt) The position of the button.
  6384. */
  6385. export interface ChartResetZoomButtonPositionOptions {
  6386. /**
  6387. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
  6388. * button.
  6389. */
  6390. align?: string;
  6391. /**
  6392. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  6393. * button.
  6394. */
  6395. verticalAlign?: VerticalAlignValue;
  6396. /**
  6397. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal offset of the
  6398. * button.
  6399. */
  6400. x?: number;
  6401. /**
  6402. * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
  6403. * button.
  6404. */
  6405. y?: number;
  6406. }
  6407. /**
  6408. * (Highcharts, Gantt) Options for a scrollable plot area. This feature provides
  6409. * a minimum size for the plot area of the chart. If the size gets smaller than
  6410. * this, typically on mobile devices, a native browser scrollbar is presented.
  6411. * This scrollbar provides smooth scrolling for the contents of the plot area,
  6412. * whereas the title, legend and unaffected axes are fixed.
  6413. *
  6414. * Since v7.1.2, a scrollable plot area can be defined for either horizontal or
  6415. * vertical scrolling, depending on whether the `minWidth` or `minHeight` option
  6416. * is set.
  6417. */
  6418. export interface ChartScrollablePlotAreaOptions {
  6419. /**
  6420. * (Highcharts, Gantt) The minimum height for the plot area. If it gets
  6421. * smaller than this, the plot area will become scrollable.
  6422. */
  6423. minHeight?: number;
  6424. /**
  6425. * (Highcharts, Gantt) The minimum width for the plot area. If it gets
  6426. * smaller than this, the plot area will become scrollable.
  6427. */
  6428. minWidth?: number;
  6429. /**
  6430. * (Highcharts, Gantt) The opacity of mask applied on one of the sides of
  6431. * the plot area.
  6432. */
  6433. opacity?: number;
  6434. /**
  6435. * (Highcharts, Gantt) The initial scrolling position of the scrollable plot
  6436. * area. Ranges from 0 to 1, where 0 aligns the plot area to the left and 1
  6437. * aligns it to the right. Typically we would use 1 if the chart has right
  6438. * aligned Y axes.
  6439. */
  6440. scrollPositionX?: number;
  6441. /**
  6442. * (Highcharts, Gantt) The initial scrolling position of the scrollable plot
  6443. * area. Ranges from 0 to 1, where 0 aligns the plot area to the top and 1
  6444. * aligns it to the bottom.
  6445. */
  6446. scrollPositionY?: number;
  6447. }
  6448. /**
  6449. * Axis context of the selection.
  6450. */
  6451. export interface ChartSelectionAxisContextObject {
  6452. /**
  6453. * The selected Axis.
  6454. */
  6455. axis: Axis;
  6456. /**
  6457. * The maximum axis value, either automatic or set manually.
  6458. */
  6459. max: number;
  6460. /**
  6461. * The minimum axis value, either automatic or set manually.
  6462. */
  6463. min: number;
  6464. }
  6465. /**
  6466. * The primary axes are `xAxis[0]` and `yAxis[0]`. Remember the unit of a
  6467. * datetime axis is milliseconds since 1970-01-01 00:00:00.
  6468. */
  6469. export interface ChartSelectionContextObject extends Event {
  6470. /**
  6471. * Arrays containing the axes of each dimension and each axis' min and max
  6472. * values.
  6473. */
  6474. xAxis: Array<ChartSelectionAxisContextObject>;
  6475. /**
  6476. * Arrays containing the axes of each dimension and each axis' min and max
  6477. * values.
  6478. */
  6479. yAxis: Array<ChartSelectionAxisContextObject>;
  6480. }
  6481. /**
  6482. * Interface description for a class.
  6483. */
  6484. export interface Class<T> extends Function {
  6485. /**
  6486. * Class costructor.
  6487. *
  6488. * @param args
  6489. * Constructor arguments.
  6490. *
  6491. * @return Class instance.
  6492. */
  6493. new(...args: Array<any>): T;
  6494. }
  6495. /**
  6496. * (Gantt) An object defining mouse events for the plot line. Supported
  6497. * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  6498. */
  6499. export interface ColorAxisCurrentDateIndicatorEventsOptions {
  6500. /**
  6501. * (Gantt) Click event on a plot band.
  6502. */
  6503. click?: EventCallbackFunction<PlotLineOrBand>;
  6504. /**
  6505. * (Gantt) Mouse move event on a plot band.
  6506. */
  6507. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  6508. /**
  6509. * (Gantt) Mouse out event on the corner of a plot band.
  6510. */
  6511. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  6512. /**
  6513. * (Gantt) Mouse over event on a plot band.
  6514. */
  6515. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  6516. }
  6517. /**
  6518. * (Gantt) Text labels for the plot bands
  6519. */
  6520. export interface ColorAxisCurrentDateIndicatorLabelOptions {
  6521. /**
  6522. * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
  6523. * or "right".
  6524. */
  6525. align?: AlignValue;
  6526. /**
  6527. * (Gantt) Format of the label. This options is passed as the fist argument
  6528. * to dateFormat function.
  6529. */
  6530. format?: string;
  6531. /**
  6532. * (Gantt) Callback JavaScript function to format the label. Useful
  6533. * properties like the value of plot line or the range of plot band (`from`
  6534. * & `to` properties) can be found in `this.options` object.
  6535. */
  6536. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  6537. /**
  6538. * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
  6539. * horizontal plot lines and 90 for vertical lines.
  6540. */
  6541. rotation?: number;
  6542. /**
  6543. * (Gantt) CSS styles for the text label.
  6544. *
  6545. * In styled mode, the labels are styled by the
  6546. * `.highcharts-plot-line-label` class.
  6547. */
  6548. style?: CSSObject;
  6549. /**
  6550. * (Gantt) The text itself. A subset of HTML is supported.
  6551. */
  6552. text?: string;
  6553. /**
  6554. * (Gantt) The text alignment for the label. While `align` determines where
  6555. * the texts anchor point is placed within the plot band, `textAlign`
  6556. * determines how the text is aligned against its anchor point. Possible
  6557. * values are "left", "center" and "right". Defaults to the same as the
  6558. * `align` option.
  6559. */
  6560. textAlign?: AlignValue;
  6561. /**
  6562. * (Gantt) Whether to use HTML to render the labels.
  6563. */
  6564. useHTML?: boolean;
  6565. /**
  6566. * (Gantt) Vertical alignment of the label relative to the plot line. Can be
  6567. * one of "top", "middle" or "bottom".
  6568. */
  6569. verticalAlign?: VerticalAlignValue;
  6570. /**
  6571. * (Gantt) Horizontal position relative the alignment. Default varies by
  6572. * orientation.
  6573. */
  6574. x?: number;
  6575. /**
  6576. * (Gantt) Vertical position of the text baseline relative to the alignment.
  6577. * Default varies by orientation.
  6578. */
  6579. y?: number;
  6580. }
  6581. /**
  6582. * (Highcharts, Highstock, Highmaps) An array of data classes or ranges for the
  6583. * choropleth map. If none given, the color axis is scalar and values are
  6584. * distributed as a gradient between the minimum and maximum colors.
  6585. */
  6586. export interface ColorAxisDataClassesOptions {
  6587. /**
  6588. * (Highcharts, Highstock, Highmaps) The color of each data class. If not
  6589. * set, the color is pulled from the global or chart-specific colors array.
  6590. * In styled mode, this option is ignored. Instead, use colors defined in
  6591. * CSS.
  6592. */
  6593. color?: (ColorString|GradientColorObject|PatternObject);
  6594. /**
  6595. * (Highcharts, Highstock, Highmaps) The start of the value range that the
  6596. * data class represents, relating to the point value.
  6597. *
  6598. * The range of each `dataClass` is closed in both ends, but can be
  6599. * overridden by the next `dataClass`.
  6600. */
  6601. from?: number;
  6602. /**
  6603. * (Highcharts, Highstock, Highmaps) The name of the data class as it
  6604. * appears in the legend. If no name is given, it is automatically created
  6605. * based on the `from` and `to` values. For full programmatic control,
  6606. * legend.labelFormatter can be used. In the formatter, `this.from` and
  6607. * `this.to` can be accessed.
  6608. */
  6609. name?: string;
  6610. /**
  6611. * (Highcharts, Highstock, Highmaps) The end of the value range that the
  6612. * data class represents, relating to the point value.
  6613. *
  6614. * The range of each `dataClass` is closed in both ends, but can be
  6615. * overridden by the next `dataClass`.
  6616. */
  6617. to?: number;
  6618. }
  6619. /**
  6620. * (Highcharts, Highstock, Highmaps) Event handlers for the axis.
  6621. */
  6622. export interface ColorAxisEventsOptions {
  6623. /**
  6624. * (Highcharts, Highstock, Highmaps) As opposed to the `setExtremes` event,
  6625. * this event fires after the final min and max values are computed and
  6626. * corrected for `minRange`.
  6627. *
  6628. * Fires when the minimum and maximum is set for the axis, either by calling
  6629. * the `.setExtremes()` method or by selecting an area in the chart. One
  6630. * parameter, `event`, is passed to the function, containing common event
  6631. * information.
  6632. *
  6633. * The new user set minimum and maximum values can be found by `event.min`
  6634. * and `event.max`. These reflect the axis minimum and maximum in axis
  6635. * values. The actual data extremes are found in `event.dataMin` and
  6636. * `event.dataMax`.
  6637. */
  6638. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  6639. /**
  6640. * (Highcharts, Highstock, Highmaps) Fires when the legend item belonging to
  6641. * the colorAxis is clicked. One parameter, `event`, is passed to the
  6642. * function.
  6643. */
  6644. legendItemClick?: Function;
  6645. /**
  6646. * (Highcharts, Highstock, Highmaps) Fires when the minimum and maximum is
  6647. * set for the axis, either by calling the `.setExtremes()` method or by
  6648. * selecting an area in the chart. One parameter, `event`, is passed to the
  6649. * function, containing common event information.
  6650. *
  6651. * The new user set minimum and maximum values can be found by `event.min`
  6652. * and `event.max`. These reflect the axis minimum and maximum in data
  6653. * values. When an axis is zoomed all the way out from the "Reset zoom"
  6654. * button, `event.min` and `event.max` are null, and the new extremes are
  6655. * set based on `this.dataMin` and `this.dataMax`.
  6656. */
  6657. setExtremes?: AxisSetExtremesEventCallbackFunction;
  6658. }
  6659. /**
  6660. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  6661. */
  6662. export interface ColorAxisGridOptions {
  6663. /**
  6664. * (Gantt) Set border color for the label grid lines.
  6665. */
  6666. borderColor?: ColorString;
  6667. /**
  6668. * (Gantt) Set border width of the label grid lines.
  6669. */
  6670. borderWidth?: number;
  6671. /**
  6672. * (Gantt) Set cell height for grid axis labels. By default this is
  6673. * calculated from font size. This option only applies to horizontal axes.
  6674. */
  6675. cellHeight?: number;
  6676. /**
  6677. * (Gantt) Set specific options for each column (or row for horizontal axes)
  6678. * in the grid. Each extra column/row is its own axis, and the axis options
  6679. * can be set here.
  6680. */
  6681. columns?: Array<XAxisOptions>;
  6682. /**
  6683. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  6684. * charts.
  6685. */
  6686. enabled?: boolean;
  6687. }
  6688. /**
  6689. * (Highcharts, Highstock, Highmaps) The axis labels show the number for each
  6690. * tick.
  6691. *
  6692. * For more live examples on label options, see xAxis.labels in the Highcharts
  6693. * API.
  6694. */
  6695. export interface ColorAxisLabelsOptions {
  6696. /**
  6697. * (Highcharts, Highstock, Highmaps) What part of the string the given
  6698. * position is anchored to. If `left`, the left side of the string is at the
  6699. * axis position. Can be one of `"left"`, `"center"` or `"right"`. Defaults
  6700. * to an intelligent guess based on which side of the chart the axis is on
  6701. * and the rotation of the label.
  6702. */
  6703. align?: AlignValue;
  6704. /**
  6705. * (Highcharts, Highstock, Highmaps) Whether to allow the axis labels to
  6706. * overlap. When false, overlapping labels are hidden.
  6707. */
  6708. allowOverlap?: boolean;
  6709. /**
  6710. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  6711. * of label rotation to prevent overlapping labels. If there is enough
  6712. * space, labels are not rotated. As the chart gets narrower, it will start
  6713. * rotating the labels -45 degrees, then remove every second label and try
  6714. * again with rotations 0 and -45 etc. Set it to `undefined` to disable
  6715. * rotation, which will cause the labels to word-wrap if possible. Defaults
  6716. * to `[-45]`` on bottom and top axes, `undefined` on left and right axes.
  6717. */
  6718. autoRotation?: Array<number>;
  6719. /**
  6720. * (Highcharts, Gantt) When each category width is more than this many
  6721. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  6722. * with word wrap. A lower limit makes sense when the label contains
  6723. * multiple short words that don't extend the available horizontal space for
  6724. * each label.
  6725. */
  6726. autoRotationLimit?: number;
  6727. /**
  6728. * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
  6729. * the perimeter of the plot area.
  6730. */
  6731. distance?: number;
  6732. /**
  6733. * (Highcharts, Highstock, Highmaps) Enable or disable the axis labels.
  6734. */
  6735. enabled?: boolean;
  6736. /**
  6737. * (Highcharts, Highstock, Highmaps) A format string for the axis label. The
  6738. * context is available as format string variables. For example, you can use
  6739. * `{text}` to insert the default formatted text. The recommended way of
  6740. * adding units for the label is using `text`, for example `{text} km`.
  6741. *
  6742. * To add custom numeric or datetime formatting, use `{value}` with
  6743. * formatting, for example `{value:.1f}` or `{value:%Y-%m-%d}`.
  6744. *
  6745. * See format string for more examples of formatting.
  6746. *
  6747. * The default value is not specified due to the dynamic nature of the
  6748. * default implementation.
  6749. */
  6750. format?: string;
  6751. /**
  6752. * (Highcharts, Highstock, Highmaps) Callback JavaScript function to format
  6753. * the label. The value is given by `this.value`. Additional properties for
  6754. * `this` are `axis`, `chart`, `isFirst`, `isLast` and `text` which holds
  6755. * the value of the default formatter.
  6756. *
  6757. * Defaults to a built in function returning a formatted string depending on
  6758. * whether the axis is `category`, `datetime`, `numeric` or other.
  6759. */
  6760. formatter?: AxisLabelsFormatterCallbackFunction;
  6761. /**
  6762. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  6763. * axis.
  6764. */
  6765. indentation?: number;
  6766. /**
  6767. * (Highcharts, Highstock, Highmaps) How to handle overflowing labels on
  6768. * horizontal color axis. If set to `"allow"`, it will not be aligned at
  6769. * all. By default it `"justify"` labels inside the chart area. If there is
  6770. * room to move it, it will be aligned to the edge, else it will be removed.
  6771. */
  6772. overflow?: OptionsOverflowValue;
  6773. /**
  6774. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  6775. * space between them.
  6776. */
  6777. padding?: number;
  6778. /**
  6779. * (Highcharts) Defines how the labels are be repositioned according to the
  6780. * 3D chart orientation.
  6781. *
  6782. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  6783. * marks, despite the chart orientation. This is the backwards compatible
  6784. * behavior, and causes skewing of X and Z axes.
  6785. *
  6786. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  6787. * but hard to read if the text isn't forward-facing.
  6788. *
  6789. * - `'flap'`: Rotated text along the axis to compensate for the chart
  6790. * orientation. This tries to maintain text as legible as possible on all
  6791. * orientations.
  6792. *
  6793. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  6794. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  6795. * skewing the labels (X and Y scaling are still present).
  6796. */
  6797. position3d?: OptionsPosition3dValue;
  6798. /**
  6799. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  6800. * space is reserved for the labels in these cases:
  6801. *
  6802. * * On all horizontal axes.
  6803. *
  6804. * * On vertical axes if `label.align` is `right` on a left-side axis or
  6805. * `left` on a right-side axis.
  6806. *
  6807. * * On vertical axes if `label.align` is `center`.
  6808. *
  6809. * This can be turned off when for example the labels are rendered inside
  6810. * the plot area instead of outside.
  6811. */
  6812. reserveSpace?: boolean;
  6813. /**
  6814. * (Highcharts, Highstock, Highmaps) Rotation of the labels in degrees. When
  6815. * `undefined`, the `autoRotation` option takes precedence.
  6816. */
  6817. rotation?: number;
  6818. /**
  6819. * (Highcharts) If enabled, the axis labels will skewed to follow the
  6820. * perspective.
  6821. *
  6822. * This will fix overlapping labels and titles, but texts become less
  6823. * legible due to the distortion.
  6824. *
  6825. * The final appearance depends heavily on `labels.position3d`.
  6826. */
  6827. skew3d?: boolean;
  6828. /**
  6829. * (Highcharts, Highstock, Highmaps) Horizontal axes only. The number of
  6830. * lines to spread the labels over to make room or tighter labels. 0
  6831. * disables staggering.
  6832. */
  6833. staggerLines?: object;
  6834. /**
  6835. * (Highcharts, Highstock, Highmaps) To show only every _n_'th label on the
  6836. * axis, set the step to _n_. Setting the step to 2 shows every other label.
  6837. *
  6838. * By default, when 0, the step is calculated automatically to avoid
  6839. * overlap. To prevent this, set it to 1\. This usually only happens on a
  6840. * category axis, and is often a sign that you have chosen the wrong axis
  6841. * type.
  6842. *
  6843. * Read more at Axis docs => What axis should I use?
  6844. */
  6845. step?: number;
  6846. /**
  6847. * (Highcharts, Highstock, Highmaps) CSS styles for the label. Use
  6848. * `whiteSpace: 'nowrap'` to prevent wrapping of category labels. Use
  6849. * `textOverflow: 'none'` to prevent ellipsis (dots).
  6850. *
  6851. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  6852. * class.
  6853. */
  6854. style?: CSSObject;
  6855. /**
  6856. * (Highcharts, Highstock, Highmaps) Whether to use HTML to render the
  6857. * labels.
  6858. */
  6859. useHTML?: boolean;
  6860. /**
  6861. * (Highcharts, Highstock, Highmaps) The x position offset of all labels
  6862. * relative to the tick positions on the axis.
  6863. */
  6864. x?: number;
  6865. /**
  6866. * (Highcharts, Highstock, Highmaps) The y position offset of all labels
  6867. * relative to the tick positions on the axis. The default makes it adapt to
  6868. * the font size of the bottom axis.
  6869. */
  6870. y?: number;
  6871. /**
  6872. * (Highcharts, Highstock, Highmaps) The Z index for the axis labels.
  6873. */
  6874. zIndex?: number;
  6875. }
  6876. /**
  6877. * (Highcharts, Highstock, Highmaps) A color axis for series. Visually, the
  6878. * color axis will appear as a gradient or as separate items inside the legend,
  6879. * depending on whether the axis is scalar or based on data classes.
  6880. *
  6881. * For supported color formats, see the docs article about colors.
  6882. *
  6883. * A scalar color axis is represented by a gradient. The colors either range
  6884. * between the minColor and the maxColor, or for more fine grained control the
  6885. * colors can be defined in stops. Often times, the color axis needs to be
  6886. * adjusted to get the right color spread for the data. In addition to stops,
  6887. * consider using a logarithmic axis type, or setting min and max to avoid the
  6888. * colors being determined by outliers.
  6889. *
  6890. * When dataClasses are used, the ranges are subdivided into separate classes
  6891. * like categories based on their values. This can be used for ranges between
  6892. * two values, but also for a true category. However, when your data is
  6893. * categorized, it may be as convenient to add each category to a separate
  6894. * series.
  6895. *
  6896. * Color axis does not work with: `sankey`, `sunburst`, `dependencywheel`,
  6897. * `networkgraph`, `wordcloud`, `venn`, `gauge` and `solidgauge` series types.
  6898. *
  6899. * Since v7.2.0 `colorAxis` can also be an array of options objects.
  6900. *
  6901. * See the Axis object for programmatic access to the axis.
  6902. */
  6903. export interface ColorAxisOptions {
  6904. /**
  6905. * (Highcharts, Highstock, Highmaps) Accessibility options for an axis.
  6906. * Requires the accessibility module.
  6907. */
  6908. accessibility?: AxisAccessibilityOptionsObject;
  6909. /**
  6910. * (Highcharts, Highstock, Highmaps) Whether to allow decimals on the color
  6911. * axis.
  6912. */
  6913. allowDecimals?: boolean;
  6914. /**
  6915. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  6916. * degrees, where 0 is up and 90 is right. The angle determines the position
  6917. * of the axis line and the labels, though the coordinate system is
  6918. * unaffected. Since v8.0.0 this option is also applicable for X axis
  6919. * (inverted polar).
  6920. */
  6921. angle?: number;
  6922. /**
  6923. * (Highcharts, Highstock, Gantt) The highest allowed value for
  6924. * automatically computed axis extremes.
  6925. */
  6926. ceiling?: number;
  6927. /**
  6928. * (Highcharts, Highstock, Highmaps) A class name that opens for styling the
  6929. * axis by CSS, especially in Highcharts styled mode. The class name is
  6930. * applied to group elements for the grid, axis elements and labels.
  6931. */
  6932. className?: string;
  6933. /**
  6934. * (Gantt) Show an indicator on the axis for the current date and time. Can
  6935. * be a boolean or a configuration object similar to xAxis.plotLines.
  6936. */
  6937. currentDateIndicator?: (boolean|CurrentDateIndicatorOptions|CurrentDateIndicatorOptions);
  6938. /**
  6939. * (Highcharts, Highstock, Highmaps) Determines how to set each data class'
  6940. * color if no individual color is set. The default value, `tween`, computes
  6941. * intermediate colors between `minColor` and `maxColor`. The other possible
  6942. * value, `category`, pulls colors from the global or chart specific colors
  6943. * array.
  6944. */
  6945. dataClassColor?: OptionsDataClassColorValue;
  6946. /**
  6947. * (Highcharts, Highstock, Highmaps) An array of data classes or ranges for
  6948. * the choropleth map. If none given, the color axis is scalar and values
  6949. * are distributed as a gradient between the minimum and maximum colors.
  6950. */
  6951. dataClasses?: Array<ColorAxisDataClassesOptions>;
  6952. /**
  6953. * (Highcharts, Highstock, Highmaps) Whether to force the axis to end on a
  6954. * tick. Use this option with the maxPadding option to control the axis end.
  6955. */
  6956. endOnTick?: boolean;
  6957. /**
  6958. * (Highcharts, Highstock, Highmaps) Event handlers for the axis.
  6959. */
  6960. events?: ColorAxisEventsOptions;
  6961. /**
  6962. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  6963. * computed axis extremes.
  6964. */
  6965. floor?: number;
  6966. /**
  6967. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  6968. */
  6969. grid?: ColorAxisGridOptions;
  6970. /**
  6971. * (Highcharts, Highstock, Highmaps) Color of the grid lines extending from
  6972. * the axis across the gradient.
  6973. */
  6974. gridLineColor?: (ColorString|GradientColorObject|PatternObject);
  6975. /**
  6976. * (Highcharts, Highstock, Highmaps) The dash or dot style of the grid
  6977. * lines. For possible values, see this demonstration.
  6978. */
  6979. gridLineDashStyle?: DashStyleValue;
  6980. /**
  6981. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  6982. * polygon with straight lines between categories, or as circles. Can be
  6983. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  6984. * for X axis (inverted polar).
  6985. */
  6986. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  6987. /**
  6988. * (Highcharts, Highstock, Highmaps) The width of the grid lines extending
  6989. * from the axis across the gradient of a scalar color axis.
  6990. */
  6991. gridLineWidth?: number;
  6992. /**
  6993. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  6994. */
  6995. gridZIndex?: number;
  6996. /**
  6997. * (Highcharts, Highstock, Highmaps) An id for the axis. This can be used
  6998. * after render time to get a pointer to the axis object through
  6999. * `chart.get()`.
  7000. */
  7001. id?: string;
  7002. /**
  7003. * (Highcharts, Highstock, Highmaps) The axis labels show the number for
  7004. * each tick.
  7005. *
  7006. * For more live examples on label options, see xAxis.labels in the
  7007. * Highcharts API.
  7008. */
  7009. labels?: ColorAxisLabelsOptions;
  7010. /**
  7011. * (Highcharts, Highstock, Highmaps) The layout of the color axis. Can be
  7012. * `'horizontal'` or `'vertical'`. If none given, the color axis has the
  7013. * same layout as the legend.
  7014. */
  7015. layout?: (string|undefined);
  7016. /**
  7017. * (Highcharts, Highstock, Highmaps) The color of the line marking the axis
  7018. * itself.
  7019. *
  7020. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  7021. * or `.highcharts-xaxis-line` class.
  7022. */
  7023. lineColor?: ColorType;
  7024. /**
  7025. * (Highcharts, Highstock, Highmaps) If there are multiple axes on the same
  7026. * side of the chart, the pixel margin between the axes. Defaults to 0 on
  7027. * vertical axes, 15 on horizontal axes.
  7028. */
  7029. margin?: number;
  7030. /**
  7031. * (Highcharts, Highstock, Highmaps) The triangular marker on a scalar color
  7032. * axis that points to the value of the hovered area. To disable the marker,
  7033. * set `marker: null`.
  7034. */
  7035. marker?: PointMarkerOptionsObject;
  7036. /**
  7037. * (Highcharts, Highstock, Highmaps) The maximum value of the axis in terms
  7038. * of map point values. If `null`, the max value is automatically
  7039. * calculated. If the `endOnTick` option is true, the max value might be
  7040. * rounded up.
  7041. */
  7042. max?: number;
  7043. /**
  7044. * (Highcharts, Highstock, Highmaps) The color to represent the maximum of
  7045. * the color axis. Unless dataClasses or stops are set, the gradient ends at
  7046. * this value.
  7047. *
  7048. * If dataClasses are set, the color is based on minColor and maxColor
  7049. * unless a color is set for each data class, or the dataClassColor is set.
  7050. */
  7051. maxColor?: (ColorString|GradientColorObject|PatternObject);
  7052. /**
  7053. * (Highcharts, Highstock, Highmaps) Padding of the max value relative to
  7054. * the length of the axis. A padding of 0.05 will make a 100px axis 5px
  7055. * longer.
  7056. */
  7057. maxPadding?: number;
  7058. /**
  7059. * (Highstock, Gantt) Maximum range which can be set using the navigator's
  7060. * handles. Opposite of xAxis.minRange.
  7061. */
  7062. maxRange?: number;
  7063. /**
  7064. * (Highcharts, Highstock, Highmaps) The minimum value of the axis in terms
  7065. * of map point values. If `null`, the min value is automatically
  7066. * calculated. If the `startOnTick` option is true, the min value might be
  7067. * rounded down.
  7068. */
  7069. min?: number;
  7070. /**
  7071. * (Highcharts, Highstock, Highmaps) The color to represent the minimum of
  7072. * the color axis. Unless dataClasses or stops are set, the gradient starts
  7073. * at this value.
  7074. *
  7075. * If dataClasses are set, the color is based on minColor and maxColor
  7076. * unless a color is set for each data class, or the dataClassColor is set.
  7077. */
  7078. minColor?: (ColorString|GradientColorObject|PatternObject);
  7079. /**
  7080. * (Highcharts, Highstock, Highmaps) Color of the minor, secondary grid
  7081. * lines.
  7082. *
  7083. * In styled mode, the stroke width is given in the
  7084. * `.highcharts-minor-grid-line` class.
  7085. */
  7086. minorGridLineColor?: ColorType;
  7087. /**
  7088. * (Highcharts, Highstock, Highmaps) The dash or dot style of the minor grid
  7089. * lines. For possible values, see this demonstration.
  7090. */
  7091. minorGridLineDashStyle?: DashStyleValue;
  7092. /**
  7093. * (Highcharts, Highstock, Highmaps) Width of the minor, secondary grid
  7094. * lines.
  7095. *
  7096. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  7097. * class.
  7098. */
  7099. minorGridLineWidth?: number;
  7100. /**
  7101. * (Highcharts, Highstock, Highmaps) Color for the minor tick marks.
  7102. */
  7103. minorTickColor?: ColorType;
  7104. /**
  7105. * (Highcharts, Highstock, Highmaps) Specific tick interval in axis units
  7106. * for the minor ticks. On a linear axis, if `"auto"`, the minor tick
  7107. * interval is calculated as a fifth of the tickInterval. If `null` or
  7108. * `undefined`, minor ticks are not shown.
  7109. *
  7110. * On logarithmic axes, the unit is the power of the value. For example,
  7111. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  7112. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  7113. * and 10, 10 and 100 etc.
  7114. *
  7115. * If user settings dictate minor ticks to become too dense, they don't make
  7116. * sense, and will be ignored to prevent performance problems.
  7117. */
  7118. minorTickInterval?: (number|string|null);
  7119. /**
  7120. * (Highcharts, Highstock, Highmaps) The pixel length of the minor tick
  7121. * marks.
  7122. */
  7123. minorTickLength?: number;
  7124. /**
  7125. * (Highcharts, Highstock, Highmaps) The position of the minor tick marks
  7126. * relative to the axis line. Can be one of `inside` and `outside`.
  7127. */
  7128. minorTickPosition?: OptionsMinorTickPositionValue;
  7129. /**
  7130. * (Highcharts, Highstock, Highmaps) Enable or disable minor ticks. Unless
  7131. * minorTickInterval is set, the tick interval is calculated as a fifth of
  7132. * the `tickInterval`.
  7133. *
  7134. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  7135. * attempting to enter approximately 5 minor ticks between each major tick.
  7136. *
  7137. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  7138. * `minorTickInterval` to `"auto"`.
  7139. */
  7140. minorTicks?: boolean;
  7141. /**
  7142. * (Highcharts, Highstock, Highmaps) The pixel width of the minor tick mark.
  7143. */
  7144. minorTickWidth?: number;
  7145. /**
  7146. * (Highcharts, Highstock, Highmaps) Padding of the min value relative to
  7147. * the length of the axis. A padding of 0.05 will make a 100px axis 5px
  7148. * longer.
  7149. */
  7150. minPadding?: number;
  7151. /**
  7152. * (Highstock) In an ordinal axis, the points are equally spaced in the
  7153. * chart regardless of the actual time or x distance between them. This
  7154. * means that missing data periods (e.g. nights or weekends for a stock
  7155. * chart) will not take up space in the chart. Having `ordinal: false` will
  7156. * show any gaps created by the `gapSize` setting proportionate to their
  7157. * duration.
  7158. *
  7159. * In stock charts the X axis is ordinal by default, unless the boost module
  7160. * is used and at least one of the series' data length exceeds the
  7161. * boostThreshold.
  7162. */
  7163. ordinal?: boolean;
  7164. /**
  7165. * (Highstock) Additional range on the right side of the xAxis. Works
  7166. * similar to `xAxis.maxPadding`, but value is set in milliseconds. Can be
  7167. * set for both main `xAxis` and the navigator's `xAxis`.
  7168. */
  7169. overscroll?: number;
  7170. /**
  7171. * (Highstock) The zoomed range to display when only defining one or none of
  7172. * `min` or `max`. For example, to show the latest month, a range of one
  7173. * month can be set.
  7174. */
  7175. range?: number;
  7176. /**
  7177. * (Highcharts, Highstock, Highmaps) Whether to reverse the axis so that the
  7178. * highest number is closest to the origin. Defaults to `false` in a
  7179. * horizontal legend and `true` in a vertical legend, where the smallest
  7180. * value starts on top.
  7181. */
  7182. reversed?: boolean;
  7183. /**
  7184. * (Highstock) An optional scrollbar to display on the X axis in response to
  7185. * limiting the minimum and maximum of the axis values.
  7186. *
  7187. * In styled mode, all the presentational options for the scrollbar are
  7188. * replaced by the classes `.highcharts-scrollbar-thumb`,
  7189. * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
  7190. * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
  7191. */
  7192. scrollbar?: ColorAxisScrollbarOptions;
  7193. /**
  7194. * (Highcharts, Highstock, Highmaps) Whether to show the first tick label.
  7195. */
  7196. showFirstLabel?: boolean;
  7197. /**
  7198. * (Highcharts, Highstock, Highmaps) Whether to display the colorAxis in the
  7199. * legend.
  7200. */
  7201. showInLegend?: boolean;
  7202. /**
  7203. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  7204. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  7205. */
  7206. showLastLabel?: boolean;
  7207. /**
  7208. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  7209. * data maximum is less than this, the axis will stay at this maximum, but
  7210. * if the series data maximum is higher, the axis will flex to show all
  7211. * data.
  7212. */
  7213. softMax?: number;
  7214. /**
  7215. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  7216. * data minimum is greater than this, the axis will stay at this minimum,
  7217. * but if the series data minimum is lower, the axis will flex to show all
  7218. * data.
  7219. */
  7220. softMin?: number;
  7221. /**
  7222. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  7223. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  7224. */
  7225. startOfWeek?: number;
  7226. /**
  7227. * (Highcharts, Highstock, Highmaps) Whether to force the axis to start on a
  7228. * tick. Use this option with the `maxPadding` option to control the axis
  7229. * start.
  7230. */
  7231. startOnTick?: boolean;
  7232. /**
  7233. * (Highcharts, Highstock, Highmaps) Color stops for the gradient of a
  7234. * scalar color axis. Use this in cases where a linear gradient between a
  7235. * `minColor` and `maxColor` is not sufficient. The stops is an array of
  7236. * tuples, where the first item is a float between 0 and 1 assigning the
  7237. * relative position in the gradient, and the second item is the color.
  7238. */
  7239. stops?: Array<[number, ColorString]>;
  7240. /**
  7241. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  7242. * This opens up for aligning the ticks of multiple charts or panes within a
  7243. * chart. This option overrides the `tickPixelInterval` option.
  7244. *
  7245. * This option only has an effect on linear axes. Datetime, logarithmic or
  7246. * category axes are not affected.
  7247. */
  7248. tickAmount?: number;
  7249. /**
  7250. * (Highcharts, Highstock, Highmaps) Color for the main tick marks.
  7251. *
  7252. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  7253. */
  7254. tickColor?: ColorType;
  7255. /**
  7256. * (Highcharts, Highstock, Highmaps) The interval of the tick marks in axis
  7257. * units. When `null`, the tick interval is computed to approximately follow
  7258. * the `tickPixelInterval`.
  7259. */
  7260. tickInterval?: number;
  7261. /**
  7262. * (Highcharts, Highstock, Highmaps) The pixel length of the main tick marks
  7263. * on the color axis.
  7264. */
  7265. tickLength?: number;
  7266. /**
  7267. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  7268. * placed in the center of the category, if `between` the tick mark is
  7269. * placed between categories. The default is `between` if the `tickInterval`
  7270. * is 1, else `on`.
  7271. */
  7272. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  7273. /**
  7274. * (Highcharts, Highstock, Highmaps) If tickInterval is `null` this option
  7275. * sets the approximate pixel interval of the tick marks.
  7276. */
  7277. tickPixelInterval?: number;
  7278. /**
  7279. * (Highcharts, Highstock, Highmaps) The position of the major tick marks
  7280. * relative to the axis line. Can be one of `inside` and `outside`.
  7281. */
  7282. tickPosition?: OptionsTickPositionValue;
  7283. /**
  7284. * (Highcharts, Highstock, Highmaps) A callback function returning array
  7285. * defining where the ticks are laid out on the axis. This overrides the
  7286. * default behaviour of tickPixelInterval and tickInterval. The automatic
  7287. * tick positions are accessible through `this.tickPositions` and can be
  7288. * modified by the callback.
  7289. */
  7290. tickPositioner?: AxisTickPositionerCallbackFunction;
  7291. /**
  7292. * (Highcharts, Highstock, Highmaps) An array defining where the ticks are
  7293. * laid out on the axis. This overrides the default behaviour of
  7294. * tickPixelInterval and tickInterval.
  7295. */
  7296. tickPositions?: Array<number>;
  7297. /**
  7298. * (Highcharts, Highstock, Highmaps) The pixel width of the major tick
  7299. * marks. Defaults to 0 on category axes, otherwise 1.
  7300. *
  7301. * In styled mode, the stroke width is given in the `.highcharts-tick`
  7302. * class, but in order for the element to be generated on category axes, the
  7303. * option must be explicitly set to 1.
  7304. */
  7305. tickWidth?: (number|undefined);
  7306. /**
  7307. * (Highcharts, Highstock, Highmaps) The type of interpolation to use for
  7308. * the color axis. Can be `linear` or `logarithmic`.
  7309. */
  7310. type?: ColorAxisTypeValue;
  7311. /**
  7312. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  7313. * `uniqueNames` is true, points are placed on the X axis according to their
  7314. * names. If the same point name is repeated in the same or another series,
  7315. * the point is placed on the same X position as other points of the same
  7316. * name. When `uniqueNames` is false, the points are laid out in increasing
  7317. * X positions regardless of their names, and the X axis category will take
  7318. * the name of the last point in each position.
  7319. */
  7320. uniqueNames?: boolean;
  7321. /**
  7322. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  7323. * what time intervals the ticks are allowed to fall on. Each array item is
  7324. * an array where the first value is the time unit and the second value
  7325. * another array of allowed multiples.
  7326. *
  7327. * Defaults to: (see online documentation for example)
  7328. */
  7329. units?: Array<[string, (Array<number>|null)]>;
  7330. /**
  7331. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  7332. * ticks and labels, should be visible.
  7333. */
  7334. visible?: boolean;
  7335. /**
  7336. * (Highcharts, Highstock, Highmaps) The Z index for the axis group.
  7337. */
  7338. zIndex?: number;
  7339. }
  7340. /**
  7341. * (Highstock) An optional scrollbar to display on the X axis in response to
  7342. * limiting the minimum and maximum of the axis values.
  7343. *
  7344. * In styled mode, all the presentational options for the scrollbar are replaced
  7345. * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
  7346. * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
  7347. * `.highcharts-scrollbar-track`.
  7348. */
  7349. export interface ColorAxisScrollbarOptions {
  7350. /**
  7351. * (Highstock) The background color of the scrollbar itself.
  7352. */
  7353. barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  7354. /**
  7355. * (Highstock) The color of the scrollbar's border.
  7356. */
  7357. barBorderColor?: (ColorString|GradientColorObject|PatternObject);
  7358. /**
  7359. * (Highstock) The border rounding radius of the bar.
  7360. */
  7361. barBorderRadius?: number;
  7362. /**
  7363. * (Highstock) The width of the bar's border.
  7364. */
  7365. barBorderWidth?: number;
  7366. /**
  7367. * (Highstock) The color of the small arrow inside the scrollbar buttons.
  7368. */
  7369. buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
  7370. /**
  7371. * (Highstock) The color of scrollbar buttons.
  7372. */
  7373. buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  7374. /**
  7375. * (Highstock) The color of the border of the scrollbar buttons.
  7376. */
  7377. buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
  7378. /**
  7379. * (Highstock) The corner radius of the scrollbar buttons.
  7380. */
  7381. buttonBorderRadius?: number;
  7382. /**
  7383. * (Highstock) The border width of the scrollbar buttons.
  7384. */
  7385. buttonBorderWidth?: number;
  7386. /**
  7387. * (Highstock) Enable or disable the scrollbar.
  7388. */
  7389. enabled?: boolean;
  7390. /**
  7391. * (Highstock) The height of the scrollbar. The height also applies to the
  7392. * width of the scroll arrows so that they are always squares. Defaults to
  7393. * 20 for touch devices and 14 for mouse devices.
  7394. */
  7395. height?: number;
  7396. /**
  7397. * (Highstock) Whether to redraw the main chart as the scrollbar or the
  7398. * navigator zoomed window is moved. Defaults to `true` for modern browsers
  7399. * and `false` for legacy IE browsers as well as mobile devices.
  7400. */
  7401. liveRedraw?: boolean;
  7402. /**
  7403. * (Highstock) The margin between the scrollbar and its axis when the
  7404. * scrollbar is applied directly to an axis.
  7405. */
  7406. margin?: number;
  7407. /**
  7408. * (Highstock) The minimum width of the scrollbar.
  7409. */
  7410. minWidth?: number;
  7411. /**
  7412. * (Highstock) The color of the small rifles in the middle of the scrollbar.
  7413. */
  7414. rifleColor?: (ColorString|GradientColorObject|PatternObject);
  7415. /**
  7416. * (Highstock) Whether to show or hide the scrollbar when the scrolled
  7417. * content is zoomed out to it full extent.
  7418. */
  7419. showFull?: boolean;
  7420. /**
  7421. * (Highstock) The color of the track background.
  7422. */
  7423. trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  7424. /**
  7425. * (Highstock) The color of the border of the scrollbar track.
  7426. */
  7427. trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
  7428. /**
  7429. * (Highstock) The corner radius of the border of the scrollbar track.
  7430. */
  7431. trackBorderRadius?: number;
  7432. /**
  7433. * (Highstock) The width of the border of the scrollbar track.
  7434. */
  7435. trackBorderWidth?: number;
  7436. /**
  7437. * (Highstock) The z index of the scrollbar group.
  7438. */
  7439. zIndex?: number;
  7440. }
  7441. export interface ConnectorsAnimationOptionsObject {
  7442. reversed?: boolean;
  7443. }
  7444. /**
  7445. * (Gantt) Marker options specific to the end markers for this chart's
  7446. * Pathfinder connectors. Overrides the generic marker options.
  7447. */
  7448. export interface ConnectorsEndMarkerOptions {
  7449. /**
  7450. * (Gantt) Horizontal alignment of the markers relative to the points.
  7451. */
  7452. align?: (string|AlignValue);
  7453. /**
  7454. * (Gantt) Set the color of the connector markers. By default this is the
  7455. * same as the connector color.
  7456. */
  7457. color?: (ColorString|GradientColorObject|PatternObject);
  7458. /**
  7459. * (Gantt) Enable markers for the connectors.
  7460. */
  7461. enabled?: boolean;
  7462. /**
  7463. * (Gantt) Set the height of the connector markers. If not supplied, this is
  7464. * inferred from the marker radius.
  7465. */
  7466. height?: number;
  7467. /**
  7468. * (Gantt) Whether or not to draw the markers inside the points.
  7469. */
  7470. inside?: boolean;
  7471. /**
  7472. * (Gantt) Set the line/border color of the connector markers. By default
  7473. * this is the same as the marker color.
  7474. */
  7475. lineColor?: ColorString;
  7476. /**
  7477. * (Gantt) Set the line/border width of the pathfinder markers.
  7478. */
  7479. lineWidth?: number;
  7480. /**
  7481. * (Gantt) Set the radius of the connector markers. The default is
  7482. * automatically computed based on the algorithmMargin setting.
  7483. *
  7484. * Setting marker.width and marker.height will override this setting.
  7485. */
  7486. radius?: number;
  7487. /**
  7488. * (Gantt) Set the symbol of the connector end markers.
  7489. */
  7490. symbol?: string;
  7491. /**
  7492. * (Gantt) Vertical alignment of the markers relative to the points.
  7493. */
  7494. verticalAlign?: VerticalAlignValue;
  7495. /**
  7496. * (Gantt) Set the width of the connector markers. If not supplied, this is
  7497. * inferred from the marker radius.
  7498. */
  7499. width?: number;
  7500. }
  7501. /**
  7502. * (Gantt) Marker options for this chart's Pathfinder connectors. Note that this
  7503. * option is overridden by the `startMarker` and `endMarker` options.
  7504. */
  7505. export interface ConnectorsMarkerOptions {
  7506. /**
  7507. * (Gantt) Horizontal alignment of the markers relative to the points.
  7508. */
  7509. align?: AlignValue;
  7510. /**
  7511. * (Gantt) Set the color of the connector markers. By default this is the
  7512. * same as the connector color.
  7513. */
  7514. color?: (ColorString|GradientColorObject|PatternObject);
  7515. /**
  7516. * (Gantt) Enable markers for the connectors.
  7517. */
  7518. enabled?: boolean;
  7519. /**
  7520. * (Gantt) Set the height of the connector markers. If not supplied, this is
  7521. * inferred from the marker radius.
  7522. */
  7523. height?: number;
  7524. /**
  7525. * (Gantt) Whether or not to draw the markers inside the points.
  7526. */
  7527. inside?: boolean;
  7528. /**
  7529. * (Gantt) Set the line/border color of the connector markers. By default
  7530. * this is the same as the marker color.
  7531. */
  7532. lineColor?: ColorString;
  7533. /**
  7534. * (Gantt) Set the line/border width of the pathfinder markers.
  7535. */
  7536. lineWidth?: number;
  7537. /**
  7538. * (Gantt) Set the radius of the connector markers. The default is
  7539. * automatically computed based on the algorithmMargin setting.
  7540. *
  7541. * Setting marker.width and marker.height will override this setting.
  7542. */
  7543. radius?: number;
  7544. /**
  7545. * (Gantt) Vertical alignment of the markers relative to the points.
  7546. */
  7547. verticalAlign?: VerticalAlignValue;
  7548. /**
  7549. * (Gantt) Set the width of the connector markers. If not supplied, this is
  7550. * inferred from the marker radius.
  7551. */
  7552. width?: number;
  7553. }
  7554. /**
  7555. * (Gantt) The Pathfinder module allows you to define connections between any
  7556. * two points, represented as lines - optionally with markers for the start
  7557. * and/or end points. Multiple algorithms are available for calculating how the
  7558. * connecting lines are drawn.
  7559. *
  7560. * Connector functionality requires Highcharts Gantt to be loaded. In Gantt
  7561. * charts, the connectors are used to draw dependencies between tasks.
  7562. */
  7563. export interface ConnectorsOptions {
  7564. /**
  7565. * (Gantt) Set the default pathfinder margin to use, in pixels. Some
  7566. * Pathfinder algorithms attempt to avoid obstacles, such as other points in
  7567. * the chart. These algorithms use this margin to determine how close lines
  7568. * can be to an obstacle. The default is to compute this automatically from
  7569. * the size of the obstacles in the chart.
  7570. *
  7571. * To draw connecting lines close to existing points, set this to a low
  7572. * number. For more space around existing points, set this number higher.
  7573. */
  7574. algorithmMargin?: number;
  7575. /**
  7576. * (Gantt) Set the default dash style for this chart's connecting lines.
  7577. */
  7578. dashStyle?: string;
  7579. /**
  7580. * (Gantt) Enable connectors for this chart. Requires Highcharts Gantt.
  7581. */
  7582. enabled?: boolean;
  7583. /**
  7584. * (Gantt) Marker options specific to the end markers for this chart's
  7585. * Pathfinder connectors. Overrides the generic marker options.
  7586. */
  7587. endMarker?: ConnectorsEndMarkerOptions;
  7588. /**
  7589. * (Gantt) Set the default color for this chart's Pathfinder connecting
  7590. * lines. Defaults to the color of the point being connected.
  7591. */
  7592. lineColor?: ColorString;
  7593. /**
  7594. * (Gantt) Set the default pixel width for this chart's Pathfinder
  7595. * connecting lines.
  7596. */
  7597. lineWidth?: number;
  7598. /**
  7599. * (Gantt) Marker options for this chart's Pathfinder connectors. Note that
  7600. * this option is overridden by the `startMarker` and `endMarker` options.
  7601. */
  7602. marker?: ConnectorsMarkerOptions;
  7603. /**
  7604. * (Gantt) Marker options specific to the start markers for this chart's
  7605. * Pathfinder connectors. Overrides the generic marker options.
  7606. */
  7607. startMarker?: ConnectorsStartMarkerOptions;
  7608. /**
  7609. * (Gantt) Set the default pathfinder algorithm to use for this chart. It is
  7610. * possible to define your own algorithms by adding them to the
  7611. * Highcharts.Pathfinder.prototype.algorithms object before the chart has
  7612. * been created.
  7613. *
  7614. * The default algorithms are as follows:
  7615. *
  7616. * `straight`: Draws a straight line between the connecting points. Does not
  7617. * avoid other points when drawing.
  7618. *
  7619. * `simpleConnect`: Finds a path between the points using right angles only.
  7620. * Takes only starting/ending points into account, and will not avoid other
  7621. * points.
  7622. *
  7623. * `fastAvoid`: Finds a path between the points using right angles only.
  7624. * Will attempt to avoid other points, but its focus is performance over
  7625. * accuracy. Works well with less dense datasets.
  7626. *
  7627. * Default value: `straight` is used as default for most series types, while
  7628. * `simpleConnect` is used as default for Gantt series, to show dependencies
  7629. * between points.
  7630. */
  7631. type?: PathfinderTypeValue;
  7632. }
  7633. /**
  7634. * (Gantt) Marker options specific to the start markers for this chart's
  7635. * Pathfinder connectors. Overrides the generic marker options.
  7636. */
  7637. export interface ConnectorsStartMarkerOptions {
  7638. /**
  7639. * (Gantt) Horizontal alignment of the markers relative to the points.
  7640. */
  7641. align?: (string|AlignValue);
  7642. /**
  7643. * (Gantt) Set the color of the connector markers. By default this is the
  7644. * same as the connector color.
  7645. */
  7646. color?: (ColorString|GradientColorObject|PatternObject);
  7647. /**
  7648. * (Gantt) Enable markers for the connectors.
  7649. */
  7650. enabled?: boolean;
  7651. fill?: string;
  7652. /**
  7653. * (Gantt) Set the height of the connector markers. If not supplied, this is
  7654. * inferred from the marker radius.
  7655. */
  7656. height?: number;
  7657. /**
  7658. * (Gantt) Whether or not to draw the markers inside the points.
  7659. */
  7660. inside?: boolean;
  7661. /**
  7662. * (Gantt) Set the line/border color of the connector markers. By default
  7663. * this is the same as the marker color.
  7664. */
  7665. lineColor?: ColorString;
  7666. /**
  7667. * (Gantt) Set the line/border width of the pathfinder markers.
  7668. */
  7669. lineWidth?: number;
  7670. /**
  7671. * (Gantt) Set the radius of the connector markers. The default is
  7672. * automatically computed based on the algorithmMargin setting.
  7673. *
  7674. * Setting marker.width and marker.height will override this setting.
  7675. */
  7676. radius?: number;
  7677. /**
  7678. * (Gantt) Set the symbol of the connector start markers.
  7679. */
  7680. symbol?: string;
  7681. /**
  7682. * (Gantt) Vertical alignment of the markers relative to the points.
  7683. */
  7684. verticalAlign?: VerticalAlignValue;
  7685. /**
  7686. * (Gantt) Set the width of the connector markers. If not supplied, this is
  7687. * inferred from the marker radius.
  7688. */
  7689. width?: number;
  7690. }
  7691. /**
  7692. * (Highcharts, Highstock, Highmaps, Gantt) Highchart by default puts a credits
  7693. * label in the lower right corner of the chart. This can be changed using these
  7694. * options.
  7695. */
  7696. export interface CreditsOptions {
  7697. /**
  7698. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the credits
  7699. * text.
  7700. */
  7701. enabled?: boolean;
  7702. /**
  7703. * (Highcharts, Highstock, Highmaps, Gantt) The URL for the credits label.
  7704. */
  7705. href?: string;
  7706. /**
  7707. * (Highmaps) Credits for map source to be concatenated with conventional
  7708. * credit text. By default this is a format string that collects copyright
  7709. * information from the map if available.
  7710. */
  7711. mapText?: string;
  7712. /**
  7713. * (Highmaps) Detailed credits for map source to be displayed on hover of
  7714. * credits text. By default this is a format string that collects copyright
  7715. * information from the map if available.
  7716. */
  7717. mapTextFull?: string;
  7718. /**
  7719. * (Highcharts, Highstock, Highmaps, Gantt) Position configuration for the
  7720. * credits label.
  7721. */
  7722. position?: AlignObject;
  7723. /**
  7724. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the credits
  7725. * label.
  7726. */
  7727. style?: CSSObject;
  7728. /**
  7729. * (Highcharts, Highstock, Highmaps, Gantt) The text for the credits label.
  7730. */
  7731. text?: string;
  7732. }
  7733. /**
  7734. * A style object with camel case property names to define visual appearance of
  7735. * a SVG element or HTML element. The properties can be whatever styles are
  7736. * supported on the given SVG or HTML element.
  7737. */
  7738. export interface CSSObject {
  7739. [key: string]: (boolean|number|string|undefined);
  7740. /**
  7741. * Background style for the element.
  7742. */
  7743. background?: string;
  7744. /**
  7745. * Background color of the element.
  7746. */
  7747. backgroundColor?: ColorString;
  7748. /**
  7749. * Border style for the element.
  7750. */
  7751. border?: string;
  7752. /**
  7753. * Radius of the element border.
  7754. */
  7755. borderRadius?: number;
  7756. /**
  7757. * Color used in the element. The 'contrast' option is a Highcharts custom
  7758. * property that results in black or white, depending on the background of
  7759. * the element.
  7760. */
  7761. color?: ('contrast'|ColorString);
  7762. /**
  7763. * Style of the mouse cursor when resting over the element.
  7764. */
  7765. cursor?: CursorValue;
  7766. /**
  7767. * Font family of the element text. Multiple values have to be in decreasing
  7768. * preference order and separated by comma.
  7769. */
  7770. fontFamily?: string;
  7771. /**
  7772. * Font size of the element text.
  7773. */
  7774. fontSize?: string;
  7775. /**
  7776. * Font weight of the element text.
  7777. */
  7778. fontWeight?: string;
  7779. /**
  7780. * Height of the element.
  7781. */
  7782. height?: number;
  7783. /**
  7784. * Width of the element border.
  7785. */
  7786. lineWidth?: number;
  7787. /**
  7788. * Opacity of the element.
  7789. */
  7790. opacity?: number;
  7791. /**
  7792. * Space around the element content.
  7793. */
  7794. padding?: string;
  7795. /**
  7796. * Behaviour of the element when the mouse cursor rests over it.
  7797. */
  7798. pointerEvents?: string;
  7799. /**
  7800. * Positioning of the element.
  7801. */
  7802. position?: string;
  7803. /**
  7804. * Alignment of the element text.
  7805. */
  7806. textAlign?: string;
  7807. /**
  7808. * Additional decoration of the element text.
  7809. */
  7810. textDecoration?: string;
  7811. /**
  7812. * Outline style of the element text.
  7813. */
  7814. textOutline?: string;
  7815. /**
  7816. * Line break style of the element text. Highcharts SVG elements support
  7817. * `ellipsis` when a `width` is set.
  7818. */
  7819. textOverflow?: string;
  7820. /**
  7821. * Top spacing of the element relative to the parent element.
  7822. */
  7823. top?: string;
  7824. /**
  7825. * Animated transition of selected element properties.
  7826. */
  7827. transition?: string;
  7828. /**
  7829. * Line break style of the element text.
  7830. */
  7831. whiteSpace?: string;
  7832. /**
  7833. * Width of the element.
  7834. */
  7835. width?: number;
  7836. }
  7837. /**
  7838. * (Gantt) Show an indicator on the axis for the current date and time. Can be a
  7839. * boolean or a configuration object similar to xAxis.plotLines.
  7840. */
  7841. export interface CurrentDateIndicatorOptions {
  7842. /**
  7843. * (Highstock) Flag to decide if plotLine should be rendered across all
  7844. * panes.
  7845. */
  7846. acrossPanes?: boolean;
  7847. /**
  7848. * (Gantt) A custom class name, in addition to the default
  7849. * `highcharts-plot-line`, to apply to each individual line.
  7850. */
  7851. className?: string;
  7852. /**
  7853. * (Gantt) The color of the line.
  7854. */
  7855. color?: ColorString;
  7856. /**
  7857. * (Gantt) The dashing or dot style for the plot line. For possible values
  7858. * see this overview.
  7859. */
  7860. dashStyle?: DashStyleValue;
  7861. /**
  7862. * (Gantt) An object defining mouse events for the plot line. Supported
  7863. * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  7864. */
  7865. events?: (ColorAxisCurrentDateIndicatorEventsOptions|NavigatorXAxisCurrentDateIndicatorEventsOptions|XAxisCurrentDateIndicatorEventsOptions|ZAxisCurrentDateIndicatorEventsOptions);
  7866. /**
  7867. * (Gantt) An id used for identifying the plot line in Axis.removePlotLine.
  7868. */
  7869. id?: string;
  7870. /**
  7871. * (Gantt) Text labels for the plot bands
  7872. */
  7873. label?: (ColorAxisCurrentDateIndicatorLabelOptions|NavigatorXAxisCurrentDateIndicatorLabelOptions|XAxisCurrentDateIndicatorLabelOptions|ZAxisCurrentDateIndicatorLabelOptions);
  7874. /**
  7875. * (Gantt) The width or thickness of the plot line.
  7876. */
  7877. width?: number;
  7878. /**
  7879. * (Gantt) The z index of the plot line within the chart.
  7880. */
  7881. zIndex?: number;
  7882. }
  7883. export interface DataGroupingInfoObject {
  7884. length: number;
  7885. options?: SeriesOptionsType;
  7886. start: number;
  7887. }
  7888. /**
  7889. * (Highstock) A custom data grouping object for each button.
  7890. */
  7891. export interface DataGroupingOptionsObject {
  7892. /**
  7893. * (Highstock) Specifies how the points should be located on the X axis
  7894. * inside the group. Points that are extremes can be set separately.
  7895. * Available options:
  7896. *
  7897. * - `start` places the point at the beginning of the group (e.g. range
  7898. * 00:00:00 - 23:59:59 -> 00:00:00)
  7899. *
  7900. * - `middle` places the point in the middle of the group (e.g. range
  7901. * 00:00:00 - 23:59:59 -> 12:00:00)
  7902. *
  7903. * - `end` places the point at the end of the group (e.g. range 00:00:00 -
  7904. * 23:59:59 -> 23:59:59)
  7905. */
  7906. anchor?: (string|DataGroupingAnchor);
  7907. /**
  7908. * (Highstock) The method of approximation inside a group. When for example
  7909. * 30 days are grouped into one month, this determines what value should
  7910. * represent the group. Possible values are "average", "averages", "open",
  7911. * "high", "low", "close" and "sum". For OHLC and candlestick series the
  7912. * approximation is "ohlc" by default, which finds the open, high, low and
  7913. * close values within all the grouped data. For ranges, the approximation
  7914. * is "range", which finds the low and high values. For multi-dimensional
  7915. * data, like ranges and OHLC, "averages" will compute the average for each
  7916. * dimension.
  7917. *
  7918. * Custom aggregate methods can be added by assigning a callback function as
  7919. * the approximation. This function takes a numeric array as the argument
  7920. * and should return a single numeric value or `null`. Note that the numeric
  7921. * array will never contain null values, only true numbers. Instead, if null
  7922. * values are present in the raw data, the numeric array will have an
  7923. * `.hasNulls` property set to `true`. For single-value data sets the data
  7924. * is available in the first argument of the callback function. For OHLC
  7925. * data sets, all the open values are in the first argument, all high values
  7926. * in the second etc.
  7927. *
  7928. * Since v4.2.7, grouping meta data is available in the approximation
  7929. * callback from `this.dataGroupInfo`. It can be used to extract information
  7930. * from the raw data.
  7931. *
  7932. * Defaults to `average` for line-type series, `sum` for columns, `range`
  7933. * for range series and `ohlc` for OHLC and candlestick.
  7934. */
  7935. approximation?: (string|DataGroupingApproximationValue|Function);
  7936. /**
  7937. * (Highstock) Datetime formats for the header of the tooltip in a stock
  7938. * chart. The format can vary within a chart depending on the currently
  7939. * selected time range and the current data grouping.
  7940. *
  7941. * The default formats are: (see online documentation for example)
  7942. *
  7943. * For each of these array definitions, the first item is the format used
  7944. * when the active time span is one unit. For instance, if the current data
  7945. * applies to one week, the first item of the week array is used. The second
  7946. * and third items are used when the active time span is more than two
  7947. * units. For instance, if the current data applies to two weeks, the second
  7948. * and third item of the week array are used, and applied to the start and
  7949. * end date of the time span.
  7950. */
  7951. dateTimeLabelFormats?: object;
  7952. /**
  7953. * (Highstock) Enable or disable data grouping.
  7954. */
  7955. enabled?: boolean;
  7956. /**
  7957. * (Highstock) Specifies how the first grouped point is positioned on the
  7958. * xAxis. If firstAnchor and/or lastAnchor are defined, then those options
  7959. * take precedence over anchor for the first and/or last grouped points.
  7960. * Available options:
  7961. *
  7962. * -`start` places the point at the beginning of the group (e.g. range
  7963. * 00:00:00 - 23:59:59 -> 00:00:00)
  7964. *
  7965. * -`middle` places the point in the middle of the group (e.g. range
  7966. * 00:00:00 - 23:59:59 -> 12:00:00)
  7967. *
  7968. * -`end` places the point at the end of the group (e.g. range 00:00:00 -
  7969. * 23:59:59 -> 23:59:59)
  7970. *
  7971. * -`firstPoint` the first point in the group (e.g. points at 00:13, 00:35,
  7972. * 00:59 -> 00:13)
  7973. *
  7974. * -`lastPoint` the last point in the group (e.g. points at 00:13, 00:35,
  7975. * 00:59 -> 00:59)
  7976. */
  7977. firstAnchor?: (string|DataGroupingAnchorExtremes);
  7978. /**
  7979. * (Highstock) When data grouping is forced, it runs no matter how small the
  7980. * intervals are. This can be handy for example when the sum should be
  7981. * calculated for values appearing at random times within each hour.
  7982. */
  7983. forced?: boolean;
  7984. /**
  7985. * (Highstock) By default only points within the visible range are grouped.
  7986. * Enabling this option will force data grouping to calculate all grouped
  7987. * points for a given dataset. That option prevents for example a column
  7988. * series from calculating a grouped point partially. The effect is similar
  7989. * to Series.getExtremesFromAll but does not affect yAxis extremes.
  7990. */
  7991. groupAll?: boolean;
  7992. /**
  7993. * (Highstock) The approximate pixel width of each group. If for example a
  7994. * series with 30 points is displayed over a 600 pixel wide plot area, no
  7995. * grouping is performed. If however the series contains so many points that
  7996. * the spacing is less than the groupPixelWidth, Highcharts will try to
  7997. * group it into appropriate groups so that each is more or less two pixels
  7998. * wide. If multiple series with different group pixel widths are drawn on
  7999. * the same x axis, all series will take the greatest width. For example,
  8000. * line series have 2px default group width, while column series have 10px.
  8001. * If combined, both the line and the column will have 10px by default.
  8002. */
  8003. groupPixelWidth?: number;
  8004. /**
  8005. * (Highstock) Specifies how the last grouped point is positioned on the
  8006. * xAxis. If firstAnchor and/or lastAnchor are defined, then those options
  8007. * take precedence over anchor for the first and/or last grouped points.
  8008. * Available options:
  8009. *
  8010. * -`start` places the point at the beginning of the group (e.g. range
  8011. * 00:00:00 - 23:59:59 -> 00:00:00)
  8012. *
  8013. * -`middle` places the point in the middle of the group (e.g. range
  8014. * 00:00:00 - 23:59:59 -> 12:00:00)
  8015. *
  8016. * -`end` places the point at the end of the group (e.g. range 00:00:00 -
  8017. * 23:59:59 -> 23:59:59)
  8018. *
  8019. * -`firstPoint` the first point in the group (e.g. points at 00:13, 00:35,
  8020. * 00:59 -> 00:13)
  8021. *
  8022. * -`lastPoint` the last point in the group (e.g. points at 00:13, 00:35,
  8023. * 00:59 -> 00:59)
  8024. */
  8025. lastAnchor?: (string|DataGroupingAnchorExtremes);
  8026. /**
  8027. * (Highstock) An array determining what time intervals the data is allowed
  8028. * to be grouped to. Each array item is an array where the first value is
  8029. * the time unit and the second value another array of allowed multiples.
  8030. *
  8031. * Defaults to: (see online documentation for example)
  8032. */
  8033. units?: Array<[string, (Array<number>|null)]>;
  8034. }
  8035. /**
  8036. * (Highcharts, Highstock, Gantt) A declarative filter to control of which data
  8037. * labels to display. The declarative filter is designed for use when callback
  8038. * functions are not available, like when the chart options require a pure JSON
  8039. * structure or for use with graphical editors. For programmatic control, use
  8040. * the `formatter` instead, and return `undefined` to disable a single data
  8041. * label.
  8042. */
  8043. export interface DataLabelsFilterOptionsObject {
  8044. /**
  8045. * (Highcharts, Highstock, Gantt) The operator to compare by. Can be one of
  8046. * `>`, `<`, `>=`, `<=`, `==`, and `===`.
  8047. */
  8048. operator?: OptionsOperatorValue;
  8049. /**
  8050. * (Highcharts, Highstock, Gantt) The point property to filter by. Point
  8051. * options are passed directly to properties, additionally there are `y`
  8052. * value, `percentage` and others listed under Highcharts.Point members.
  8053. */
  8054. property?: string;
  8055. /**
  8056. * (Highcharts, Highstock, Gantt) The value to compare against.
  8057. */
  8058. value?: number;
  8059. }
  8060. /**
  8061. * (Highcharts, Highstock, Gantt) Individual data label for each point. The
  8062. * options are the same as the ones for plotOptions.series.dataLabels.
  8063. */
  8064. export interface DataLabelsOptions {
  8065. /**
  8066. * (Highcharts, Highstock, Gantt) The alignment of the data label compared
  8067. * to the point. If `right`, the right side of the label should be touching
  8068. * the point. For points with an extent, like columns, the alignments also
  8069. * dictates how to align it inside the box, as given with the inside option.
  8070. * Can be one of `left`, `center` or `right`.
  8071. */
  8072. align?: (AlignValue|null);
  8073. /**
  8074. * (Highcharts, Highstock, Gantt) Whether to allow data labels to overlap.
  8075. * To make the labels less sensitive for overlapping, the dataLabels.padding
  8076. * can be set to 0.
  8077. */
  8078. allowOverlap?: boolean;
  8079. /**
  8080. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation
  8081. * when a series is displayed for the `dataLabels`. The animation can also
  8082. * be set as a configuration object. Please note that this option only
  8083. * applies to the initial animation. For other animations, see
  8084. * chart.animation and the animation parameter under the API methods. The
  8085. * following properties are supported:
  8086. *
  8087. * - `defer`: The animation delay time in milliseconds.
  8088. */
  8089. animation?: (boolean|SeriesAreaDataDataLabelsAnimationOptions|SeriesArearangeDataDataLabelsAnimationOptions|SeriesAreasplineDataDataLabelsAnimationOptions|
  8090. SeriesAreasplinerangeDataDataLabelsAnimationOptions|SeriesBarDataDataLabelsAnimationOptions|SeriesBoxplotDataDataLabelsAnimationOptions|SeriesBubbleDataDataLabelsAnimationOptions|
  8091. SeriesBulletDataDataLabelsAnimationOptions|SeriesCandlestickDataDataLabelsAnimationOptions|SeriesColumnDataDataLabelsAnimationOptions|SeriesColumnpyramidDataDataLabelsAnimationOptions|
  8092. SeriesColumnrangeDataDataLabelsAnimationOptions|SeriesCylinderDataDataLabelsAnimationOptions|SeriesDumbbellDataDataLabelsAnimationOptions|SeriesFunnelDataDataLabelsAnimationOptions|
  8093. SeriesGaugeDataDataLabelsAnimationOptions|SeriesHeatmapDataDataLabelsAnimationOptions|SeriesItemDataDataLabelsAnimationOptions|SeriesLineDataDataLabelsAnimationOptions|
  8094. SeriesLollipopDataDataLabelsAnimationOptions|SeriesNetworkgraphDataDataLabelsAnimationOptions|SeriesOhlcDataDataLabelsAnimationOptions|SeriesOrganizationDataDataLabelsAnimationOptions|
  8095. SeriesPackedbubbleDataDataLabelsAnimationOptions|SeriesParetoDataDataLabelsAnimationOptions|SeriesPieDataDataLabelsAnimationOptions|SeriesPolygonDataDataLabelsAnimationOptions|
  8096. SeriesPyramidDataDataLabelsAnimationOptions|SeriesSankeyDataDataLabelsAnimationOptions|SeriesScatter3dDataDataLabelsAnimationOptions|SeriesScatterDataDataLabelsAnimationOptions|
  8097. SeriesSolidgaugeDataDataLabelsAnimationOptions|SeriesSplineDataDataLabelsAnimationOptions|SeriesStreamgraphDataDataLabelsAnimationOptions|SeriesSunburstDataDataLabelsAnimationOptions|
  8098. SeriesTilemapDataDataLabelsAnimationOptions|SeriesTimelineDataDataLabelsAnimationOptions|SeriesTreemapDataDataLabelsAnimationOptions|SeriesVariablepieDataDataLabelsAnimationOptions|
  8099. SeriesVariwideDataDataLabelsAnimationOptions|SeriesVectorDataDataLabelsAnimationOptions|SeriesVennDataDataLabelsAnimationOptions|SeriesWaterfallDataDataLabelsAnimationOptions|
  8100. SeriesWindbarbDataDataLabelsAnimationOptions|SeriesWordcloudDataDataLabelsAnimationOptions|SeriesXrangeDataDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  8101. /**
  8102. * (Highcharts, Highstock, Gantt) The background color or gradient for the
  8103. * data label.
  8104. */
  8105. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  8106. /**
  8107. * (Highcharts, Highstock, Gantt) The border color for the data label.
  8108. * Defaults to `undefined`.
  8109. */
  8110. borderColor?: (ColorString|GradientColorObject|PatternObject);
  8111. /**
  8112. * (Highcharts, Highstock, Gantt) The border radius in pixels for the data
  8113. * label.
  8114. */
  8115. borderRadius?: number;
  8116. /**
  8117. * (Highcharts, Highstock, Gantt) The border width in pixels for the data
  8118. * label.
  8119. */
  8120. borderWidth?: number;
  8121. /**
  8122. * (Highcharts, Highstock, Gantt) A class name for the data label.
  8123. * Particularly in styled mode, this can be used to give each series' or
  8124. * point's data label unique styling. In addition to this option, a default
  8125. * color class name is added so that we can give the labels a contrast text
  8126. * shadow.
  8127. */
  8128. className?: string;
  8129. /**
  8130. * (Highcharts, Highstock, Gantt) The text color for the data labels.
  8131. * Defaults to `undefined`. For certain series types, like column or map,
  8132. * the data labels can be drawn inside the points. In this case the data
  8133. * label will be drawn with maximum contrast by default. Additionally, it
  8134. * will be given a `text-outline` style with the opposite color, to further
  8135. * increase the contrast. This can be overridden by setting the
  8136. * `text-outline` style to `none` in the `dataLabels.style` option.
  8137. */
  8138. color?: (ColorString|GradientColorObject|PatternObject);
  8139. /**
  8140. * (Highcharts, Highstock, Gantt) Whether to hide data labels that are
  8141. * outside the plot area. By default, the data label is moved inside the
  8142. * plot area according to the overflow option.
  8143. */
  8144. crop?: boolean;
  8145. /**
  8146. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  8147. * labels until the initial series animation has finished. Setting to
  8148. * `false` renders the data label immediately. If set to `true` inherits the
  8149. * defer time set in plotOptions.series.animation. If set to a number, a
  8150. * defer time is specified in milliseconds.
  8151. */
  8152. defer?: (boolean|number);
  8153. /**
  8154. * (Highcharts, Highstock, Gantt) Enable or disable the data labels.
  8155. */
  8156. enabled?: boolean;
  8157. /**
  8158. * (Highcharts, Highstock, Gantt) A declarative filter to control of which
  8159. * data labels to display. The declarative filter is designed for use when
  8160. * callback functions are not available, like when the chart options require
  8161. * a pure JSON structure or for use with graphical editors. For programmatic
  8162. * control, use the `formatter` instead, and return `undefined` to disable a
  8163. * single data label.
  8164. */
  8165. filter?: DataLabelsFilterOptionsObject;
  8166. /**
  8167. * (Highcharts, Highstock, Gantt) A format string for the data label.
  8168. * Available variables are the same as for `formatter`.
  8169. */
  8170. format?: string;
  8171. /**
  8172. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  8173. * data label. Note that if a `format` is defined, the format takes
  8174. * precedence and the formatter is ignored.
  8175. */
  8176. formatter?: DataLabelsFormatterCallbackFunction;
  8177. /**
  8178. * (Highcharts, Highstock, Gantt) For points with an extent, like columns or
  8179. * map areas, whether to align the data label inside the box or to the
  8180. * actual value point. Defaults to `false` in most cases, `true` in stacked
  8181. * columns.
  8182. */
  8183. inside?: boolean;
  8184. /**
  8185. * (Highcharts, Highstock, Gantt) Format for points with the value of null.
  8186. * Works analogously to format. `nullFormat` can be applied only to series
  8187. * which support displaying null points.
  8188. */
  8189. nullFormat?: (boolean|string);
  8190. /**
  8191. * (Highcharts, Highstock, Gantt) Callback JavaScript function that defines
  8192. * formatting for points with the value of null. Works analogously to
  8193. * formatter. `nullPointFormatter` can be applied only to series which
  8194. * support displaying null points.
  8195. */
  8196. nullFormatter?: DataLabelsFormatterCallbackFunction;
  8197. /**
  8198. * (Highcharts, Highstock, Gantt) How to handle data labels that flow
  8199. * outside the plot area. The default is `"justify"`, which aligns them
  8200. * inside the plot area. For columns and bars, this means it will be moved
  8201. * inside the bar. To display data labels outside the plot area, set `crop`
  8202. * to `false` and `overflow` to `"allow"`.
  8203. */
  8204. overflow?: DataLabelsOverflowValue;
  8205. /**
  8206. * (Highcharts, Highstock, Gantt) When either the `borderWidth` or the
  8207. * `backgroundColor` is set, this is the padding within the box.
  8208. */
  8209. padding?: number;
  8210. /**
  8211. * (Highcharts, Highstock, Gantt) Aligns data labels relative to points. If
  8212. * `center` alignment is not possible, it defaults to `right`.
  8213. */
  8214. position?: AlignValue;
  8215. /**
  8216. * (Highcharts, Highstock, Gantt) Text rotation in degrees. Note that due to
  8217. * a more complex structure, backgrounds, borders and padding will be lost
  8218. * on a rotated data label.
  8219. */
  8220. rotation?: number;
  8221. /**
  8222. * (Highcharts, Highstock, Gantt) The shadow of the box. Works best with
  8223. * `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be an object
  8224. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  8225. * `width`.
  8226. */
  8227. shadow?: (boolean|ShadowOptionsObject);
  8228. /**
  8229. * (Highcharts, Highstock, Gantt) The name of a symbol to use for the border
  8230. * around the label. Symbols are predefined functions on the Renderer
  8231. * object.
  8232. */
  8233. shape?: string;
  8234. /**
  8235. * (Highcharts, Highstock, Gantt) Styles for the label. The default `color`
  8236. * setting is `"contrast"`, which is a pseudo color that Highcharts picks up
  8237. * and applies the maximum contrast to the underlying point item, for
  8238. * example the bar in a bar chart.
  8239. *
  8240. * The `textOutline` is a pseudo property that applies an outline of the
  8241. * given width with the given color, which by default is the maximum
  8242. * contrast to the text. So a bright text color will result in a black text
  8243. * outline for maximum readability on a mixed background. In some cases,
  8244. * especially with grayscale text, the text outline doesn't work well, in
  8245. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  8246. * is true, the `textOutline` will not be picked up. In this, case, the same
  8247. * effect can be acheived through the `text-shadow` CSS property.
  8248. *
  8249. * For some series types, where each point has an extent, like for example
  8250. * tree maps, the data label may overflow the point. There are two
  8251. * strategies for handling overflow. By default, the text will wrap to
  8252. * multiple lines. The other strategy is to set `style.textOverflow` to
  8253. * `ellipsis`, which will keep the text on one line plus it will break
  8254. * inside long words.
  8255. */
  8256. style?: CSSObject;
  8257. /**
  8258. * (Highcharts, Highstock, Gantt) Options for a label text which should
  8259. * follow marker's shape. Border and background are disabled for a label
  8260. * that follows a path.
  8261. *
  8262. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  8263. * to true will disable this option.
  8264. */
  8265. textPath?: DataLabelsTextPathOptionsObject;
  8266. /**
  8267. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  8268. */
  8269. useHTML?: boolean;
  8270. /**
  8271. * (Highcharts, Highstock, Gantt) The vertical alignment of a data label.
  8272. * Can be one of `top`, `middle` or `bottom`. The default value depends on
  8273. * the data, for instance in a column chart, the label is above positive
  8274. * values and below negative values.
  8275. */
  8276. verticalAlign?: (VerticalAlignValue|null);
  8277. /**
  8278. * (Highcharts, Highstock, Gantt) The x position offset of the label
  8279. * relative to the point in pixels.
  8280. */
  8281. x?: number;
  8282. /**
  8283. * (Highcharts, Highstock) X offset of the higher data labels relative to
  8284. * the point value.
  8285. */
  8286. xHigh?: number;
  8287. /**
  8288. * (Highcharts, Highstock) X offset of the lower data labels relative to the
  8289. * point value.
  8290. */
  8291. xLow?: number;
  8292. /**
  8293. * (Highcharts, Highstock, Gantt) The y position offset of the label
  8294. * relative to the point in pixels.
  8295. */
  8296. y?: number;
  8297. /**
  8298. * (Highcharts, Highstock) Y offset of the higher data labels relative to
  8299. * the point value.
  8300. */
  8301. yHigh?: number;
  8302. /**
  8303. * (Highcharts, Highstock) Y offset of the lower data labels relative to the
  8304. * point value.
  8305. */
  8306. yLow?: number;
  8307. /**
  8308. * (Highcharts, Highstock, Gantt) The Z index of the data labels. The
  8309. * default Z index puts it above the series. Use a Z index of 2 to display
  8310. * it behind the series.
  8311. */
  8312. z?: number;
  8313. }
  8314. /**
  8315. * (Highcharts, Highstock, Gantt) Options for a label text which should follow
  8316. * marker's shape. Border and background are disabled for a label that follows a
  8317. * path.
  8318. *
  8319. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML` to
  8320. * true will disable this option.
  8321. */
  8322. export interface DataLabelsTextPathOptionsObject {
  8323. /**
  8324. * (Highcharts, Highstock, Gantt) Presentation attributes for the text path.
  8325. */
  8326. attributes?: SVGAttributes;
  8327. /**
  8328. * (Highcharts, Highstock, Gantt) Enable or disable `textPath` option for
  8329. * link's or marker's data labels.
  8330. */
  8331. enabled?: boolean;
  8332. }
  8333. /**
  8334. * (Highcharts, Highstock, Highmaps, Gantt) The Data module provides a
  8335. * simplified interface for adding data to a chart from sources like CVS, HTML
  8336. * tables or grid views. See also the tutorial article on the Data module.
  8337. *
  8338. * It requires the `modules/data.js` file to be loaded.
  8339. *
  8340. * Please note that the default way of adding data in Highcharts, without the
  8341. * need of a module, is through the series._type_.data option.
  8342. */
  8343. export interface DataOptions {
  8344. /**
  8345. * (Highcharts, Highstock, Highmaps, Gantt) A callback function to modify
  8346. * the CSV before parsing it. Return the modified string.
  8347. */
  8348. beforeParse?: DataBeforeParseCallbackFunction;
  8349. /**
  8350. * (Highcharts, Highstock, Highmaps, Gantt) A two-dimensional array
  8351. * representing the input data on tabular form. This input can be used when
  8352. * the data is already parsed, for example from a grid view component. Each
  8353. * cell can be a string or number. If not switchRowsAndColumns is set, the
  8354. * columns are interpreted as series.
  8355. */
  8356. columns?: Array<Array<DataValueType>>;
  8357. /**
  8358. * (Highcharts, Highstock, Highmaps, Gantt) A URL to a remote JSON dataset,
  8359. * structured as a column array. Will be fetched when the chart is created
  8360. * using Ajax.
  8361. */
  8362. columnsURL?: string;
  8363. /**
  8364. * (Highcharts, Highstock, Highmaps, Gantt) The callback that is evaluated
  8365. * when the data is finished loading, optionally from an external source,
  8366. * and parsed. The first argument passed is a finished chart options object,
  8367. * containing the series. These options can be extended with additional
  8368. * options and passed directly to the chart constructor.
  8369. */
  8370. complete?: DataCompleteCallbackFunction;
  8371. /**
  8372. * (Highcharts, Highstock, Highmaps, Gantt) A comma delimited string to be
  8373. * parsed. Related options are startRow, endRow, startColumn and endColumn
  8374. * to delimit what part of the table is used. The lineDelimiter and
  8375. * itemDelimiter options define the CSV delimiter formats.
  8376. *
  8377. * The built-in CSV parser doesn't support all flavours of CSV, so in some
  8378. * cases it may be necessary to use an external CSV parser. See this example
  8379. * of parsing CSV through the MIT licensed Papa Parse library.
  8380. */
  8381. csv?: string;
  8382. /**
  8383. * (Highcharts, Highstock, Highmaps, Gantt) An URL to a remote CSV dataset.
  8384. * Will be fetched when the chart is created using Ajax.
  8385. */
  8386. csvURL?: string;
  8387. /**
  8388. * (Highcharts, Highstock, Highmaps, Gantt) Sets the refresh rate for data
  8389. * polling when importing remote dataset by setting data.csvURL,
  8390. * data.rowsURL, data.columnsURL, or data.googleSpreadsheetKey.
  8391. *
  8392. * Note that polling must be enabled by setting data.enablePolling to true.
  8393. *
  8394. * The value is the number of seconds between pollings. It cannot be set to
  8395. * less than 1 second.
  8396. */
  8397. dataRefreshRate?: number;
  8398. /**
  8399. * (Highcharts, Highstock, Highmaps, Gantt) Which of the predefined date
  8400. * formats in Date.prototype.dateFormats to use to parse date values.
  8401. * Defaults to a best guess based on what format gives valid and ordered
  8402. * dates. Valid options include: `YYYY/mm/dd`, `dd/mm/YYYY`, `mm/dd/YYYY`,
  8403. * `dd/mm/YY`, `mm/dd/YY`.
  8404. */
  8405. dateFormat?: OptionsDateFormatValue;
  8406. /**
  8407. * (Highcharts, Highstock, Highmaps, Gantt) The decimal point used for
  8408. * parsing numbers in the CSV.
  8409. *
  8410. * If both this and data.delimiter is set to `undefined`, the parser will
  8411. * attempt to deduce the decimal point automatically.
  8412. */
  8413. decimalPoint?: string;
  8414. /**
  8415. * (Highcharts, Highstock, Highmaps, Gantt) Enables automatic refetching of
  8416. * remote datasets every _n_ seconds (defined by setting
  8417. * data.dataRefreshRate).
  8418. *
  8419. * Only works when either data.csvURL, data.rowsURL, data.columnsURL, or
  8420. * data.googleSpreadsheetKey.
  8421. */
  8422. enablePolling?: boolean;
  8423. /**
  8424. * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the last
  8425. * column (indexed by 0) to use. Defaults to the last column containing
  8426. * data.
  8427. */
  8428. endColumn?: number;
  8429. /**
  8430. * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the last
  8431. * row (indexed by 0) to use. Defaults to the last row containing data.
  8432. */
  8433. endRow?: number;
  8434. /**
  8435. * (Highcharts, Highstock, Gantt) Whether to use the first row in the data
  8436. * set as series names.
  8437. */
  8438. firstRowAsNames?: boolean;
  8439. /**
  8440. * (Highcharts, Highstock, Highmaps, Gantt) The key for a Google Spreadsheet
  8441. * to load. See general information on GS.
  8442. */
  8443. googleSpreadsheetKey?: string;
  8444. /**
  8445. * (Highcharts, Highstock, Highmaps, Gantt) The Google Spreadsheet worksheet
  8446. * to use in combination with googleSpreadsheetKey. The available id's from
  8447. * your sheet can be read from
  8448. * `https://spreadsheets.google.com/feeds/worksheets/{key}/public/basic`.
  8449. */
  8450. googleSpreadsheetWorksheet?: string;
  8451. /**
  8452. * (Highcharts, Highstock, Highmaps, Gantt) Item or cell delimiter for
  8453. * parsing CSV. Defaults to the tab character `\t` if a tab character is
  8454. * found in the CSV string, if not it defaults to `,`.
  8455. *
  8456. * If this is set to false or undefined, the parser will attempt to deduce
  8457. * the delimiter automatically.
  8458. */
  8459. itemDelimiter?: string;
  8460. /**
  8461. * (Highcharts, Highstock, Highmaps, Gantt) Line delimiter for parsing CSV.
  8462. */
  8463. lineDelimiter?: string;
  8464. /**
  8465. * (Highcharts, Highstock, Highmaps, Gantt) A callback function to access
  8466. * the parsed columns, the two-dimentional input data array directly, before
  8467. * they are interpreted into series data and categories. Return `false` to
  8468. * stop completion, or call `this.complete()` to continue async.
  8469. */
  8470. parsed?: DataParsedCallbackFunction;
  8471. /**
  8472. * (Highcharts, Highstock, Highmaps, Gantt) A callback function to parse
  8473. * string representations of dates into JavaScript timestamps. Should return
  8474. * an integer timestamp on success.
  8475. */
  8476. parseDate?: DataParseDateCallbackFunction;
  8477. /**
  8478. * (Highcharts, Highstock, Highmaps, Gantt) The same as the columns input
  8479. * option, but defining rows intead of columns.
  8480. */
  8481. rows?: Array<Array<DataValueType>>;
  8482. /**
  8483. * (Highcharts, Highstock, Highmaps, Gantt) A URL to a remote JSON dataset,
  8484. * structured as a row array. Will be fetched when the chart is created
  8485. * using Ajax.
  8486. */
  8487. rowsURL?: string;
  8488. /**
  8489. * (Highcharts, Highstock, Highmaps, Gantt) An array containing dictionaries
  8490. * for each series. A dictionary exists of Point property names as the key
  8491. * and the CSV column index as the value.
  8492. */
  8493. seriesMapping?: Array<Dictionary<number>>;
  8494. /**
  8495. * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the first
  8496. * column (indexed by 0) to use.
  8497. */
  8498. startColumn?: number;
  8499. /**
  8500. * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the first
  8501. * row (indexed by 0) to use.
  8502. */
  8503. startRow?: number;
  8504. /**
  8505. * (Highcharts, Highstock, Highmaps, Gantt) Switch rows and columns of the
  8506. * input data, so that `this.columns` effectively becomes the rows of the
  8507. * data set, and the rows are interpreted as series.
  8508. */
  8509. switchRowsAndColumns?: boolean;
  8510. /**
  8511. * (Highcharts, Highstock, Highmaps, Gantt) An HTML table or the id of such
  8512. * to be parsed as input data. Related options are `startRow`, `endRow`,
  8513. * `startColumn` and `endColumn` to delimit what part of the table is used.
  8514. */
  8515. table?: (string|HTMLElement);
  8516. }
  8517. /**
  8518. * Options for `dataSorting`.
  8519. */
  8520. export interface DataSortingOptionsObject {
  8521. /**
  8522. * Enable or disable data sorting for the series.
  8523. */
  8524. enabled?: boolean;
  8525. /**
  8526. * Whether to allow matching points by name in an update.
  8527. */
  8528. matchByName?: boolean;
  8529. /**
  8530. * Determines what data value should be used to sort by.
  8531. */
  8532. sortKey?: string;
  8533. }
  8534. export interface DefsArrowAttributesOptions {
  8535. id?: string;
  8536. markerHeight?: number;
  8537. markerWidth?: number;
  8538. refX?: number;
  8539. refY?: number;
  8540. }
  8541. export interface DefsArrowOptions {
  8542. attributes?: DefsArrowAttributesOptions;
  8543. children?: Array<DefsOptions>;
  8544. tagName?: string;
  8545. }
  8546. /**
  8547. * (Highcharts, Highstock, Highmaps, Gantt) Options for configuring markers for
  8548. * annotations.
  8549. *
  8550. * An example of the arrow marker: (see online documentation for example)
  8551. */
  8552. export interface DefsOptions {
  8553. arrow?: (ASTNode|DefsArrowOptions);
  8554. "reverse-arrow"?: (ASTNode|DefsReverseArrowOptions);
  8555. }
  8556. export interface DefsReverseArrowAttributesOptions {
  8557. id?: string;
  8558. markerHeight?: number;
  8559. markerWidth?: number;
  8560. refX?: number;
  8561. refY?: number;
  8562. }
  8563. export interface DefsReverseArrowOptions {
  8564. attributes?: DefsReverseArrowAttributesOptions;
  8565. tagName?: string;
  8566. }
  8567. /**
  8568. * Generic dictionary in TypeScript notation. Use the native `AnyRecord`
  8569. * instead.
  8570. */
  8571. export interface Dictionary<T> {
  8572. [key: string]: T;
  8573. }
  8574. /**
  8575. * (Highcharts, Highstock, Gantt) Style options for the guide box default state.
  8576. */
  8577. export interface DragDropGuideBoxOptionsObject {
  8578. /**
  8579. * (Highcharts, Highstock, Gantt) CSS class name of the guide box in this
  8580. * state. Defaults to `highcharts-drag-box-default`.
  8581. */
  8582. className?: string;
  8583. /**
  8584. * (Highcharts, Highstock, Gantt) Guide box fill color.
  8585. */
  8586. color?: (ColorString|GradientColorObject|PatternObject);
  8587. /**
  8588. * (Highcharts, Highstock, Gantt) Guide box cursor.
  8589. */
  8590. cursor?: string;
  8591. /**
  8592. * (Highcharts, Highstock, Gantt) Color of the border around the guide box.
  8593. */
  8594. lineColor?: ColorString;
  8595. /**
  8596. * (Highcharts, Highstock, Gantt) Width of the line around the guide box.
  8597. */
  8598. lineWidth?: number;
  8599. /**
  8600. * (Highcharts, Highstock, Gantt) Guide box zIndex.
  8601. */
  8602. zIndex?: number;
  8603. }
  8604. /**
  8605. * (Highcharts, Highstock, Gantt) Options for the drag handles.
  8606. */
  8607. export interface DragDropHandleOptionsObject {
  8608. /**
  8609. * (Highcharts, Highstock, Gantt) The class name of the drag handles.
  8610. * Defaults to `highcharts-drag-handle`.
  8611. */
  8612. className?: string;
  8613. /**
  8614. * (Highcharts, Highstock, Gantt) The fill color of the drag handles.
  8615. */
  8616. color?: (ColorString|GradientColorObject|PatternObject);
  8617. /**
  8618. * (Highcharts, Highstock, Gantt) The mouse cursor to use for the drag
  8619. * handles. By default this is intelligently switching between `ew-resize`
  8620. * and `ns-resize` depending on the direction the point is being dragged.
  8621. */
  8622. cursor?: string;
  8623. /**
  8624. * (Highcharts, Highstock, Gantt) The line color of the drag handles.
  8625. */
  8626. lineColor?: ColorString;
  8627. /**
  8628. * (Highcharts, Highstock, Gantt) The line width for the drag handles.
  8629. */
  8630. lineWidth?: number;
  8631. /**
  8632. * (Highcharts, Highstock, Gantt) Function to define the SVG path to use for
  8633. * the drag handles. Takes the point as argument. Should return an SVG path
  8634. * in array format. The SVG path is automatically positioned on the point.
  8635. */
  8636. pathFormatter?: Function;
  8637. /**
  8638. * (Highcharts, Highstock, Gantt) The z index for the drag handles.
  8639. */
  8640. zIndex?: number;
  8641. }
  8642. /**
  8643. * Current drag and drop position.
  8644. */
  8645. export interface DragDropPositionObject {
  8646. /**
  8647. * Chart x position
  8648. */
  8649. chartX: number;
  8650. /**
  8651. * Chart y position
  8652. */
  8653. chartY: number;
  8654. /**
  8655. * Drag and drop guide box.
  8656. */
  8657. guideBox?: BBoxObject;
  8658. /**
  8659. * Updated point data.
  8660. */
  8661. points: Dictionary<Dictionary<number>>;
  8662. /**
  8663. * Delta of previous x position.
  8664. */
  8665. prevdX?: number;
  8666. /**
  8667. * Delta of previous y position.
  8668. */
  8669. prevdY?: number;
  8670. }
  8671. /**
  8672. * (Highcharts, Highmaps) Additional styles to apply to the data label of a
  8673. * point that has drilldown data. By default it is underlined and blue to invite
  8674. * to interaction.
  8675. *
  8676. * In styled mode, active data label styles can be applied with the
  8677. * `.highcharts-drilldown-data-label` class.
  8678. */
  8679. export interface DrilldownActiveDataLabelStyleOptions {
  8680. color?: string;
  8681. cursor?: string;
  8682. fontWeight?: string;
  8683. textDecoration?: string;
  8684. }
  8685. /**
  8686. * (Highcharts, Highmaps) Options for the drill up button that appears when
  8687. * drilling down on a series. The text for the button is defined in
  8688. * lang.drillUpText.
  8689. */
  8690. export interface DrilldownDrillUpButtonOptions {
  8691. /**
  8692. * (Highcharts, Highmaps) Positioning options for the button within the
  8693. * `relativeTo` box. Available properties are `x`, `y`, `align` and
  8694. * `verticalAlign`.
  8695. */
  8696. position?: (AlignObject|DrilldownDrillUpButtonPositionOptions);
  8697. /**
  8698. * (Highcharts, Highmaps) What box to align the button to. Can be either
  8699. * `plotBox` or `spacingBox`.
  8700. */
  8701. relativeTo?: ButtonRelativeToValue;
  8702. /**
  8703. * (Highcharts, Highmaps) A collection of attributes for the button. The
  8704. * object takes SVG attributes like `fill`, `stroke`, `stroke-width` or `r`,
  8705. * the border radius. The theme also supports `style`, a collection of CSS
  8706. * properties for the text. Equivalent attributes for the hover state are
  8707. * given in `theme.states.hover`.
  8708. *
  8709. * In styled mode, drill-up button styles can be applied with the
  8710. * `.highcharts-drillup-button` class.
  8711. */
  8712. theme?: object;
  8713. }
  8714. /**
  8715. * (Highcharts, Highmaps) Positioning options for the button within the
  8716. * `relativeTo` box. Available properties are `x`, `y`, `align` and
  8717. * `verticalAlign`.
  8718. */
  8719. export interface DrilldownDrillUpButtonPositionOptions {
  8720. /**
  8721. * (Highcharts, Highmaps) Horizontal alignment.
  8722. */
  8723. align?: AlignValue;
  8724. /**
  8725. * (Highcharts, Highmaps) Vertical alignment of the button.
  8726. */
  8727. verticalAlign?: VerticalAlignValue;
  8728. /**
  8729. * (Highcharts, Highmaps) The X offset of the button.
  8730. */
  8731. x?: number;
  8732. /**
  8733. * (Highcharts, Highmaps) The Y offset of the button.
  8734. */
  8735. y?: number;
  8736. }
  8737. /**
  8738. * The event arguments when a drilldown point is clicked.
  8739. */
  8740. export interface DrilldownEventObject {
  8741. /**
  8742. * If a category label was clicked, which index.
  8743. */
  8744. category?: number;
  8745. /**
  8746. * The original browser event (usually click) that triggered the drilldown.
  8747. */
  8748. originalEvent?: Event;
  8749. /**
  8750. * The originating point.
  8751. */
  8752. point: Point;
  8753. /**
  8754. * If a category label was clicked, this array holds all points
  8755. * corresponding to the category. Otherwise it is set to false.
  8756. */
  8757. points?: (boolean|Array<Point>);
  8758. /**
  8759. * Prevents the default behaviour of the event.
  8760. */
  8761. preventDefault: Function;
  8762. /**
  8763. * Options for the new series. If the event is utilized for async drilldown,
  8764. * the seriesOptions are not added, but rather loaded async.
  8765. */
  8766. seriesOptions?: SeriesOptionsType;
  8767. /**
  8768. * The event target.
  8769. */
  8770. target: Chart;
  8771. /**
  8772. * The event type.
  8773. */
  8774. type: "drilldown";
  8775. }
  8776. /**
  8777. * (Highcharts, Highmaps) Options for drill down, the concept of inspecting
  8778. * increasingly high resolution data through clicking on chart items like
  8779. * columns or pie slices.
  8780. *
  8781. * The drilldown feature requires the drilldown.js file to be loaded, found in
  8782. * the modules directory of the download package, or online at
  8783. * code.highcharts.com/modules/drilldown.js.
  8784. */
  8785. export interface DrilldownOptions {
  8786. /**
  8787. * (Highcharts, Highmaps) Additional styles to apply to the X axis label for
  8788. * a point that has drilldown data. By default it is underlined and blue to
  8789. * invite to interaction.
  8790. *
  8791. * In styled mode, active label styles can be set with the
  8792. * `.highcharts-drilldown-axis-label` class.
  8793. */
  8794. activeAxisLabelStyle?: CSSObject;
  8795. /**
  8796. * (Highcharts, Highmaps) Additional styles to apply to the data label of a
  8797. * point that has drilldown data. By default it is underlined and blue to
  8798. * invite to interaction.
  8799. *
  8800. * In styled mode, active data label styles can be applied with the
  8801. * `.highcharts-drilldown-data-label` class.
  8802. */
  8803. activeDataLabelStyle?: (CSSObject|DrilldownActiveDataLabelStyleOptions);
  8804. /**
  8805. * (Highcharts) When this option is false, clicking a single point will
  8806. * drill down all points in the same category, equivalent to clicking the X
  8807. * axis label.
  8808. */
  8809. allowPointDrilldown?: boolean;
  8810. /**
  8811. * (Highcharts, Highmaps) Set the animation for all drilldown animations.
  8812. * Animation of a drilldown occurs when drilling between a column point and
  8813. * a column series, or a pie slice and a full pie series. Drilldown can
  8814. * still be used between series and points of different types, but animation
  8815. * will not occur.
  8816. *
  8817. * The animation can either be set as a boolean or a configuration object.
  8818. * If `true`, it will use the 'swing' jQuery easing and a duration of 500
  8819. * ms. If used as a configuration object, the following properties are
  8820. * supported:
  8821. *
  8822. * - `duration`: The duration of the animation in milliseconds.
  8823. *
  8824. * - `easing`: A string reference to an easing function set on the `Math`
  8825. * object. See the easing demo.
  8826. */
  8827. animation?: (boolean|Partial<AnimationOptionsObject>);
  8828. /**
  8829. * (Highcharts, Highmaps) Options for the drill up button that appears when
  8830. * drilling down on a series. The text for the button is defined in
  8831. * lang.drillUpText.
  8832. */
  8833. drillUpButton?: DrilldownDrillUpButtonOptions;
  8834. /**
  8835. * (Highcharts, Highmaps) An array of series configurations for the drill
  8836. * down. Each series configuration uses the same syntax as the series option
  8837. * set. These drilldown series are hidden by default. The drilldown series
  8838. * is linked to the parent series' point by its `id`.
  8839. */
  8840. series?: Array<SeriesOptionsType>;
  8841. }
  8842. /**
  8843. * The event arguments when all the series have been drilled up.
  8844. */
  8845. export interface DrillupAllEventObject {
  8846. /**
  8847. * Prevents the default behaviour of the event.
  8848. */
  8849. preventDefault: Function;
  8850. /**
  8851. * The event target.
  8852. */
  8853. target: Chart;
  8854. /**
  8855. * The event type.
  8856. */
  8857. type: "drillupall";
  8858. }
  8859. /**
  8860. * The event arguments when drilling up from a drilldown series.
  8861. */
  8862. export interface DrillupEventObject {
  8863. /**
  8864. * Prevents the default behaviour of the event.
  8865. */
  8866. preventDefault: Function;
  8867. /**
  8868. * Options for the new series.
  8869. */
  8870. seriesOptions?: SeriesOptionsType;
  8871. /**
  8872. * The event target.
  8873. */
  8874. target: Chart;
  8875. /**
  8876. * The event type.
  8877. */
  8878. type: "drillup";
  8879. }
  8880. /**
  8881. * The event options for adding function callback.
  8882. */
  8883. export interface EventOptionsObject {
  8884. /**
  8885. * The order the event handler should be called. This opens for having one
  8886. * handler be called before another, independent of in which order they were
  8887. * added.
  8888. */
  8889. order: number;
  8890. /**
  8891. * Whether an event should be passive or not. When set to `true`, the
  8892. * function specified by listener will never call `preventDefault()`.
  8893. */
  8894. passive: boolean;
  8895. }
  8896. /**
  8897. * Contains information about the export data event.
  8898. */
  8899. export interface ExportDataEventObject {
  8900. /**
  8901. * Contains the data rows for the current export task and can be modified.
  8902. */
  8903. dataRows: Array<Array<string>>;
  8904. }
  8905. /**
  8906. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
  8907. * exporting menu. Requires the Accessibility module.
  8908. */
  8909. export interface ExportingAccessibilityOptions {
  8910. /**
  8911. * (Highcharts, Highstock, Highmaps, Gantt) Enable accessibility support for
  8912. * the export menu.
  8913. */
  8914. enabled?: boolean;
  8915. }
  8916. /**
  8917. * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
  8918. * button theme. The object accepts SVG properties like `stroke-width`, `stroke`
  8919. * and `fill`. Tri-state button styles are supported by the `states.hover` and
  8920. * `states.select` objects.
  8921. */
  8922. export interface ExportingButtonsContextButtonThemeOptions {
  8923. /**
  8924. * (Highcharts, Highstock, Highmaps, Gantt) The default fill exists only to
  8925. * capture hover events.
  8926. */
  8927. fill?: (ColorString|GradientColorObject|PatternObject);
  8928. /**
  8929. * (Highcharts, Highstock, Highmaps, Gantt) Padding for the button.
  8930. */
  8931. padding?: number;
  8932. /**
  8933. * (Highcharts, Highstock, Highmaps, Gantt) Default stroke for the buttons.
  8934. */
  8935. stroke?: ColorString;
  8936. }
  8937. /**
  8938. * (Highcharts, Highstock, Highmaps, Gantt) Options for the export related
  8939. * buttons, print and export. In addition to the default buttons listed here,
  8940. * custom buttons can be added. See navigation.buttonOptions for general
  8941. * options.
  8942. */
  8943. export interface ExportingButtonsOptions {
  8944. /**
  8945. * (Highcharts, Highstock, Highmaps, Gantt) Options for the export button.
  8946. *
  8947. * In styled mode, export button styles can be applied with the
  8948. * `.highcharts-contextbutton` class.
  8949. */
  8950. contextButton?: ExportingButtonsOptionsObject;
  8951. }
  8952. /**
  8953. * (Highcharts, Highstock, Highmaps, Gantt) Options for the export button.
  8954. *
  8955. * In styled mode, export button styles can be applied with the
  8956. * `.highcharts-contextbutton` class.
  8957. */
  8958. export interface ExportingButtonsOptionsObject {
  8959. /**
  8960. * (Highcharts, Highstock, Highmaps, Gantt) Alignment for the buttons.
  8961. */
  8962. align?: AlignValue;
  8963. /**
  8964. * (Highcharts, Highstock, Highmaps, Gantt) The pixel spacing between
  8965. * buttons.
  8966. */
  8967. buttonSpacing?: number;
  8968. /**
  8969. * (Highcharts, Highstock, Highmaps, Gantt) The class name of the context
  8970. * button.
  8971. */
  8972. className?: string;
  8973. /**
  8974. * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable buttons.
  8975. */
  8976. enabled?: boolean;
  8977. /**
  8978. * (Highcharts, Highstock, Highmaps, Gantt) Pixel height of the buttons.
  8979. */
  8980. height?: number;
  8981. /**
  8982. * (Highcharts, Highstock, Highmaps, Gantt) The class name of the menu
  8983. * appearing from the button.
  8984. */
  8985. menuClassName?: string;
  8986. /**
  8987. * (Highcharts, Highstock, Highmaps, Gantt) A collection of strings pointing
  8988. * to config options for the menu items. The config options are defined in
  8989. * the `menuItemDefinitions` option.
  8990. *
  8991. * By default, there is the "View in full screen" and "Print" menu items,
  8992. * plus one menu item for each of the available export types.
  8993. */
  8994. menuItems?: Array<string>;
  8995. /**
  8996. * (Highcharts, Highstock, Highmaps, Gantt) A click handler callback to use
  8997. * on the button directly instead of the popup menu.
  8998. */
  8999. onclick?: Function;
  9000. /**
  9001. * (Highcharts, Highstock, Highmaps, Gantt) The symbol for the button.
  9002. * Points to a definition function in the `Highcharts.Renderer.symbols`
  9003. * collection. The default `exportIcon` function is part of the exporting
  9004. * module. Possible values are "circle", "square", "diamond", "triangle",
  9005. * "triangle-down", "menu", "menuball" or custom shape.
  9006. */
  9007. symbol?: ("menu"|"menuball"|"exportIcon"|string|SymbolKeyValue);
  9008. /**
  9009. * (Highcharts, Highstock, Highmaps, Gantt) See
  9010. * navigation.buttonOptions.symbolFill.
  9011. */
  9012. symbolFill?: ColorString;
  9013. /**
  9014. * (Highcharts, Highstock, Highmaps, Gantt) The pixel size of the symbol on
  9015. * the button.
  9016. */
  9017. symbolSize?: number;
  9018. /**
  9019. * (Highcharts, Highstock, Highmaps, Gantt) The color of the symbol's stroke
  9020. * or line.
  9021. */
  9022. symbolStroke?: ColorString;
  9023. /**
  9024. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  9025. * symbol on the button.
  9026. */
  9027. symbolStrokeWidth?: number;
  9028. /**
  9029. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the center of
  9030. * the symbol inside the button.
  9031. */
  9032. symbolX?: number;
  9033. /**
  9034. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the center of
  9035. * the symbol inside the button.
  9036. */
  9037. symbolY?: number;
  9038. /**
  9039. * (Highcharts, Highstock, Highmaps, Gantt) A text string to add to the
  9040. * individual button.
  9041. */
  9042. text?: string;
  9043. /**
  9044. * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
  9045. * button theme. The object accepts SVG properties like `stroke-width`,
  9046. * `stroke` and `fill`. Tri-state button styles are supported by the
  9047. * `states.hover` and `states.select` objects.
  9048. */
  9049. theme?: ExportingButtonsContextButtonThemeOptions;
  9050. /**
  9051. * (Highcharts, Highstock, Highmaps, Gantt) The key to a lang option setting
  9052. * that is used for the button's title tooltip. When the key is
  9053. * `contextButtonTitle`, it refers to lang.contextButtonTitle that defaults
  9054. * to "Chart context menu".
  9055. */
  9056. titleKey?: string;
  9057. /**
  9058. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  9059. * buttons. Can be one of `"top"`, `"middle"` or `"bottom"`.
  9060. */
  9061. verticalAlign?: VerticalAlignValue;
  9062. /**
  9063. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the button.
  9064. */
  9065. width?: number;
  9066. /**
  9067. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal position of the
  9068. * button relative to the `align` option.
  9069. */
  9070. x?: number;
  9071. /**
  9072. * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
  9073. * button's position relative to its `verticalAlign`.
  9074. */
  9075. y?: number;
  9076. }
  9077. /**
  9078. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotations in the
  9079. * export-data table.
  9080. */
  9081. export interface ExportingCsvAnnotationsOptions {
  9082. /**
  9083. * (Highcharts, Highstock, Highmaps, Gantt) The way to mark the separator
  9084. * for annotations combined in one export-data table cell.
  9085. */
  9086. itemDelimiter?: string;
  9087. /**
  9088. * (Highcharts, Highstock, Highmaps, Gantt) When several labels are assigned
  9089. * to a specific point, they will be displayed in one field in the table.
  9090. */
  9091. join?: boolean;
  9092. }
  9093. /**
  9094. * (Highcharts, Highstock, Highmaps, Gantt) Options for exporting data to CSV or
  9095. * ExCel, or displaying the data in a HTML table or a JavaScript structure.
  9096. *
  9097. * This module adds data export options to the export menu and provides
  9098. * functions like `Chart.getCSV`, `Chart.getTable`, `Chart.getDataRows` and
  9099. * `Chart.viewData`.
  9100. *
  9101. * The XLS converter is limited and only creates a HTML string that is passed
  9102. * for download, which works but creates a warning before opening. The
  9103. * workaround for this is to use a third party XLSX converter, as demonstrated
  9104. * in the sample below.
  9105. */
  9106. export interface ExportingCsvOptions {
  9107. /**
  9108. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotations in the
  9109. * export-data table.
  9110. */
  9111. annotations?: ExportingCsvAnnotationsOptions;
  9112. /**
  9113. * (Highcharts, Highstock, Highmaps, Gantt) Formatter callback for the
  9114. * column headers. Parameters are:
  9115. *
  9116. * - `item` - The series or axis object)
  9117. *
  9118. * - `key` - The point key, for example y or z
  9119. *
  9120. * - `keyLength` - The amount of value keys for this item, for example a
  9121. * range series has the keys `low` and `high` so the key length is 2.
  9122. *
  9123. * If useMultiLevelHeaders is true, columnHeaderFormatter by default returns
  9124. * an object with columnTitle and topLevelColumnTitle for each key. Columns
  9125. * with the same topLevelColumnTitle have their titles merged into a single
  9126. * cell with colspan for table/Excel export.
  9127. *
  9128. * If `useMultiLevelHeaders` is false, or for CSV export, it returns the
  9129. * series name, followed by the key if there is more than one key.
  9130. *
  9131. * For the axis it returns the axis title or "Category" or "DateTime" by
  9132. * default.
  9133. *
  9134. * Return `false` to use Highcharts' proposed header.
  9135. */
  9136. columnHeaderFormatter?: (Function|null);
  9137. /**
  9138. * (Highcharts, Highstock, Highmaps, Gantt) Which date format to use for
  9139. * exported dates on a datetime X axis. See `Highcharts.dateFormat`.
  9140. */
  9141. dateFormat?: string;
  9142. /**
  9143. * (Highcharts, Highstock, Highmaps, Gantt) Which decimal point to use for
  9144. * exported CSV. Defaults to the same as the browser locale, typically `.`
  9145. * (English) or `,` (German, French etc).
  9146. */
  9147. decimalPoint?: (string|null);
  9148. /**
  9149. * (Highcharts, Highstock, Highmaps, Gantt) The item delimiter in the
  9150. * exported data. Use `;` for direct exporting to Excel. Defaults to a best
  9151. * guess based on the browser locale. If the locale _decimal point_ is `,`,
  9152. * the `itemDelimiter` defaults to `;`, otherwise the `itemDelimiter`
  9153. * defaults to `,`.
  9154. */
  9155. itemDelimiter?: (string|null);
  9156. /**
  9157. * (Highcharts, Highstock, Highmaps, Gantt) The line delimiter in the
  9158. * exported data, defaults to a newline.
  9159. */
  9160. lineDelimiter?: string;
  9161. }
  9162. /**
  9163. * Definition for a menu item in the context menu.
  9164. */
  9165. export interface ExportingMenuObject {
  9166. /**
  9167. * The click handler for the menu item.
  9168. */
  9169. onclick?: EventCallbackFunction<Chart>;
  9170. /**
  9171. * Indicates a separator line instead of an item.
  9172. */
  9173. separator?: boolean;
  9174. /**
  9175. * The text for the menu item.
  9176. */
  9177. text?: string;
  9178. /**
  9179. * If internationalization is required, the key to a language string.
  9180. */
  9181. textKey?: string;
  9182. }
  9183. /**
  9184. * (Highcharts, Highstock, Highmaps, Gantt) Options for the exporting module.
  9185. * For an overview on the matter, see the docs.
  9186. */
  9187. export interface ExportingOptions {
  9188. /**
  9189. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
  9190. * exporting menu. Requires the Accessibility module.
  9191. */
  9192. accessibility?: ExportingAccessibilityOptions;
  9193. /**
  9194. * (Highcharts, Highstock, Highmaps, Gantt) Experimental setting to allow
  9195. * HTML inside the chart (added through the `useHTML` options), directly in
  9196. * the exported image. This allows you to preserve complicated HTML
  9197. * structures like tables or bi-directional text in exported charts.
  9198. *
  9199. * Disclaimer: The HTML is rendered in a `foreignObject` tag in the
  9200. * generated SVG. The official export server is based on PhantomJS, which
  9201. * supports this, but other SVG clients, like Batik, does not support it.
  9202. * This also applies to downloaded SVG that you want to open in a desktop
  9203. * client.
  9204. */
  9205. allowHTML?: boolean;
  9206. /**
  9207. * (Highcharts, Highstock, Highmaps, Gantt) Options for the export related
  9208. * buttons, print and export. In addition to the default buttons listed
  9209. * here, custom buttons can be added. See navigation.buttonOptions for
  9210. * general options.
  9211. */
  9212. buttons?: (ExportingButtonsOptions|Dictionary<ExportingButtonsOptionsObject>);
  9213. /**
  9214. * (Highcharts, Highstock, Highmaps, Gantt) Additional chart options to be
  9215. * merged into the chart before exporting to an image format. This does not
  9216. * apply to printing the chart via the export menu.
  9217. *
  9218. * For example, a common use case is to add data labels to improve
  9219. * readability of the exported chart, or to add a printer-friendly color
  9220. * scheme to exported PDFs.
  9221. */
  9222. chartOptions?: Options;
  9223. /**
  9224. * (Highcharts, Highstock, Highmaps, Gantt) Options for exporting data to
  9225. * CSV or ExCel, or displaying the data in a HTML table or a JavaScript
  9226. * structure.
  9227. *
  9228. * This module adds data export options to the export menu and provides
  9229. * functions like `Chart.getCSV`, `Chart.getTable`, `Chart.getDataRows` and
  9230. * `Chart.viewData`.
  9231. *
  9232. * The XLS converter is limited and only creates a HTML string that is
  9233. * passed for download, which works but creates a warning before opening.
  9234. * The workaround for this is to use a third party XLSX converter, as
  9235. * demonstrated in the sample below.
  9236. */
  9237. csv?: ExportingCsvOptions;
  9238. /**
  9239. * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable the exporting
  9240. * module. Disabling the module will hide the context button, but API
  9241. * methods will still be available.
  9242. */
  9243. enabled?: boolean;
  9244. /**
  9245. * (Highcharts, Highstock, Highmaps, Gantt) Function to call if the
  9246. * offline-exporting module fails to export a chart on the client side, and
  9247. * fallbackToExportServer is disabled. If left undefined, an exception is
  9248. * thrown instead. Receives two parameters, the exporting options, and the
  9249. * error from the module.
  9250. */
  9251. error?: ExportingErrorCallbackFunction;
  9252. /**
  9253. * (Highcharts, Highstock, Highmaps, Gantt) Whether or not to fall back to
  9254. * the export server if the offline-exporting module is unable to export the
  9255. * chart on the client side. This happens for certain browsers, and certain
  9256. * features (e.g. allowHTML), depending on the image type exporting to. For
  9257. * very complex charts, it is possible that export can fail in browsers that
  9258. * don't support Blob objects, due to data URL length limits. It is
  9259. * recommended to define the exporting.error handler if disabling fallback,
  9260. * in order to notify users in case export fails.
  9261. */
  9262. fallbackToExportServer?: boolean;
  9263. /**
  9264. * (Highcharts, Highstock, Highmaps, Gantt) The filename, without extension,
  9265. * to use for the exported chart.
  9266. */
  9267. filename?: string;
  9268. /**
  9269. * (Highcharts, Highstock, Highmaps, Gantt) An object containing additional
  9270. * key value data for the POST form that sends the SVG to the export server.
  9271. * For example, a `target` can be set to make sure the generated image is
  9272. * received in another frame, or a custom `enctype` or `encoding` can be
  9273. * set.
  9274. */
  9275. formAttributes?: HTMLAttributes;
  9276. /**
  9277. * (Highcharts, Highstock, Highmaps, Gantt) Path where Highcharts will look
  9278. * for export module dependencies to load on demand if they don't already
  9279. * exist on `window`. Should currently point to location of CanVG library,
  9280. * RGBColor.js, jsPDF and svg2pdf.js, required for client side export in
  9281. * certain browsers.
  9282. */
  9283. libURL?: string;
  9284. /**
  9285. * (Highcharts, Highstock, Highmaps, Gantt) An object consisting of
  9286. * definitions for the menu items in the context menu. Each key value pair
  9287. * has a `key` that is referenced in the menuItems setting, and a `value`,
  9288. * which is an object with the following properties:
  9289. *
  9290. * - **onclick:** The click handler for the menu item
  9291. *
  9292. * - **text:** The text for the menu item
  9293. *
  9294. * - **textKey:** If internationalization is required, the key to a language
  9295. * string
  9296. *
  9297. * Custom text for the "exitFullScreen" can be set only in lang options (it
  9298. * is not a separate button).
  9299. */
  9300. menuItemDefinitions?: Dictionary<ExportingMenuObject>;
  9301. /**
  9302. * (Highcharts, Highstock, Highmaps, Gantt) When printing the chart from the
  9303. * menu item in the burger menu, if the on-screen chart exceeds this width,
  9304. * it is resized. After printing or cancelled, it is restored. The default
  9305. * width makes the chart fit into typical paper format. Note that this does
  9306. * not affect the chart when printing the web page as a whole.
  9307. */
  9308. printMaxWidth?: number;
  9309. /**
  9310. * (Highcharts, Highstock, Highmaps, Gantt) Defines the scale or zoom factor
  9311. * for the exported image compared to the on-screen display. While for
  9312. * instance a 600px wide chart may look good on a website, it will look bad
  9313. * in print. The default scale of 2 makes this chart export to a 1200px PNG
  9314. * or JPG.
  9315. */
  9316. scale?: number;
  9317. /**
  9318. * (Highcharts, Highstock, Highmaps, Gantt) Show a HTML table below the
  9319. * chart with the chart's current data.
  9320. */
  9321. showTable?: boolean;
  9322. /**
  9323. * (Highcharts, Highstock, Highmaps, Gantt) Analogous to sourceWidth.
  9324. */
  9325. sourceHeight?: number;
  9326. /**
  9327. * (Highcharts, Highstock, Highmaps, Gantt) The width of the original chart
  9328. * when exported, unless an explicit chart.width is set, or a pixel width is
  9329. * set on the container. The width exported raster image is then multiplied
  9330. * by scale.
  9331. */
  9332. sourceWidth?: number;
  9333. /**
  9334. * (Highcharts, Highstock, Highmaps, Gantt) Caption for the data table. Same
  9335. * as chart title by default. Set to `false` to disable.
  9336. */
  9337. tableCaption?: (boolean|string);
  9338. /**
  9339. * (Highcharts, Highstock, Highmaps, Gantt) Default MIME type for exporting
  9340. * if `chart.exportChart()` is called without specifying a `type` option.
  9341. * Possible values are `image/png`, `image/jpeg`, `application/pdf` and
  9342. * `image/svg+xml`.
  9343. */
  9344. type?: ExportingMimeTypeValue;
  9345. /**
  9346. * (Highcharts, Highstock, Highmaps, Gantt) The URL for the server module
  9347. * converting the SVG string to an image format. By default this points to
  9348. * Highchart's free web service.
  9349. */
  9350. url?: string;
  9351. /**
  9352. * (Highcharts, Highstock, Highmaps, Gantt) Use multi level headers in data
  9353. * table. If csv.columnHeaderFormatter is defined, it has to return objects
  9354. * in order for multi level headers to work.
  9355. */
  9356. useMultiLevelHeaders?: boolean;
  9357. /**
  9358. * (Highcharts, Highstock, Highmaps, Gantt) If using multi level table
  9359. * headers, use rowspans for headers that have only one level.
  9360. */
  9361. useRowspanHeaders?: boolean;
  9362. /**
  9363. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of charts
  9364. * exported to PNG or JPG. As of Highcharts 3.0, the default pixel width is
  9365. * a function of the chart.width or exporting.sourceWidth and the
  9366. * exporting.scale.
  9367. */
  9368. width?: number;
  9369. }
  9370. /**
  9371. * The returned object literal from the Highcharts.Axis#getExtremes function.
  9372. */
  9373. export interface ExtremesObject {
  9374. /**
  9375. * The maximum value of the axis' associated series.
  9376. */
  9377. dataMax: number;
  9378. /**
  9379. * The minimum value of the axis' associated series.
  9380. */
  9381. dataMin: number;
  9382. /**
  9383. * The maximum axis value, either automatic or set manually. If the `max`
  9384. * option is not set, `maxPadding` is 0 and `endOnTick` is false, this value
  9385. * will be the same as `dataMax`.
  9386. */
  9387. max: number;
  9388. /**
  9389. * The minimum axis value, either automatic or set manually. If the `min`
  9390. * option is not set, `minPadding` is 0 and `startOnTick` is false, this
  9391. * value will be the same as `dataMin`.
  9392. */
  9393. min: number;
  9394. /**
  9395. * The user defined maximum, either from the `max` option or from a zoom or
  9396. * `setExtremes` action.
  9397. */
  9398. userMax: number;
  9399. /**
  9400. * The user defined minimum, either from the `min` option or from a zoom or
  9401. * `setExtremes` action.
  9402. */
  9403. userMin: number;
  9404. }
  9405. /**
  9406. * The font metrics.
  9407. */
  9408. export interface FontMetricsObject {
  9409. /**
  9410. * The baseline relative to the top of the box.
  9411. */
  9412. b: number;
  9413. /**
  9414. * The font size.
  9415. */
  9416. f: number;
  9417. /**
  9418. * The line height.
  9419. */
  9420. h: number;
  9421. }
  9422. /**
  9423. * (Gantt) Data for a Gantt series.
  9424. */
  9425. export interface GanttPointOptionsObject {
  9426. /**
  9427. * (Gantt) Accessibility options for a data point.
  9428. */
  9429. accessibility?: PointAccessibilityOptionsObject;
  9430. /**
  9431. * (Gantt) Whether the grid node belonging to this point should start as
  9432. * collapsed. Used in axes of type treegrid.
  9433. */
  9434. collapsed?: boolean;
  9435. /**
  9436. * (Highcharts, Highstock, Gantt) Individual color for the point. By default
  9437. * the color is pulled from the global `colors` array.
  9438. *
  9439. * In styled mode, the `color` option doesn't take effect. Instead, use
  9440. * `colorIndex`.
  9441. */
  9442. color?: (ColorString|GradientColorObject|PatternObject);
  9443. /**
  9444. * (Highcharts, Gantt) A specific color index to use for the point, so its
  9445. * graphic representations are given the class name `highcharts-color-{n}`.
  9446. * In styled mode this will change the color of the graphic. In non-styled
  9447. * mode, the color by is set by the `fill` attribute, so the change in class
  9448. * name won't have a visual effect by default.
  9449. */
  9450. colorIndex?: number;
  9451. /**
  9452. * (Gantt) Progress indicator, how much of the task completed. If it is a
  9453. * number, the `fill` will be applied automatically.
  9454. */
  9455. completed?: (number|XrangePointPartialFillOptionsObject);
  9456. /**
  9457. * (Gantt) A reserved subspace to store options and values for customized
  9458. * functionality. Here you can add additional data for your own event
  9459. * callbacks and formatter callbacks.
  9460. */
  9461. custom?: Dictionary<any>;
  9462. /**
  9463. * (Gantt) The ID of the point (task) that this point depends on in Gantt
  9464. * charts. Aliases connect. Can also be an object, specifying further
  9465. * connecting options between the points. Multiple connections can be
  9466. * specified by providing an array.
  9467. */
  9468. dependency?: (string|XrangePointConnectorsOptionsObject|Array<(string|XrangePointConnectorsOptionsObject)>);
  9469. /**
  9470. * (Gantt) A description of the point to add to the screen reader
  9471. * information about the point.
  9472. */
  9473. description?: string;
  9474. /**
  9475. * (Gantt) Point specific options for the draggable-points module. Overrides
  9476. * options on `series.dragDrop`.
  9477. */
  9478. dragDrop?: SeriesLineDataDragDropOptions;
  9479. /**
  9480. * (Highcharts) The `id` of a series in the drilldown.series array to use
  9481. * for a drilldown for this point.
  9482. */
  9483. drilldown?: string;
  9484. /**
  9485. * (Gantt) The end time of a task.
  9486. */
  9487. end?: number;
  9488. /**
  9489. * (Highcharts, Highstock, Gantt) An id for the point. This can be used
  9490. * after render time to get a pointer to the point object through
  9491. * `chart.get()`.
  9492. */
  9493. id?: string;
  9494. /**
  9495. * (Gantt) The rank for this point's data label in case of collision. If two
  9496. * data labels are about to overlap, only the one with the highest
  9497. * `labelrank` will be drawn.
  9498. */
  9499. labelrank?: number;
  9500. /**
  9501. * (Highcharts, Highstock) Options for the point markers of line-like
  9502. * series.
  9503. */
  9504. marker?: PointMarkerOptionsObject;
  9505. /**
  9506. * (Gantt) Whether this point is a milestone. If so, only the `start` option
  9507. * is handled, while `end` is ignored.
  9508. */
  9509. milestone?: boolean;
  9510. /**
  9511. * (Gantt) The name of a task. If a `treegrid` y-axis is used (default in
  9512. * Gantt charts), this will be picked up automatically, and used to
  9513. * calculate the y-value.
  9514. */
  9515. name?: string;
  9516. /**
  9517. * (Gantt) The ID of the parent point (task) of this point in Gantt charts.
  9518. */
  9519. parent?: string;
  9520. /**
  9521. * (Gantt) The start time of a task.
  9522. */
  9523. start?: number;
  9524. /**
  9525. * (Gantt) The Y value of a task.
  9526. */
  9527. y?: number;
  9528. }
  9529. /**
  9530. * Represents the loose structure of a geographic JSON file.
  9531. */
  9532. export interface GeoJSON {
  9533. /**
  9534. * Full copyright note of the geographic data.
  9535. */
  9536. copyright?: string;
  9537. /**
  9538. * Short copyright note of the geographic data suitable for watermarks.
  9539. */
  9540. copyrightShort?: string;
  9541. /**
  9542. * Additional meta information based on the coordinate reference system.
  9543. */
  9544. crs?: Dictionary<any>;
  9545. /**
  9546. * Data sets of geographic features.
  9547. */
  9548. features: Array<GeoJSONFeature>;
  9549. /**
  9550. * Map projections and transformations to be used when calculating between
  9551. * lat/lon and chart values. Required for lat/lon support on maps. Allows
  9552. * resizing, rotating, and moving portions of a map within its projected
  9553. * coordinate system while still retaining lat/lon support. If using lat/lon
  9554. * on a portion of the map that does not match a `hitZone`, the definition
  9555. * with the key `default` is used.
  9556. */
  9557. "hc-transform"?: Dictionary<GeoJSONTranslation>;
  9558. /**
  9559. * Title of the geographic data.
  9560. */
  9561. title?: string;
  9562. /**
  9563. * Type of the geographic data. Type of an optimized map collection is
  9564. * `FeatureCollection`.
  9565. */
  9566. type?: string;
  9567. /**
  9568. * Version of the geographic data.
  9569. */
  9570. version?: string;
  9571. }
  9572. /**
  9573. * Data set of a geographic feature.
  9574. */
  9575. export interface GeoJSONFeature extends Dictionary<any> {
  9576. /**
  9577. * Data type of the geographic feature.
  9578. */
  9579. type: string;
  9580. }
  9581. /**
  9582. * Describes the map projection and transformations applied to a portion of a
  9583. * map.
  9584. */
  9585. export interface GeoJSONTranslation {
  9586. /**
  9587. * The coordinate reference system used to generate this portion of the map.
  9588. */
  9589. crs: string;
  9590. /**
  9591. * Define the portion of the map that this defintion applies to. Defined as
  9592. * a GeoJSON polygon feature object, with `type` and `coordinates`
  9593. * properties.
  9594. */
  9595. hitZone?: Dictionary<any>;
  9596. /**
  9597. * Property for internal use for maps generated by Highsoft.
  9598. */
  9599. jsonmarginX?: number;
  9600. /**
  9601. * Property for internal use for maps generated by Highsoft.
  9602. */
  9603. jsonmarginY?: number;
  9604. /**
  9605. * Property for internal use for maps generated by Highsoft.
  9606. */
  9607. jsonres?: number;
  9608. /**
  9609. * Specifies clockwise rotation of the coordinates after the projection, but
  9610. * before scaling and panning. Defined in radians, relative to the
  9611. * coordinate system origin.
  9612. */
  9613. rotation?: number;
  9614. /**
  9615. * The scaling factor applied to the projected coordinates.
  9616. */
  9617. scale?: number;
  9618. /**
  9619. * Property for internal use for maps generated by Highsoft.
  9620. */
  9621. xoffset?: number;
  9622. /**
  9623. * X offset of projected coordinates after scaling.
  9624. */
  9625. xpan?: number;
  9626. /**
  9627. * Property for internal use for maps generated by Highsoft.
  9628. */
  9629. yoffset?: number;
  9630. /**
  9631. * Y offset of projected coordinates after scaling.
  9632. */
  9633. ypan?: number;
  9634. }
  9635. export interface GlobalOptions {
  9636. /**
  9637. * (Highcharts, Highstock, Highmaps, Gantt) Path to the pattern image
  9638. * required by VML browsers in order to draw radial gradients.
  9639. */
  9640. VMLRadialGradientURL?: string;
  9641. }
  9642. /**
  9643. * Gradient options instead of a solid color.
  9644. */
  9645. export interface GradientColorObject {
  9646. /**
  9647. * Holds an object that defines the start position and the end position
  9648. * relative to the shape.
  9649. */
  9650. linearGradient?: LinearGradientColorObject;
  9651. /**
  9652. * Holds an object that defines the center position and the radius.
  9653. */
  9654. radialGradient?: RadialGradientColorObject;
  9655. /**
  9656. * The first item in each tuple is the position in the gradient, where 0 is
  9657. * the start of the gradient and 1 is the end of the gradient. Multiple
  9658. * stops can be applied. The second item is the color for each stop. This
  9659. * color can also be given in the rgba format.
  9660. */
  9661. stops: Array<GradientColorStopObject>;
  9662. }
  9663. /**
  9664. * Color stop tuple.
  9665. */
  9666. export interface GradientColorStopObject {
  9667. 0: number;
  9668. 1: ColorString;
  9669. color?: Color;
  9670. }
  9671. /**
  9672. * (Highcharts, Highstock, Highmaps, Gantt) Options for the focus border drawn
  9673. * around elements while navigating through them.
  9674. */
  9675. export interface KeyboardNavigationFocusBorderOptionsObject {
  9676. /**
  9677. * (Highcharts, Highstock, Highmaps, Gantt) Enable/disable focus border for
  9678. * chart.
  9679. */
  9680. enabled?: boolean;
  9681. /**
  9682. * (Highcharts, Highstock, Highmaps, Gantt) Hide the browser's default focus
  9683. * indicator.
  9684. */
  9685. hideBrowserFocusOutline?: boolean;
  9686. /**
  9687. * (Highcharts, Highstock, Highmaps, Gantt) Focus border margin around the
  9688. * elements.
  9689. */
  9690. margin?: number;
  9691. /**
  9692. * (Highcharts, Highstock, Highmaps, Gantt) Style options for the focus
  9693. * border drawn around elements while navigating through them. Note that
  9694. * some browsers in addition draw their own borders for focused elements.
  9695. * These automatic borders can not be styled by Highcharts.
  9696. *
  9697. * In styled mode, the border is given the `.highcharts-focus-border` class.
  9698. */
  9699. style?: CSSObject;
  9700. }
  9701. /**
  9702. * (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation.
  9703. */
  9704. export interface KeyboardNavigationOptionsObject {
  9705. /**
  9706. * (Highcharts, Highstock, Highmaps, Gantt) Enable keyboard navigation for
  9707. * the chart.
  9708. */
  9709. enabled?: boolean;
  9710. /**
  9711. * (Highcharts, Highstock, Highmaps, Gantt) Options for the focus border
  9712. * drawn around elements while navigating through them.
  9713. */
  9714. focusBorder?: KeyboardNavigationFocusBorderOptionsObject;
  9715. /**
  9716. * (Highcharts, Highstock, Highmaps, Gantt) Order of tab navigation in the
  9717. * chart. Determines which elements are tabbed to first. Available elements
  9718. * are: `series`, `zoom`, `rangeSelector`, `chartMenu`, `legend` and
  9719. * `container`. In addition, any custom components can be added here. Adding
  9720. * `container` first in order will make the keyboard focus stop on the chart
  9721. * container first, requiring the user to tab again to enter the chart.
  9722. */
  9723. order?: Array<string>;
  9724. /**
  9725. * (Highcharts, Highstock, Highmaps, Gantt) Options for the keyboard
  9726. * navigation of data points and series.
  9727. */
  9728. seriesNavigation?: KeyboardNavigationSeriesNavigationOptionsObject;
  9729. /**
  9730. * (Highcharts, Highstock, Highmaps, Gantt) Whether or not to wrap around
  9731. * when reaching the end of arrow-key navigation for an element in the
  9732. * chart.
  9733. */
  9734. wrapAround?: boolean;
  9735. }
  9736. /**
  9737. * (Highcharts, Highstock, Highmaps, Gantt) Options for the keyboard navigation
  9738. * of data points and series.
  9739. */
  9740. export interface KeyboardNavigationSeriesNavigationOptionsObject {
  9741. /**
  9742. * (Highcharts, Highstock, Highmaps, Gantt) Set the keyboard navigation mode
  9743. * for the chart. Can be "normal" or "serialize". In normal mode, left/right
  9744. * arrow keys move between points in a series, while up/down arrow keys move
  9745. * between series. Up/down navigation acts intelligently to figure out which
  9746. * series makes sense to move to from any given point.
  9747. *
  9748. * In "serialize" mode, points are instead navigated as a single list.
  9749. * Left/right behaves as in "normal" mode. Up/down arrow keys will behave
  9750. * like left/right. This can be useful for unifying navigation behavior
  9751. * with/without screen readers enabled.
  9752. */
  9753. mode?: OptionsModeValue;
  9754. /**
  9755. * (Highcharts, Highstock, Highmaps, Gantt) When a series contains more
  9756. * points than this, we no longer allow keyboard navigation for it.
  9757. *
  9758. * Set to `false` to disable.
  9759. */
  9760. pointNavigationEnabledThreshold?: (boolean|number);
  9761. /**
  9762. * (Highcharts, Highstock, Highmaps, Gantt) Skip null points when navigating
  9763. * through points with the keyboard.
  9764. */
  9765. skipNullPoints?: boolean;
  9766. }
  9767. /**
  9768. * Containing the position of a box that should be avoided by labels.
  9769. */
  9770. export interface LabelIntersectBoxObject {
  9771. bottom: number;
  9772. left: number;
  9773. right: number;
  9774. top: number;
  9775. }
  9776. /**
  9777. * (Highcharts, Highstock, Highmaps, Gantt) Default announcement for new data in
  9778. * charts. If addPoint or addSeries is used, and only one series/point is added,
  9779. * the `newPointAnnounce` and `newSeriesAnnounce` strings are used. The
  9780. * `...Single` versions will be used if there is only one chart on the page, and
  9781. * the `...Multiple` versions will be used if there are multiple charts on the
  9782. * page. For all other new data events, the `newDataAnnounce` string will be
  9783. * used.
  9784. */
  9785. export interface LangAccessibilityAnnounceNewDataOptions {
  9786. newDataAnnounce?: string;
  9787. newPointAnnounceMultiple?: string;
  9788. newPointAnnounceSingle?: string;
  9789. newSeriesAnnounceMultiple?: string;
  9790. newSeriesAnnounceSingle?: string;
  9791. }
  9792. /**
  9793. * (Highcharts, Highstock, Highmaps, Gantt) Axis description format strings.
  9794. */
  9795. export interface LangAccessibilityAxisOptions {
  9796. rangeCategories?: string;
  9797. rangeFromTo?: string;
  9798. timeRangeDays?: string;
  9799. timeRangeHours?: string;
  9800. timeRangeMinutes?: string;
  9801. timeRangeSeconds?: string;
  9802. xAxisDescriptionPlural?: string;
  9803. xAxisDescriptionSingular?: string;
  9804. yAxisDescriptionPlural?: string;
  9805. yAxisDescriptionSingular?: string;
  9806. }
  9807. /**
  9808. * (Highcharts, Highstock, Highmaps, Gantt) Chart type description strings. This
  9809. * is added to the chart information region.
  9810. *
  9811. * If there is only a single series type used in the chart, we use the format
  9812. * string for the series type, or default if missing. There is one format string
  9813. * for cases where there is only a single series in the chart, and one for
  9814. * multiple series of the same type.
  9815. */
  9816. export interface LangAccessibilityChartTypesOptions {
  9817. barMultiple?: string;
  9818. barSingle?: string;
  9819. boxplotMultiple?: string;
  9820. boxplotSingle?: string;
  9821. bubbleMultiple?: string;
  9822. bubbleSingle?: string;
  9823. columnMultiple?: string;
  9824. columnSingle?: string;
  9825. combinationChart?: string;
  9826. defaultMultiple?: string;
  9827. defaultSingle?: string;
  9828. emptyChart?: string;
  9829. lineMultiple?: string;
  9830. lineSingle?: string;
  9831. mapTypeDescription?: string;
  9832. pieMultiple?: string;
  9833. pieSingle?: string;
  9834. scatterMultiple?: string;
  9835. scatterSingle?: string;
  9836. splineMultiple?: string;
  9837. splineSingle?: string;
  9838. unknownMap?: string;
  9839. }
  9840. /**
  9841. * (Highcharts, Highstock, Highmaps, Gantt) Exporting menu format strings for
  9842. * accessibility module.
  9843. */
  9844. export interface LangAccessibilityExportingOptions {
  9845. chartMenuLabel?: string;
  9846. exportRegionLabel?: string;
  9847. menuButtonLabel?: string;
  9848. }
  9849. /**
  9850. * (Highcharts, Highstock, Highmaps, Gantt) Language options for accessibility
  9851. * of the legend.
  9852. */
  9853. export interface LangAccessibilityLegendOptions {
  9854. legendItem?: string;
  9855. legendLabel?: string;
  9856. legendLabelNoTitle?: string;
  9857. }
  9858. /**
  9859. * (Highcharts, Highstock, Highmaps, Gantt) Configure the accessibility strings
  9860. * in the chart. Requires the accessibility module to be loaded. For a
  9861. * description of the module and information on its features, see Highcharts
  9862. * Accessibility.
  9863. *
  9864. * For more dynamic control over the accessibility functionality, see
  9865. * accessibility.pointDescriptionFormatter,
  9866. * accessibility.seriesDescriptionFormatter, and
  9867. * accessibility.screenReaderSectionFormatter.
  9868. */
  9869. export interface LangAccessibilityOptions {
  9870. /**
  9871. * (Highcharts, Highstock, Highmaps, Gantt) Default announcement for new
  9872. * data in charts. If addPoint or addSeries is used, and only one
  9873. * series/point is added, the `newPointAnnounce` and `newSeriesAnnounce`
  9874. * strings are used. The `...Single` versions will be used if there is only
  9875. * one chart on the page, and the `...Multiple` versions will be used if
  9876. * there are multiple charts on the page. For all other new data events, the
  9877. * `newDataAnnounce` string will be used.
  9878. */
  9879. announceNewData?: LangAccessibilityAnnounceNewDataOptions;
  9880. /**
  9881. * (Highcharts, Highstock, Highmaps, Gantt) Axis description format strings.
  9882. */
  9883. axis?: LangAccessibilityAxisOptions;
  9884. chartContainerLabel?: string;
  9885. /**
  9886. * (Highcharts, Highstock, Highmaps, Gantt) Chart type description strings.
  9887. * This is added to the chart information region.
  9888. *
  9889. * If there is only a single series type used in the chart, we use the
  9890. * format string for the series type, or default if missing. There is one
  9891. * format string for cases where there is only a single series in the chart,
  9892. * and one for multiple series of the same type.
  9893. */
  9894. chartTypes?: LangAccessibilityChartTypesOptions;
  9895. credits?: string;
  9896. defaultChartTitle?: string;
  9897. drillUpButton?: string;
  9898. /**
  9899. * (Highcharts, Highstock, Highmaps, Gantt) Exporting menu format strings
  9900. * for accessibility module.
  9901. */
  9902. exporting?: LangAccessibilityExportingOptions;
  9903. /**
  9904. * (Highcharts, Highstock, Highmaps, Gantt) Set a label on the container
  9905. * wrapping the SVG.
  9906. */
  9907. graphicContainerLabel?: string;
  9908. /**
  9909. * (Highcharts, Highstock, Highmaps, Gantt) Language options for
  9910. * accessibility of the legend.
  9911. */
  9912. legend?: LangAccessibilityLegendOptions;
  9913. /**
  9914. * (Highcharts, Highstock, Highmaps, Gantt) Range selector language options
  9915. * for accessibility.
  9916. */
  9917. rangeSelector?: LangAccessibilityRangeSelectorOptions;
  9918. /**
  9919. * (Highcharts, Highstock, Highmaps, Gantt) Language options for the screen
  9920. * reader information sections added before and after the charts.
  9921. */
  9922. screenReaderSection?: LangAccessibilityScreenReaderSectionOptions;
  9923. /**
  9924. * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for different
  9925. * series types. For more dynamic control over the series element
  9926. * descriptions, see accessibility.seriesDescriptionFormatter.
  9927. */
  9928. series?: LangAccessibilitySeriesOptions;
  9929. /**
  9930. * (Highcharts, Highstock, Highmaps, Gantt) Descriptions of lesser known
  9931. * series types. The relevant description is added to the screen reader
  9932. * information region when these series types are used.
  9933. */
  9934. seriesTypeDescriptions?: LangAccessibilitySeriesTypeDescriptionsOptions;
  9935. /**
  9936. * (Highcharts, Highstock, Highmaps, Gantt) Language options for
  9937. * sonification.
  9938. */
  9939. sonification?: LangAccessibilitySonificationOptions;
  9940. svgContainerLabel?: string;
  9941. /**
  9942. * (Highcharts, Highstock, Highmaps, Gantt) Title element text for the chart
  9943. * SVG element. Leave this empty to disable adding the title element.
  9944. * Browsers will display this content when hovering over elements in the
  9945. * chart. Assistive technology may use this element to label the chart.
  9946. */
  9947. svgContainerTitle?: string;
  9948. /**
  9949. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility language options
  9950. * for the data table.
  9951. */
  9952. table?: LangAccessibilityTableOptions;
  9953. /**
  9954. * (Highcharts, Highstock, Highmaps, Gantt) Thousands separator to use when
  9955. * formatting numbers for screen readers. Note that many screen readers will
  9956. * not handle space as a thousands separator, and will consider "11 700" as
  9957. * two numbers.
  9958. *
  9959. * Set to `null` to use the separator defined in lang.thousandsSep.
  9960. */
  9961. thousandsSep?: string;
  9962. /**
  9963. * (Highcharts, Highstock, Highmaps, Gantt) Chart and map zoom accessibility
  9964. * language options.
  9965. */
  9966. zoom?: LangAccessibilityZoomOptions;
  9967. }
  9968. /**
  9969. * (Highcharts, Highstock, Highmaps, Gantt) Range selector language options for
  9970. * accessibility.
  9971. */
  9972. export interface LangAccessibilityRangeSelectorOptions {
  9973. clickButtonAnnouncement?: string;
  9974. dropdownLabel?: string;
  9975. maxInputLabel?: string;
  9976. minInputLabel?: string;
  9977. }
  9978. /**
  9979. * (Highcharts, Highstock, Highmaps, Gantt) Language options for annotation
  9980. * descriptions.
  9981. */
  9982. export interface LangAccessibilityScreenReaderSectionAnnotationsOptions {
  9983. descriptionMultiplePoints?: string;
  9984. descriptionNoPoints?: string;
  9985. descriptionSinglePoint?: string;
  9986. heading?: string;
  9987. }
  9988. /**
  9989. * (Highcharts, Highstock, Highmaps, Gantt) Language options for the screen
  9990. * reader information sections added before and after the charts.
  9991. */
  9992. export interface LangAccessibilityScreenReaderSectionOptions {
  9993. afterRegionLabel?: string;
  9994. /**
  9995. * (Highcharts, Highstock, Highmaps, Gantt) Language options for annotation
  9996. * descriptions.
  9997. */
  9998. annotations?: LangAccessibilityScreenReaderSectionAnnotationsOptions;
  9999. beforeRegionLabel?: string;
  10000. /**
  10001. * (Highcharts, Highstock, Highmaps, Gantt) Label for the end of the chart.
  10002. * Announced by screen readers.
  10003. */
  10004. endOfChartMarker?: string;
  10005. }
  10006. /**
  10007. * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for different
  10008. * series types. For more dynamic control over the series element descriptions,
  10009. * see accessibility.seriesDescriptionFormatter.
  10010. */
  10011. export interface LangAccessibilitySeriesOptions {
  10012. /**
  10013. * (Highcharts, Highstock, Highmaps, Gantt) User supplied description text.
  10014. * This is added in the point comment description by default if present.
  10015. */
  10016. description?: string;
  10017. /**
  10018. * (Highcharts, Highstock, Highmaps, Gantt) Description for the value of
  10019. * null points.
  10020. */
  10021. nullPointValue?: string;
  10022. /**
  10023. * (Highcharts, Highstock, Highmaps, Gantt) Description for annotations on a
  10024. * point, as it is made available to assistive technology.
  10025. */
  10026. pointAnnotationsDescription?: string;
  10027. /**
  10028. * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for the
  10029. * series main summary. Each series type has two modes:
  10030. *
  10031. * 1. This series type is the only series type used in the chart
  10032. *
  10033. * 2. This is a combination chart with multiple series types
  10034. *
  10035. * If a definition does not exist for the specific series type and mode, the
  10036. * 'default' lang definitions are used.
  10037. */
  10038. summary?: LangAccessibilitySeriesSummaryOptions;
  10039. /**
  10040. * (Highcharts, Highstock, Highmaps, Gantt) xAxis description for series if
  10041. * there are multiple xAxes in the chart.
  10042. */
  10043. xAxisDescription?: string;
  10044. /**
  10045. * (Highcharts, Highstock, Highmaps, Gantt) yAxis description for series if
  10046. * there are multiple yAxes in the chart.
  10047. */
  10048. yAxisDescription?: string;
  10049. }
  10050. /**
  10051. * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for the series
  10052. * main summary. Each series type has two modes:
  10053. *
  10054. * 1. This series type is the only series type used in the chart
  10055. *
  10056. * 2. This is a combination chart with multiple series types
  10057. *
  10058. * If a definition does not exist for the specific series type and mode, the
  10059. * 'default' lang definitions are used.
  10060. */
  10061. export interface LangAccessibilitySeriesSummaryOptions {
  10062. bar?: string;
  10063. barCombination?: string;
  10064. boxplot?: string;
  10065. boxplotCombination?: string;
  10066. bubble?: string;
  10067. bubbleCombination?: string;
  10068. column?: string;
  10069. columnCombination?: string;
  10070. default?: string;
  10071. defaultCombination?: string;
  10072. line?: string;
  10073. lineCombination?: string;
  10074. map?: string;
  10075. mapbubble?: string;
  10076. mapbubbleCombination?: string;
  10077. mapCombination?: string;
  10078. mapline?: string;
  10079. maplineCombination?: string;
  10080. pie?: string;
  10081. pieCombination?: string;
  10082. scatter?: string;
  10083. scatterCombination?: string;
  10084. spline?: string;
  10085. splineCombination?: string;
  10086. }
  10087. /**
  10088. * (Highcharts, Highstock, Highmaps, Gantt) Descriptions of lesser known series
  10089. * types. The relevant description is added to the screen reader information
  10090. * region when these series types are used.
  10091. */
  10092. export interface LangAccessibilitySeriesTypeDescriptionsOptions {
  10093. arearange?: string;
  10094. areasplinerange?: string;
  10095. boxplot?: string;
  10096. bubble?: string;
  10097. columnrange?: string;
  10098. errorbar?: string;
  10099. funnel?: string;
  10100. pyramid?: string;
  10101. waterfall?: string;
  10102. }
  10103. /**
  10104. * (Highcharts, Highstock, Highmaps, Gantt) Language options for sonification.
  10105. */
  10106. export interface LangAccessibilitySonificationOptions {
  10107. playAsSoundButtonText?: string;
  10108. playAsSoundClickAnnouncement?: string;
  10109. }
  10110. /**
  10111. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility language options for
  10112. * the data table.
  10113. */
  10114. export interface LangAccessibilityTableOptions {
  10115. tableSummary?: string;
  10116. viewAsDataTableButtonText?: string;
  10117. }
  10118. /**
  10119. * (Highcharts, Highstock, Highmaps, Gantt) Chart and map zoom accessibility
  10120. * language options.
  10121. */
  10122. export interface LangAccessibilityZoomOptions {
  10123. mapZoomIn?: string;
  10124. mapZoomOut?: string;
  10125. resetZoomButton?: string;
  10126. }
  10127. /**
  10128. * (Highcharts, Highstock, Highmaps, Gantt) The text for exported table.
  10129. */
  10130. export interface LangExportDataOptions {
  10131. /**
  10132. * (Highcharts, Highstock, Highmaps, Gantt) The annotation column title.
  10133. */
  10134. annotationHeader?: string;
  10135. /**
  10136. * (Highcharts, Highstock, Highmaps, Gantt) The category column title when
  10137. * axis type set to "datetime".
  10138. */
  10139. categoryDatetimeHeader?: string;
  10140. /**
  10141. * (Highcharts, Highstock, Highmaps, Gantt) The category column title.
  10142. */
  10143. categoryHeader?: string;
  10144. }
  10145. /**
  10146. * (Highcharts, Highstock) Configure the Popup strings in the chart. Requires
  10147. * the `annotations.js` or `annotations-advanced.src.js` module to be loaded.
  10148. */
  10149. export interface LangNavigationOptions {
  10150. /**
  10151. * (Highcharts, Highstock) Translations for all field names used in popup.
  10152. */
  10153. popup?: LangNavigationPopupOptions;
  10154. }
  10155. /**
  10156. * (Highcharts, Highstock) Translations for all field names used in popup.
  10157. */
  10158. export interface LangNavigationPopupOptions {
  10159. addButton?: string;
  10160. algorithm?: string;
  10161. arrowLine?: string;
  10162. arrowRay?: string;
  10163. arrowSegment?: string;
  10164. average?: string;
  10165. background?: string;
  10166. backgroundColor?: string;
  10167. backgroundColors?: string;
  10168. borderColor?: string;
  10169. borderRadius?: string;
  10170. borderWidth?: string;
  10171. bottomBand?: string;
  10172. circle?: string;
  10173. color?: string;
  10174. connector?: string;
  10175. crooked3?: string;
  10176. crooked5?: string;
  10177. crosshairX?: string;
  10178. crosshairY?: string;
  10179. decimals?: string;
  10180. deviation?: string;
  10181. editButton?: string;
  10182. elliott3?: string;
  10183. elliott5?: string;
  10184. factor?: string;
  10185. fastAvgPeriod?: string;
  10186. fibonacci?: string;
  10187. fill?: string;
  10188. flags?: string;
  10189. fontSize?: string;
  10190. format?: string;
  10191. height?: string;
  10192. highIndex?: string;
  10193. horizontalLine?: string;
  10194. increment?: string;
  10195. index?: string;
  10196. infinityLine?: string;
  10197. initialAccelerationFactor?: string;
  10198. innerBackground?: string;
  10199. label?: string;
  10200. labelOptions?: string;
  10201. labels?: string;
  10202. line?: string;
  10203. lines?: string;
  10204. longPeriod?: string;
  10205. lowIndex?: string;
  10206. maxAccelerationFactor?: string;
  10207. measure?: string;
  10208. measureX?: string;
  10209. measureXY?: string;
  10210. measureY?: string;
  10211. multiplier?: string;
  10212. multiplierATR?: string;
  10213. name?: string;
  10214. outerBackground?: string;
  10215. padding?: string;
  10216. parallelChannel?: string;
  10217. period?: string;
  10218. periodATR?: string;
  10219. periodSenkouSpanB?: string;
  10220. periodTenkan?: string;
  10221. pitchfork?: string;
  10222. ranges?: string;
  10223. ray?: string;
  10224. rectangle?: string;
  10225. removeButton?: string;
  10226. saveButton?: string;
  10227. segment?: string;
  10228. series?: string;
  10229. shapeOptions?: string;
  10230. shapes?: string;
  10231. shortPeriod?: string;
  10232. signalPeriod?: string;
  10233. simpleShapes?: string;
  10234. slowAvgPeriod?: string;
  10235. standardDeviation?: string;
  10236. stroke?: string;
  10237. strokeWidth?: string;
  10238. style?: string;
  10239. title?: string;
  10240. topBand?: string;
  10241. tunnel?: string;
  10242. typeOptions?: string;
  10243. verticalArrow?: string;
  10244. verticalCounter?: string;
  10245. verticalLabel?: string;
  10246. verticalLine?: string;
  10247. volume?: string;
  10248. xAxisUnit?: string;
  10249. }
  10250. /**
  10251. * (Highcharts, Highstock, Highmaps, Gantt) Language object. The language object
  10252. * is global and it can't be set on each chart initialization. Instead, use
  10253. * `Highcharts.setOptions` to set it before any chart is initialized. (see
  10254. * online documentation for example)
  10255. */
  10256. export interface LangOptions {
  10257. /**
  10258. * (Highcharts, Highstock, Highmaps, Gantt) Configure the accessibility
  10259. * strings in the chart. Requires the accessibility module to be loaded. For
  10260. * a description of the module and information on its features, see
  10261. * Highcharts Accessibility.
  10262. *
  10263. * For more dynamic control over the accessibility functionality, see
  10264. * accessibility.pointDescriptionFormatter,
  10265. * accessibility.seriesDescriptionFormatter, and
  10266. * accessibility.screenReaderSectionFormatter.
  10267. */
  10268. accessibility?: LangAccessibilityOptions;
  10269. /**
  10270. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module menu. The
  10271. * tooltip title for the context menu holding print and export menu items.
  10272. */
  10273. contextButtonTitle?: string;
  10274. /**
  10275. * (Highcharts, Highstock, Highmaps, Gantt) The default decimal point used
  10276. * in the `Highcharts.numberFormat` method unless otherwise specified in the
  10277. * function arguments.
  10278. */
  10279. decimalPoint?: string;
  10280. /**
  10281. * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
  10282. */
  10283. downloadCSV?: string;
  10284. /**
  10285. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10286. * for the JPEG download menu item.
  10287. */
  10288. downloadJPEG?: string;
  10289. /**
  10290. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10291. * for the PDF download menu item.
  10292. */
  10293. downloadPDF?: string;
  10294. /**
  10295. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10296. * for the PNG download menu item.
  10297. */
  10298. downloadPNG?: string;
  10299. /**
  10300. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10301. * for the SVG download menu item.
  10302. */
  10303. downloadSVG?: string;
  10304. /**
  10305. * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
  10306. */
  10307. downloadXLS?: string;
  10308. /**
  10309. * (Highcharts, Highmaps) The text for the button that appears when drilling
  10310. * down, linking back to the parent series. The parent series' name is
  10311. * inserted for `{series.name}`.
  10312. */
  10313. drillUpText?: string;
  10314. /**
  10315. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10316. * for the menu item to exit the chart from full screen.
  10317. */
  10318. exitFullscreen?: string;
  10319. /**
  10320. * (Highcharts, Highstock, Highmaps, Gantt) The text for exported table.
  10321. */
  10322. exportData?: LangExportDataOptions;
  10323. /**
  10324. * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
  10325. */
  10326. hideData?: string;
  10327. /**
  10328. * (Highcharts, Highstock) What to show in a date field for invalid dates.
  10329. * Defaults to an empty string.
  10330. */
  10331. invalidDate?: string;
  10332. /**
  10333. * (Highcharts, Highstock, Highmaps, Gantt) The loading text that appears
  10334. * when the chart is set into the loading state following a call to
  10335. * `chart.showLoading`.
  10336. */
  10337. loading?: string;
  10338. /**
  10339. * (Highcharts, Highstock, Highmaps, Gantt) An array containing the months
  10340. * names. Corresponds to the `%B` format in `Highcharts.dateFormat()`.
  10341. */
  10342. months?: Array<string>;
  10343. /**
  10344. * (Highcharts, Highstock) Configure the Popup strings in the chart.
  10345. * Requires the `annotations.js` or `annotations-advanced.src.js` module to
  10346. * be loaded.
  10347. */
  10348. navigation?: LangNavigationOptions;
  10349. /**
  10350. * (Highcharts, Highstock) The text to display when the chart contains no
  10351. * data.
  10352. */
  10353. noData?: string;
  10354. /**
  10355. * (Highcharts, Highstock, Highmaps, Gantt) The magnitude of numericSymbols
  10356. * replacements. Use 10000 for Japanese, Korean and various Chinese locales,
  10357. * which use symbols for 10^4, 10^8 and 10^12.
  10358. */
  10359. numericSymbolMagnitude?: number;
  10360. /**
  10361. * (Highcharts, Highstock, Highmaps, Gantt) Metric prefixes used to shorten
  10362. * high numbers in axis labels. Replacing any of the positions with `null`
  10363. * causes the full number to be written. Setting `numericSymbols` to `null`
  10364. * disables shortening altogether.
  10365. */
  10366. numericSymbols?: Array<string>;
  10367. /**
  10368. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10369. * for the menu item to print the chart.
  10370. */
  10371. printChart?: string;
  10372. /**
  10373. * (Highstock, Gantt) The text for the label for the "from" input box in the
  10374. * range selector. Since v9.0, this string is empty as the label is not
  10375. * rendered by default.
  10376. */
  10377. rangeSelectorFrom?: string;
  10378. /**
  10379. * (Highstock, Gantt) The text for the label for the "to" input box in the
  10380. * range selector.
  10381. */
  10382. rangeSelectorTo?: string;
  10383. /**
  10384. * (Highstock, Gantt) The text for the label for the range selector buttons.
  10385. */
  10386. rangeSelectorZoom?: string;
  10387. /**
  10388. * (Highcharts, Highstock, Highmaps, Gantt) The text for the label appearing
  10389. * when a chart is zoomed.
  10390. */
  10391. resetZoom?: string;
  10392. /**
  10393. * (Highcharts, Highstock, Highmaps, Gantt) The tooltip title for the label
  10394. * appearing when a chart is zoomed.
  10395. */
  10396. resetZoomTitle?: string;
  10397. /**
  10398. * (Highcharts, Highstock, Highmaps, Gantt) An array containing the months
  10399. * names in abbreviated form. Corresponds to the `%b` format in
  10400. * `Highcharts.dateFormat()`.
  10401. */
  10402. shortMonths?: Array<string>;
  10403. /**
  10404. * (Highcharts, Highstock, Highmaps, Gantt) Short week days, starting
  10405. * Sunday. If not specified, Highcharts uses the first three letters of the
  10406. * `lang.weekdays` option.
  10407. */
  10408. shortWeekdays?: Array<string>;
  10409. /**
  10410. * (Highstock) Configure the stockTools GUI titles(hints) in the chart.
  10411. * Requires the `stock-tools.js` module to be loaded.
  10412. */
  10413. stockTools?: LangStockToolsOptions;
  10414. /**
  10415. * (Highcharts, Highstock, Highmaps, Gantt) The default thousands separator
  10416. * used in the `Highcharts.numberFormat` method unless otherwise specified
  10417. * in the function arguments. Defaults to a single space character, which is
  10418. * recommended in ISO 31-0 and works across Anglo-American and continental
  10419. * European languages.
  10420. */
  10421. thousandsSep?: string;
  10422. /**
  10423. * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
  10424. */
  10425. viewData?: string;
  10426. /**
  10427. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10428. * for the menu item to view the chart in full screen.
  10429. */
  10430. viewFullscreen?: string;
  10431. /**
  10432. * (Highcharts, Highstock, Highmaps, Gantt) An array containing the weekday
  10433. * names.
  10434. */
  10435. weekdays?: Array<string>;
  10436. /**
  10437. * (Highmaps) The title appearing on hovering the zoom in button. The text
  10438. * itself defaults to "+" and can be changed in the button options.
  10439. */
  10440. zoomIn?: string;
  10441. /**
  10442. * (Highmaps) The title appearing on hovering the zoom out button. The text
  10443. * itself defaults to "-" and can be changed in the button options.
  10444. */
  10445. zoomOut?: string;
  10446. }
  10447. export interface LangStockToolsGuiOptions {
  10448. advanced?: string;
  10449. arrowLine?: string;
  10450. arrowRay?: string;
  10451. arrowSegment?: string;
  10452. circle?: string;
  10453. crooked3?: string;
  10454. crooked5?: string;
  10455. crookedLines?: string;
  10456. currentPriceIndicator?: string;
  10457. elliott3?: string;
  10458. elliott5?: string;
  10459. fibonacci?: string;
  10460. flagCirclepin?: string;
  10461. flagDiamondpin?: string;
  10462. flags?: string;
  10463. flagSimplepin?: string;
  10464. flagSquarepin?: string;
  10465. fullScreen?: string;
  10466. horizontalLine?: string;
  10467. indicators?: string;
  10468. infinityLine?: string;
  10469. label?: string;
  10470. line?: string;
  10471. lines?: string;
  10472. measure?: string;
  10473. measureX?: string;
  10474. measureXY?: string;
  10475. measureY?: string;
  10476. parallelChannel?: string;
  10477. pitchfork?: string;
  10478. ray?: string;
  10479. rectangle?: string;
  10480. saveChart?: string;
  10481. segment?: string;
  10482. simpleShapes?: string;
  10483. toggleAnnotations?: string;
  10484. typeCandlestick?: string;
  10485. typeChange?: string;
  10486. typeLine?: string;
  10487. typeOHLC?: string;
  10488. verticalArrow?: string;
  10489. verticalCounter?: string;
  10490. verticalLabel?: string;
  10491. verticalLabels?: string;
  10492. verticalLine?: string;
  10493. zoomChange?: string;
  10494. zoomX?: string;
  10495. zoomXY?: string;
  10496. zoomY?: string;
  10497. }
  10498. /**
  10499. * (Highstock) Configure the stockTools GUI titles(hints) in the chart. Requires
  10500. * the `stock-tools.js` module to be loaded.
  10501. */
  10502. export interface LangStockToolsOptions {
  10503. gui?: LangStockToolsGuiOptions;
  10504. }
  10505. /**
  10506. * (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation for
  10507. * the legend.
  10508. */
  10509. export interface LegendAccessibilityKeyboardNavigationOptions {
  10510. /**
  10511. * (Highcharts, Highstock, Highmaps, Gantt) Enable keyboard navigation for
  10512. * the legend.
  10513. */
  10514. enabled?: boolean;
  10515. }
  10516. /**
  10517. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
  10518. * legend. Requires the Accessibility module.
  10519. */
  10520. export interface LegendAccessibilityOptions {
  10521. /**
  10522. * (Highcharts, Highstock, Highmaps, Gantt) Enable accessibility support for
  10523. * the legend.
  10524. */
  10525. enabled?: boolean;
  10526. /**
  10527. * (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation
  10528. * for the legend.
  10529. */
  10530. keyboardNavigation?: LegendAccessibilityKeyboardNavigationOptions;
  10531. }
  10532. /**
  10533. * (Highcharts, Highstock, Highmaps) Options for the bubble legend labels.
  10534. */
  10535. export interface LegendBubbleLegendLabelsOptions {
  10536. /**
  10537. * (Highcharts, Highstock, Highmaps) The alignment of the labels compared to
  10538. * the bubble legend. Can be one of `left`, `center` or `right`.
  10539. */
  10540. align?: AlignValue;
  10541. /**
  10542. * (Highcharts, Highstock, Highmaps) Whether to allow data labels to
  10543. * overlap.
  10544. */
  10545. allowOverlap?: boolean;
  10546. /**
  10547. * (Highcharts, Highstock, Highmaps) An additional class name to apply to
  10548. * the bubble legend label graphical elements. This option does not replace
  10549. * default class names of the graphical element.
  10550. */
  10551. className?: string;
  10552. /**
  10553. * (Highcharts, Highstock, Highmaps) A format string for the bubble legend
  10554. * labels. Available variables are the same as for `formatter`.
  10555. */
  10556. format?: string;
  10557. /**
  10558. * (Highcharts, Highstock, Highmaps) Available `this` properties are:
  10559. *
  10560. * - `this.value`: The bubble value.
  10561. *
  10562. * - `this.radius`: The radius of the bubble range.
  10563. *
  10564. * - `this.center`: The center y position of the range.
  10565. */
  10566. formatter?: FormatterCallbackFunction<BubbleLegendFormatterContextObject>;
  10567. /**
  10568. * (Highcharts, Highstock, Highmaps) CSS styles for the labels.
  10569. */
  10570. style?: CSSObject;
  10571. /**
  10572. * (Highcharts, Highstock, Highmaps) The x position offset of the label
  10573. * relative to the connector.
  10574. */
  10575. x?: number;
  10576. /**
  10577. * (Highcharts, Highstock, Highmaps) The y position offset of the label
  10578. * relative to the connector.
  10579. */
  10580. y?: number;
  10581. }
  10582. /**
  10583. * (Highcharts, Highstock, Highmaps) The bubble legend is an additional element
  10584. * in legend which presents the scale of the bubble series. Individual bubble
  10585. * ranges can be defined by user or calculated from series. In the case of
  10586. * automatically calculated ranges, a 1px margin of error is permitted.
  10587. */
  10588. export interface LegendBubbleLegendOptions {
  10589. /**
  10590. * (Highcharts, Highstock, Highmaps) The color of the ranges borders, can be
  10591. * also defined for an individual range.
  10592. */
  10593. borderColor?: (ColorString|GradientColorObject|PatternObject);
  10594. /**
  10595. * (Highcharts, Highstock, Highmaps) The width of the ranges borders in
  10596. * pixels, can be also defined for an individual range.
  10597. */
  10598. borderWidth?: number;
  10599. /**
  10600. * (Highcharts, Highstock, Highmaps) An additional class name to apply to
  10601. * the bubble legend' circle graphical elements. This option does not
  10602. * replace default class names of the graphical element.
  10603. */
  10604. className?: string;
  10605. /**
  10606. * (Highcharts, Highstock, Highmaps) The main color of the bubble legend.
  10607. * Applies to ranges, if individual color is not defined.
  10608. */
  10609. color?: (ColorString|GradientColorObject|PatternObject);
  10610. /**
  10611. * (Highcharts, Highstock, Highmaps) An additional class name to apply to
  10612. * the bubble legend's connector graphical elements. This option does not
  10613. * replace default class names of the graphical element.
  10614. */
  10615. connectorClassName?: string;
  10616. /**
  10617. * (Highcharts, Highstock, Highmaps) The color of the connector, can be also
  10618. * defined for an individual range.
  10619. */
  10620. connectorColor?: (ColorString|GradientColorObject|PatternObject);
  10621. /**
  10622. * (Highcharts, Highstock, Highmaps) The length of the connectors in pixels.
  10623. * If labels are centered, the distance is reduced to 0.
  10624. */
  10625. connectorDistance?: number;
  10626. /**
  10627. * (Highcharts, Highstock, Highmaps) The width of the connectors in pixels.
  10628. */
  10629. connectorWidth?: number;
  10630. /**
  10631. * (Highcharts, Highstock, Highmaps) Enable or disable the bubble legend.
  10632. */
  10633. enabled?: boolean;
  10634. /**
  10635. * (Highcharts, Highstock, Highmaps) Options for the bubble legend labels.
  10636. */
  10637. labels?: LegendBubbleLegendLabelsOptions;
  10638. /**
  10639. * (Highcharts, Highstock, Highmaps) The position of the bubble legend in
  10640. * the legend.
  10641. */
  10642. legendIndex?: number;
  10643. /**
  10644. * (Highcharts, Highstock, Highmaps) Miximum bubble legend range size. If
  10645. * values for ranges are not specified, the `minSize` and the `maxSize` are
  10646. * calculated from bubble series.
  10647. */
  10648. maxSize?: number;
  10649. /**
  10650. * (Highcharts, Highstock, Highmaps) Minimum bubble legend range size. If
  10651. * values for ranges are not specified, the `minSize` and the `maxSize` are
  10652. * calculated from bubble series.
  10653. */
  10654. minSize?: number;
  10655. /**
  10656. * (Highcharts, Highstock, Highmaps) Options for specific range. One range
  10657. * consists of bubble, label and connector.
  10658. */
  10659. ranges?: Array<LegendBubbleLegendRangesOptions>;
  10660. /**
  10661. * (Highcharts, Highstock, Highmaps) Whether the bubble legend range value
  10662. * should be represented by the area or the width of the bubble. The
  10663. * default, area, corresponds best to the human perception of the size of
  10664. * each bubble.
  10665. */
  10666. sizeBy?: BubbleSizeByValue;
  10667. /**
  10668. * (Highcharts, Highstock, Highmaps) When this is true, the absolute value
  10669. * of z determines the size of the bubble. This means that with the default
  10670. * zThreshold of 0, a bubble of value -1 will have the same size as a bubble
  10671. * of value 1, while a bubble of value 0 will have a smaller size according
  10672. * to minSize.
  10673. */
  10674. sizeByAbsoluteValue?: boolean;
  10675. /**
  10676. * (Highcharts, Highstock, Highmaps) Define the visual z index of the bubble
  10677. * legend.
  10678. */
  10679. zIndex?: number;
  10680. /**
  10681. * (Highcharts, Highstock, Highmaps) Ranges with with lower value than
  10682. * zThreshold, are skipped.
  10683. */
  10684. zThreshold?: number;
  10685. }
  10686. /**
  10687. * (Highcharts, Highstock, Highmaps) Options for specific range. One range
  10688. * consists of bubble, label and connector.
  10689. */
  10690. export interface LegendBubbleLegendRangesOptions {
  10691. /**
  10692. * (Highcharts, Highstock, Highmaps) The color of the border for individual
  10693. * range.
  10694. */
  10695. borderColor?: (ColorString|GradientColorObject|PatternObject);
  10696. /**
  10697. * (Highcharts, Highstock, Highmaps) The color of the bubble for individual
  10698. * range.
  10699. */
  10700. color?: (ColorString|GradientColorObject|PatternObject);
  10701. /**
  10702. * (Highcharts, Highstock, Highmaps) The color of the connector for
  10703. * individual range.
  10704. */
  10705. connectorColor?: (ColorString|GradientColorObject|PatternObject);
  10706. /**
  10707. * (Highcharts, Highstock, Highmaps) Range size value, similar to bubble Z
  10708. * data.
  10709. */
  10710. value?: number;
  10711. }
  10712. /**
  10713. * (Highcharts, Highstock, Highmaps, Gantt) Options for the paging or navigation
  10714. * appearing when the legend is overflown. Navigation works well on screen, but
  10715. * not in static exported images. One way of working around that is to increase
  10716. * the chart height in export.
  10717. */
  10718. export interface LegendNavigationOptions {
  10719. /**
  10720. * (Highcharts, Highstock, Highmaps, Gantt) The color for the active up or
  10721. * down arrow in the legend page navigation.
  10722. */
  10723. activeColor?: (ColorString|GradientColorObject|PatternObject);
  10724. /**
  10725. * (Highcharts, Highstock, Highmaps, Gantt) How to animate the pages when
  10726. * navigating up or down. A value of `true` applies the default navigation
  10727. * given in the `chart.animation` option. Additional options can be given as
  10728. * an object containing values for easing and duration.
  10729. */
  10730. animation?: (boolean|Partial<AnimationOptionsObject>);
  10731. /**
  10732. * (Highcharts, Highstock, Highmaps, Gantt) The pixel size of the up and
  10733. * down arrows in the legend paging navigation.
  10734. */
  10735. arrowSize?: number;
  10736. /**
  10737. * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable the legend
  10738. * navigation. In most cases, disabling the navigation results in an
  10739. * unwanted overflow.
  10740. *
  10741. * See also the adapt chart to legend plugin for a solution to extend the
  10742. * chart height to make room for the legend, optionally in exported charts
  10743. * only.
  10744. */
  10745. enabled?: boolean;
  10746. /**
  10747. * (Highcharts, Highstock, Highmaps, Gantt) The color of the inactive up or
  10748. * down arrow in the legend page navigation. .
  10749. */
  10750. inactiveColor?: (ColorString|GradientColorObject|PatternObject);
  10751. /**
  10752. * (Highcharts, Highstock, Highmaps, Gantt) Text styles for the legend page
  10753. * navigation.
  10754. */
  10755. style?: CSSObject;
  10756. }
  10757. /**
  10758. * (Highcharts, Highstock, Highmaps, Gantt) The legend is a box containing a
  10759. * symbol and name for each series item or point item in the chart. Each series
  10760. * (or points in case of pie charts) is represented by a symbol and its name in
  10761. * the legend.
  10762. *
  10763. * It is possible to override the symbol creator function and create custom
  10764. * legend symbols.
  10765. */
  10766. export interface LegendOptions {
  10767. /**
  10768. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
  10769. * legend. Requires the Accessibility module.
  10770. */
  10771. accessibility?: LegendAccessibilityOptions;
  10772. /**
  10773. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
  10774. * legend box within the chart area. Valid values are `left`, `center` and
  10775. * `right`.
  10776. *
  10777. * In the case that the legend is aligned in a corner position, the `layout`
  10778. * option will determine whether to place it above/below or on the side of
  10779. * the plot area.
  10780. */
  10781. align?: AlignValue;
  10782. /**
  10783. * (Highcharts, Highstock, Highmaps, Gantt) If the layout is `horizontal`
  10784. * and the legend items span over two lines or more, whether to align the
  10785. * items into vertical columns. Setting this to `false` makes room for more
  10786. * items, but will look more messy.
  10787. */
  10788. alignColumns?: boolean;
  10789. /**
  10790. * (Highcharts, Highstock, Highmaps, Gantt) The background color of the
  10791. * legend.
  10792. */
  10793. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  10794. /**
  10795. * (Highcharts, Highstock, Highmaps, Gantt) The color of the drawn border
  10796. * around the legend.
  10797. */
  10798. borderColor?: (ColorString|GradientColorObject|PatternObject);
  10799. /**
  10800. * (Highcharts, Highstock, Highmaps, Gantt) The border corner radius of the
  10801. * legend.
  10802. */
  10803. borderRadius?: number;
  10804. /**
  10805. * (Highcharts, Highstock, Highmaps, Gantt) The width of the drawn border
  10806. * around the legend.
  10807. */
  10808. borderWidth?: number;
  10809. /**
  10810. * (Highcharts, Highstock, Highmaps) The bubble legend is an additional
  10811. * element in legend which presents the scale of the bubble series.
  10812. * Individual bubble ranges can be defined by user or calculated from
  10813. * series. In the case of automatically calculated ranges, a 1px margin of
  10814. * error is permitted.
  10815. */
  10816. bubbleLegend?: LegendBubbleLegendOptions;
  10817. /**
  10818. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the legend.
  10819. * There is also a series-specific option, showInLegend, that can hide the
  10820. * series from the legend. In some series types this is `false` by default,
  10821. * so it must set to `true` in order to show the legend for the series.
  10822. */
  10823. enabled?: boolean;
  10824. /**
  10825. * (Highcharts, Highstock, Highmaps, Gantt) When the legend is floating, the
  10826. * plot area ignores it and is allowed to be placed below it.
  10827. */
  10828. floating?: boolean;
  10829. /**
  10830. * (Highcharts, Highstock, Highmaps, Gantt) Default styling for the checkbox
  10831. * next to a legend item when `showCheckbox` is true.
  10832. */
  10833. itemCheckboxStyle?: CSSObject;
  10834. /**
  10835. * (Highcharts, Highstock, Highmaps, Gantt) In a legend with horizontal
  10836. * layout, the itemDistance defines the pixel distance between each item.
  10837. */
  10838. itemDistance?: number;
  10839. /**
  10840. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for each legend item
  10841. * when the corresponding series or point is hidden. Only a subset of CSS is
  10842. * supported, notably those options related to text. Properties are
  10843. * inherited from `style` unless overridden here.
  10844. */
  10845. itemHiddenStyle?: CSSObject;
  10846. /**
  10847. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for each legend item
  10848. * in hover mode. Only a subset of CSS is supported, notably those options
  10849. * related to text. Properties are inherited from `style` unless overridden
  10850. * here.
  10851. */
  10852. itemHoverStyle?: CSSObject;
  10853. /**
  10854. * (Highcharts, Highstock, Highmaps, Gantt) The pixel bottom margin for each
  10855. * legend item.
  10856. */
  10857. itemMarginBottom?: number;
  10858. /**
  10859. * (Highcharts, Highstock, Highmaps, Gantt) The pixel top margin for each
  10860. * legend item.
  10861. */
  10862. itemMarginTop?: number;
  10863. /**
  10864. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for each legend item.
  10865. * Only a subset of CSS is supported, notably those options related to text.
  10866. * The default `textOverflow` property makes long texts truncate. Set it to
  10867. * `undefined` to wrap text instead. A `width` property can be added to
  10868. * control the text width.
  10869. */
  10870. itemStyle?: CSSObject;
  10871. /**
  10872. * (Highcharts, Highstock, Highmaps, Gantt) The width for each legend item.
  10873. * By default the items are laid out successively. In a horizontal layout,
  10874. * if the items are laid out across two rows or more, they will be
  10875. * vertically aligned depending on the legend.alignColumns option.
  10876. */
  10877. itemWidth?: number;
  10878. /**
  10879. * (Highcharts, Highstock, Highmaps, Gantt) A format string for each legend
  10880. * label. Available variables relates to properties on the series, or the
  10881. * point in case of pies.
  10882. */
  10883. labelFormat?: string;
  10884. /**
  10885. * (Highcharts, Highstock, Highmaps, Gantt) Callback function to format each
  10886. * of the series' labels. The `this` keyword refers to the series object, or
  10887. * the point object in case of pie charts. By default the series or point
  10888. * name is printed.
  10889. */
  10890. labelFormatter?: FormatterCallbackFunction<(Point|Series)>;
  10891. /**
  10892. * (Highcharts, Highstock, Highmaps, Gantt) The layout of the legend items.
  10893. * Can be one of `horizontal` or `vertical` or `proximate`. When
  10894. * `proximate`, the legend items will be placed as close as possible to the
  10895. * graphs they're representing, except in inverted charts or when the legend
  10896. * position doesn't allow it.
  10897. */
  10898. layout?: OptionsLayoutValue;
  10899. /**
  10900. * (Highcharts, Highstock, Highmaps, Gantt) If the plot area sized is
  10901. * calculated automatically and the legend is not floating, the legend
  10902. * margin is the space between the legend and the axis labels or plot area.
  10903. */
  10904. margin?: number;
  10905. /**
  10906. * (Highcharts, Highstock, Highmaps, Gantt) Maximum pixel height for the
  10907. * legend. When the maximum height is extended, navigation will show.
  10908. */
  10909. maxHeight?: number;
  10910. /**
  10911. * (Highcharts, Highstock, Highmaps, Gantt) Options for the paging or
  10912. * navigation appearing when the legend is overflown. Navigation works well
  10913. * on screen, but not in static exported images. One way of working around
  10914. * that is to increase the chart height in export.
  10915. */
  10916. navigation?: LegendNavigationOptions;
  10917. /**
  10918. * (Highcharts, Highstock, Highmaps, Gantt) The inner padding of the legend
  10919. * box.
  10920. */
  10921. padding?: number;
  10922. /**
  10923. * (Highcharts, Highstock, Highmaps, Gantt) Whether to reverse the order of
  10924. * the legend items compared to the order of the series or points as defined
  10925. * in the configuration object.
  10926. */
  10927. reversed?: boolean;
  10928. /**
  10929. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the symbol on
  10930. * the right side of the text rather than the left side. This is common in
  10931. * Arabic and Hebrew.
  10932. */
  10933. rtl?: boolean;
  10934. /**
  10935. * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
  10936. * to the legend. A `backgroundColor` also needs to be applied for this to
  10937. * take effect. The shadow can be an object configuration containing
  10938. * `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  10939. */
  10940. shadow?: (boolean|CSSObject);
  10941. /**
  10942. * (Highcharts, Highstock, Highmaps, Gantt) When this is true, the legend
  10943. * symbol width will be the same as the symbol height, which in turn
  10944. * defaults to the font size of the legend items.
  10945. */
  10946. squareSymbol?: boolean;
  10947. /**
  10948. * (Highcharts, Highstock, Highmaps, Gantt) The pixel height of the symbol
  10949. * for series types that use a rectangle in the legend. Defaults to the font
  10950. * size of legend items.
  10951. */
  10952. symbolHeight?: number;
  10953. /**
  10954. * (Highcharts, Highstock, Highmaps, Gantt) The pixel padding between the
  10955. * legend item symbol and the legend item text.
  10956. */
  10957. symbolPadding?: number;
  10958. /**
  10959. * (Highcharts, Highstock, Highmaps, Gantt) The border radius of the symbol
  10960. * for series types that use a rectangle in the legend. Defaults to half the
  10961. * `symbolHeight`.
  10962. */
  10963. symbolRadius?: number;
  10964. /**
  10965. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the legend
  10966. * item symbol. When the `squareSymbol` option is set, this defaults to the
  10967. * `symbolHeight`, otherwise 16.
  10968. */
  10969. symbolWidth?: number;
  10970. /**
  10971. * (Highcharts, Highstock, Highmaps, Gantt) A title to be added on top of
  10972. * the legend.
  10973. */
  10974. title?: LegendTitleOptions;
  10975. /**
  10976. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  10977. * the legend item texts.
  10978. *
  10979. * Prior to 4.1.7, when using HTML, legend.navigation was disabled.
  10980. */
  10981. useHTML?: boolean;
  10982. /**
  10983. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  10984. * legend box. Can be one of `top`, `middle` or `bottom`. Vertical position
  10985. * can be further determined by the `y` option.
  10986. *
  10987. * In the case that the legend is aligned in a corner position, the `layout`
  10988. * option will determine whether to place it above/below or on the side of
  10989. * the plot area.
  10990. *
  10991. * When the layout option is `proximate`, the `verticalAlign` option doesn't
  10992. * apply.
  10993. */
  10994. verticalAlign?: VerticalAlignValue;
  10995. /**
  10996. * (Highcharts, Highstock, Highmaps, Gantt) The width of the legend box. If
  10997. * a number is set, it translates to pixels. Since v7.0.2 it allows setting
  10998. * a percent string of the full chart width, for example `40%`.
  10999. *
  11000. * Defaults to the full chart width for legends below or above the chart,
  11001. * half the chart width for legends to the left and right.
  11002. */
  11003. width?: (number|string);
  11004. /**
  11005. * (Highcharts, Highstock, Highmaps, Gantt) The x offset of the legend
  11006. * relative to its horizontal alignment `align` within chart.spacingLeft and
  11007. * chart.spacingRight. Negative x moves it to the left, positive x moves it
  11008. * to the right.
  11009. */
  11010. x?: number;
  11011. /**
  11012. * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
  11013. * legend relative to it's vertical alignment `verticalAlign` within
  11014. * chart.spacingTop and chart.spacingBottom. Negative y moves it up,
  11015. * positive y moves it down.
  11016. */
  11017. y?: number;
  11018. }
  11019. /**
  11020. * (Highcharts, Highstock, Highmaps, Gantt) A title to be added on top of the
  11021. * legend.
  11022. */
  11023. export interface LegendTitleOptions {
  11024. /**
  11025. * (Highcharts, Highstock, Highmaps, Gantt) Generic CSS styles for the
  11026. * legend title.
  11027. */
  11028. style?: CSSObject;
  11029. /**
  11030. * (Highcharts, Highstock, Highmaps, Gantt) A text or HTML string for the
  11031. * title.
  11032. */
  11033. text?: string;
  11034. }
  11035. /**
  11036. * Defines the start position and the end position for a gradient relative to
  11037. * the shape. Start position (x1, y1) and end position (x2, y2) are relative to
  11038. * the shape, where 0 means top/left and 1 is bottom/right.
  11039. */
  11040. export interface LinearGradientColorObject {
  11041. /**
  11042. * Start horizontal position of the gradient. Float ranges 0-1.
  11043. */
  11044. x1: number;
  11045. /**
  11046. * End horizontal position of the gradient. Float ranges 0-1.
  11047. */
  11048. x2: number;
  11049. /**
  11050. * Start vertical position of the gradient. Float ranges 0-1.
  11051. */
  11052. y1: number;
  11053. /**
  11054. * End vertical position of the gradient. Float ranges 0-1.
  11055. */
  11056. y2: number;
  11057. }
  11058. /**
  11059. * (Highcharts, Highstock, Highmaps, Gantt) The loading options control the
  11060. * appearance of the loading screen that covers the plot area on chart
  11061. * operations. This screen only appears after an explicit call to
  11062. * `chart.showLoading()`. It is a utility for developers to communicate to the
  11063. * end user that something is going on, for example while retrieving new data
  11064. * via an XHR connection. The "Loading..." text itself is not part of this
  11065. * configuration object, but part of the `lang` object.
  11066. */
  11067. export interface LoadingOptions {
  11068. /**
  11069. * (Highcharts, Highstock, Highmaps, Gantt) The duration in milliseconds of
  11070. * the fade out effect.
  11071. */
  11072. hideDuration?: number;
  11073. /**
  11074. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the loading label
  11075. * `span`.
  11076. */
  11077. labelStyle?: CSSObject;
  11078. /**
  11079. * (Highcharts, Highstock, Highmaps, Gantt) The duration in milliseconds of
  11080. * the fade in effect.
  11081. */
  11082. showDuration?: number;
  11083. /**
  11084. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the loading
  11085. * screen that covers the plot area.
  11086. *
  11087. * In styled mode, the loading label is styled with the
  11088. * `.highcharts-loading` class.
  11089. */
  11090. style?: CSSObject;
  11091. }
  11092. /**
  11093. * (Highmaps) General options for the map navigation buttons. Individual options
  11094. * can be given from the mapNavigation.buttons option set.
  11095. */
  11096. export interface MapNavigationButtonOptions {
  11097. /**
  11098. * (Highmaps) The alignment of the navigation buttons.
  11099. */
  11100. align?: AlignValue;
  11101. /**
  11102. * (Highmaps) What box to align the buttons to. Possible values are
  11103. * `plotBox` and `spacingBox`.
  11104. */
  11105. alignTo?: ButtonRelativeToValue;
  11106. /**
  11107. * (Highmaps) The pixel height of the map navigation buttons.
  11108. */
  11109. height?: number;
  11110. /**
  11111. * (Highmaps) Padding for the navigation buttons.
  11112. */
  11113. padding?: number;
  11114. /**
  11115. * (Highmaps) Text styles for the map navigation buttons.
  11116. */
  11117. style?: CSSObject;
  11118. /**
  11119. * (Highmaps) A configuration object for the button theme. The object
  11120. * accepts SVG properties like `stroke-width`, `stroke` and `fill`.
  11121. * Tri-state button styles are supported by the `states.hover` and
  11122. * `states.select` objects.
  11123. */
  11124. theme?: SVGAttributes;
  11125. /**
  11126. * (Highmaps) The vertical alignment of the buttons. Individual alignment
  11127. * can be adjusted by each button's `y` offset.
  11128. */
  11129. verticalAlign?: VerticalAlignValue;
  11130. /**
  11131. * (Highmaps) The width of the map navigation buttons.
  11132. */
  11133. width?: number;
  11134. /**
  11135. * (Highmaps) The X offset of the buttons relative to its `align` setting.
  11136. */
  11137. x?: number;
  11138. }
  11139. /**
  11140. * (Highmaps) The individual buttons for the map navigation. This usually
  11141. * includes the zoom in and zoom out buttons. Properties for each button is
  11142. * inherited from mapNavigation.buttonOptions, while individual options can be
  11143. * overridden. But default, the `onclick`, `text` and `y` options are
  11144. * individual.
  11145. */
  11146. export interface MapNavigationButtonsOptions {
  11147. /**
  11148. * (Highmaps) Options for the zoom in button. Properties for the zoom in and
  11149. * zoom out buttons are inherited from mapNavigation.buttonOptions, while
  11150. * individual options can be overridden. By default, the `onclick`, `text`
  11151. * and `y` options are individual.
  11152. */
  11153. zoomIn?: MapNavigationButtonsZoomInOptions;
  11154. /**
  11155. * (Highmaps) Options for the zoom out button. Properties for the zoom in
  11156. * and zoom out buttons are inherited from mapNavigation.buttonOptions,
  11157. * while individual options can be overridden. By default, the `onclick`,
  11158. * `text` and `y` options are individual.
  11159. */
  11160. zoomOut?: MapNavigationButtonsZoomOutOptions;
  11161. }
  11162. /**
  11163. * (Highmaps) Options for the zoom in button. Properties for the zoom in and
  11164. * zoom out buttons are inherited from mapNavigation.buttonOptions, while
  11165. * individual options can be overridden. By default, the `onclick`, `text` and
  11166. * `y` options are individual.
  11167. */
  11168. export interface MapNavigationButtonsZoomInOptions {
  11169. /**
  11170. * (Highmaps) The alignment of the navigation buttons.
  11171. */
  11172. align?: AlignValue;
  11173. /**
  11174. * (Highmaps) What box to align the buttons to. Possible values are
  11175. * `plotBox` and `spacingBox`.
  11176. */
  11177. alignTo?: ButtonRelativeToValue;
  11178. /**
  11179. * (Highmaps) The pixel height of the map navigation buttons.
  11180. */
  11181. height?: number;
  11182. /**
  11183. * (Highmaps) Click handler for the button.
  11184. */
  11185. onclick?: Function;
  11186. /**
  11187. * (Highmaps) Padding for the navigation buttons.
  11188. */
  11189. padding?: number;
  11190. /**
  11191. * (Highmaps) Text styles for the map navigation buttons.
  11192. */
  11193. style?: CSSObject;
  11194. /**
  11195. * (Highmaps) The text for the button. The tooltip (title) is a language
  11196. * option given by lang.zoomIn.
  11197. */
  11198. text?: string;
  11199. /**
  11200. * (Highmaps) A configuration object for the button theme. The object
  11201. * accepts SVG properties like `stroke-width`, `stroke` and `fill`.
  11202. * Tri-state button styles are supported by the `states.hover` and
  11203. * `states.select` objects.
  11204. */
  11205. theme?: SVGAttributes;
  11206. /**
  11207. * (Highmaps) The vertical alignment of the buttons. Individual alignment
  11208. * can be adjusted by each button's `y` offset.
  11209. */
  11210. verticalAlign?: VerticalAlignValue;
  11211. /**
  11212. * (Highmaps) The width of the map navigation buttons.
  11213. */
  11214. width?: number;
  11215. /**
  11216. * (Highmaps) The X offset of the buttons relative to its `align` setting.
  11217. */
  11218. x?: number;
  11219. /**
  11220. * (Highmaps) The position of the zoomIn button relative to the vertical
  11221. * alignment.
  11222. */
  11223. y?: number;
  11224. }
  11225. /**
  11226. * (Highmaps) Options for the zoom out button. Properties for the zoom in and
  11227. * zoom out buttons are inherited from mapNavigation.buttonOptions, while
  11228. * individual options can be overridden. By default, the `onclick`, `text` and
  11229. * `y` options are individual.
  11230. */
  11231. export interface MapNavigationButtonsZoomOutOptions {
  11232. /**
  11233. * (Highmaps) The alignment of the navigation buttons.
  11234. */
  11235. align?: AlignValue;
  11236. /**
  11237. * (Highmaps) What box to align the buttons to. Possible values are
  11238. * `plotBox` and `spacingBox`.
  11239. */
  11240. alignTo?: ButtonRelativeToValue;
  11241. /**
  11242. * (Highmaps) The pixel height of the map navigation buttons.
  11243. */
  11244. height?: number;
  11245. /**
  11246. * (Highmaps) Click handler for the button.
  11247. */
  11248. onclick?: Function;
  11249. /**
  11250. * (Highmaps) Padding for the navigation buttons.
  11251. */
  11252. padding?: number;
  11253. /**
  11254. * (Highmaps) Text styles for the map navigation buttons.
  11255. */
  11256. style?: CSSObject;
  11257. /**
  11258. * (Highmaps) The text for the button. The tooltip (title) is a language
  11259. * option given by lang.zoomOut.
  11260. */
  11261. text?: string;
  11262. /**
  11263. * (Highmaps) A configuration object for the button theme. The object
  11264. * accepts SVG properties like `stroke-width`, `stroke` and `fill`.
  11265. * Tri-state button styles are supported by the `states.hover` and
  11266. * `states.select` objects.
  11267. */
  11268. theme?: SVGAttributes;
  11269. /**
  11270. * (Highmaps) The vertical alignment of the buttons. Individual alignment
  11271. * can be adjusted by each button's `y` offset.
  11272. */
  11273. verticalAlign?: VerticalAlignValue;
  11274. /**
  11275. * (Highmaps) The width of the map navigation buttons.
  11276. */
  11277. width?: number;
  11278. /**
  11279. * (Highmaps) The X offset of the buttons relative to its `align` setting.
  11280. */
  11281. x?: number;
  11282. /**
  11283. * (Highmaps) The position of the zoomOut button relative to the vertical
  11284. * alignment.
  11285. */
  11286. y?: number;
  11287. }
  11288. export interface MapNavigationOptions {
  11289. /**
  11290. * (Highmaps) General options for the map navigation buttons. Individual
  11291. * options can be given from the mapNavigation.buttons option set.
  11292. */
  11293. buttonOptions?: MapNavigationButtonOptions;
  11294. /**
  11295. * (Highmaps) The individual buttons for the map navigation. This usually
  11296. * includes the zoom in and zoom out buttons. Properties for each button is
  11297. * inherited from mapNavigation.buttonOptions, while individual options can
  11298. * be overridden. But default, the `onclick`, `text` and `y` options are
  11299. * individual.
  11300. */
  11301. buttons?: MapNavigationButtonsOptions;
  11302. /**
  11303. * (Highmaps) Whether to enable navigation buttons. By default it inherits
  11304. * the enabled setting.
  11305. */
  11306. enableButtons?: boolean;
  11307. /**
  11308. * (Highmaps) Whether to enable map navigation. The default is not to enable
  11309. * navigation, as many choropleth maps are simple and don't need it.
  11310. * Additionally, when touch zoom and mousewheel zoom is enabled, it breaks
  11311. * the default behaviour of these interactions in the website, and the
  11312. * implementer should be aware of this.
  11313. *
  11314. * Individual interactions can be enabled separately, namely buttons,
  11315. * multitouch zoom, double click zoom, double click zoom to element and
  11316. * mousewheel zoom.
  11317. */
  11318. enabled?: boolean;
  11319. /**
  11320. * (Highmaps) Enables zooming in on an area on double clicking in the map.
  11321. * By default it inherits the enabled setting.
  11322. */
  11323. enableDoubleClickZoom?: boolean;
  11324. /**
  11325. * (Highmaps) Whether to zoom in on an area when that area is double
  11326. * clicked.
  11327. */
  11328. enableDoubleClickZoomTo?: boolean;
  11329. /**
  11330. * (Highmaps) Enables zooming by mouse wheel. By default it inherits the
  11331. * enabled setting.
  11332. */
  11333. enableMouseWheelZoom?: boolean;
  11334. /**
  11335. * (Highmaps) Whether to enable multitouch zooming. Note that if the chart
  11336. * covers the viewport, this prevents the user from using multitouch and
  11337. * touchdrag on the web page, so you should make sure the user is not
  11338. * trapped inside the chart. By default it inherits the enabled setting.
  11339. */
  11340. enableTouchZoom?: boolean;
  11341. /**
  11342. * (Highmaps) Sensitivity of mouse wheel or trackpad scrolling. 1 is no
  11343. * sensitivity, while with 2, one mousewheel delta will zoom in 50%.
  11344. */
  11345. mouseWheelSensitivity?: number;
  11346. }
  11347. /**
  11348. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  11349. * animation when a series is displayed for the `annotation`. The animation can
  11350. * also be set as a configuration object. Please note that this option only
  11351. * applies to the initial animation. For other animations, see chart.animation
  11352. * and the animation parameter under the API methods. The following properties
  11353. * are supported:
  11354. *
  11355. * - `defer`: The animation delay time in milliseconds.
  11356. */
  11357. export interface NavigationAnnotationsAnimationOptions {
  11358. /**
  11359. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  11360. * milliseconds. Set to `0` renders annotation immediately. As `undefined`
  11361. * inherits defer time from the series.animation.defer.
  11362. */
  11363. defer?: number;
  11364. }
  11365. /**
  11366. * (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
  11367. */
  11368. export interface NavigationAnnotationsEventsOptions {
  11369. /**
  11370. * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
  11371. * is added to the chart.
  11372. */
  11373. add?: EventCallbackFunction<Annotation>;
  11374. /**
  11375. * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
  11376. * is updated (e.g. drag and droppped or resized by control points).
  11377. */
  11378. afterUpdate?: EventCallbackFunction<Annotation>;
  11379. /**
  11380. * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
  11381. * is removed from the chart.
  11382. */
  11383. remove?: EventCallbackFunction<Annotation>;
  11384. }
  11385. /**
  11386. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
  11387. * Each label inherits options from the labelOptions object. An option from the
  11388. * labelOptions can be overwritten by config for a specific label.
  11389. */
  11390. export interface NavigationAnnotationsLabelOptions {
  11391. /**
  11392. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  11393. * annotation label.
  11394. */
  11395. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  11396. /**
  11397. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
  11398. * annotation's label. If right, the right side of the label should be
  11399. * touching the point.
  11400. */
  11401. align?: AlignValue;
  11402. /**
  11403. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
  11404. * annotation's labels to overlap. To make the labels less sensitive for
  11405. * overlapping, the can be set to 0.
  11406. */
  11407. allowOverlap?: boolean;
  11408. /**
  11409. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  11410. * for the annotation's label.
  11411. */
  11412. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  11413. /**
  11414. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the
  11415. * annotation's label.
  11416. */
  11417. borderColor?: ColorString;
  11418. /**
  11419. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  11420. * the annotaiton's label.
  11421. */
  11422. borderRadius?: number;
  11423. /**
  11424. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  11425. * the annotation's label
  11426. */
  11427. borderWidth?: number;
  11428. /**
  11429. * (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
  11430. */
  11431. className?: string;
  11432. /**
  11433. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
  11434. * label that is outside the plot area.
  11435. */
  11436. crop?: boolean;
  11437. /**
  11438. * (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
  11439. * the point.
  11440. */
  11441. distance?: number;
  11442. /**
  11443. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  11444. * label.
  11445. */
  11446. format?: string;
  11447. /**
  11448. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  11449. * format the annotation's label. Note that if a `format` or `text` are
  11450. * defined, the format or text take precedence and the formatter is ignored.
  11451. * `This` refers to a point object.
  11452. */
  11453. formatter?: FormatterCallbackFunction<Point>;
  11454. /**
  11455. * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
  11456. * visible in the exported data table.
  11457. */
  11458. includeInDataExport?: boolean;
  11459. /**
  11460. * (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
  11461. * label that flow outside the plot area. The justify option aligns the
  11462. * label inside the plot area.
  11463. */
  11464. overflow?: OptionsOverflowValue;
  11465. /**
  11466. * (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
  11467. * the backgroundColor is set, this is the padding within the box.
  11468. */
  11469. padding?: number;
  11470. /**
  11471. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
  11472. * shadow can be an object configuration containing `color`, `offsetX`,
  11473. * `offsetY`, `opacity` and `width`.
  11474. */
  11475. shadow?: (boolean|ShadowOptionsObject);
  11476. /**
  11477. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  11478. * the border around the label. Symbols are predefined functions on the
  11479. * Renderer object.
  11480. */
  11481. shape?: string;
  11482. /**
  11483. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
  11484. * label.
  11485. */
  11486. style?: CSSObject;
  11487. /**
  11488. * (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
  11489. */
  11490. text?: string;
  11491. /**
  11492. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  11493. * the annotation's label.
  11494. */
  11495. useHTML?: boolean;
  11496. /**
  11497. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  11498. * annotation's label.
  11499. */
  11500. verticalAlign?: VerticalAlignValue;
  11501. /**
  11502. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  11503. * label relative to the point. Note that if a `distance` is defined, the
  11504. * distance takes precedence over `x` and `y` options.
  11505. */
  11506. x?: number;
  11507. /**
  11508. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  11509. * label relative to the point. Note that if a `distance` is defined, the
  11510. * distance takes precedence over `x` and `y` options.
  11511. */
  11512. y?: number;
  11513. }
  11514. /**
  11515. * (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
  11516. * annotation. For options that apply to multiple labels, they can be added to
  11517. * the labelOptions.
  11518. */
  11519. export interface NavigationAnnotationsLabelsOptions {
  11520. /**
  11521. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  11522. * annotation label.
  11523. */
  11524. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  11525. /**
  11526. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
  11527. * annotation's label. If right, the right side of the label should be
  11528. * touching the point.
  11529. */
  11530. align?: AlignValue;
  11531. /**
  11532. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
  11533. * annotation's labels to overlap. To make the labels less sensitive for
  11534. * overlapping, the can be set to 0.
  11535. */
  11536. allowOverlap?: boolean;
  11537. /**
  11538. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  11539. * for the annotation's label.
  11540. */
  11541. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  11542. /**
  11543. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the
  11544. * annotation's label.
  11545. */
  11546. borderColor?: ColorString;
  11547. /**
  11548. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  11549. * the annotaiton's label.
  11550. */
  11551. borderRadius?: number;
  11552. /**
  11553. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  11554. * the annotation's label
  11555. */
  11556. borderWidth?: number;
  11557. /**
  11558. * (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
  11559. */
  11560. className?: string;
  11561. /**
  11562. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
  11563. * label that is outside the plot area.
  11564. */
  11565. crop?: boolean;
  11566. /**
  11567. * (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
  11568. * the point.
  11569. */
  11570. distance?: number;
  11571. /**
  11572. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  11573. * label.
  11574. */
  11575. format?: string;
  11576. /**
  11577. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  11578. * format the annotation's label. Note that if a `format` or `text` are
  11579. * defined, the format or text take precedence and the formatter is ignored.
  11580. * `This` refers to a point object.
  11581. */
  11582. formatter?: FormatterCallbackFunction<Point>;
  11583. /**
  11584. * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
  11585. * visible in the exported data table.
  11586. */
  11587. includeInDataExport?: boolean;
  11588. /**
  11589. * (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
  11590. * label that flow outside the plot area. The justify option aligns the
  11591. * label inside the plot area.
  11592. */
  11593. overflow?: OptionsOverflowValue;
  11594. /**
  11595. * (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
  11596. * the backgroundColor is set, this is the padding within the box.
  11597. */
  11598. padding?: number;
  11599. /**
  11600. * (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
  11601. * which the label will be connected. It can be either the point which
  11602. * exists in the series - it is referenced by the point's id - or a new
  11603. * point with defined x, y properties and optionally axes.
  11604. */
  11605. point?: (string|AnnotationMockPointOptionsObject);
  11606. /**
  11607. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
  11608. * shadow can be an object configuration containing `color`, `offsetX`,
  11609. * `offsetY`, `opacity` and `width`.
  11610. */
  11611. shadow?: (boolean|ShadowOptionsObject);
  11612. /**
  11613. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  11614. * the border around the label. Symbols are predefined functions on the
  11615. * Renderer object.
  11616. */
  11617. shape?: string;
  11618. /**
  11619. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
  11620. * label.
  11621. */
  11622. style?: CSSObject;
  11623. /**
  11624. * (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
  11625. */
  11626. text?: string;
  11627. /**
  11628. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  11629. * the annotation's label.
  11630. */
  11631. useHTML?: boolean;
  11632. /**
  11633. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  11634. * annotation's label.
  11635. */
  11636. verticalAlign?: VerticalAlignValue;
  11637. /**
  11638. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  11639. * label relative to the point. Note that if a `distance` is defined, the
  11640. * distance takes precedence over `x` and `y` options.
  11641. */
  11642. x?: number;
  11643. /**
  11644. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  11645. * label relative to the point. Note that if a `distance` is defined, the
  11646. * distance takes precedence over `x` and `y` options.
  11647. */
  11648. y?: number;
  11649. }
  11650. /**
  11651. * (Highcharts, Highstock, Highmaps, Gantt) Additional options to be merged into
  11652. * all annotations.
  11653. */
  11654. export interface NavigationAnnotationsOptions {
  11655. /**
  11656. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  11657. * animation when a series is displayed for the `annotation`. The animation
  11658. * can also be set as a configuration object. Please note that this option
  11659. * only applies to the initial animation. For other animations, see
  11660. * chart.animation and the animation parameter under the API methods. The
  11661. * following properties are supported:
  11662. *
  11663. * - `defer`: The animation delay time in milliseconds.
  11664. */
  11665. animation?: (boolean|NavigationAnnotationsAnimationOptions|Partial<AnimationOptionsObject>);
  11666. /**
  11667. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's control
  11668. * points. Each control point inherits options from controlPointOptions
  11669. * object. Options from the controlPointOptions can be overwritten by
  11670. * options in a specific control point.
  11671. */
  11672. controlPointOptions?: AnnotationControlPointOptionsObject;
  11673. /**
  11674. * (Highcharts, Highstock, Highmaps, Gantt) Allow an annotation to be
  11675. * draggable by a user. Possible values are `'x'`, `'xy'`, `'y'` and `''`
  11676. * (disabled).
  11677. */
  11678. draggable?: AnnotationDraggableValue;
  11679. /**
  11680. * (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
  11681. */
  11682. events?: NavigationAnnotationsEventsOptions;
  11683. /**
  11684. * (Highcharts, Highstock, Highmaps, Gantt) Sets an ID for an annotation.
  11685. * Can be user later when removing an annotation in
  11686. * Chart.removeAnnotation(id) method.
  11687. */
  11688. id?: (number|string);
  11689. /**
  11690. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
  11691. * Each label inherits options from the labelOptions object. An option from
  11692. * the labelOptions can be overwritten by config for a specific label.
  11693. */
  11694. labelOptions?: NavigationAnnotationsLabelOptions;
  11695. /**
  11696. * (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
  11697. * annotation. For options that apply to multiple labels, they can be added
  11698. * to the labelOptions.
  11699. */
  11700. labels?: Array<NavigationAnnotationsLabelsOptions>;
  11701. /**
  11702. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
  11703. * Each shape inherits options from the shapeOptions object. An option from
  11704. * the shapeOptions can be overwritten by config for a specific shape.
  11705. */
  11706. shapeOptions?: NavigationAnnotationsShapeOptions;
  11707. /**
  11708. * (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
  11709. * annotation. For options that apply to multiple shapes, then can be added
  11710. * to the shapeOptions.
  11711. */
  11712. shapes?: Array<NavigationAnnotationsShapesOptions>;
  11713. /**
  11714. * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
  11715. * visible.
  11716. */
  11717. visible?: boolean;
  11718. /**
  11719. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the annotation.
  11720. */
  11721. zIndex?: number;
  11722. }
  11723. /**
  11724. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
  11725. * Each shape inherits options from the shapeOptions object. An option from the
  11726. * shapeOptions can be overwritten by config for a specific shape.
  11727. */
  11728. export interface NavigationAnnotationsShapeOptions {
  11729. /**
  11730. * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
  11731. * for the shape's stroke.
  11732. */
  11733. dashStyle?: DashStyleValue;
  11734. /**
  11735. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
  11736. */
  11737. fill?: (ColorString|GradientColorObject|PatternObject);
  11738. /**
  11739. * (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
  11740. */
  11741. height?: number;
  11742. /**
  11743. * (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
  11744. */
  11745. r?: number;
  11746. /**
  11747. * (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
  11748. * around an annotation making this annotation to focus. Defined in pixels.
  11749. */
  11750. snap?: number;
  11751. /**
  11752. * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
  11753. * the annotation shape. Note, type has to be set to `'image'`.
  11754. */
  11755. src?: string;
  11756. /**
  11757. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
  11758. */
  11759. stroke?: ColorString;
  11760. /**
  11761. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  11762. * shape.
  11763. */
  11764. strokeWidth?: number;
  11765. /**
  11766. * (Highcharts, Highstock, Highmaps, Gantt) The type of the shape, e.g.
  11767. * circle or rectangle.
  11768. */
  11769. type?: string;
  11770. /**
  11771. * (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
  11772. */
  11773. width?: number;
  11774. }
  11775. /**
  11776. * (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
  11777. * annotation. For options that apply to multiple shapes, then can be added to
  11778. * the shapeOptions.
  11779. */
  11780. export interface NavigationAnnotationsShapesOptions {
  11781. /**
  11782. * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
  11783. * for the shape's stroke.
  11784. */
  11785. dashStyle?: DashStyleValue;
  11786. /**
  11787. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
  11788. */
  11789. fill?: (ColorString|GradientColorObject|PatternObject);
  11790. /**
  11791. * (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
  11792. */
  11793. height?: number;
  11794. /**
  11795. * (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
  11796. * drawn at the final vertex of the path. Custom markers can be defined in
  11797. * defs property.
  11798. */
  11799. markerEnd?: string;
  11800. /**
  11801. * (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
  11802. * drawn at the first vertex of the path. Custom markers can be defined in
  11803. * defs property.
  11804. */
  11805. markerStart?: string;
  11806. /**
  11807. * (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
  11808. * which the shape will be connected. It can be either the point which
  11809. * exists in the series - it is referenced by the point's id - or a new
  11810. * point with defined x, y properties and optionally axes.
  11811. */
  11812. point?: (string|AnnotationMockPointOptionsObject);
  11813. /**
  11814. * (Highcharts, Highstock, Highmaps, Gantt) An array of points for the
  11815. * shape. This option is available for shapes which can use multiple points
  11816. * such as path. A point can be either a point object or a point's id.
  11817. */
  11818. points?: Array<(string|AnnotationMockPointOptionsObject)>;
  11819. /**
  11820. * (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
  11821. */
  11822. r?: number;
  11823. /**
  11824. * (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
  11825. * around an annotation making this annotation to focus. Defined in pixels.
  11826. */
  11827. snap?: number;
  11828. /**
  11829. * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
  11830. * the annotation shape. Note, type has to be set to `'image'`.
  11831. */
  11832. src?: string;
  11833. /**
  11834. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
  11835. */
  11836. stroke?: ColorString;
  11837. /**
  11838. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  11839. * shape.
  11840. */
  11841. strokeWidth?: number;
  11842. /**
  11843. * (Highcharts, Highstock, Highmaps, Gantt) The type of the shape, e.g.
  11844. * circle or rectangle.
  11845. */
  11846. type?: string;
  11847. /**
  11848. * (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
  11849. */
  11850. width?: number;
  11851. }
  11852. /**
  11853. * (Highstock) Displays chart in fullscreen.
  11854. *
  11855. * **Note**: Fullscreen is not supported on iPhone due to iOS limitations.
  11856. */
  11857. export interface NavigationBindingsFullScreenOptions {
  11858. noDataState?: string;
  11859. }
  11860. /**
  11861. * (Highcharts, Highstock) Bindings definitions for custom HTML buttons. Each
  11862. * binding implements simple event-driven interface:
  11863. *
  11864. * - `className`: classname used to bind event to
  11865. *
  11866. * - `init`: initial event, fired on button click
  11867. *
  11868. * - `start`: fired on first click on a chart
  11869. *
  11870. * - `steps`: array of sequential events fired one after another on each of
  11871. * users clicks
  11872. *
  11873. * - `end`: last event to be called after last step event
  11874. */
  11875. export interface NavigationBindingsOptions {
  11876. /**
  11877. * (Highstock) A line with arrow annotation. Includes `start` and one event
  11878. * in `steps` array.
  11879. */
  11880. arrowInfinityLine?: NavigationBindingsOptionsObject;
  11881. /**
  11882. * (Highstock) A ray with an arrow annotation bindings. Includes `start` and
  11883. * one event in `steps` array.
  11884. */
  11885. arrowRay?: NavigationBindingsOptionsObject;
  11886. /**
  11887. * (Highstock) A segment with an arrow annotation bindings. Includes `start`
  11888. * and one event in `steps` array.
  11889. */
  11890. arrowSegment?: NavigationBindingsOptionsObject;
  11891. /**
  11892. * (Highcharts, Highstock) A circle annotation bindings. Includes `start`
  11893. * and one event in `steps` array.
  11894. */
  11895. circleAnnotation?: NavigationBindingsOptionsObject;
  11896. /**
  11897. * (Highstock) Crooked line (three points) annotation bindings. Includes
  11898. * `start` and two events in `steps` (for second and third points in crooked
  11899. * line) array.
  11900. */
  11901. crooked3?: NavigationBindingsOptionsObject;
  11902. /**
  11903. * (Highstock) Crooked line (five points) annotation bindings. Includes
  11904. * `start` and four events in `steps` (for all consequent points in crooked
  11905. * line) array.
  11906. */
  11907. crooked5?: NavigationBindingsOptionsObject;
  11908. /**
  11909. * (Highstock) Hides/shows two price indicators:
  11910. *
  11911. * - last price in the dataset
  11912. *
  11913. * - last price in the selected range
  11914. */
  11915. currentPriceIndicator?: NavigationBindingsOptionsObject;
  11916. /**
  11917. * (Highstock) Elliott wave (three points) annotation bindings. Includes
  11918. * `start` and two events in `steps` (for second and third points) array.
  11919. */
  11920. elliott3?: NavigationBindingsOptionsObject;
  11921. /**
  11922. * (Highstock) Elliott wave (five points) annotation bindings. Includes
  11923. * `start` and four event in `steps` (for all consequent points in Elliott
  11924. * wave) array.
  11925. */
  11926. elliott5?: NavigationBindingsOptionsObject;
  11927. /**
  11928. * (Highstock) A fibonacci annotation bindings. Includes `start` and two
  11929. * events in `steps` array (updates second point, then height).
  11930. */
  11931. fibonacci?: NavigationBindingsOptionsObject;
  11932. /**
  11933. * (Highstock) A flag series bindings. Includes `start` event. On click,
  11934. * finds the closest point and marks it with a flag with `'circlepin'`
  11935. * shape.
  11936. */
  11937. flagCirclepin?: NavigationBindingsOptionsObject;
  11938. /**
  11939. * (Highstock) A flag series bindings. Includes `start` event. On click,
  11940. * finds the closest point and marks it with a flag with `'diamondpin'`
  11941. * shape.
  11942. */
  11943. flagDiamondpin?: NavigationBindingsOptionsObject;
  11944. /**
  11945. * (Highstock) A flag series bindings. Includes `start` event. On click,
  11946. * finds the closest point and marks it with a flag without pin shape.
  11947. */
  11948. flagSimplepin?: NavigationBindingsOptionsObject;
  11949. /**
  11950. * (Highstock) A flag series bindings. Includes `start` event. On click,
  11951. * finds the closest point and marks it with a flag with `'squarepin'`
  11952. * shape.
  11953. */
  11954. flagSquarepin?: NavigationBindingsOptionsObject;
  11955. /**
  11956. * (Highstock) Displays chart in fullscreen.
  11957. *
  11958. * **Note**: Fullscreen is not supported on iPhone due to iOS limitations.
  11959. */
  11960. fullScreen?: (NavigationBindingsFullScreenOptions|NavigationBindingsOptionsObject);
  11961. /**
  11962. * (Highstock) A horizontal line annotation. Includes `start` event.
  11963. */
  11964. horizontalLine?: NavigationBindingsOptionsObject;
  11965. /**
  11966. * (Highstock) Indicators bindings. Includes `init` event to show a popup.
  11967. *
  11968. * Note: In order to show base series from the chart in the popup's dropdown
  11969. * each series requires series.id to be defined.
  11970. */
  11971. indicators?: NavigationBindingsOptionsObject;
  11972. /**
  11973. * (Highstock) A line annotation. Includes `start` and one event in `steps`
  11974. * array.
  11975. */
  11976. infinityLine?: NavigationBindingsOptionsObject;
  11977. /**
  11978. * (Highcharts, Highstock) A label annotation bindings. Includes `start`
  11979. * event only.
  11980. */
  11981. labelAnnotation?: NavigationBindingsOptionsObject;
  11982. /**
  11983. * (Highstock) A measure (x-dimension) annotation bindings. Includes `start`
  11984. * and one event in `steps` array.
  11985. */
  11986. measureX?: NavigationBindingsOptionsObject;
  11987. /**
  11988. * (Highstock) A measure (xy-dimension) annotation bindings. Includes
  11989. * `start` and one event in `steps` array.
  11990. */
  11991. measureXY?: NavigationBindingsOptionsObject;
  11992. /**
  11993. * (Highstock) A measure (y-dimension) annotation bindings. Includes `start`
  11994. * and one event in `steps` array.
  11995. */
  11996. measureY?: NavigationBindingsOptionsObject;
  11997. /**
  11998. * (Highstock) A parallel channel (tunnel) annotation bindings. Includes
  11999. * `start` and two events in `steps` array (updates second point, then
  12000. * height).
  12001. */
  12002. parallelChannel?: NavigationBindingsOptionsObject;
  12003. /**
  12004. * (Highstock) An Andrew's pitchfork annotation bindings. Includes `start`
  12005. * and two events in `steps` array (sets second and third control points).
  12006. */
  12007. pitchfork?: NavigationBindingsOptionsObject;
  12008. /**
  12009. * (Highstock) A ray annotation bindings. Includes `start` and one event in
  12010. * `steps` array.
  12011. */
  12012. ray?: NavigationBindingsOptionsObject;
  12013. /**
  12014. * (Highcharts, Highstock) A rectangle annotation bindings. Includes `start`
  12015. * and one event in `steps` array.
  12016. */
  12017. rectangleAnnotation?: NavigationBindingsOptionsObject;
  12018. /**
  12019. * (Highstock) Save a chart in localStorage under `highcharts-chart` key.
  12020. * Stored items:
  12021. *
  12022. * - annotations
  12023. *
  12024. * - indicators (with yAxes)
  12025. *
  12026. * - flags
  12027. */
  12028. saveChart?: (NavigationBindingsOptionsObject|NavigationBindingsSaveChartOptions);
  12029. /**
  12030. * (Highstock) A segment annotation bindings. Includes `start` and one event
  12031. * in `steps` array.
  12032. */
  12033. segment?: NavigationBindingsOptionsObject;
  12034. /**
  12035. * (Highstock) Changes main series to `'candlestick'` type.
  12036. */
  12037. seriesTypeCandlestick?: NavigationBindingsOptionsObject;
  12038. /**
  12039. * (Highstock) Changes main series to `'line'` type.
  12040. */
  12041. seriesTypeLine?: NavigationBindingsOptionsObject;
  12042. /**
  12043. * (Highstock) Changes main series to `'ohlc'` type.
  12044. */
  12045. seriesTypeOhlc?: NavigationBindingsOptionsObject;
  12046. /**
  12047. * (Highstock) Hides/shows all annotations on a chart.
  12048. */
  12049. toggleAnnotations?: NavigationBindingsOptionsObject;
  12050. /**
  12051. * (Highstock) A vertical arrow annotation bindings. Includes `start` event.
  12052. * On click, finds the closest point and marks it with an arrow. `#06b535`
  12053. * is the color of the arrow when pointing from above and `#f21313` when
  12054. * pointing from below the point.
  12055. */
  12056. verticalArrow?: NavigationBindingsOptionsObject;
  12057. /**
  12058. * (Highstock) A vertical counter annotation bindings. Includes `start`
  12059. * event. On click, finds the closest point and marks it with a numeric
  12060. * annotation - incrementing counter on each add.
  12061. */
  12062. verticalCounter?: NavigationBindingsOptionsObject;
  12063. /**
  12064. * (Highstock) A vertical arrow annotation bindings. Includes `start` event.
  12065. * On click, finds the closest point and marks it with an arrow and a label
  12066. * with value.
  12067. */
  12068. verticalLabel?: NavigationBindingsOptionsObject;
  12069. /**
  12070. * (Highstock) A vertical line annotation. Includes `start` event.
  12071. */
  12072. verticalLine?: NavigationBindingsOptionsObject;
  12073. /**
  12074. * (Highstock) Enables zooming in xAxis on a chart. Includes `start` event
  12075. * which changes chart.zoomType.
  12076. */
  12077. zoomX?: NavigationBindingsOptionsObject;
  12078. /**
  12079. * (Highstock) Enables zooming in xAxis and yAxis on a chart. Includes
  12080. * `start` event which changes chart.zoomType.
  12081. */
  12082. zoomXY?: NavigationBindingsOptionsObject;
  12083. /**
  12084. * (Highstock) Enables zooming in yAxis on a chart. Includes `start` event
  12085. * which changes chart.zoomType.
  12086. */
  12087. zoomY?: NavigationBindingsOptionsObject;
  12088. }
  12089. /**
  12090. * A config object for navigation bindings in annotations.
  12091. */
  12092. export interface NavigationBindingsOptionsObject {
  12093. /**
  12094. * ClassName of the element for a binding.
  12095. */
  12096. className?: string;
  12097. /**
  12098. * Last event to be fired after last step event.
  12099. */
  12100. end?: Function;
  12101. /**
  12102. * Initial event, fired on a button click.
  12103. */
  12104. init?: Function;
  12105. /**
  12106. * Event fired on first click on a chart.
  12107. */
  12108. start?: Function;
  12109. /**
  12110. * Last event to be fired after last step event. Array of step events to be
  12111. * called sequentially after each user click.
  12112. */
  12113. steps?: Array<Function>;
  12114. }
  12115. /**
  12116. * (Highstock) Save a chart in localStorage under `highcharts-chart` key. Stored
  12117. * items:
  12118. *
  12119. * - annotations
  12120. *
  12121. * - indicators (with yAxes)
  12122. *
  12123. * - flags
  12124. */
  12125. export interface NavigationBindingsSaveChartOptions {
  12126. noDataState?: string;
  12127. }
  12128. /**
  12129. * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for buttons
  12130. * appearing in the exporting module.
  12131. *
  12132. * In styled mode, the buttons are styled with the `.highcharts-contextbutton`
  12133. * and `.highcharts-button-symbol` classes.
  12134. */
  12135. export interface NavigationButtonOptions {
  12136. /**
  12137. * (Highcharts, Highstock, Highmaps, Gantt) Alignment for the buttons.
  12138. */
  12139. align?: AlignValue;
  12140. /**
  12141. * (Highcharts, Highstock, Highmaps, Gantt) The pixel spacing between
  12142. * buttons.
  12143. */
  12144. buttonSpacing?: number;
  12145. /**
  12146. * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable buttons.
  12147. */
  12148. enabled?: boolean;
  12149. /**
  12150. * (Highcharts, Highstock, Highmaps, Gantt) Pixel height of the buttons.
  12151. */
  12152. height?: number;
  12153. /**
  12154. * (Highcharts, Highstock, Highmaps, Gantt) Fill color for the symbol within
  12155. * the button.
  12156. */
  12157. symbolFill?: (ColorString|GradientColorObject|PatternObject);
  12158. /**
  12159. * (Highcharts, Highstock, Highmaps, Gantt) The pixel size of the symbol on
  12160. * the button.
  12161. */
  12162. symbolSize?: number;
  12163. /**
  12164. * (Highcharts, Highstock, Highmaps, Gantt) The color of the symbol's stroke
  12165. * or line.
  12166. */
  12167. symbolStroke?: ColorString;
  12168. /**
  12169. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  12170. * symbol on the button.
  12171. */
  12172. symbolStrokeWidth?: number;
  12173. /**
  12174. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the center of
  12175. * the symbol inside the button.
  12176. */
  12177. symbolX?: number;
  12178. /**
  12179. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the center of
  12180. * the symbol inside the button.
  12181. */
  12182. symbolY?: number;
  12183. /**
  12184. * (Highcharts, Highstock, Highmaps, Gantt) A text string to add to the
  12185. * individual button.
  12186. */
  12187. text?: string;
  12188. /**
  12189. * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
  12190. * button theme. The object accepts SVG properties like `stroke-width`,
  12191. * `stroke` and `fill`. Tri-state button styles are supported by the
  12192. * `states.hover` and `states.select` objects.
  12193. */
  12194. theme?: NavigationButtonThemeOptions;
  12195. /**
  12196. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  12197. * buttons. Can be one of `"top"`, `"middle"` or `"bottom"`.
  12198. */
  12199. verticalAlign?: VerticalAlignValue;
  12200. /**
  12201. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the button.
  12202. */
  12203. width?: number;
  12204. /**
  12205. * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
  12206. * button's position relative to its `verticalAlign`.
  12207. */
  12208. y?: number;
  12209. }
  12210. /**
  12211. * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
  12212. * button theme. The object accepts SVG properties like `stroke-width`, `stroke`
  12213. * and `fill`. Tri-state button styles are supported by the `states.hover` and
  12214. * `states.select` objects.
  12215. */
  12216. export interface NavigationButtonThemeOptions {
  12217. /**
  12218. * (Highcharts, Highstock, Highmaps, Gantt) The default fill exists only to
  12219. * capture hover events.
  12220. */
  12221. fill?: (ColorString|GradientColorObject|PatternObject);
  12222. /**
  12223. * (Highcharts, Highstock, Highmaps, Gantt) Padding for the button.
  12224. */
  12225. padding?: number;
  12226. /**
  12227. * (Highcharts, Highstock, Highmaps, Gantt) Default stroke for the buttons.
  12228. */
  12229. stroke?: ColorString;
  12230. }
  12231. /**
  12232. * (Highcharts, Highstock) Events to communicate between Stock Tools and custom
  12233. * GUI.
  12234. */
  12235. export interface NavigationEventsOptions {
  12236. /**
  12237. * (Highcharts, Highstock) A `closePopup` event. Fired when Popup should be
  12238. * hidden, for example when clicking on an annotation again.
  12239. */
  12240. closePopup?: Function;
  12241. /**
  12242. * (Highcharts, Highstock) Event fired when button state should change, for
  12243. * example after adding an annotation.
  12244. */
  12245. deselectButton?: Function;
  12246. /**
  12247. * (Highcharts, Highstock) Event fired on a button click.
  12248. */
  12249. selectButton?: Function;
  12250. /**
  12251. * (Highcharts, Highstock) A `showPopup` event. Fired when selecting for
  12252. * example an annotation.
  12253. */
  12254. showPopup?: Function;
  12255. }
  12256. /**
  12257. * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for buttons
  12258. * and menus appearing in the exporting module.
  12259. */
  12260. export interface NavigationOptions {
  12261. /**
  12262. * (Highcharts, Highstock, Highmaps, Gantt) Additional options to be merged
  12263. * into all annotations.
  12264. */
  12265. annotationsOptions?: (AnnotationsOptions|NavigationAnnotationsOptions);
  12266. /**
  12267. * (Highcharts, Highstock) Bindings definitions for custom HTML buttons.
  12268. * Each binding implements simple event-driven interface:
  12269. *
  12270. * - `className`: classname used to bind event to
  12271. *
  12272. * - `init`: initial event, fired on button click
  12273. *
  12274. * - `start`: fired on first click on a chart
  12275. *
  12276. * - `steps`: array of sequential events fired one after another on each of
  12277. * users clicks
  12278. *
  12279. * - `end`: last event to be called after last step event
  12280. */
  12281. bindings?: (NavigationBindingsOptions|Dictionary<NavigationBindingsOptionsObject>);
  12282. /**
  12283. * (Highcharts, Highstock, Highmaps, Gantt) A CSS class name where all
  12284. * bindings will be attached to. Multiple charts on the same page should
  12285. * have separate class names to prevent duplicating events.
  12286. *
  12287. * Default value of versions < 7.0.4 `highcharts-bindings-wrapper`
  12288. */
  12289. bindingsClassName?: string;
  12290. /**
  12291. * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for
  12292. * buttons appearing in the exporting module.
  12293. *
  12294. * In styled mode, the buttons are styled with the
  12295. * `.highcharts-contextbutton` and `.highcharts-button-symbol` classes.
  12296. */
  12297. buttonOptions?: NavigationButtonOptions;
  12298. /**
  12299. * (Highcharts, Highstock) Events to communicate between Stock Tools and
  12300. * custom GUI.
  12301. */
  12302. events?: NavigationEventsOptions;
  12303. /**
  12304. * (Highcharts, Highstock, Highmaps, Gantt) Path where Highcharts will look
  12305. * for icons. Change this to use icons from a different server.
  12306. */
  12307. iconsURL?: string;
  12308. /**
  12309. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the hover state
  12310. * of the individual items within the popup menu appearing by default when
  12311. * the export icon is clicked. The menu items are rendered in HTML.
  12312. */
  12313. menuItemHoverStyle?: CSSObject;
  12314. /**
  12315. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the individual
  12316. * items within the popup menu appearing by default when the export icon is
  12317. * clicked. The menu items are rendered in HTML. Font size defaults to
  12318. * `11px` on desktop and `14px` on touch devices.
  12319. */
  12320. menuItemStyle?: CSSObject;
  12321. /**
  12322. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the popup menu
  12323. * appearing by default when the export icon is clicked. This menu is
  12324. * rendered in HTML.
  12325. */
  12326. menuStyle?: CSSObject;
  12327. }
  12328. /**
  12329. * (Highstock, Gantt) Options for the handles for dragging the zoomed area.
  12330. */
  12331. export interface NavigatorHandlesOptions {
  12332. /**
  12333. * (Highstock, Gantt) The fill for the handle.
  12334. */
  12335. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  12336. /**
  12337. * (Highstock, Gantt) The stroke for the handle border and the stripes
  12338. * inside.
  12339. */
  12340. borderColor?: (ColorString|GradientColorObject|PatternObject);
  12341. /**
  12342. * (Highstock, Gantt) Allows to enable/disable handles.
  12343. */
  12344. enabled?: boolean;
  12345. /**
  12346. * (Highstock, Gantt) Height for handles.
  12347. */
  12348. height?: number;
  12349. /**
  12350. * (Highstock, Gantt) The width for the handle border and the stripes
  12351. * inside.
  12352. */
  12353. lineWidth?: object;
  12354. /**
  12355. * (Highstock, Gantt) Array to define shapes of handles. 0-index for left,
  12356. * 1-index for right.
  12357. *
  12358. * Additionally, the URL to a graphic can be given on this form:
  12359. * `url(graphic.png)`. Note that for the image to be applied to exported
  12360. * charts, its URL needs to be accessible by the export server.
  12361. *
  12362. * Custom callbacks for symbol path generation can also be added to
  12363. * `Highcharts.SVGRenderer.prototype.symbols`. The callback is then used by
  12364. * its method name, as shown in the demo.
  12365. */
  12366. symbols?: Array<string>;
  12367. /**
  12368. * (Highstock, Gantt) Width for handles.
  12369. */
  12370. width?: number;
  12371. }
  12372. /**
  12373. * (Highstock, Gantt) The navigator is a small series below the main series,
  12374. * displaying a view of the entire data set. It provides tools to zoom in and
  12375. * out on parts of the data as well as panning across the dataset.
  12376. */
  12377. export interface NavigatorOptions {
  12378. /**
  12379. * (Highstock, Gantt) Whether the navigator and scrollbar should adapt to
  12380. * updated data in the base X axis. When loading data async, as in the demo
  12381. * below, this should be `false`. Otherwise new data will trigger navigator
  12382. * redraw, which will cause unwanted looping. In the demo below, the data in
  12383. * the navigator is set only once. On navigating, only the main chart
  12384. * content is updated.
  12385. */
  12386. adaptToUpdatedData?: boolean;
  12387. /**
  12388. * (Highstock, Gantt) Enable or disable the navigator.
  12389. */
  12390. enabled?: boolean;
  12391. /**
  12392. * (Highstock, Gantt) Options for the handles for dragging the zoomed area.
  12393. */
  12394. handles?: NavigatorHandlesOptions;
  12395. /**
  12396. * (Highstock, Gantt) The height of the navigator.
  12397. */
  12398. height?: number;
  12399. /**
  12400. * (Highstock, Gantt) The distance from the nearest element, the X axis or X
  12401. * axis labels.
  12402. */
  12403. margin?: number;
  12404. /**
  12405. * (Highstock, Gantt) The color of the mask covering the areas of the
  12406. * navigator series that are currently not visible in the main series. The
  12407. * default color is bluish with an opacity of 0.3 to see the series below.
  12408. */
  12409. maskFill?: (ColorString|GradientColorObject|PatternObject);
  12410. /**
  12411. * (Highstock, Gantt) Whether the mask should be inside the range marking
  12412. * the zoomed range, or outside. In Highcharts Stock 1.x it was always
  12413. * `false`.
  12414. */
  12415. maskInside?: boolean;
  12416. /**
  12417. * (Highstock, Gantt) When the chart is inverted, whether to draw the
  12418. * navigator on the opposite side.
  12419. */
  12420. opposite?: boolean;
  12421. /**
  12422. * (Highstock, Gantt) The color of the line marking the currently zoomed
  12423. * area in the navigator.
  12424. */
  12425. outlineColor?: (ColorString|GradientColorObject|PatternObject);
  12426. /**
  12427. * (Highstock, Gantt) The width of the line marking the currently zoomed
  12428. * area in the navigator.
  12429. */
  12430. outlineWidth?: number;
  12431. /**
  12432. * (Highstock, Gantt) Options for the navigator series. Available options
  12433. * are the same as any series, documented at plotOptions and series.
  12434. *
  12435. * Unless data is explicitly defined on navigator.series, the data is
  12436. * borrowed from the first series in the chart.
  12437. *
  12438. * Default series options for the navigator series are: (see online
  12439. * documentation for example)
  12440. */
  12441. series?: (NavigatorSeriesOptions|SeriesOptionsType|Array<NavigatorSeriesOptions>|Array<SeriesOptionsType>);
  12442. /**
  12443. * (Highstock, Gantt) Options for the navigator X axis. Default series
  12444. * options for the navigator xAxis are: (see online documentation for
  12445. * example)
  12446. */
  12447. xAxis?: (NavigatorXAxisOptions|Array<NavigatorXAxisOptions>);
  12448. /**
  12449. * (Highstock, Gantt) Options for the navigator Y axis. Default series
  12450. * options for the navigator yAxis are: (see online documentation for
  12451. * example)
  12452. */
  12453. yAxis?: (NavigatorYAxisOptions|Array<NavigatorYAxisOptions>);
  12454. }
  12455. /**
  12456. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  12457. * animation when a series is displayed for the `dataLabels`. The animation can
  12458. * also be set as a configuration object. Please note that this option only
  12459. * applies to the initial animation. For other animations, see chart.animation
  12460. * and the animation parameter under the API methods. The following properties
  12461. * are supported:
  12462. *
  12463. * - `defer`: The animation delay time in milliseconds.
  12464. */
  12465. export interface NavigatorSeriesDataLabelsAnimationOptions {
  12466. /**
  12467. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  12468. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  12469. * inherits defer time from the series.animation.defer.
  12470. */
  12471. defer?: number;
  12472. }
  12473. /**
  12474. * (Highcharts, Highstock, Highmaps, Gantt) Data label options for the navigator
  12475. * series. Data labels are disabled by default on the navigator series.
  12476. */
  12477. export interface NavigatorSeriesDataLabelsOptions {
  12478. /**
  12479. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  12480. * compared to the point. If `right`, the right side of the label should be
  12481. * touching the point. For points with an extent, like columns, the
  12482. * alignments also dictates how to align it inside the box, as given with
  12483. * the inside option. Can be one of `left`, `center` or `right`.
  12484. */
  12485. align?: (AlignValue|null);
  12486. /**
  12487. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  12488. * overlap. To make the labels less sensitive for overlapping, the
  12489. * dataLabels.padding can be set to 0.
  12490. */
  12491. allowOverlap?: boolean;
  12492. /**
  12493. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  12494. * animation when a series is displayed for the `dataLabels`. The animation
  12495. * can also be set as a configuration object. Please note that this option
  12496. * only applies to the initial animation. For other animations, see
  12497. * chart.animation and the animation parameter under the API methods. The
  12498. * following properties are supported:
  12499. *
  12500. * - `defer`: The animation delay time in milliseconds.
  12501. */
  12502. animation?: (boolean|NavigatorSeriesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  12503. /**
  12504. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  12505. * for the data label.
  12506. */
  12507. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  12508. /**
  12509. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  12510. * label. Defaults to `undefined`.
  12511. */
  12512. borderColor?: (ColorString|GradientColorObject|PatternObject);
  12513. /**
  12514. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  12515. * the data label.
  12516. */
  12517. borderRadius?: number;
  12518. /**
  12519. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  12520. * the data label.
  12521. */
  12522. borderWidth?: number;
  12523. /**
  12524. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  12525. * Particularly in styled mode, this can be used to give each series' or
  12526. * point's data label unique styling. In addition to this option, a default
  12527. * color class name is added so that we can give the labels a contrast text
  12528. * shadow.
  12529. */
  12530. className?: string;
  12531. /**
  12532. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  12533. * labels. Defaults to `undefined`. For certain series types, like column or
  12534. * map, the data labels can be drawn inside the points. In this case the
  12535. * data label will be drawn with maximum contrast by default. Additionally,
  12536. * it will be given a `text-outline` style with the opposite color, to
  12537. * further increase the contrast. This can be overridden by setting the
  12538. * `text-outline` style to `none` in the `dataLabels.style` option.
  12539. */
  12540. color?: (ColorString|GradientColorObject|PatternObject);
  12541. /**
  12542. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  12543. * are outside the plot area. By default, the data label is moved inside the
  12544. * plot area according to the overflow option.
  12545. */
  12546. crop?: boolean;
  12547. /**
  12548. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  12549. * labels until the initial series animation has finished. Setting to
  12550. * `false` renders the data label immediately. If set to `true` inherits the
  12551. * defer time set in plotOptions.series.animation. If set to a number, a
  12552. * defer time is specified in milliseconds.
  12553. */
  12554. defer?: (boolean|number);
  12555. /**
  12556. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  12557. * labels.
  12558. */
  12559. enabled?: boolean;
  12560. /**
  12561. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  12562. * of which data labels to display. The declarative filter is designed for
  12563. * use when callback functions are not available, like when the chart
  12564. * options require a pure JSON structure or for use with graphical editors.
  12565. * For programmatic control, use the `formatter` instead, and return
  12566. * `undefined` to disable a single data label.
  12567. */
  12568. filter?: DataLabelsFilterOptionsObject;
  12569. /**
  12570. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  12571. * label. Available variables are the same as for `formatter`.
  12572. */
  12573. format?: string;
  12574. /**
  12575. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  12576. * format the data label. Note that if a `format` is defined, the format
  12577. * takes precedence and the formatter is ignored.
  12578. */
  12579. formatter?: DataLabelsFormatterCallbackFunction;
  12580. /**
  12581. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  12582. * columns or map areas, whether to align the data label inside the box or
  12583. * to the actual value point. Defaults to `false` in most cases, `true` in
  12584. * stacked columns.
  12585. */
  12586. inside?: boolean;
  12587. /**
  12588. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  12589. * of null. Works analogously to format. `nullFormat` can be applied only to
  12590. * series which support displaying null points.
  12591. */
  12592. nullFormat?: (boolean|string);
  12593. /**
  12594. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  12595. * that defines formatting for points with the value of null. Works
  12596. * analogously to formatter. `nullPointFormatter` can be applied only to
  12597. * series which support displaying null points.
  12598. */
  12599. nullFormatter?: DataLabelsFormatterCallbackFunction;
  12600. /**
  12601. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  12602. * flow outside the plot area. The default is `"justify"`, which aligns them
  12603. * inside the plot area. For columns and bars, this means it will be moved
  12604. * inside the bar. To display data labels outside the plot area, set `crop`
  12605. * to `false` and `overflow` to `"allow"`.
  12606. */
  12607. overflow?: DataLabelsOverflowValue;
  12608. /**
  12609. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  12610. * the `backgroundColor` is set, this is the padding within the box.
  12611. */
  12612. padding?: number;
  12613. /**
  12614. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  12615. * points. If `center` alignment is not possible, it defaults to `right`.
  12616. */
  12617. position?: AlignValue;
  12618. /**
  12619. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  12620. * that due to a more complex structure, backgrounds, borders and padding
  12621. * will be lost on a rotated data label.
  12622. */
  12623. rotation?: number;
  12624. /**
  12625. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  12626. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  12627. * an object configuration containing `color`, `offsetX`, `offsetY`,
  12628. * `opacity` and `width`.
  12629. */
  12630. shadow?: (boolean|ShadowOptionsObject);
  12631. /**
  12632. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  12633. * the border around the label. Symbols are predefined functions on the
  12634. * Renderer object.
  12635. */
  12636. shape?: string;
  12637. /**
  12638. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  12639. * default `color` setting is `"contrast"`, which is a pseudo color that
  12640. * Highcharts picks up and applies the maximum contrast to the underlying
  12641. * point item, for example the bar in a bar chart.
  12642. *
  12643. * The `textOutline` is a pseudo property that applies an outline of the
  12644. * given width with the given color, which by default is the maximum
  12645. * contrast to the text. So a bright text color will result in a black text
  12646. * outline for maximum readability on a mixed background. In some cases,
  12647. * especially with grayscale text, the text outline doesn't work well, in
  12648. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  12649. * is true, the `textOutline` will not be picked up. In this, case, the same
  12650. * effect can be acheived through the `text-shadow` CSS property.
  12651. *
  12652. * For some series types, where each point has an extent, like for example
  12653. * tree maps, the data label may overflow the point. There are two
  12654. * strategies for handling overflow. By default, the text will wrap to
  12655. * multiple lines. The other strategy is to set `style.textOverflow` to
  12656. * `ellipsis`, which will keep the text on one line plus it will break
  12657. * inside long words.
  12658. */
  12659. style?: CSSObject;
  12660. /**
  12661. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  12662. * should follow marker's shape. Border and background are disabled for a
  12663. * label that follows a path.
  12664. *
  12665. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  12666. * to true will disable this option.
  12667. */
  12668. textPath?: DataLabelsTextPathOptionsObject;
  12669. /**
  12670. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  12671. * the labels.
  12672. */
  12673. useHTML?: boolean;
  12674. /**
  12675. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  12676. * label. Can be one of `top`, `middle` or `bottom`. The default value
  12677. * depends on the data, for instance in a column chart, the label is above
  12678. * positive values and below negative values.
  12679. */
  12680. verticalAlign?: (VerticalAlignValue|null);
  12681. /**
  12682. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  12683. * label relative to the point in pixels.
  12684. */
  12685. x?: number;
  12686. /**
  12687. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  12688. * label relative to the point in pixels.
  12689. */
  12690. y?: number;
  12691. /**
  12692. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  12693. * The default Z index puts it above the series. Use a Z index of 2 to
  12694. * display it behind the series.
  12695. */
  12696. z?: number;
  12697. zIndex?: number;
  12698. }
  12699. export interface NavigatorSeriesMarkerOptions {
  12700. enabled?: boolean;
  12701. }
  12702. /**
  12703. * (Highstock, Gantt) Options for the navigator series. Available options are
  12704. * the same as any series, documented at plotOptions and series.
  12705. *
  12706. * Unless data is explicitly defined on navigator.series, the data is borrowed
  12707. * from the first series in the chart.
  12708. *
  12709. * Default series options for the navigator series are: (see online
  12710. * documentation for example)
  12711. */
  12712. export interface NavigatorSeriesOptions {
  12713. className?: string;
  12714. /**
  12715. * (Highstock, Gantt) Sets the fill color of the navigator series.
  12716. */
  12717. color?: (ColorString|GradientColorObject|PatternObject);
  12718. /**
  12719. * (Highstock) Unless data is explicitly defined, the data is borrowed from
  12720. * the first series in the chart.
  12721. */
  12722. data?: Array<(number|Array<(number|string|null)>|object|null)>;
  12723. /**
  12724. * (Highstock) Data grouping options for the navigator series.
  12725. */
  12726. dataGrouping?: DataGroupingOptionsObject;
  12727. /**
  12728. * (Highcharts, Highstock, Highmaps, Gantt) Data label options for the
  12729. * navigator series. Data labels are disabled by default on the navigator
  12730. * series.
  12731. */
  12732. dataLabels?: (NavigatorSeriesDataLabelsOptions|Array<NavigatorSeriesDataLabelsOptions>);
  12733. /**
  12734. * (Highstock, Gantt) The fill opacity of the navigator series.
  12735. */
  12736. fillOpacity?: number;
  12737. id?: string;
  12738. /**
  12739. * (Highstock, Gantt) Line color for the navigator series. Allows setting
  12740. * the color while disallowing the default candlestick setting.
  12741. */
  12742. lineColor?: (ColorString|null);
  12743. /**
  12744. * (Highstock, Gantt) The pixel line width of the navigator series.
  12745. */
  12746. lineWidth?: number;
  12747. marker?: NavigatorSeriesMarkerOptions;
  12748. /**
  12749. * (Highstock) Since Highcharts Stock v8, default value is the same as
  12750. * default `pointRange` defined for a specific type (e.g. `null` for column
  12751. * type).
  12752. *
  12753. * In Highcharts Stock version < 8, defaults to 0.
  12754. */
  12755. pointRange?: (number|null);
  12756. /**
  12757. * (Highstock, Gantt) The threshold option. Setting it to 0 will make the
  12758. * default navigator area series draw its area from the 0 value and up.
  12759. */
  12760. threshold?: (number|null);
  12761. /**
  12762. * (Highstock, Gantt) The type of the navigator series.
  12763. *
  12764. * Heads up: In column-type navigator, zooming is limited to at least one
  12765. * point with its `pointRange`.
  12766. */
  12767. type?: string;
  12768. }
  12769. /**
  12770. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  12771. * sections defined will be left out and all the points shifted closer to each
  12772. * other.
  12773. */
  12774. export interface NavigatorXAxisBreaksOptions {
  12775. /**
  12776. * (Highcharts, Highstock, Gantt) A number indicating how much space should
  12777. * be left between the start and the end of the break. The break size is
  12778. * given in axis units, so for instance on a `datetime` axis, a break size
  12779. * of 3600000 would indicate the equivalent of an hour.
  12780. */
  12781. breakSize?: number;
  12782. /**
  12783. * (Highcharts, Highstock, Gantt) The point where the break starts.
  12784. */
  12785. from?: number;
  12786. /**
  12787. * (Highcharts, Highstock, Gantt) Defines an interval after which the break
  12788. * appears again. By default the breaks do not repeat.
  12789. */
  12790. repeat?: number;
  12791. /**
  12792. * (Highcharts, Highstock, Gantt) The point where the break ends.
  12793. */
  12794. to?: number;
  12795. }
  12796. /**
  12797. * (Gantt) An object defining mouse events for the plot line. Supported
  12798. * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  12799. */
  12800. export interface NavigatorXAxisCurrentDateIndicatorEventsOptions {
  12801. /**
  12802. * (Gantt) Click event on a plot band.
  12803. */
  12804. click?: EventCallbackFunction<PlotLineOrBand>;
  12805. /**
  12806. * (Gantt) Mouse move event on a plot band.
  12807. */
  12808. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  12809. /**
  12810. * (Gantt) Mouse out event on the corner of a plot band.
  12811. */
  12812. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  12813. /**
  12814. * (Gantt) Mouse over event on a plot band.
  12815. */
  12816. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  12817. }
  12818. /**
  12819. * (Gantt) Text labels for the plot bands
  12820. */
  12821. export interface NavigatorXAxisCurrentDateIndicatorLabelOptions {
  12822. /**
  12823. * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
  12824. * or "right".
  12825. */
  12826. align?: AlignValue;
  12827. /**
  12828. * (Gantt) Format of the label. This options is passed as the fist argument
  12829. * to dateFormat function.
  12830. */
  12831. format?: string;
  12832. /**
  12833. * (Gantt) Callback JavaScript function to format the label. Useful
  12834. * properties like the value of plot line or the range of plot band (`from`
  12835. * & `to` properties) can be found in `this.options` object.
  12836. */
  12837. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  12838. /**
  12839. * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
  12840. * horizontal plot lines and 90 for vertical lines.
  12841. */
  12842. rotation?: number;
  12843. /**
  12844. * (Gantt) CSS styles for the text label.
  12845. *
  12846. * In styled mode, the labels are styled by the
  12847. * `.highcharts-plot-line-label` class.
  12848. */
  12849. style?: CSSObject;
  12850. /**
  12851. * (Gantt) The text itself. A subset of HTML is supported.
  12852. */
  12853. text?: string;
  12854. /**
  12855. * (Gantt) The text alignment for the label. While `align` determines where
  12856. * the texts anchor point is placed within the plot band, `textAlign`
  12857. * determines how the text is aligned against its anchor point. Possible
  12858. * values are "left", "center" and "right". Defaults to the same as the
  12859. * `align` option.
  12860. */
  12861. textAlign?: AlignValue;
  12862. /**
  12863. * (Gantt) Whether to use HTML to render the labels.
  12864. */
  12865. useHTML?: boolean;
  12866. /**
  12867. * (Gantt) Vertical alignment of the label relative to the plot line. Can be
  12868. * one of "top", "middle" or "bottom".
  12869. */
  12870. verticalAlign?: VerticalAlignValue;
  12871. /**
  12872. * (Gantt) Horizontal position relative the alignment. Default varies by
  12873. * orientation.
  12874. */
  12875. x?: number;
  12876. /**
  12877. * (Gantt) Vertical position of the text baseline relative to the alignment.
  12878. * Default varies by orientation.
  12879. */
  12880. y?: number;
  12881. }
  12882. /**
  12883. * (Highstock, Gantt) Event handlers for the axis.
  12884. */
  12885. export interface NavigatorXAxisEventsOptions {
  12886. /**
  12887. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  12888. */
  12889. afterBreaks?: AxisEventCallbackFunction;
  12890. /**
  12891. * (Highstock, Gantt) As opposed to the `setExtremes` event, this event
  12892. * fires after the final min and max values are computed and corrected for
  12893. * `minRange`.
  12894. *
  12895. * Fires when the minimum and maximum is set for the axis, either by calling
  12896. * the `.setExtremes()` method or by selecting an area in the chart. One
  12897. * parameter, `event`, is passed to the function, containing common event
  12898. * information.
  12899. *
  12900. * The new user set minimum and maximum values can be found by `event.min`
  12901. * and `event.max`. These reflect the axis minimum and maximum in axis
  12902. * values. The actual data extremes are found in `event.dataMin` and
  12903. * `event.dataMax`.
  12904. */
  12905. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  12906. /**
  12907. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  12908. * a point.
  12909. */
  12910. pointBreak?: AxisPointBreakEventCallbackFunction;
  12911. /**
  12912. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  12913. * break from this axis.
  12914. */
  12915. pointInBreak?: AxisPointBreakEventCallbackFunction;
  12916. /**
  12917. * (Highstock, Gantt) Fires when the minimum and maximum is set for the
  12918. * axis, either by calling the `.setExtremes()` method or by selecting an
  12919. * area in the chart. One parameter, `event`, is passed to the function,
  12920. * containing common event information.
  12921. *
  12922. * The new user set minimum and maximum values can be found by `event.min`
  12923. * and `event.max`. These reflect the axis minimum and maximum in data
  12924. * values. When an axis is zoomed all the way out from the "Reset zoom"
  12925. * button, `event.min` and `event.max` are null, and the new extremes are
  12926. * set based on `this.dataMin` and `this.dataMax`.
  12927. */
  12928. setExtremes?: AxisSetExtremesEventCallbackFunction;
  12929. }
  12930. /**
  12931. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  12932. */
  12933. export interface NavigatorXAxisGridOptions {
  12934. /**
  12935. * (Gantt) Set border color for the label grid lines.
  12936. */
  12937. borderColor?: ColorString;
  12938. /**
  12939. * (Gantt) Set border width of the label grid lines.
  12940. */
  12941. borderWidth?: number;
  12942. /**
  12943. * (Gantt) Set cell height for grid axis labels. By default this is
  12944. * calculated from font size. This option only applies to horizontal axes.
  12945. */
  12946. cellHeight?: number;
  12947. /**
  12948. * (Gantt) Set specific options for each column (or row for horizontal axes)
  12949. * in the grid. Each extra column/row is its own axis, and the axis options
  12950. * can be set here.
  12951. */
  12952. columns?: Array<XAxisOptions>;
  12953. /**
  12954. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  12955. * charts.
  12956. */
  12957. enabled?: boolean;
  12958. }
  12959. /**
  12960. * (Highstock, Gantt) The axis labels show the number or category for each tick.
  12961. *
  12962. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  12963. * `tickInterval` and `step` is set to 1.
  12964. */
  12965. export interface NavigatorXAxisLabelsOptions {
  12966. /**
  12967. * (Highstock, Gantt) What part of the string the given position is anchored
  12968. * to. If `left`, the left side of the string is at the axis position. Can
  12969. * be one of `"left"`, `"center"` or `"right"`. Defaults to an intelligent
  12970. * guess based on which side of the chart the axis is on and the rotation of
  12971. * the label.
  12972. */
  12973. align?: string;
  12974. /**
  12975. * (Highstock, Gantt) Whether to allow the axis labels to overlap. When
  12976. * false, overlapping labels are hidden.
  12977. */
  12978. allowOverlap?: boolean;
  12979. /**
  12980. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  12981. * of label rotation to prevent overlapping labels. If there is enough
  12982. * space, labels are not rotated. As the chart gets narrower, it will start
  12983. * rotating the labels -45 degrees, then remove every second label and try
  12984. * again with rotations 0 and -45 etc. Set it to `undefined` to disable
  12985. * rotation, which will cause the labels to word-wrap if possible. Defaults
  12986. * to `[-45]`` on bottom and top axes, `undefined` on left and right axes.
  12987. */
  12988. autoRotation?: Array<number>;
  12989. /**
  12990. * (Highcharts, Gantt) When each category width is more than this many
  12991. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  12992. * with word wrap. A lower limit makes sense when the label contains
  12993. * multiple short words that don't extend the available horizontal space for
  12994. * each label.
  12995. */
  12996. autoRotationLimit?: number;
  12997. /**
  12998. * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
  12999. * the perimeter of the plot area.
  13000. */
  13001. distance?: number;
  13002. /**
  13003. * (Highstock, Gantt) Enable or disable the axis labels.
  13004. */
  13005. enabled?: boolean;
  13006. /**
  13007. * (Highstock, Gantt) A format string for the axis label. The context is
  13008. * available as format string variables. For example, you can use `{text}`
  13009. * to insert the default formatted text. The recommended way of adding units
  13010. * for the label is using `text`, for example `{text} km`.
  13011. *
  13012. * To add custom numeric or datetime formatting, use `{value}` with
  13013. * formatting, for example `{value:.1f}` or `{value:%Y-%m-%d}`.
  13014. *
  13015. * See format string for more examples of formatting.
  13016. *
  13017. * The default value is not specified due to the dynamic nature of the
  13018. * default implementation.
  13019. */
  13020. format?: string;
  13021. /**
  13022. * (Highstock, Gantt) Callback JavaScript function to format the label. The
  13023. * value is given by `this.value`. Additional properties for `this` are
  13024. * `axis`, `chart`, `isFirst`, `isLast` and `text` which holds the value of
  13025. * the default formatter.
  13026. *
  13027. * Defaults to a built in function returning a formatted string depending on
  13028. * whether the axis is `category`, `datetime`, `numeric` or other.
  13029. */
  13030. formatter?: AxisLabelsFormatterCallbackFunction;
  13031. /**
  13032. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  13033. * axis.
  13034. */
  13035. indentation?: number;
  13036. /**
  13037. * (Highstock, Gantt) How to handle overflowing labels on horizontal axis.
  13038. * If set to `"allow"`, it will not be aligned at all. By default it
  13039. * `"justify"` labels inside the chart area. If there is room to move it, it
  13040. * will be aligned to the edge, else it will be removed.
  13041. */
  13042. overflow?: OptionsOverflowValue;
  13043. /**
  13044. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  13045. * space between them.
  13046. */
  13047. padding?: number;
  13048. /**
  13049. * (Highcharts) Defines how the labels are be repositioned according to the
  13050. * 3D chart orientation.
  13051. *
  13052. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  13053. * marks, despite the chart orientation. This is the backwards compatible
  13054. * behavior, and causes skewing of X and Z axes.
  13055. *
  13056. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  13057. * but hard to read if the text isn't forward-facing.
  13058. *
  13059. * - `'flap'`: Rotated text along the axis to compensate for the chart
  13060. * orientation. This tries to maintain text as legible as possible on all
  13061. * orientations.
  13062. *
  13063. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  13064. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  13065. * skewing the labels (X and Y scaling are still present).
  13066. */
  13067. position3d?: OptionsPosition3dValue;
  13068. /**
  13069. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  13070. * space is reserved for the labels in these cases:
  13071. *
  13072. * * On all horizontal axes.
  13073. *
  13074. * * On vertical axes if `label.align` is `right` on a left-side axis or
  13075. * `left` on a right-side axis.
  13076. *
  13077. * * On vertical axes if `label.align` is `center`.
  13078. *
  13079. * This can be turned off when for example the labels are rendered inside
  13080. * the plot area instead of outside.
  13081. */
  13082. reserveSpace?: boolean;
  13083. /**
  13084. * (Highstock, Gantt) Rotation of the labels in degrees. When `undefined`,
  13085. * the `autoRotation` option takes precedence.
  13086. */
  13087. rotation?: number;
  13088. /**
  13089. * (Highcharts) If enabled, the axis labels will skewed to follow the
  13090. * perspective.
  13091. *
  13092. * This will fix overlapping labels and titles, but texts become less
  13093. * legible due to the distortion.
  13094. *
  13095. * The final appearance depends heavily on `labels.position3d`.
  13096. */
  13097. skew3d?: boolean;
  13098. /**
  13099. * (Highstock, Gantt) Horizontal axes only. The number of lines to spread
  13100. * the labels over to make room or tighter labels. 0 disables staggering.
  13101. */
  13102. staggerLines?: object;
  13103. /**
  13104. * (Highstock, Gantt) To show only every _n_'th label on the axis, set the
  13105. * step to _n_. Setting the step to 2 shows every other label.
  13106. *
  13107. * By default, when 0, the step is calculated automatically to avoid
  13108. * overlap. To prevent this, set it to 1\. This usually only happens on a
  13109. * category axis, and is often a sign that you have chosen the wrong axis
  13110. * type.
  13111. *
  13112. * Read more at Axis docs => What axis should I use?
  13113. */
  13114. step?: number;
  13115. /**
  13116. * (Highstock, Gantt) CSS styles for the label. Use `whiteSpace: 'nowrap'`
  13117. * to prevent wrapping of category labels. Use `textOverflow: 'none'` to
  13118. * prevent ellipsis (dots).
  13119. *
  13120. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  13121. * class.
  13122. */
  13123. style?: CSSObject;
  13124. /**
  13125. * (Highstock, Gantt) Whether to use HTML to render the labels.
  13126. */
  13127. useHTML?: boolean;
  13128. /**
  13129. * (Highstock, Gantt) The x position offset of all labels relative to the
  13130. * tick positions on the axis.
  13131. */
  13132. x?: number;
  13133. /**
  13134. * (Highstock, Gantt) The y position offset of all labels relative to the
  13135. * tick positions on the axis. The default makes it adapt to the font size
  13136. * of the bottom axis.
  13137. */
  13138. y?: number;
  13139. /**
  13140. * (Highstock, Gantt) The Z index for the axis labels.
  13141. */
  13142. zIndex?: number;
  13143. }
  13144. /**
  13145. * (Highstock, Gantt) Options for the navigator X axis. Default series options
  13146. * for the navigator xAxis are: (see online documentation for example)
  13147. */
  13148. export interface NavigatorXAxisOptions {
  13149. /**
  13150. * (Highstock, Gantt) Accessibility options for an axis. Requires the
  13151. * accessibility module.
  13152. */
  13153. accessibility?: AxisAccessibilityOptionsObject;
  13154. /**
  13155. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  13156. * or more opposite axes will automatically be aligned by adding ticks to
  13157. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  13158. *
  13159. * This can be prevented by setting `alignTicks` to false. If the grid lines
  13160. * look messy, it's a good idea to hide them for the secondary axis by
  13161. * setting `gridLineWidth` to 0.
  13162. *
  13163. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  13164. * the `alignTicks ` will be disabled for the Axis.
  13165. *
  13166. * Disabled for logarithmic axes.
  13167. */
  13168. alignTicks?: boolean;
  13169. /**
  13170. * (Highstock, Gantt) Whether to allow decimals in this axis' ticks. When
  13171. * counting integers, like persons or hits on a web page, decimals should be
  13172. * avoided in the labels. By default, decimals are allowed on small scale
  13173. * axes.
  13174. */
  13175. allowDecimals?: (boolean|undefined);
  13176. /**
  13177. * (Highstock, Gantt) When using an alternate grid color, a band is painted
  13178. * across the plot area between every other grid line.
  13179. */
  13180. alternateGridColor?: ColorType;
  13181. /**
  13182. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  13183. * degrees, where 0 is up and 90 is right. The angle determines the position
  13184. * of the axis line and the labels, though the coordinate system is
  13185. * unaffected. Since v8.0.0 this option is also applicable for X axis
  13186. * (inverted polar).
  13187. */
  13188. angle?: number;
  13189. /**
  13190. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  13191. * sections defined will be left out and all the points shifted closer to
  13192. * each other.
  13193. */
  13194. breaks?: Array<NavigatorXAxisBreaksOptions>;
  13195. /**
  13196. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  13197. * used instead of numbers for that axis.
  13198. *
  13199. * Since Highcharts 3.0, categories can also be extracted by giving each
  13200. * point a name and setting axis type to `category`. However, if you have
  13201. * multiple series, best practice remains defining the `categories` array.
  13202. *
  13203. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  13204. */
  13205. categories?: Array<string>;
  13206. /**
  13207. * (Highcharts, Highstock, Gantt) The highest allowed value for
  13208. * automatically computed axis extremes.
  13209. */
  13210. ceiling?: number;
  13211. /**
  13212. * (Highstock, Gantt) A class name that opens for styling the axis by CSS,
  13213. * especially in Highcharts styled mode. The class name is applied to group
  13214. * elements for the grid, axis elements and labels.
  13215. */
  13216. className?: string;
  13217. /**
  13218. * (Highstock, Gantt) Configure a crosshair that follows either the mouse
  13219. * pointer or the hovered point.
  13220. *
  13221. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  13222. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  13223. */
  13224. crosshair?: (boolean|AxisCrosshairOptions);
  13225. /**
  13226. * (Gantt) Show an indicator on the axis for the current date and time. Can
  13227. * be a boolean or a configuration object similar to xAxis.plotLines.
  13228. */
  13229. currentDateIndicator?: (boolean|CurrentDateIndicatorOptions|CurrentDateIndicatorOptions);
  13230. /**
  13231. * (Highcharts, Highstock, Gantt) For a datetime axis, the scale will
  13232. * automatically adjust to the appropriate unit. This member gives the
  13233. * default string representations used for each unit. For intermediate
  13234. * values, different units may be used, for example the `day` unit can be
  13235. * used on midnight and `hour` unit be used for intermediate values on the
  13236. * same axis.
  13237. *
  13238. * For an overview of the replacement codes, see dateFormat.
  13239. *
  13240. * Defaults to: (see online documentation for example)
  13241. */
  13242. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  13243. /**
  13244. * (Highstock, Gantt) Whether to force the axis to end on a tick. Use this
  13245. * option with the `maxPadding` option to control the axis end.
  13246. */
  13247. endOnTick?: boolean;
  13248. /**
  13249. * (Highstock, Gantt) Event handlers for the axis.
  13250. */
  13251. events?: NavigatorXAxisEventsOptions;
  13252. /**
  13253. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  13254. * computed axis extremes.
  13255. */
  13256. floor?: number;
  13257. /**
  13258. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  13259. */
  13260. grid?: NavigatorXAxisGridOptions;
  13261. /**
  13262. * (Highstock, Gantt) Color of the grid lines extending the ticks across the
  13263. * plot area.
  13264. *
  13265. * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
  13266. */
  13267. gridLineColor?: string;
  13268. /**
  13269. * (Highstock, Gantt) The dash or dot style of the grid lines. For possible
  13270. * values, see this demonstration.
  13271. */
  13272. gridLineDashStyle?: DashStyleValue;
  13273. /**
  13274. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  13275. * polygon with straight lines between categories, or as circles. Can be
  13276. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  13277. * for X axis (inverted polar).
  13278. */
  13279. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  13280. /**
  13281. * (Highstock, Gantt) The width of the grid lines extending the ticks across
  13282. * the plot area. Defaults to 1 on the Y axis and 0 on the X axis, except
  13283. * for 3d charts.
  13284. *
  13285. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  13286. * class.
  13287. */
  13288. gridLineWidth?: number;
  13289. /**
  13290. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  13291. */
  13292. gridZIndex?: number;
  13293. /**
  13294. * (Highcharts, Highstock) The height as the vertical axis. If it's a
  13295. * number, it is interpreted as pixels.
  13296. *
  13297. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  13298. * percentages of the total plot height.
  13299. */
  13300. height?: (number|string);
  13301. /**
  13302. * (Highstock, Gantt) An id for the axis. This can be used after render time
  13303. * to get a pointer to the axis object through `chart.get()`.
  13304. */
  13305. id?: string;
  13306. /**
  13307. * (Highstock, Gantt) The axis labels show the number or category for each
  13308. * tick.
  13309. *
  13310. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  13311. * data if `tickInterval` and `step` is set to 1.
  13312. */
  13313. labels?: NavigatorXAxisLabelsOptions;
  13314. /**
  13315. * (Highcharts, Highstock) The left position as the horizontal axis. If it's
  13316. * a number, it is interpreted as pixel position relative to the chart.
  13317. *
  13318. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  13319. * as percentages of the plot width, offset from plot area left.
  13320. */
  13321. left?: (number|string);
  13322. /**
  13323. * (Highstock, Gantt) The color of the line marking the axis itself.
  13324. *
  13325. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  13326. * or `.highcharts-xaxis-line` class.
  13327. */
  13328. lineColor?: ColorType;
  13329. /**
  13330. * (Highstock, Gantt) The width of the line marking the axis itself.
  13331. *
  13332. * In styled mode, the stroke width is given in the `.highcharts-axis-line`
  13333. * or `.highcharts-xaxis-line` class.
  13334. */
  13335. lineWidth?: number;
  13336. /**
  13337. * (Highstock, Gantt) If there are multiple axes on the same side of the
  13338. * chart, the pixel margin between the axes. Defaults to 0 on vertical axes,
  13339. * 15 on horizontal axes.
  13340. */
  13341. margin?: number;
  13342. /**
  13343. * (Highstock, Gantt) The maximum value of the axis. If `null`, the max
  13344. * value is automatically calculated.
  13345. *
  13346. * If the endOnTick option is true, the `max` value might be rounded up.
  13347. *
  13348. * If a tickAmount is set, the axis may be extended beyond the set max in
  13349. * order to reach the given number of ticks. The same may happen in a chart
  13350. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  13351. * is applied internally.
  13352. */
  13353. max?: (number|null);
  13354. /**
  13355. * (Highstock, Gantt) Padding of the max value relative to the length of the
  13356. * axis. A padding of 0.05 will make a 100px axis 5px longer. This is useful
  13357. * when you don't want the highest data value to appear on the edge of the
  13358. * plot area. When the axis' `max` option is set or a max extreme is set
  13359. * using `axis.setExtremes()`, the maxPadding will be ignored.
  13360. */
  13361. maxPadding?: number;
  13362. /**
  13363. * (Highstock, Gantt) The minimum value of the axis. If `null` the min value
  13364. * is automatically calculated.
  13365. *
  13366. * If the startOnTick option is true (default), the `min` value might be
  13367. * rounded down.
  13368. *
  13369. * The automatically calculated minimum value is also affected by floor,
  13370. * softMin, minPadding, minRange as well as series.threshold and
  13371. * series.softThreshold.
  13372. */
  13373. min?: (number|null);
  13374. /**
  13375. * (Highstock, Gantt) Color of the minor, secondary grid lines.
  13376. *
  13377. * In styled mode, the stroke width is given in the
  13378. * `.highcharts-minor-grid-line` class.
  13379. */
  13380. minorGridLineColor?: ColorType;
  13381. /**
  13382. * (Highstock, Gantt) The dash or dot style of the minor grid lines. For
  13383. * possible values, see this demonstration.
  13384. */
  13385. minorGridLineDashStyle?: DashStyleValue;
  13386. /**
  13387. * (Highstock, Gantt) Width of the minor, secondary grid lines.
  13388. *
  13389. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  13390. * class.
  13391. */
  13392. minorGridLineWidth?: number;
  13393. /**
  13394. * (Highstock, Gantt) Color for the minor tick marks.
  13395. */
  13396. minorTickColor?: ColorType;
  13397. /**
  13398. * (Highstock, Gantt) Specific tick interval in axis units for the minor
  13399. * ticks. On a linear axis, if `"auto"`, the minor tick interval is
  13400. * calculated as a fifth of the tickInterval. If `null` or `undefined`,
  13401. * minor ticks are not shown.
  13402. *
  13403. * On logarithmic axes, the unit is the power of the value. For example,
  13404. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  13405. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  13406. * and 10, 10 and 100 etc.
  13407. *
  13408. * If user settings dictate minor ticks to become too dense, they don't make
  13409. * sense, and will be ignored to prevent performance problems.
  13410. */
  13411. minorTickInterval?: (number|string|null);
  13412. /**
  13413. * (Highstock, Gantt) The pixel length of the minor tick marks.
  13414. */
  13415. minorTickLength?: number;
  13416. /**
  13417. * (Highstock, Gantt) The position of the minor tick marks relative to the
  13418. * axis line. Can be one of `inside` and `outside`.
  13419. */
  13420. minorTickPosition?: OptionsMinorTickPositionValue;
  13421. /**
  13422. * (Highstock, Gantt) Enable or disable minor ticks. Unless
  13423. * minorTickInterval is set, the tick interval is calculated as a fifth of
  13424. * the `tickInterval`.
  13425. *
  13426. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  13427. * attempting to enter approximately 5 minor ticks between each major tick.
  13428. *
  13429. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  13430. * `minorTickInterval` to `"auto"`.
  13431. */
  13432. minorTicks?: boolean;
  13433. /**
  13434. * (Highstock, Gantt) The pixel width of the minor tick mark.
  13435. */
  13436. minorTickWidth?: number;
  13437. /**
  13438. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  13439. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  13440. * This is useful when you don't want the lowest data value to appear on the
  13441. * edge of the plot area. When the axis' `min` option is set or a min
  13442. * extreme is set using `axis.setExtremes()`, the minPadding will be
  13443. * ignored.
  13444. */
  13445. minPadding?: number;
  13446. /**
  13447. * (Highstock, Gantt) The minimum tick interval allowed in axis values. For
  13448. * example on zooming in on an axis with daily data, this can be used to
  13449. * prevent the axis from showing hours. Defaults to the closest distance
  13450. * between two points on the axis.
  13451. */
  13452. minTickInterval?: number;
  13453. /**
  13454. * (Highstock, Gantt) The distance in pixels from the plot area to the axis
  13455. * line. A positive offset moves the axis with it's line, labels and ticks
  13456. * away from the plot area. This is typically used when two or more axes are
  13457. * displayed on the same side of the plot. With multiple axes the offset is
  13458. * dynamically adjusted to avoid collision, this can be overridden by
  13459. * setting offset explicitly.
  13460. */
  13461. offset?: string;
  13462. /**
  13463. * (Highstock) In an ordinal axis, the points are equally spaced in the
  13464. * chart regardless of the actual time or x distance between them. This
  13465. * means that missing data periods (e.g. nights or weekends for a stock
  13466. * chart) will not take up space in the chart. Having `ordinal: false` will
  13467. * show any gaps created by the `gapSize` setting proportionate to their
  13468. * duration.
  13469. *
  13470. * In stock charts the X axis is ordinal by default, unless the boost module
  13471. * is used and at least one of the series' data length exceeds the
  13472. * boostThreshold.
  13473. */
  13474. ordinal?: boolean;
  13475. /**
  13476. * (Highstock) Additional range on the right side of the xAxis. Works
  13477. * similar to xAxis.maxPadding, but value is set in milliseconds. Can be set
  13478. * for both, main xAxis and navigator's xAxis.
  13479. */
  13480. overscroll?: number;
  13481. /**
  13482. * (Highcharts) Refers to the index in the panes array. Used for circular
  13483. * gauges and polar charts. When the option is not set then first pane will
  13484. * be used.
  13485. */
  13486. pane?: number;
  13487. /**
  13488. * (Highcharts, Highstock, Gantt) An array of colored bands stretching
  13489. * across the plot area marking an interval on the axis.
  13490. *
  13491. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  13492. * class in addition to the `className` option.
  13493. */
  13494. plotBands?: Array<NavigatorXAxisPlotBandsOptions>;
  13495. /**
  13496. * (Highcharts, Highstock, Gantt) An array of lines stretching across the
  13497. * plot area, marking a specific value on one of the axes.
  13498. *
  13499. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  13500. * class in addition to the `className` option.
  13501. */
  13502. plotLines?: Array<NavigatorXAxisPlotLinesOptions>;
  13503. /**
  13504. * (Highstock, Gantt) Whether to reverse the axis so that the highest number
  13505. * is closest to the origin. If the chart is inverted, the x axis is
  13506. * reversed by default.
  13507. */
  13508. reversed?: boolean;
  13509. /**
  13510. * (Highcharts, Highstock) This option determines how stacks should be
  13511. * ordered within a group. For example reversed xAxis also reverses stacks,
  13512. * so first series comes last in a group. To keep order like for
  13513. * non-reversed xAxis enable this option.
  13514. */
  13515. reversedStacks?: boolean;
  13516. /**
  13517. * (Highstock, Gantt) Whether to show the first tick label.
  13518. */
  13519. showFirstLabel?: boolean;
  13520. /**
  13521. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  13522. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  13523. */
  13524. showLastLabel?: boolean;
  13525. /**
  13526. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  13527. * data maximum is less than this, the axis will stay at this maximum, but
  13528. * if the series data maximum is higher, the axis will flex to show all
  13529. * data.
  13530. */
  13531. softMax?: number;
  13532. /**
  13533. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  13534. * data minimum is greater than this, the axis will stay at this minimum,
  13535. * but if the series data minimum is lower, the axis will flex to show all
  13536. * data.
  13537. */
  13538. softMin?: number;
  13539. /**
  13540. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  13541. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  13542. */
  13543. startOfWeek?: number;
  13544. /**
  13545. * (Highstock, Gantt) Whether to force the axis to start on a tick. Use this
  13546. * option with the `minPadding` option to control the axis start.
  13547. */
  13548. startOnTick?: boolean;
  13549. /**
  13550. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  13551. * This opens up for aligning the ticks of multiple charts or panes within a
  13552. * chart. This option overrides the `tickPixelInterval` option.
  13553. *
  13554. * This option only has an effect on linear axes. Datetime, logarithmic or
  13555. * category axes are not affected.
  13556. */
  13557. tickAmount?: number;
  13558. /**
  13559. * (Highstock, Gantt) Color for the main tick marks.
  13560. *
  13561. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  13562. */
  13563. tickColor?: ColorType;
  13564. /**
  13565. * (Highstock, Gantt) The interval of the tick marks in axis units. When
  13566. * `undefined`, the tick interval is computed to approximately follow the
  13567. * tickPixelInterval on linear and datetime axes. On categorized axes, a
  13568. * `undefined` tickInterval will default to 1, one category. Note that
  13569. * datetime axes are based on milliseconds, so for example an interval of
  13570. * one day is expressed as `24 * 3600 * 1000`.
  13571. *
  13572. * On logarithmic axes, the tickInterval is based on powers, so a
  13573. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  13574. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  13575. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  13576. * etc.
  13577. *
  13578. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  13579. * remove ticks.
  13580. *
  13581. * If the chart has multiple axes, the alignTicks option may interfere with
  13582. * the `tickInterval` setting.
  13583. */
  13584. tickInterval?: number;
  13585. /**
  13586. * (Highstock, Gantt) The pixel length of the main tick marks.
  13587. */
  13588. tickLength?: number;
  13589. /**
  13590. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  13591. * placed in the center of the category, if `between` the tick mark is
  13592. * placed between categories. The default is `between` if the `tickInterval`
  13593. * is 1, else `on`.
  13594. */
  13595. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  13596. /**
  13597. * (Highstock, Gantt) If tickInterval is `null` this option sets the
  13598. * approximate pixel interval of the tick marks. Not applicable to
  13599. * categorized axis.
  13600. *
  13601. * The tick interval is also influenced by the minTickInterval option, that,
  13602. * by default prevents ticks from being denser than the data points.
  13603. */
  13604. tickPixelInterval?: number;
  13605. /**
  13606. * (Highstock, Gantt) The position of the major tick marks relative to the
  13607. * axis line. Can be one of `inside` and `outside`.
  13608. */
  13609. tickPosition?: OptionsTickPositionValue;
  13610. /**
  13611. * (Highstock, Gantt) A callback function returning array defining where the
  13612. * ticks are laid out on the axis. This overrides the default behaviour of
  13613. * tickPixelInterval and tickInterval. The automatic tick positions are
  13614. * accessible through `this.tickPositions` and can be modified by the
  13615. * callback.
  13616. */
  13617. tickPositioner?: AxisTickPositionerCallbackFunction;
  13618. /**
  13619. * (Highstock, Gantt) An array defining where the ticks are laid out on the
  13620. * axis. This overrides the default behaviour of tickPixelInterval and
  13621. * tickInterval.
  13622. */
  13623. tickPositions?: Array<number>;
  13624. /**
  13625. * (Highstock, Gantt) The pixel width of the major tick marks. Defaults to 0
  13626. * on category axes, otherwise 1.
  13627. *
  13628. * In styled mode, the stroke width is given in the `.highcharts-tick`
  13629. * class, but in order for the element to be generated on category axes, the
  13630. * option must be explicitly set to 1.
  13631. */
  13632. tickWidth?: (number|undefined);
  13633. /**
  13634. * (Highstock, Gantt) The axis title, showing next to the axis line.
  13635. */
  13636. title?: NavigatorXAxisTitleOptions;
  13637. /**
  13638. * (Highcharts, Highstock) The top position as the vertical axis. If it's a
  13639. * number, it is interpreted as pixel position relative to the chart.
  13640. *
  13641. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  13642. * percentages of the plot height, offset from plot area top.
  13643. */
  13644. top?: (number|string);
  13645. /**
  13646. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  13647. * `logarithmic`, `datetime` or `category`. In a datetime axis, the numbers
  13648. * are given in milliseconds, and tick marks are placed on appropriate
  13649. * values like full hours or days. In a category axis, the point names of
  13650. * the chart's series are used for categories, if not a categories array is
  13651. * defined.
  13652. */
  13653. type?: AxisTypeValue;
  13654. /**
  13655. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  13656. * `uniqueNames` is true, points are placed on the X axis according to their
  13657. * names. If the same point name is repeated in the same or another series,
  13658. * the point is placed on the same X position as other points of the same
  13659. * name. When `uniqueNames` is false, the points are laid out in increasing
  13660. * X positions regardless of their names, and the X axis category will take
  13661. * the name of the last point in each position.
  13662. */
  13663. uniqueNames?: boolean;
  13664. /**
  13665. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  13666. * what time intervals the ticks are allowed to fall on. Each array item is
  13667. * an array where the first value is the time unit and the second value
  13668. * another array of allowed multiples.
  13669. *
  13670. * Defaults to: (see online documentation for example)
  13671. */
  13672. units?: Array<[string, (Array<number>|null)]>;
  13673. /**
  13674. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  13675. * ticks and labels, should be visible.
  13676. */
  13677. visible?: boolean;
  13678. /**
  13679. * (Highcharts, Highstock) The width as the horizontal axis. If it's a
  13680. * number, it is interpreted as pixels.
  13681. *
  13682. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  13683. * as percentages of the total plot width.
  13684. */
  13685. width?: (number|string);
  13686. /**
  13687. * (Highstock, Gantt) The Z index for the axis group.
  13688. */
  13689. zIndex?: number;
  13690. /**
  13691. * (Highstock, Gantt) Whether to zoom axis. If `chart.zoomType` is set, the
  13692. * option allows to disable zooming on an individual axis.
  13693. */
  13694. zoomEnabled?: boolean;
  13695. }
  13696. /**
  13697. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  13698. * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  13699. */
  13700. export interface NavigatorXAxisPlotBandsEventsOptions {
  13701. /**
  13702. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  13703. */
  13704. click?: EventCallbackFunction<PlotLineOrBand>;
  13705. /**
  13706. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  13707. */
  13708. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  13709. /**
  13710. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  13711. * band.
  13712. */
  13713. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  13714. /**
  13715. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  13716. */
  13717. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  13718. }
  13719. /**
  13720. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  13721. */
  13722. export interface NavigatorXAxisPlotBandsLabelOptions {
  13723. /**
  13724. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  13725. * one of "left", "center" or "right".
  13726. */
  13727. align?: AlignValue;
  13728. /**
  13729. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
  13730. */
  13731. rotation?: number;
  13732. /**
  13733. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  13734. *
  13735. * In styled mode, the labels are styled by the
  13736. * `.highcharts-plot-band-label` class.
  13737. */
  13738. style?: CSSObject;
  13739. /**
  13740. * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
  13741. * is supported.
  13742. */
  13743. text?: string;
  13744. /**
  13745. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  13746. * `align` determines where the texts anchor point is placed within the plot
  13747. * band, `textAlign` determines how the text is aligned against its anchor
  13748. * point. Possible values are "left", "center" and "right". Defaults to the
  13749. * same as the `align` option.
  13750. */
  13751. textAlign?: AlignValue;
  13752. /**
  13753. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  13754. */
  13755. useHTML?: boolean;
  13756. /**
  13757. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  13758. * to the plot band. Can be one of "top", "middle" or "bottom".
  13759. */
  13760. verticalAlign?: VerticalAlignValue;
  13761. /**
  13762. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  13763. * alignment. Default varies by orientation.
  13764. */
  13765. x?: number;
  13766. /**
  13767. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  13768. * relative to the alignment. Default varies by orientation.
  13769. */
  13770. y?: number;
  13771. }
  13772. /**
  13773. * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
  13774. * the plot area marking an interval on the axis.
  13775. *
  13776. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  13777. * class in addition to the `className` option.
  13778. */
  13779. export interface NavigatorXAxisPlotBandsOptions {
  13780. /**
  13781. * (Highstock) Flag to decide if plotBand should be rendered across all
  13782. * panes.
  13783. */
  13784. acrossPanes?: boolean;
  13785. /**
  13786. * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
  13787. * requires `borderWidth` to be set.
  13788. */
  13789. borderColor?: ColorString;
  13790. /**
  13791. * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
  13792. * requires `borderColor` to be set.
  13793. */
  13794. borderWidth?: number;
  13795. /**
  13796. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  13797. * default `highcharts-plot-band`, to apply to each individual band.
  13798. */
  13799. className?: string;
  13800. /**
  13801. * (Highcharts, Highstock, Gantt) The color of the plot band.
  13802. */
  13803. color?: (ColorString|GradientColorObject|PatternObject);
  13804. /**
  13805. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  13806. * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
  13807. * `mousemove`.
  13808. */
  13809. events?: NavigatorXAxisPlotBandsEventsOptions;
  13810. /**
  13811. * (Highcharts, Highstock, Gantt) The start position of the plot band in
  13812. * axis units.
  13813. */
  13814. from?: number;
  13815. /**
  13816. * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
  13817. * in Axis.removePlotBand.
  13818. */
  13819. id?: string;
  13820. /**
  13821. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  13822. */
  13823. label?: NavigatorXAxisPlotBandsLabelOptions;
  13824. /**
  13825. * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
  13826. * units.
  13827. */
  13828. to?: number;
  13829. /**
  13830. * (Highcharts, Highstock, Gantt) The z index of the plot band within the
  13831. * chart, relative to other elements. Using the same z index as another
  13832. * element may give unpredictable results, as the last rendered element will
  13833. * be on top. Values from 0 to 20 make sense.
  13834. */
  13835. zIndex?: number;
  13836. }
  13837. /**
  13838. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  13839. * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  13840. */
  13841. export interface NavigatorXAxisPlotLinesEventsOptions {
  13842. /**
  13843. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  13844. */
  13845. click?: EventCallbackFunction<PlotLineOrBand>;
  13846. /**
  13847. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  13848. */
  13849. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  13850. /**
  13851. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  13852. * band.
  13853. */
  13854. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  13855. /**
  13856. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  13857. */
  13858. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  13859. }
  13860. /**
  13861. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  13862. */
  13863. export interface NavigatorXAxisPlotLinesLabelOptions {
  13864. /**
  13865. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  13866. * one of "left", "center" or "right".
  13867. */
  13868. align?: AlignValue;
  13869. /**
  13870. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  13871. * label. Useful properties like the value of plot line or the range of plot
  13872. * band (`from` & `to` properties) can be found in `this.options` object.
  13873. */
  13874. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  13875. /**
  13876. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
  13877. * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
  13878. */
  13879. rotation?: number;
  13880. /**
  13881. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  13882. *
  13883. * In styled mode, the labels are styled by the
  13884. * `.highcharts-plot-line-label` class.
  13885. */
  13886. style?: CSSObject;
  13887. /**
  13888. * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
  13889. * supported.
  13890. */
  13891. text?: string;
  13892. /**
  13893. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  13894. * `align` determines where the texts anchor point is placed within the plot
  13895. * band, `textAlign` determines how the text is aligned against its anchor
  13896. * point. Possible values are "left", "center" and "right". Defaults to the
  13897. * same as the `align` option.
  13898. */
  13899. textAlign?: AlignValue;
  13900. /**
  13901. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  13902. */
  13903. useHTML?: boolean;
  13904. /**
  13905. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  13906. * to the plot line. Can be one of "top", "middle" or "bottom".
  13907. */
  13908. verticalAlign?: VerticalAlignValue;
  13909. /**
  13910. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  13911. * alignment. Default varies by orientation.
  13912. */
  13913. x?: number;
  13914. /**
  13915. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  13916. * relative to the alignment. Default varies by orientation.
  13917. */
  13918. y?: number;
  13919. }
  13920. /**
  13921. * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
  13922. * area, marking a specific value on one of the axes.
  13923. *
  13924. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  13925. * class in addition to the `className` option.
  13926. */
  13927. export interface NavigatorXAxisPlotLinesOptions {
  13928. /**
  13929. * (Highstock) Flag to decide if plotLine should be rendered across all
  13930. * panes.
  13931. */
  13932. acrossPanes?: boolean;
  13933. /**
  13934. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  13935. * default `highcharts-plot-line`, to apply to each individual line.
  13936. */
  13937. className?: string;
  13938. /**
  13939. * (Highcharts, Highstock, Gantt) The color of the line.
  13940. */
  13941. color?: ColorString;
  13942. /**
  13943. * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
  13944. * line. For possible values see this overview.
  13945. */
  13946. dashStyle?: DashStyleValue;
  13947. /**
  13948. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  13949. * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
  13950. * `mousemove`.
  13951. */
  13952. events?: NavigatorXAxisPlotLinesEventsOptions;
  13953. /**
  13954. * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
  13955. * in Axis.removePlotLine.
  13956. */
  13957. id?: string;
  13958. /**
  13959. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  13960. */
  13961. label?: NavigatorXAxisPlotLinesLabelOptions;
  13962. /**
  13963. * (Highcharts, Highstock, Gantt) The position of the line in axis units.
  13964. */
  13965. value?: number;
  13966. /**
  13967. * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
  13968. */
  13969. width?: number;
  13970. /**
  13971. * (Highcharts, Highstock, Gantt) The z index of the plot line within the
  13972. * chart.
  13973. */
  13974. zIndex?: number;
  13975. }
  13976. /**
  13977. * (Highstock, Gantt) The axis title, showing next to the axis line.
  13978. */
  13979. export interface NavigatorXAxisTitleOptions {
  13980. /**
  13981. * (Highstock, Gantt) Alignment of the title relative to the axis values.
  13982. * Possible values are "low", "middle" or "high".
  13983. */
  13984. align?: AxisTitleAlignValue;
  13985. /**
  13986. * (Highstock, Gantt) The pixel distance between the axis labels or line and
  13987. * the title. Defaults to 0 for horizontal axes, 10 for vertical
  13988. */
  13989. margin?: number;
  13990. /**
  13991. * (Highstock, Gantt) The distance of the axis title from the axis line. By
  13992. * default, this distance is computed from the offset width of the labels,
  13993. * the labels' distance from the axis and the title's margin. However when
  13994. * the offset option is set, it overrides all this.
  13995. */
  13996. offset?: number;
  13997. /**
  13998. * (Highcharts) Defines how the title is repositioned according to the 3D
  13999. * chart orientation.
  14000. *
  14001. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  14002. * marks, despite the chart orientation. This is the backwards compatible
  14003. * behavior, and causes skewing of X and Z axes.
  14004. *
  14005. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  14006. * but hard to read if the text isn't forward-facing.
  14007. *
  14008. * - `'flap'`: Rotated text along the axis to compensate for the chart
  14009. * orientation. This tries to maintain text as legible as possible on all
  14010. * orientations.
  14011. *
  14012. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  14013. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  14014. * skewing the labels (X and Y scaling are still present).
  14015. *
  14016. * - `undefined`: Will use the config from `labels.position3d`
  14017. */
  14018. position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
  14019. /**
  14020. * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
  14021. * when laying out the axis.
  14022. */
  14023. reserveSpace?: boolean;
  14024. /**
  14025. * (Highstock, Gantt) The rotation of the text in degrees. 0 is horizontal,
  14026. * 270 is vertical reading from bottom to top.
  14027. */
  14028. rotation?: number;
  14029. /**
  14030. * (Highcharts) If enabled, the axis title will skewed to follow the
  14031. * perspective.
  14032. *
  14033. * This will fix overlapping labels and titles, but texts become less
  14034. * legible due to the distortion.
  14035. *
  14036. * The final appearance depends heavily on `title.position3d`.
  14037. *
  14038. * A `null` value will use the config from `labels.skew3d`.
  14039. */
  14040. skew3d?: (boolean|null);
  14041. /**
  14042. * (Highstock, Gantt) CSS styles for the title. If the title text is longer
  14043. * than the axis length, it will wrap to multiple lines by default. This can
  14044. * be customized by setting `textOverflow: 'ellipsis'`, by setting a
  14045. * specific `width` or by setting `whiteSpace: 'nowrap'`.
  14046. *
  14047. * In styled mode, the stroke width is given in the `.highcharts-axis-title`
  14048. * class.
  14049. */
  14050. style?: CSSObject;
  14051. /**
  14052. * (Highstock, Gantt) The actual text of the axis title. It can contain
  14053. * basic HTML tags like `b`, `i` and `span` with style.
  14054. */
  14055. text?: (string|null);
  14056. /**
  14057. * (Highstock, Gantt) Alignment of the text, can be `"left"`, `"right"` or
  14058. * `"center"`. Default alignment depends on the title.align:
  14059. *
  14060. * Horizontal axes:
  14061. *
  14062. * - for `align` = `"low"`, `textAlign` is set to `left`
  14063. *
  14064. * - for `align` = `"middle"`, `textAlign` is set to `center`
  14065. *
  14066. * - for `align` = `"high"`, `textAlign` is set to `right`
  14067. *
  14068. * Vertical axes:
  14069. *
  14070. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  14071. * `right`
  14072. *
  14073. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  14074. * `left`
  14075. *
  14076. * - for `align` = `"middle"`, `textAlign` is set to `center`
  14077. *
  14078. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  14079. * `left`
  14080. *
  14081. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  14082. * `right`
  14083. */
  14084. textAlign?: AlignValue;
  14085. /**
  14086. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
  14087. * title.
  14088. */
  14089. useHTML?: boolean;
  14090. /**
  14091. * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
  14092. * position.
  14093. */
  14094. x?: number;
  14095. /**
  14096. * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
  14097. * position.
  14098. */
  14099. y?: number;
  14100. }
  14101. /**
  14102. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  14103. * sections defined will be left out and all the points shifted closer to each
  14104. * other.
  14105. */
  14106. export interface NavigatorYAxisBreaksOptions {
  14107. /**
  14108. * (Highcharts, Highstock, Gantt) A number indicating how much space should
  14109. * be left between the start and the end of the break. The break size is
  14110. * given in axis units, so for instance on a `datetime` axis, a break size
  14111. * of 3600000 would indicate the equivalent of an hour.
  14112. */
  14113. breakSize?: number;
  14114. /**
  14115. * (Highcharts, Highstock, Gantt) The point where the break starts.
  14116. */
  14117. from?: number;
  14118. /**
  14119. * (Highcharts, Highstock, Gantt) Defines an interval after which the break
  14120. * appears again. By default the breaks do not repeat.
  14121. */
  14122. repeat?: number;
  14123. /**
  14124. * (Highcharts, Highstock, Gantt) The point where the break ends.
  14125. */
  14126. to?: number;
  14127. }
  14128. /**
  14129. * (Highstock, Gantt) Event handlers for the axis.
  14130. */
  14131. export interface NavigatorYAxisEventsOptions {
  14132. /**
  14133. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  14134. */
  14135. afterBreaks?: AxisEventCallbackFunction;
  14136. /**
  14137. * (Highstock, Gantt) As opposed to the `setExtremes` event, this event
  14138. * fires after the final min and max values are computed and corrected for
  14139. * `minRange`.
  14140. *
  14141. * Fires when the minimum and maximum is set for the axis, either by calling
  14142. * the `.setExtremes()` method or by selecting an area in the chart. One
  14143. * parameter, `event`, is passed to the function, containing common event
  14144. * information.
  14145. *
  14146. * The new user set minimum and maximum values can be found by `event.min`
  14147. * and `event.max`. These reflect the axis minimum and maximum in axis
  14148. * values. The actual data extremes are found in `event.dataMin` and
  14149. * `event.dataMax`.
  14150. */
  14151. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  14152. /**
  14153. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  14154. * a point.
  14155. */
  14156. pointBreak?: AxisPointBreakEventCallbackFunction;
  14157. /**
  14158. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  14159. * break from this axis.
  14160. */
  14161. pointInBreak?: AxisPointBreakEventCallbackFunction;
  14162. /**
  14163. * (Highstock, Gantt) Fires when the minimum and maximum is set for the
  14164. * axis, either by calling the `.setExtremes()` method or by selecting an
  14165. * area in the chart. One parameter, `event`, is passed to the function,
  14166. * containing common event information.
  14167. *
  14168. * The new user set minimum and maximum values can be found by `event.min`
  14169. * and `event.max`. These reflect the axis minimum and maximum in data
  14170. * values. When an axis is zoomed all the way out from the "Reset zoom"
  14171. * button, `event.min` and `event.max` are null, and the new extremes are
  14172. * set based on `this.dataMin` and `this.dataMax`.
  14173. */
  14174. setExtremes?: AxisSetExtremesEventCallbackFunction;
  14175. }
  14176. /**
  14177. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  14178. */
  14179. export interface NavigatorYAxisGridOptions {
  14180. /**
  14181. * (Gantt) Set border color for the label grid lines.
  14182. */
  14183. borderColor?: ColorString;
  14184. /**
  14185. * (Gantt) Set border width of the label grid lines.
  14186. */
  14187. borderWidth?: number;
  14188. /**
  14189. * (Gantt) Set cell height for grid axis labels. By default this is
  14190. * calculated from font size. This option only applies to horizontal axes.
  14191. */
  14192. cellHeight?: number;
  14193. /**
  14194. * (Gantt) Set specific options for each column (or row for horizontal axes)
  14195. * in the grid. Each extra column/row is its own axis, and the axis options
  14196. * can be set here.
  14197. */
  14198. columns?: Array<XAxisOptions>;
  14199. /**
  14200. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  14201. * charts.
  14202. */
  14203. enabled?: boolean;
  14204. }
  14205. /**
  14206. * (Gantt) Set options on specific levels in a tree grid axis. Takes precedence
  14207. * over labels options.
  14208. */
  14209. export interface NavigatorYAxisLabelsLevelsOptions {
  14210. /**
  14211. * (Gantt) Specify the level which the options within this object applies
  14212. * to.
  14213. */
  14214. level?: number;
  14215. style?: CSSObject;
  14216. }
  14217. /**
  14218. * (Highstock, Gantt) The axis labels show the number or category for each tick.
  14219. *
  14220. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  14221. * `tickInterval` and `step` is set to 1.
  14222. */
  14223. export interface NavigatorYAxisLabelsOptions {
  14224. /**
  14225. * (Highstock, Gantt) What part of the string the given position is anchored
  14226. * to. Can be one of `"left"`, `"center"` or `"right"`. The exact position
  14227. * also depends on the `labels.x` setting.
  14228. *
  14229. * Angular gauges and solid gauges defaults to `"center"`. Solid gauges with
  14230. * two labels have additional option `"auto"` for automatic horizontal and
  14231. * vertical alignment.
  14232. */
  14233. align?: AlignValue;
  14234. /**
  14235. * (Highstock, Gantt) Whether to allow the axis labels to overlap. When
  14236. * false, overlapping labels are hidden.
  14237. */
  14238. allowOverlap?: boolean;
  14239. /**
  14240. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  14241. * of label rotation to prevent overlapping labels. If there is enough
  14242. * space, labels are not rotated. As the chart gets narrower, it will start
  14243. * rotating the labels -45 degrees, then remove every second label and try
  14244. * again with rotations 0 and -45 etc. Set it to `undefined` to disable
  14245. * rotation, which will cause the labels to word-wrap if possible. Defaults
  14246. * to `[-45]`` on bottom and top axes, `undefined` on left and right axes.
  14247. */
  14248. autoRotation?: Array<number>;
  14249. /**
  14250. * (Highcharts, Gantt) When each category width is more than this many
  14251. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  14252. * with word wrap. A lower limit makes sense when the label contains
  14253. * multiple short words that don't extend the available horizontal space for
  14254. * each label.
  14255. */
  14256. autoRotationLimit?: number;
  14257. /**
  14258. * (Highcharts) Angular gauges and solid gauges only. The label's pixel
  14259. * distance from the perimeter of the plot area.
  14260. *
  14261. * Since v7.1.2: If it's a percentage string, it is interpreted the same as
  14262. * series.radius, so label can be aligned under the gauge's shape.
  14263. */
  14264. distance?: (number|string);
  14265. /**
  14266. * (Highstock, Gantt) Enable or disable the axis labels.
  14267. */
  14268. enabled?: boolean;
  14269. /**
  14270. * (Highstock, Gantt) A format string for the axis label. The context is
  14271. * available as format string variables. For example, you can use `{text}`
  14272. * to insert the default formatted text. The recommended way of adding units
  14273. * for the label is using `text`, for example `{text} km`.
  14274. *
  14275. * To add custom numeric or datetime formatting, use `{value}` with
  14276. * formatting, for example `{value:.1f}` or `{value:%Y-%m-%d}`.
  14277. *
  14278. * See format string for more examples of formatting.
  14279. *
  14280. * The default value is not specified due to the dynamic nature of the
  14281. * default implementation.
  14282. */
  14283. format?: string;
  14284. /**
  14285. * (Highstock, Gantt) Callback JavaScript function to format the label. The
  14286. * value is given by `this.value`. Additional properties for `this` are
  14287. * `axis`, `chart`, `isFirst`, `isLast` and `text` which holds the value of
  14288. * the default formatter.
  14289. *
  14290. * Defaults to a built in function returning a formatted string depending on
  14291. * whether the axis is `category`, `datetime`, `numeric` or other.
  14292. */
  14293. formatter?: AxisLabelsFormatterCallbackFunction;
  14294. /**
  14295. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  14296. * axis.
  14297. */
  14298. indentation?: number;
  14299. /**
  14300. * (Gantt) Set options on specific levels in a tree grid axis. Takes
  14301. * precedence over labels options.
  14302. */
  14303. levels?: Array<NavigatorYAxisLabelsLevelsOptions>;
  14304. /**
  14305. * (Highstock, Gantt) How to handle overflowing labels on horizontal axis.
  14306. * If set to `"allow"`, it will not be aligned at all. By default it
  14307. * `"justify"` labels inside the chart area. If there is room to move it, it
  14308. * will be aligned to the edge, else it will be removed.
  14309. */
  14310. overflow?: OptionsOverflowValue;
  14311. /**
  14312. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  14313. * space between them.
  14314. */
  14315. padding?: number;
  14316. /**
  14317. * (Highcharts) Defines how the labels are be repositioned according to the
  14318. * 3D chart orientation.
  14319. *
  14320. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  14321. * marks, despite the chart orientation. This is the backwards compatible
  14322. * behavior, and causes skewing of X and Z axes.
  14323. *
  14324. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  14325. * but hard to read if the text isn't forward-facing.
  14326. *
  14327. * - `'flap'`: Rotated text along the axis to compensate for the chart
  14328. * orientation. This tries to maintain text as legible as possible on all
  14329. * orientations.
  14330. *
  14331. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  14332. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  14333. * skewing the labels (X and Y scaling are still present).
  14334. */
  14335. position3d?: OptionsPosition3dValue;
  14336. /**
  14337. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  14338. * space is reserved for the labels in these cases:
  14339. *
  14340. * * On all horizontal axes.
  14341. *
  14342. * * On vertical axes if `label.align` is `right` on a left-side axis or
  14343. * `left` on a right-side axis.
  14344. *
  14345. * * On vertical axes if `label.align` is `center`.
  14346. *
  14347. * This can be turned off when for example the labels are rendered inside
  14348. * the plot area instead of outside.
  14349. */
  14350. reserveSpace?: boolean;
  14351. /**
  14352. * (Highstock, Gantt) Rotation of the labels in degrees. When `undefined`,
  14353. * the `autoRotation` option takes precedence.
  14354. */
  14355. rotation?: number;
  14356. /**
  14357. * (Highcharts) If enabled, the axis labels will skewed to follow the
  14358. * perspective.
  14359. *
  14360. * This will fix overlapping labels and titles, but texts become less
  14361. * legible due to the distortion.
  14362. *
  14363. * The final appearance depends heavily on `labels.position3d`.
  14364. */
  14365. skew3d?: boolean;
  14366. /**
  14367. * (Highstock, Gantt) Horizontal axes only. The number of lines to spread
  14368. * the labels over to make room or tighter labels. 0 disables staggering.
  14369. */
  14370. staggerLines?: object;
  14371. /**
  14372. * (Highstock, Gantt) To show only every _n_'th label on the axis, set the
  14373. * step to _n_. Setting the step to 2 shows every other label.
  14374. *
  14375. * By default, when 0, the step is calculated automatically to avoid
  14376. * overlap. To prevent this, set it to 1\. This usually only happens on a
  14377. * category axis, and is often a sign that you have chosen the wrong axis
  14378. * type.
  14379. *
  14380. * Read more at Axis docs => What axis should I use?
  14381. */
  14382. step?: number;
  14383. /**
  14384. * (Highstock, Gantt) CSS styles for the label. Use `whiteSpace: 'nowrap'`
  14385. * to prevent wrapping of category labels. Use `textOverflow: 'none'` to
  14386. * prevent ellipsis (dots).
  14387. *
  14388. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  14389. * class.
  14390. */
  14391. style?: CSSObject;
  14392. /**
  14393. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  14394. */
  14395. symbol?: NavigatorYAxisLabelsSymbolOptions;
  14396. /**
  14397. * (Highstock, Gantt) Whether to use HTML to render the labels.
  14398. */
  14399. useHTML?: boolean;
  14400. /**
  14401. * (Highstock, Gantt) The x position offset of all labels relative to the
  14402. * tick positions on the axis. Defaults to -15 for left axis, 15 for right
  14403. * axis.
  14404. */
  14405. x?: number;
  14406. /**
  14407. * (Highstock, Gantt) The y position offset of all labels relative to the
  14408. * tick positions on the axis. For polar and radial axis consider the use of
  14409. * the distance option.
  14410. */
  14411. y?: number;
  14412. /**
  14413. * (Highstock, Gantt) The Z index for the axis labels.
  14414. */
  14415. zIndex?: number;
  14416. }
  14417. /**
  14418. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  14419. */
  14420. export interface NavigatorYAxisLabelsSymbolOptions {
  14421. height?: number;
  14422. padding?: number;
  14423. /**
  14424. * (Gantt) The symbol type. Points to a definition function in the
  14425. * `Highcharts.Renderer.symbols` collection.
  14426. */
  14427. type?: SymbolKeyValue;
  14428. width?: number;
  14429. x?: number;
  14430. y?: number;
  14431. }
  14432. /**
  14433. * (Highstock, Gantt) Options for the navigator Y axis. Default series options
  14434. * for the navigator yAxis are: (see online documentation for example)
  14435. */
  14436. export interface NavigatorYAxisOptions {
  14437. /**
  14438. * (Highstock, Gantt) Accessibility options for an axis. Requires the
  14439. * accessibility module.
  14440. */
  14441. accessibility?: AxisAccessibilityOptionsObject;
  14442. /**
  14443. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  14444. * or more opposite axes will automatically be aligned by adding ticks to
  14445. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  14446. *
  14447. * This can be prevented by setting `alignTicks` to false. If the grid lines
  14448. * look messy, it's a good idea to hide them for the secondary axis by
  14449. * setting `gridLineWidth` to 0.
  14450. *
  14451. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  14452. * the `alignTicks ` will be disabled for the Axis.
  14453. *
  14454. * Disabled for logarithmic axes.
  14455. */
  14456. alignTicks?: boolean;
  14457. /**
  14458. * (Highstock, Gantt) Whether to allow decimals in this axis' ticks. When
  14459. * counting integers, like persons or hits on a web page, decimals should be
  14460. * avoided in the labels. By default, decimals are allowed on small scale
  14461. * axes.
  14462. */
  14463. allowDecimals?: (boolean|undefined);
  14464. /**
  14465. * (Highstock, Gantt) When using an alternate grid color, a band is painted
  14466. * across the plot area between every other grid line.
  14467. */
  14468. alternateGridColor?: ColorType;
  14469. /**
  14470. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  14471. * degrees, where 0 is up and 90 is right. The angle determines the position
  14472. * of the axis line and the labels, though the coordinate system is
  14473. * unaffected. Since v8.0.0 this option is also applicable for X axis
  14474. * (inverted polar).
  14475. */
  14476. angle?: number;
  14477. /**
  14478. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  14479. * sections defined will be left out and all the points shifted closer to
  14480. * each other.
  14481. */
  14482. breaks?: Array<NavigatorYAxisBreaksOptions>;
  14483. /**
  14484. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  14485. * used instead of numbers for that axis.
  14486. *
  14487. * Since Highcharts 3.0, categories can also be extracted by giving each
  14488. * point a name and setting axis type to `category`. However, if you have
  14489. * multiple series, best practice remains defining the `categories` array.
  14490. *
  14491. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  14492. */
  14493. categories?: Array<string>;
  14494. /**
  14495. * (Highcharts, Highstock, Gantt) The highest allowed value for
  14496. * automatically computed axis extremes.
  14497. */
  14498. ceiling?: number;
  14499. /**
  14500. * (Highstock, Gantt) A class name that opens for styling the axis by CSS,
  14501. * especially in Highcharts styled mode. The class name is applied to group
  14502. * elements for the grid, axis elements and labels.
  14503. */
  14504. className?: string;
  14505. /**
  14506. * (Highstock, Gantt) Configure a crosshair that follows either the mouse
  14507. * pointer or the hovered point.
  14508. *
  14509. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  14510. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  14511. */
  14512. crosshair?: (boolean|AxisCrosshairOptions);
  14513. /**
  14514. * (Highcharts, Highstock, Gantt) For a datetime axis, the scale will
  14515. * automatically adjust to the appropriate unit. This member gives the
  14516. * default string representations used for each unit. For intermediate
  14517. * values, different units may be used, for example the `day` unit can be
  14518. * used on midnight and `hour` unit be used for intermediate values on the
  14519. * same axis.
  14520. *
  14521. * For an overview of the replacement codes, see dateFormat.
  14522. *
  14523. * Defaults to: (see online documentation for example)
  14524. */
  14525. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  14526. /**
  14527. * (Highstock, Gantt) Whether to force the axis to end on a tick. Use this
  14528. * option with the `maxPadding` option to control the axis end.
  14529. *
  14530. * This option is always disabled, when panning type is either `y` or `xy`.
  14531. */
  14532. endOnTick?: boolean;
  14533. /**
  14534. * (Highstock, Gantt) Event handlers for the axis.
  14535. */
  14536. events?: NavigatorYAxisEventsOptions;
  14537. /**
  14538. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  14539. * computed axis extremes.
  14540. */
  14541. floor?: number;
  14542. /**
  14543. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  14544. */
  14545. grid?: NavigatorYAxisGridOptions;
  14546. /**
  14547. * (Highstock, Gantt) Color of the grid lines extending the ticks across the
  14548. * plot area.
  14549. *
  14550. * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
  14551. */
  14552. gridLineColor?: ColorType;
  14553. /**
  14554. * (Highstock, Gantt) The dash or dot style of the grid lines. For possible
  14555. * values, see this demonstration.
  14556. */
  14557. gridLineDashStyle?: DashStyleValue;
  14558. /**
  14559. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  14560. * polygon with straight lines between categories, or as circles. Can be
  14561. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  14562. * for X axis (inverted polar).
  14563. */
  14564. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  14565. /**
  14566. * (Highstock, Gantt) The width of the grid lines extending the ticks across
  14567. * the plot area. Defaults to 1 on the Y axis and 0 on the X axis, except
  14568. * for 3d charts.
  14569. *
  14570. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  14571. * class.
  14572. */
  14573. gridLineWidth?: number;
  14574. /**
  14575. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  14576. */
  14577. gridZIndex?: number;
  14578. /**
  14579. * (Highstock, Gantt) An id for the axis. This can be used after render time
  14580. * to get a pointer to the axis object through `chart.get()`.
  14581. */
  14582. id?: string;
  14583. /**
  14584. * (Highstock, Gantt) The axis labels show the number or category for each
  14585. * tick.
  14586. *
  14587. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  14588. * data if `tickInterval` and `step` is set to 1.
  14589. */
  14590. labels?: NavigatorYAxisLabelsOptions;
  14591. /**
  14592. * (Highcharts, Highstock) The left position as the horizontal axis. If it's
  14593. * a number, it is interpreted as pixel position relative to the chart.
  14594. *
  14595. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  14596. * as percentages of the plot width, offset from plot area left.
  14597. */
  14598. left?: (number|string);
  14599. /**
  14600. * (Highstock, Gantt) The color of the line marking the axis itself.
  14601. *
  14602. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  14603. * or `.highcharts-xaxis-line` class.
  14604. */
  14605. lineColor?: ColorType;
  14606. /**
  14607. * (Highstock, Gantt) The width of the line marking the axis itself.
  14608. *
  14609. * In styled mode, the stroke width is given in the `.highcharts-axis-line`
  14610. * or `.highcharts-xaxis-line` class.
  14611. */
  14612. lineWidth?: number;
  14613. /**
  14614. * (Highstock, Gantt) If there are multiple axes on the same side of the
  14615. * chart, the pixel margin between the axes. Defaults to 0 on vertical axes,
  14616. * 15 on horizontal axes.
  14617. */
  14618. margin?: number;
  14619. /**
  14620. * (Highstock, Gantt) The maximum value of the axis. If `null`, the max
  14621. * value is automatically calculated.
  14622. *
  14623. * If the endOnTick option is true, the `max` value might be rounded up.
  14624. *
  14625. * If a tickAmount is set, the axis may be extended beyond the set max in
  14626. * order to reach the given number of ticks. The same may happen in a chart
  14627. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  14628. * is applied internally.
  14629. */
  14630. max?: (number|null);
  14631. /**
  14632. * (Highcharts) Solid gauge only. Unless stops are set, the color to
  14633. * represent the maximum value of the Y axis.
  14634. */
  14635. maxColor?: ColorType;
  14636. /**
  14637. * (Highcharts, Highstock, Gantt) Padding of the max value relative to the
  14638. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  14639. * This is useful when you don't want the highest data value to appear on
  14640. * the edge of the plot area. When the axis' `max` option is set or a max
  14641. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  14642. * ignored.
  14643. *
  14644. * Also the `softThreshold` option takes precedence over `maxPadding`, so if
  14645. * the data is tangent to the threshold, `maxPadding` may not apply unless
  14646. * `softThreshold` is set to false.
  14647. */
  14648. maxPadding?: number;
  14649. /**
  14650. * (Highstock, Gantt) The minimum value of the axis. If `null` the min value
  14651. * is automatically calculated.
  14652. *
  14653. * If the startOnTick option is true (default), the `min` value might be
  14654. * rounded down.
  14655. *
  14656. * The automatically calculated minimum value is also affected by floor,
  14657. * softMin, minPadding, minRange as well as series.threshold and
  14658. * series.softThreshold.
  14659. */
  14660. min?: (number|null);
  14661. /**
  14662. * (Highcharts) Solid gauge only. Unless stops are set, the color to
  14663. * represent the minimum value of the Y axis.
  14664. */
  14665. minColor?: ColorType;
  14666. /**
  14667. * (Highstock, Gantt) Color of the minor, secondary grid lines.
  14668. *
  14669. * In styled mode, the stroke width is given in the
  14670. * `.highcharts-minor-grid-line` class.
  14671. */
  14672. minorGridLineColor?: ColorType;
  14673. /**
  14674. * (Highstock, Gantt) The dash or dot style of the minor grid lines. For
  14675. * possible values, see this demonstration.
  14676. */
  14677. minorGridLineDashStyle?: DashStyleValue;
  14678. /**
  14679. * (Highstock, Gantt) Width of the minor, secondary grid lines.
  14680. *
  14681. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  14682. * class.
  14683. */
  14684. minorGridLineWidth?: number;
  14685. /**
  14686. * (Highstock, Gantt) Color for the minor tick marks.
  14687. */
  14688. minorTickColor?: ColorType;
  14689. /**
  14690. * (Highstock, Gantt) Specific tick interval in axis units for the minor
  14691. * ticks. On a linear axis, if `"auto"`, the minor tick interval is
  14692. * calculated as a fifth of the tickInterval. If `null` or `undefined`,
  14693. * minor ticks are not shown.
  14694. *
  14695. * On logarithmic axes, the unit is the power of the value. For example,
  14696. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  14697. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  14698. * and 10, 10 and 100 etc.
  14699. *
  14700. * If user settings dictate minor ticks to become too dense, they don't make
  14701. * sense, and will be ignored to prevent performance problems.
  14702. */
  14703. minorTickInterval?: (number|string|null);
  14704. /**
  14705. * (Highstock, Gantt) The pixel length of the minor tick marks.
  14706. */
  14707. minorTickLength?: number;
  14708. /**
  14709. * (Highstock, Gantt) The position of the minor tick marks relative to the
  14710. * axis line. Can be one of `inside` and `outside`.
  14711. */
  14712. minorTickPosition?: OptionsMinorTickPositionValue;
  14713. /**
  14714. * (Highstock, Gantt) Enable or disable minor ticks. Unless
  14715. * minorTickInterval is set, the tick interval is calculated as a fifth of
  14716. * the `tickInterval`.
  14717. *
  14718. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  14719. * attempting to enter approximately 5 minor ticks between each major tick.
  14720. *
  14721. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  14722. * `minorTickInterval` to `"auto"`.
  14723. */
  14724. minorTicks?: boolean;
  14725. /**
  14726. * (Highstock, Gantt) The pixel width of the minor tick mark.
  14727. */
  14728. minorTickWidth?: number;
  14729. /**
  14730. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  14731. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  14732. * This is useful when you don't want the lowest data value to appear on the
  14733. * edge of the plot area. When the axis' `min` option is set or a max
  14734. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  14735. * ignored.
  14736. *
  14737. * Also the `softThreshold` option takes precedence over `minPadding`, so if
  14738. * the data is tangent to the threshold, `minPadding` may not apply unless
  14739. * `softThreshold` is set to false.
  14740. */
  14741. minPadding?: number;
  14742. /**
  14743. * (Highstock, Gantt) The minimum tick interval allowed in axis values. For
  14744. * example on zooming in on an axis with daily data, this can be used to
  14745. * prevent the axis from showing hours. Defaults to the closest distance
  14746. * between two points on the axis.
  14747. */
  14748. minTickInterval?: number;
  14749. /**
  14750. * (Highstock, Gantt) The distance in pixels from the plot area to the axis
  14751. * line. A positive offset moves the axis with it's line, labels and ticks
  14752. * away from the plot area. This is typically used when two or more axes are
  14753. * displayed on the same side of the plot. With multiple axes the offset is
  14754. * dynamically adjusted to avoid collision, this can be overridden by
  14755. * setting offset explicitly.
  14756. */
  14757. offset?: string;
  14758. /**
  14759. * (Highstock, Highcharts, Gantt) Whether to display the axis on the
  14760. * opposite side of the normal. The normal is on the left side for vertical
  14761. * axes and bottom for horizontal, so the opposite sides will be right and
  14762. * top respectively. This is typically used with dual or multiple axes.
  14763. */
  14764. opposite?: boolean;
  14765. /**
  14766. * (Highcharts) Refers to the index in the panes array. Used for circular
  14767. * gauges and polar charts. When the option is not set then first pane will
  14768. * be used.
  14769. */
  14770. pane?: number;
  14771. /**
  14772. * (Highcharts, Highstock, Gantt) An array of colored bands stretching
  14773. * across the plot area marking an interval on the axis.
  14774. *
  14775. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  14776. * class in addition to the `className` option.
  14777. */
  14778. plotBands?: Array<NavigatorYAxisPlotBandsOptions>;
  14779. /**
  14780. * (Highcharts, Highstock, Gantt) An array of lines stretching across the
  14781. * plot area, marking a specific value on one of the axes.
  14782. *
  14783. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  14784. * class in addition to the `className` option.
  14785. */
  14786. plotLines?: Array<NavigatorYAxisPlotLinesOptions>;
  14787. /**
  14788. * (Highstock, Gantt) Whether to reverse the axis so that the highest number
  14789. * is closest to the origin.
  14790. */
  14791. reversed?: boolean;
  14792. /**
  14793. * (Highcharts, Highstock) If `true`, the first series in a stack will be
  14794. * drawn on top in a positive, non-reversed Y axis. If `false`, the first
  14795. * series is in the base of the stack.
  14796. */
  14797. reversedStacks?: boolean;
  14798. /**
  14799. * (Highstock, Gantt) Whether to show the first tick label.
  14800. */
  14801. showFirstLabel?: boolean;
  14802. /**
  14803. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  14804. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  14805. */
  14806. showLastLabel?: boolean;
  14807. /**
  14808. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  14809. * data maximum is less than this, the axis will stay at this maximum, but
  14810. * if the series data maximum is higher, the axis will flex to show all
  14811. * data.
  14812. *
  14813. * **Note**: The series.softThreshold option takes precedence over this
  14814. * option.
  14815. */
  14816. softMax?: number;
  14817. /**
  14818. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  14819. * data minimum is greater than this, the axis will stay at this minimum,
  14820. * but if the series data minimum is lower, the axis will flex to show all
  14821. * data.
  14822. *
  14823. * **Note**: The series.softThreshold option takes precedence over this
  14824. * option.
  14825. */
  14826. softMin?: number;
  14827. /**
  14828. * (Highcharts) The stack labels show the total value for each bar in a
  14829. * stacked column or bar chart. The label will be placed on top of positive
  14830. * columns and below negative columns. In case of an inverted column chart
  14831. * or a bar chart the label is placed to the right of positive bars and to
  14832. * the left of negative bars.
  14833. */
  14834. stackLabels?: NavigatorYAxisStackLabelsOptions;
  14835. /**
  14836. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  14837. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  14838. */
  14839. startOfWeek?: number;
  14840. /**
  14841. * (Highcharts, Highstock, Gantt) Whether to force the axis to start on a
  14842. * tick. Use this option with the `maxPadding` option to control the axis
  14843. * start.
  14844. *
  14845. * This option is always disabled, when panning type is either `y` or `xy`.
  14846. */
  14847. startOnTick?: boolean;
  14848. /**
  14849. * (Gantt) For vertical axes only. Setting the static scale ensures that
  14850. * each tick unit is translated into a fixed pixel height. For example,
  14851. * setting the static scale to 24 results in each Y axis category taking up
  14852. * 24 pixels, and the height of the chart adjusts. Adding or removing items
  14853. * will make the chart resize.
  14854. */
  14855. staticScale?: number;
  14856. /**
  14857. * (Highcharts) Solid gauge series only. Color stops for the solid gauge.
  14858. * Use this in cases where a linear gradient between a `minColor` and
  14859. * `maxColor` is not sufficient. The stops is an array of tuples, where the
  14860. * first item is a float between 0 and 1 assigning the relative position in
  14861. * the gradient, and the second item is the color.
  14862. *
  14863. * For solid gauges, the Y axis also inherits the concept of data classes
  14864. * from the Highmaps color axis.
  14865. */
  14866. stops?: Array<[number, ColorType]>;
  14867. /**
  14868. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  14869. * This opens up for aligning the ticks of multiple charts or panes within a
  14870. * chart. This option overrides the `tickPixelInterval` option.
  14871. *
  14872. * This option only has an effect on linear axes. Datetime, logarithmic or
  14873. * category axes are not affected.
  14874. */
  14875. tickAmount?: number;
  14876. /**
  14877. * (Highstock, Gantt) Color for the main tick marks.
  14878. *
  14879. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  14880. */
  14881. tickColor?: ColorType;
  14882. /**
  14883. * (Highstock, Gantt) The interval of the tick marks in axis units. When
  14884. * `undefined`, the tick interval is computed to approximately follow the
  14885. * tickPixelInterval on linear and datetime axes. On categorized axes, a
  14886. * `undefined` tickInterval will default to 1, one category. Note that
  14887. * datetime axes are based on milliseconds, so for example an interval of
  14888. * one day is expressed as `24 * 3600 * 1000`.
  14889. *
  14890. * On logarithmic axes, the tickInterval is based on powers, so a
  14891. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  14892. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  14893. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  14894. * etc.
  14895. *
  14896. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  14897. * remove ticks.
  14898. *
  14899. * If the chart has multiple axes, the alignTicks option may interfere with
  14900. * the `tickInterval` setting.
  14901. */
  14902. tickInterval?: number;
  14903. /**
  14904. * (Highstock, Gantt) The pixel length of the main tick marks.
  14905. */
  14906. tickLength?: number;
  14907. /**
  14908. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  14909. * placed in the center of the category, if `between` the tick mark is
  14910. * placed between categories. The default is `between` if the `tickInterval`
  14911. * is 1, else `on`.
  14912. */
  14913. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  14914. /**
  14915. * (Highstock, Gantt) If tickInterval is `null` this option sets the
  14916. * approximate pixel interval of the tick marks. Not applicable to
  14917. * categorized axis.
  14918. *
  14919. * The tick interval is also influenced by the minTickInterval option, that,
  14920. * by default prevents ticks from being denser than the data points.
  14921. */
  14922. tickPixelInterval?: number;
  14923. /**
  14924. * (Highstock, Gantt) The position of the major tick marks relative to the
  14925. * axis line. Can be one of `inside` and `outside`.
  14926. */
  14927. tickPosition?: OptionsTickPositionValue;
  14928. /**
  14929. * (Highstock, Gantt) A callback function returning array defining where the
  14930. * ticks are laid out on the axis. This overrides the default behaviour of
  14931. * tickPixelInterval and tickInterval. The automatic tick positions are
  14932. * accessible through `this.tickPositions` and can be modified by the
  14933. * callback.
  14934. */
  14935. tickPositioner?: AxisTickPositionerCallbackFunction;
  14936. /**
  14937. * (Highstock, Gantt) An array defining where the ticks are laid out on the
  14938. * axis. This overrides the default behaviour of tickPixelInterval and
  14939. * tickInterval.
  14940. */
  14941. tickPositions?: Array<number>;
  14942. /**
  14943. * (Highcharts, Highstock, Gantt) The pixel width of the major tick marks.
  14944. */
  14945. tickWidth?: number;
  14946. /**
  14947. * (Highstock, Gantt) The axis title, showing next to the axis line.
  14948. */
  14949. title?: NavigatorYAxisTitleOptions;
  14950. /**
  14951. * (Highcharts) Parallel coordinates only. Format that will be used for
  14952. * point.y and available in tooltip.pointFormat as `{point.formattedValue}`.
  14953. * If not set, `{point.formattedValue}` will use other options, in this
  14954. * order:
  14955. *
  14956. * 1. yAxis.labels.format will be used if set
  14957. *
  14958. * 2. If yAxis is a category, then category name will be displayed
  14959. *
  14960. * 3. If yAxis is a datetime, then value will use the same format as yAxis
  14961. * labels
  14962. *
  14963. * 4. If yAxis is linear/logarithmic type, then simple value will be used
  14964. */
  14965. tooltipValueFormat?: string;
  14966. /**
  14967. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  14968. * `logarithmic`, `datetime`, `category` or `treegrid`. Defaults to
  14969. * `treegrid` for Gantt charts, `linear` for other chart types.
  14970. *
  14971. * In a datetime axis, the numbers are given in milliseconds, and tick marks
  14972. * are placed on appropriate values, like full hours or days. In a category
  14973. * or treegrid axis, the point names of the chart's series are used for
  14974. * categories, if a categories array is not defined.
  14975. */
  14976. type?: AxisTypeValue;
  14977. /**
  14978. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  14979. * `uniqueNames` is true, points are placed on the X axis according to their
  14980. * names. If the same point name is repeated in the same or another series,
  14981. * the point is placed on the same X position as other points of the same
  14982. * name. When `uniqueNames` is false, the points are laid out in increasing
  14983. * X positions regardless of their names, and the X axis category will take
  14984. * the name of the last point in each position.
  14985. */
  14986. uniqueNames?: boolean;
  14987. /**
  14988. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  14989. * ticks and labels, should be visible.
  14990. */
  14991. visible?: boolean;
  14992. /**
  14993. * (Highcharts, Highstock) The width as the horizontal axis. If it's a
  14994. * number, it is interpreted as pixels.
  14995. *
  14996. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  14997. * as percentages of the total plot width.
  14998. */
  14999. width?: (number|string);
  15000. /**
  15001. * (Highstock, Gantt) The Z index for the axis group.
  15002. */
  15003. zIndex?: number;
  15004. /**
  15005. * (Highstock, Gantt) Whether to zoom axis. If `chart.zoomType` is set, the
  15006. * option allows to disable zooming on an individual axis.
  15007. */
  15008. zoomEnabled?: boolean;
  15009. }
  15010. /**
  15011. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  15012. * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  15013. */
  15014. export interface NavigatorYAxisPlotBandsEventsOptions {
  15015. /**
  15016. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  15017. */
  15018. click?: EventCallbackFunction<PlotLineOrBand>;
  15019. /**
  15020. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  15021. */
  15022. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  15023. /**
  15024. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  15025. * band.
  15026. */
  15027. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  15028. /**
  15029. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  15030. */
  15031. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  15032. }
  15033. /**
  15034. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  15035. */
  15036. export interface NavigatorYAxisPlotBandsLabelOptions {
  15037. /**
  15038. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  15039. * one of "left", "center" or "right".
  15040. */
  15041. align?: AlignValue;
  15042. /**
  15043. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
  15044. */
  15045. rotation?: number;
  15046. /**
  15047. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  15048. *
  15049. * In styled mode, the labels are styled by the
  15050. * `.highcharts-plot-band-label` class.
  15051. */
  15052. style?: CSSObject;
  15053. /**
  15054. * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
  15055. * is supported.
  15056. */
  15057. text?: string;
  15058. /**
  15059. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  15060. * `align` determines where the texts anchor point is placed within the plot
  15061. * band, `textAlign` determines how the text is aligned against its anchor
  15062. * point. Possible values are "left", "center" and "right". Defaults to the
  15063. * same as the `align` option.
  15064. */
  15065. textAlign?: AlignValue;
  15066. /**
  15067. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  15068. */
  15069. useHTML?: boolean;
  15070. /**
  15071. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  15072. * to the plot band. Can be one of "top", "middle" or "bottom".
  15073. */
  15074. verticalAlign?: VerticalAlignValue;
  15075. /**
  15076. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  15077. * alignment. Default varies by orientation.
  15078. */
  15079. x?: number;
  15080. /**
  15081. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  15082. * relative to the alignment. Default varies by orientation.
  15083. */
  15084. y?: number;
  15085. }
  15086. /**
  15087. * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
  15088. * the plot area marking an interval on the axis.
  15089. *
  15090. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  15091. * class in addition to the `className` option.
  15092. */
  15093. export interface NavigatorYAxisPlotBandsOptions {
  15094. /**
  15095. * (Highstock) Flag to decide if plotBand should be rendered across all
  15096. * panes.
  15097. */
  15098. acrossPanes?: boolean;
  15099. /**
  15100. * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
  15101. * requires `borderWidth` to be set.
  15102. */
  15103. borderColor?: ColorString;
  15104. /**
  15105. * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
  15106. * requires `borderColor` to be set.
  15107. */
  15108. borderWidth?: number;
  15109. /**
  15110. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  15111. * default `highcharts-plot-band`, to apply to each individual band.
  15112. */
  15113. className?: string;
  15114. /**
  15115. * (Highcharts, Highstock, Gantt) The color of the plot band.
  15116. */
  15117. color?: (ColorString|GradientColorObject|PatternObject);
  15118. /**
  15119. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  15120. * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
  15121. * `mousemove`.
  15122. */
  15123. events?: NavigatorYAxisPlotBandsEventsOptions;
  15124. /**
  15125. * (Highcharts, Highstock, Gantt) The start position of the plot band in
  15126. * axis units.
  15127. */
  15128. from?: number;
  15129. /**
  15130. * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
  15131. * in Axis.removePlotBand.
  15132. */
  15133. id?: string;
  15134. /**
  15135. * (Highcharts) In a gauge chart, this option determines the inner radius of
  15136. * the plot band that stretches along the perimeter. It can be given as a
  15137. * percentage string, like `"100%"`, or as a pixel number, like `100`. By
  15138. * default, the inner radius is controlled by the thickness option.
  15139. */
  15140. innerRadius?: (number|string);
  15141. /**
  15142. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  15143. */
  15144. label?: NavigatorYAxisPlotBandsLabelOptions;
  15145. /**
  15146. * (Highcharts) In a gauge chart, this option determines the outer radius of
  15147. * the plot band that stretches along the perimeter. It can be given as a
  15148. * percentage string, like `"100%"`, or as a pixel number, like `100`.
  15149. */
  15150. outerRadius?: (number|string);
  15151. /**
  15152. * (Highcharts) In a gauge chart, this option sets the width of the plot
  15153. * band stretching along the perimeter. It can be given as a percentage
  15154. * string, like `"10%"`, or as a pixel number, like `10`. The default value
  15155. * 10 is the same as the default tickLength, thus making the plot band act
  15156. * as a background for the tick markers.
  15157. */
  15158. thickness?: (number|string);
  15159. /**
  15160. * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
  15161. * units.
  15162. */
  15163. to?: number;
  15164. /**
  15165. * (Highcharts, Highstock, Gantt) The z index of the plot band within the
  15166. * chart, relative to other elements. Using the same z index as another
  15167. * element may give unpredictable results, as the last rendered element will
  15168. * be on top. Values from 0 to 20 make sense.
  15169. */
  15170. zIndex?: number;
  15171. }
  15172. /**
  15173. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  15174. * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  15175. */
  15176. export interface NavigatorYAxisPlotLinesEventsOptions {
  15177. /**
  15178. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  15179. */
  15180. click?: EventCallbackFunction<PlotLineOrBand>;
  15181. /**
  15182. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  15183. */
  15184. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  15185. /**
  15186. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  15187. * band.
  15188. */
  15189. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  15190. /**
  15191. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  15192. */
  15193. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  15194. }
  15195. /**
  15196. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  15197. */
  15198. export interface NavigatorYAxisPlotLinesLabelOptions {
  15199. /**
  15200. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  15201. * one of "left", "center" or "right".
  15202. */
  15203. align?: AlignValue;
  15204. /**
  15205. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  15206. * label. Useful properties like the value of plot line or the range of plot
  15207. * band (`from` & `to` properties) can be found in `this.options` object.
  15208. */
  15209. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  15210. /**
  15211. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
  15212. * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
  15213. */
  15214. rotation?: number;
  15215. /**
  15216. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  15217. *
  15218. * In styled mode, the labels are styled by the
  15219. * `.highcharts-plot-line-label` class.
  15220. */
  15221. style?: CSSObject;
  15222. /**
  15223. * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
  15224. * supported.
  15225. */
  15226. text?: string;
  15227. /**
  15228. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  15229. * `align` determines where the texts anchor point is placed within the plot
  15230. * band, `textAlign` determines how the text is aligned against its anchor
  15231. * point. Possible values are "left", "center" and "right". Defaults to the
  15232. * same as the `align` option.
  15233. */
  15234. textAlign?: AlignValue;
  15235. /**
  15236. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  15237. */
  15238. useHTML?: boolean;
  15239. /**
  15240. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  15241. * to the plot line. Can be one of "top", "middle" or "bottom".
  15242. */
  15243. verticalAlign?: VerticalAlignValue;
  15244. /**
  15245. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  15246. * alignment. Default varies by orientation.
  15247. */
  15248. x?: number;
  15249. /**
  15250. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  15251. * relative to the alignment. Default varies by orientation.
  15252. */
  15253. y?: number;
  15254. }
  15255. /**
  15256. * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
  15257. * area, marking a specific value on one of the axes.
  15258. *
  15259. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  15260. * class in addition to the `className` option.
  15261. */
  15262. export interface NavigatorYAxisPlotLinesOptions {
  15263. /**
  15264. * (Highstock) Flag to decide if plotLine should be rendered across all
  15265. * panes.
  15266. */
  15267. acrossPanes?: boolean;
  15268. /**
  15269. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  15270. * default `highcharts-plot-line`, to apply to each individual line.
  15271. */
  15272. className?: string;
  15273. /**
  15274. * (Highcharts, Highstock, Gantt) The color of the line.
  15275. */
  15276. color?: ColorString;
  15277. /**
  15278. * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
  15279. * line. For possible values see this overview.
  15280. */
  15281. dashStyle?: DashStyleValue;
  15282. /**
  15283. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  15284. * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
  15285. * `mousemove`.
  15286. */
  15287. events?: NavigatorYAxisPlotLinesEventsOptions;
  15288. /**
  15289. * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
  15290. * in Axis.removePlotLine.
  15291. */
  15292. id?: string;
  15293. /**
  15294. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  15295. */
  15296. label?: NavigatorYAxisPlotLinesLabelOptions;
  15297. /**
  15298. * (Highcharts, Highstock, Gantt) The position of the line in axis units.
  15299. */
  15300. value?: number;
  15301. /**
  15302. * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
  15303. */
  15304. width?: number;
  15305. /**
  15306. * (Highcharts, Highstock, Gantt) The z index of the plot line within the
  15307. * chart.
  15308. */
  15309. zIndex?: number;
  15310. }
  15311. /**
  15312. * (Highcharts) Enable or disable the initial animation when a series is
  15313. * displayed for the `stackLabels`. The animation can also be set as a
  15314. * configuration object. Please note that this option only applies to the
  15315. * initial animation. For other animations, see chart.animation and the
  15316. * animation parameter under the API methods. The following properties are
  15317. * supported:
  15318. *
  15319. * - `defer`: The animation delay time in milliseconds.
  15320. */
  15321. export interface NavigatorYAxisStackLabelsAnimationOptions {
  15322. /**
  15323. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  15324. * stackLabel immediately. As `undefined` inherits defer time from the
  15325. * series.animation.defer.
  15326. */
  15327. defer?: number;
  15328. }
  15329. /**
  15330. * (Highcharts) The stack labels show the total value for each bar in a stacked
  15331. * column or bar chart. The label will be placed on top of positive columns and
  15332. * below negative columns. In case of an inverted column chart or a bar chart
  15333. * the label is placed to the right of positive bars and to the left of negative
  15334. * bars.
  15335. */
  15336. export interface NavigatorYAxisStackLabelsOptions {
  15337. /**
  15338. * (Highcharts) Defines the horizontal alignment of the stack total label.
  15339. * Can be one of `"left"`, `"center"` or `"right"`. The default value is
  15340. * calculated at runtime and depends on orientation and whether the stack is
  15341. * positive or negative.
  15342. */
  15343. align?: AlignValue;
  15344. /**
  15345. * (Highcharts) Allow the stack labels to overlap.
  15346. */
  15347. allowOverlap?: boolean;
  15348. /**
  15349. * (Highcharts) Enable or disable the initial animation when a series is
  15350. * displayed for the `stackLabels`. The animation can also be set as a
  15351. * configuration object. Please note that this option only applies to the
  15352. * initial animation. For other animations, see chart.animation and the
  15353. * animation parameter under the API methods. The following properties are
  15354. * supported:
  15355. *
  15356. * - `defer`: The animation delay time in milliseconds.
  15357. */
  15358. animation?: (boolean|NavigatorYAxisStackLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  15359. /**
  15360. * (Highcharts) The background color or gradient for the stack label.
  15361. */
  15362. backgroundColor?: ColorType;
  15363. /**
  15364. * (Highcharts) The border color for the stack label. Defaults to
  15365. * `undefined`.
  15366. */
  15367. borderColor?: ColorType;
  15368. /**
  15369. * (Highcharts) The border radius in pixels for the stack label.
  15370. */
  15371. borderRadius?: number;
  15372. /**
  15373. * (Highcharts) The border width in pixels for the stack label.
  15374. */
  15375. borderWidth?: number;
  15376. /**
  15377. * (Highcharts) Whether to hide stack labels that are outside the plot area.
  15378. * By default, the stack label is moved inside the plot area according to
  15379. * the overflow option.
  15380. */
  15381. crop?: boolean;
  15382. /**
  15383. * (Highcharts) Enable or disable the stack total labels.
  15384. */
  15385. enabled?: boolean;
  15386. /**
  15387. * (Highcharts, Highstock) A format string for the data label. Available
  15388. * variables are the same as for `formatter`.
  15389. */
  15390. format?: string;
  15391. /**
  15392. * (Highcharts) Callback JavaScript function to format the label. The value
  15393. * is given by `this.total`.
  15394. */
  15395. formatter?: FormatterCallbackFunction<StackItemObject>;
  15396. /**
  15397. * (Highcharts) How to handle stack total labels that flow outside the plot
  15398. * area. The default is set to `"justify"`, which aligns them inside the
  15399. * plot area. For columns and bars, this means it will be moved inside the
  15400. * bar. To display stack labels outside the plot area, set `crop` to `false`
  15401. * and `overflow` to `"allow"`.
  15402. */
  15403. overflow?: DataLabelsOverflowValue;
  15404. /**
  15405. * (Highcharts) Rotation of the labels in degrees.
  15406. */
  15407. rotation?: number;
  15408. /**
  15409. * (Highcharts) CSS styles for the label.
  15410. *
  15411. * In styled mode, the styles are set in the `.highcharts-stack-label`
  15412. * class.
  15413. */
  15414. style?: CSSObject;
  15415. /**
  15416. * (Highcharts) The text alignment for the label. While `align` determines
  15417. * where the texts anchor point is placed with regards to the stack,
  15418. * `textAlign` determines how the text is aligned against its anchor point.
  15419. * Possible values are `"left"`, `"center"` and `"right"`. The default value
  15420. * is calculated at runtime and depends on orientation and whether the stack
  15421. * is positive or negative.
  15422. */
  15423. textAlign?: AlignValue;
  15424. /**
  15425. * (Highcharts, Highstock) Whether to use HTML to render the labels.
  15426. */
  15427. useHTML?: boolean;
  15428. /**
  15429. * (Highcharts) Defines the vertical alignment of the stack total label. Can
  15430. * be one of `"top"`, `"middle"` or `"bottom"`. The default value is
  15431. * calculated at runtime and depends on orientation and whether the stack is
  15432. * positive or negative.
  15433. */
  15434. verticalAlign?: VerticalAlignValue;
  15435. /**
  15436. * (Highcharts) The x position offset of the label relative to the left of
  15437. * the stacked bar. The default value is calculated at runtime and depends
  15438. * on orientation and whether the stack is positive or negative.
  15439. */
  15440. x?: number;
  15441. /**
  15442. * (Highcharts) The y position offset of the label relative to the tick
  15443. * position on the axis. The default value is calculated at runtime and
  15444. * depends on orientation and whether the stack is positive or negative.
  15445. */
  15446. y?: number;
  15447. }
  15448. /**
  15449. * (Highstock, Gantt) The axis title, showing next to the axis line.
  15450. */
  15451. export interface NavigatorYAxisTitleOptions {
  15452. /**
  15453. * (Highstock, Gantt) Alignment of the title relative to the axis values.
  15454. * Possible values are "low", "middle" or "high".
  15455. */
  15456. align?: AxisTitleAlignValue;
  15457. /**
  15458. * (Highstock, Gantt) The pixel distance between the axis labels and the
  15459. * title. Positive values are outside the axis line, negative are inside.
  15460. */
  15461. margin?: number;
  15462. /**
  15463. * (Highstock, Gantt) The distance of the axis title from the axis line. By
  15464. * default, this distance is computed from the offset width of the labels,
  15465. * the labels' distance from the axis and the title's margin. However when
  15466. * the offset option is set, it overrides all this.
  15467. */
  15468. offset?: number;
  15469. /**
  15470. * (Highcharts) Defines how the title is repositioned according to the 3D
  15471. * chart orientation.
  15472. *
  15473. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  15474. * marks, despite the chart orientation. This is the backwards compatible
  15475. * behavior, and causes skewing of X and Z axes.
  15476. *
  15477. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  15478. * but hard to read if the text isn't forward-facing.
  15479. *
  15480. * - `'flap'`: Rotated text along the axis to compensate for the chart
  15481. * orientation. This tries to maintain text as legible as possible on all
  15482. * orientations.
  15483. *
  15484. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  15485. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  15486. * skewing the labels (X and Y scaling are still present).
  15487. *
  15488. * - `undefined`: Will use the config from `labels.position3d`
  15489. */
  15490. position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
  15491. /**
  15492. * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
  15493. * when laying out the axis.
  15494. */
  15495. reserveSpace?: boolean;
  15496. /**
  15497. * (Highstock, Gantt) The rotation of the text in degrees. 0 is horizontal,
  15498. * 270 is vertical reading from bottom to top.
  15499. */
  15500. rotation?: number;
  15501. /**
  15502. * (Highcharts) If enabled, the axis title will skewed to follow the
  15503. * perspective.
  15504. *
  15505. * This will fix overlapping labels and titles, but texts become less
  15506. * legible due to the distortion.
  15507. *
  15508. * The final appearance depends heavily on `title.position3d`.
  15509. *
  15510. * A `null` value will use the config from `labels.skew3d`.
  15511. */
  15512. skew3d?: (boolean|null);
  15513. /**
  15514. * (Highstock, Gantt) CSS styles for the title. If the title text is longer
  15515. * than the axis length, it will wrap to multiple lines by default. This can
  15516. * be customized by setting `textOverflow: 'ellipsis'`, by setting a
  15517. * specific `width` or by setting `whiteSpace: 'nowrap'`.
  15518. *
  15519. * In styled mode, the stroke width is given in the `.highcharts-axis-title`
  15520. * class.
  15521. */
  15522. style?: CSSObject;
  15523. /**
  15524. * (Highcharts, Highstock, Gantt) The actual text of the axis title.
  15525. * Horizontal texts can contain HTML, but rotated texts are painted using
  15526. * vector techniques and must be clean text. The Y axis title is disabled by
  15527. * setting the `text` option to `undefined`.
  15528. */
  15529. text?: (string|null);
  15530. /**
  15531. * (Highstock, Gantt) Alignment of the text, can be `"left"`, `"right"` or
  15532. * `"center"`. Default alignment depends on the title.align:
  15533. *
  15534. * Horizontal axes:
  15535. *
  15536. * - for `align` = `"low"`, `textAlign` is set to `left`
  15537. *
  15538. * - for `align` = `"middle"`, `textAlign` is set to `center`
  15539. *
  15540. * - for `align` = `"high"`, `textAlign` is set to `right`
  15541. *
  15542. * Vertical axes:
  15543. *
  15544. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  15545. * `right`
  15546. *
  15547. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  15548. * `left`
  15549. *
  15550. * - for `align` = `"middle"`, `textAlign` is set to `center`
  15551. *
  15552. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  15553. * `left`
  15554. *
  15555. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  15556. * `right`
  15557. */
  15558. textAlign?: AlignValue;
  15559. /**
  15560. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
  15561. * title.
  15562. */
  15563. useHTML?: boolean;
  15564. /**
  15565. * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
  15566. * position.
  15567. */
  15568. x?: number;
  15569. /**
  15570. * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
  15571. * position.
  15572. */
  15573. y?: number;
  15574. }
  15575. /**
  15576. * (Highcharts, Highstock, Gantt) Options for displaying a message like "No data
  15577. * to display". This feature requires the file no-data-to-display.js to be
  15578. * loaded in the page. The actual text to display is set in the lang.noData
  15579. * option.
  15580. */
  15581. export interface NoDataOptions {
  15582. /**
  15583. * (Highcharts, Highstock, Gantt) An object of additional SVG attributes for
  15584. * the no-data label.
  15585. */
  15586. attr?: SVGAttributes;
  15587. /**
  15588. * (Highcharts, Highstock, Gantt) The position of the no-data label,
  15589. * relative to the plot area.
  15590. */
  15591. position?: (AlignObject|NoDataPositionOptions);
  15592. /**
  15593. * (Highcharts, Highstock, Gantt) CSS styles for the no-data label.
  15594. */
  15595. style?: CSSObject;
  15596. /**
  15597. * (Highcharts, Highstock, Gantt) Whether to insert the label as HTML, or as
  15598. * pseudo-HTML rendered with SVG.
  15599. */
  15600. useHTML?: boolean;
  15601. }
  15602. /**
  15603. * (Highcharts, Highstock, Gantt) The position of the no-data label, relative to
  15604. * the plot area.
  15605. */
  15606. export interface NoDataPositionOptions {
  15607. /**
  15608. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label.
  15609. */
  15610. align?: AlignValue;
  15611. /**
  15612. * (Highcharts, Highstock, Gantt) Vertical alignment of the label.
  15613. */
  15614. verticalAlign?: VerticalAlignValue;
  15615. /**
  15616. * (Highcharts, Highstock, Gantt) Horizontal offset of the label, in pixels.
  15617. */
  15618. x?: number;
  15619. /**
  15620. * (Highcharts, Highstock, Gantt) Vertical offset of the label, in pixels.
  15621. */
  15622. y?: number;
  15623. }
  15624. /**
  15625. * An object containing `left` and `top` properties for the position in the
  15626. * page.
  15627. */
  15628. export interface OffsetObject {
  15629. /**
  15630. * Left distance to the page border.
  15631. */
  15632. left: number;
  15633. /**
  15634. * Top distance to the page border.
  15635. */
  15636. top: number;
  15637. }
  15638. export interface Options {
  15639. /**
  15640. * (Highcharts, Highstock, Highmaps, Gantt) Options for configuring
  15641. * accessibility for the chart. Requires the accessibility module to be
  15642. * loaded. For a description of the module and information on its features,
  15643. * see Highcharts Accessibility.
  15644. */
  15645. accessibility?: AccessibilityOptions;
  15646. /**
  15647. * (Highcharts, Highstock, Highmaps, Gantt) A basic type of an annotation.
  15648. * It allows to add custom labels or shapes. The items can be tied to
  15649. * points, axis coordinates or chart pixel coordinates.
  15650. */
  15651. annotations?: Array<AnnotationsOptions>;
  15652. /**
  15653. * (Highcharts, Highstock) Options for the Boost module. The Boost module
  15654. * allows certain series types to be rendered by WebGL instead of the
  15655. * default SVG. This allows hundreds of thousands of data points to be
  15656. * rendered in milliseconds. In addition to the WebGL rendering it saves
  15657. * time by skipping processing and inspection of the data wherever possible.
  15658. * This introduces some limitations to what features are available in boost
  15659. * mode. See the docs for details.
  15660. *
  15661. * In addition to the global `boost` option, each series has a
  15662. * boostThreshold that defines when the boost should kick in.
  15663. *
  15664. * Requires the `modules/boost.js` module.
  15665. */
  15666. boost?: BoostOptions;
  15667. /**
  15668. * (Highcharts, Highstock, Highmaps, Gantt) The chart's caption, which will
  15669. * render below the chart and will be part of exported charts. The caption
  15670. * can be updated after chart initialization through the `Chart.update` or
  15671. * `Chart.caption.update` methods.
  15672. */
  15673. caption?: CaptionOptions;
  15674. /**
  15675. * (Highcharts, Highstock, Highmaps, Gantt) General options for the chart.
  15676. */
  15677. chart?: ChartOptions;
  15678. /**
  15679. * (Highcharts, Highstock, Highmaps) A color axis for series. Visually, the
  15680. * color axis will appear as a gradient or as separate items inside the
  15681. * legend, depending on whether the axis is scalar or based on data classes.
  15682. *
  15683. * For supported color formats, see the docs article about colors.
  15684. *
  15685. * A scalar color axis is represented by a gradient. The colors either range
  15686. * between the minColor and the maxColor, or for more fine grained control
  15687. * the colors can be defined in stops. Often times, the color axis needs to
  15688. * be adjusted to get the right color spread for the data. In addition to
  15689. * stops, consider using a logarithmic axis type, or setting min and max to
  15690. * avoid the colors being determined by outliers.
  15691. *
  15692. * When dataClasses are used, the ranges are subdivided into separate
  15693. * classes like categories based on their values. This can be used for
  15694. * ranges between two values, but also for a true category. However, when
  15695. * your data is categorized, it may be as convenient to add each category to
  15696. * a separate series.
  15697. *
  15698. * Color axis does not work with: `sankey`, `sunburst`, `dependencywheel`,
  15699. * `networkgraph`, `wordcloud`, `venn`, `gauge` and `solidgauge` series
  15700. * types.
  15701. *
  15702. * Since v7.2.0 `colorAxis` can also be an array of options objects.
  15703. *
  15704. * See the Axis object for programmatic access to the axis.
  15705. */
  15706. colorAxis?: (ColorAxisOptions|Array<ColorAxisOptions>);
  15707. /**
  15708. * (Highcharts, Highstock, Highmaps, Gantt) An array containing the default
  15709. * colors for the chart's series. When all colors are used, new colors are
  15710. * pulled from the start again.
  15711. *
  15712. * Default colors can also be set on a series or series.type basis, see
  15713. * column.colors, pie.colors.
  15714. *
  15715. * In styled mode, the colors option doesn't exist. Instead, colors are
  15716. * defined in CSS and applied either through series or point class names, or
  15717. * through the chart.colorCount option.
  15718. *
  15719. * ### Legacy
  15720. *
  15721. * In Highcharts 3.x, the default colors were: (see online documentation for
  15722. * example)
  15723. *
  15724. * In Highcharts 2.x, the default colors were: (see online documentation for
  15725. * example)
  15726. */
  15727. colors?: Array<ColorString>;
  15728. /**
  15729. * (Gantt) The Pathfinder module allows you to define connections between
  15730. * any two points, represented as lines - optionally with markers for the
  15731. * start and/or end points. Multiple algorithms are available for
  15732. * calculating how the connecting lines are drawn.
  15733. *
  15734. * Connector functionality requires Highcharts Gantt to be loaded. In Gantt
  15735. * charts, the connectors are used to draw dependencies between tasks.
  15736. */
  15737. connectors?: ConnectorsOptions;
  15738. /**
  15739. * (Highcharts, Highstock, Highmaps, Gantt) Highchart by default puts a
  15740. * credits label in the lower right corner of the chart. This can be changed
  15741. * using these options.
  15742. */
  15743. credits?: CreditsOptions;
  15744. /**
  15745. * (Highcharts, Highstock, Highmaps, Gantt) The Data module provides a
  15746. * simplified interface for adding data to a chart from sources like CVS,
  15747. * HTML tables or grid views. See also the tutorial article on the Data
  15748. * module.
  15749. *
  15750. * It requires the `modules/data.js` file to be loaded.
  15751. *
  15752. * Please note that the default way of adding data in Highcharts, without
  15753. * the need of a module, is through the series._type_.data option.
  15754. */
  15755. data?: DataOptions;
  15756. /**
  15757. * (Highcharts, Highstock, Highmaps, Gantt) Options for configuring markers
  15758. * for annotations.
  15759. *
  15760. * An example of the arrow marker: (see online documentation for example)
  15761. */
  15762. defs?: (DefsOptions|Dictionary<ASTNode>);
  15763. /**
  15764. * (Highcharts, Highmaps) Options for drill down, the concept of inspecting
  15765. * increasingly high resolution data through clicking on chart items like
  15766. * columns or pie slices.
  15767. *
  15768. * The drilldown feature requires the drilldown.js file to be loaded, found
  15769. * in the modules directory of the download package, or online at
  15770. * code.highcharts.com/modules/drilldown.js.
  15771. */
  15772. drilldown?: DrilldownOptions;
  15773. /**
  15774. * (Highcharts, Highstock, Highmaps, Gantt) Options for the exporting
  15775. * module. For an overview on the matter, see the docs.
  15776. */
  15777. exporting?: ExportingOptions;
  15778. global?: GlobalOptions;
  15779. /**
  15780. * (Highcharts, Highstock, Highmaps, Gantt) Language object. The language
  15781. * object is global and it can't be set on each chart initialization.
  15782. * Instead, use `Highcharts.setOptions` to set it before any chart is
  15783. * initialized. (see online documentation for example)
  15784. */
  15785. lang?: LangOptions;
  15786. /**
  15787. * (Highcharts, Highstock, Highmaps, Gantt) The legend is a box containing a
  15788. * symbol and name for each series item or point item in the chart. Each
  15789. * series (or points in case of pie charts) is represented by a symbol and
  15790. * its name in the legend.
  15791. *
  15792. * It is possible to override the symbol creator function and create custom
  15793. * legend symbols.
  15794. */
  15795. legend?: LegendOptions;
  15796. /**
  15797. * (Highcharts, Highstock, Highmaps, Gantt) The loading options control the
  15798. * appearance of the loading screen that covers the plot area on chart
  15799. * operations. This screen only appears after an explicit call to
  15800. * `chart.showLoading()`. It is a utility for developers to communicate to
  15801. * the end user that something is going on, for example while retrieving new
  15802. * data via an XHR connection. The "Loading..." text itself is not part of
  15803. * this configuration object, but part of the `lang` object.
  15804. */
  15805. loading?: LoadingOptions;
  15806. mapNavigation?: MapNavigationOptions;
  15807. /**
  15808. * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for
  15809. * buttons and menus appearing in the exporting module.
  15810. */
  15811. navigation?: NavigationOptions;
  15812. /**
  15813. * (Highstock, Gantt) The navigator is a small series below the main series,
  15814. * displaying a view of the entire data set. It provides tools to zoom in
  15815. * and out on parts of the data as well as panning across the dataset.
  15816. */
  15817. navigator?: NavigatorOptions;
  15818. /**
  15819. * (Highcharts, Highstock, Gantt) Options for displaying a message like "No
  15820. * data to display". This feature requires the file no-data-to-display.js to
  15821. * be loaded in the page. The actual text to display is set in the
  15822. * lang.noData option.
  15823. */
  15824. noData?: NoDataOptions;
  15825. /**
  15826. * (Highcharts) The pane serves as a container for axes and backgrounds for
  15827. * circular gauges and polar charts.
  15828. */
  15829. pane?: PaneOptions;
  15830. /**
  15831. * (Highcharts, Highstock, Highmaps, Gantt) The plotOptions is a wrapper
  15832. * object for config objects for each series type. The config objects for
  15833. * each series can also be overridden for each series item as given in the
  15834. * series array.
  15835. *
  15836. * Configuration options for the series are given in three levels. Options
  15837. * for all series in a chart are given in the plotOptions.series object.
  15838. * Then options for all series of a specific type are given in the
  15839. * plotOptions of that type, for example `plotOptions.line`. Next, options
  15840. * for one single series are given in the series array.
  15841. */
  15842. plotOptions?: PlotOptions;
  15843. /**
  15844. * (Highstock, Gantt) The range selector is a tool for selecting ranges to
  15845. * display within the chart. It provides buttons to select preconfigured
  15846. * ranges in the chart, like 1 day, 1 week, 1 month etc. It also provides
  15847. * input boxes where min and max dates can be manually input.
  15848. */
  15849. rangeSelector?: RangeSelectorOptions;
  15850. /**
  15851. * (Highcharts, Highstock, Highmaps, Gantt) Allows setting a set of rules to
  15852. * apply for different screen or chart sizes. Each rule specifies additional
  15853. * chart options.
  15854. */
  15855. responsive?: ResponsiveOptions;
  15856. /**
  15857. * (Highstock, Gantt) The scrollbar is a means of panning over the X axis of
  15858. * a stock chart. Scrollbars can also be applied to other types of axes.
  15859. *
  15860. * Another approach to scrollable charts is the chart.scrollablePlotArea
  15861. * option that is especially suitable for simpler cartesian charts on
  15862. * mobile.
  15863. *
  15864. * In styled mode, all the presentational options for the scrollbar are
  15865. * replaced by the classes `.highcharts-scrollbar-thumb`,
  15866. * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
  15867. * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
  15868. */
  15869. scrollbar?: ScrollbarOptions;
  15870. /**
  15871. * (Highcharts, Highstock, Highmaps, Gantt) Series options for specific data
  15872. * and the data itself. In TypeScript you have to cast the series options to
  15873. * specific series types, to get all possible options for a series.
  15874. */
  15875. series?: Array<SeriesOptionsType>;
  15876. /**
  15877. * (Highstock) Configure the stockTools gui strings in the chart. Requires
  15878. * the [stockTools module]() to be loaded. For a description of the module
  15879. * and information on its features, see [Highcharts StockTools]().
  15880. */
  15881. stockTools?: StockToolsOptions;
  15882. /**
  15883. * (Highcharts, Highstock, Highmaps, Gantt) The chart's subtitle. This can
  15884. * be used both to display a subtitle below the main title, and to display
  15885. * random text anywhere in the chart. The subtitle can be updated after
  15886. * chart initialization through the `Chart.setTitle` method.
  15887. */
  15888. subtitle?: SubtitleOptions;
  15889. /**
  15890. * (Highcharts, Highstock, Highmaps, Gantt) Time options that can apply
  15891. * globally or to individual charts. These settings affect how `datetime`
  15892. * axes are laid out, how tooltips are formatted, how series
  15893. * pointIntervalUnit works and how the Highcharts Stock range selector
  15894. * handles time.
  15895. *
  15896. * The common use case is that all charts in the same Highcharts object
  15897. * share the same time settings, in which case the global settings are set
  15898. * using `setOptions`. (see online documentation for example)
  15899. *
  15900. * Since v6.0.5, the time options were moved from the `global` obect to the
  15901. * `time` object, and time options can be set on each individual chart.
  15902. */
  15903. time?: TimeOptions;
  15904. /**
  15905. * (Highcharts, Highstock, Highmaps, Gantt) The chart's main title.
  15906. */
  15907. title?: TitleOptions;
  15908. /**
  15909. * (Highcharts, Highstock, Highmaps, Gantt) Options for the tooltip that
  15910. * appears when the user hovers over a series or point.
  15911. */
  15912. tooltip?: TooltipOptions;
  15913. /**
  15914. * (Highcharts, Highstock, Highmaps, Gantt) The X axis or category axis.
  15915. * Normally this is the horizontal axis, though if the chart is inverted
  15916. * this is the vertical axis. In case of multiple axes, the xAxis node is an
  15917. * array of configuration objects.
  15918. *
  15919. * See the Axis class for programmatic access to the axis.
  15920. */
  15921. xAxis?: (XAxisOptions|Array<XAxisOptions>);
  15922. /**
  15923. * (Highcharts, Highstock, Highmaps, Gantt) The Y axis or value axis.
  15924. * Normally this is the vertical axis, though if the chart is inverted this
  15925. * is the horizontal axis. In case of multiple axes, the yAxis node is an
  15926. * array of configuration objects.
  15927. *
  15928. * See the Axis object for programmatic access to the axis.
  15929. */
  15930. yAxis?: (YAxisOptions|Array<YAxisOptions>);
  15931. /**
  15932. * (Highcharts) The Z axis or depth axis for 3D plots.
  15933. *
  15934. * See the Axis class for programmatic access to the axis.
  15935. */
  15936. zAxis?: (ZAxisOptions|Array<ZAxisOptions>);
  15937. }
  15938. /**
  15939. * (Highcharts) An array of background items for the pane.
  15940. */
  15941. export interface PaneBackgroundOptions {
  15942. /**
  15943. * (Highcharts) The background color or gradient for the pane.
  15944. */
  15945. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  15946. /**
  15947. * (Highcharts) The pane background border color.
  15948. */
  15949. borderColor?: (ColorString|GradientColorObject|PatternObject);
  15950. /**
  15951. * (Highcharts) The pixel border width of the pane background.
  15952. */
  15953. borderWidth?: number;
  15954. /**
  15955. * (Highcharts) The class name for this background.
  15956. */
  15957. className?: string;
  15958. /**
  15959. * (Highcharts) The inner radius of the pane background. Can be either
  15960. * numeric (pixels) or a percentage string.
  15961. */
  15962. innerRadius?: (number|string);
  15963. /**
  15964. * (Highcharts) The outer radius of the circular pane background. Can be
  15965. * either numeric (pixels) or a percentage string.
  15966. */
  15967. outerRadius?: (number|string);
  15968. /**
  15969. * (Highcharts) The shape of the pane background. When `solid`, the
  15970. * background is circular. When `arc`, the background extends only from the
  15971. * min to the max of the value axis.
  15972. */
  15973. shape?: PaneBackgroundShapeValue;
  15974. }
  15975. /**
  15976. * (Highcharts) The pane serves as a container for axes and backgrounds for
  15977. * circular gauges and polar charts.
  15978. */
  15979. export interface PaneOptions {
  15980. /**
  15981. * (Highcharts) An array of background items for the pane.
  15982. */
  15983. background?: Array<PaneBackgroundOptions>;
  15984. /**
  15985. * (Highcharts) The center of a polar chart or angular gauge, given as an
  15986. * array of [x, y] positions. Positions can be given as integers that
  15987. * transform to pixels, or as percentages of the plot area size.
  15988. */
  15989. center?: Array<(string|number)>;
  15990. /**
  15991. * (Highcharts) The end angle of the polar X axis or gauge value axis, given
  15992. * in degrees where 0 is north. Defaults to startAngle
  15993. *
  15994. * + 360.
  15995. */
  15996. endAngle?: number;
  15997. /**
  15998. * (Highcharts) The inner size of the pane, either as a number defining
  15999. * pixels, or a percentage defining a percentage of the pane's size.
  16000. */
  16001. innerSize?: (number|string);
  16002. /**
  16003. * (Highcharts) The size of the pane, either as a number defining pixels, or
  16004. * a percentage defining a percentage of the available plot area (the
  16005. * smallest of the plot height or plot width).
  16006. */
  16007. size?: (number|string);
  16008. /**
  16009. * (Highcharts) The start angle of the polar X axis or gauge axis, given in
  16010. * degrees where 0 is north. Defaults to 0.
  16011. */
  16012. startAngle?: number;
  16013. }
  16014. /**
  16015. * Holds a pattern definition.
  16016. */
  16017. export interface PatternObject {
  16018. /**
  16019. * Animation options for the image pattern loading.
  16020. */
  16021. animation?: (boolean|Partial<AnimationOptionsObject>);
  16022. /**
  16023. * Pattern options
  16024. */
  16025. pattern: PatternOptionsObject;
  16026. /**
  16027. * Optionally an index referencing which pattern to use. Highcharts adds 10
  16028. * default patterns to the `Highcharts.patterns` array. Additional pattern
  16029. * definitions can be pushed to this array if desired. This option is an
  16030. * index into this array.
  16031. */
  16032. patternIndex?: number;
  16033. }
  16034. /**
  16035. * Pattern options
  16036. */
  16037. export interface PatternOptionsObject {
  16038. /**
  16039. * For automatically calculated width and height on images, it is possible
  16040. * to set an aspect ratio. The image will be zoomed to fill the bounding
  16041. * box, maintaining the aspect ratio defined.
  16042. */
  16043. aspectRatio: number;
  16044. /**
  16045. * Background color for the pattern if a `path` is set (not images).
  16046. */
  16047. backgroundColor: ColorString;
  16048. /**
  16049. * Pattern color, used as default path stroke.
  16050. */
  16051. color: ColorString;
  16052. /**
  16053. * Analogous to pattern.width.
  16054. */
  16055. height: number;
  16056. /**
  16057. * ID to assign to the pattern. This is automatically computed if not added,
  16058. * and identical patterns are reused. To refer to an existing pattern for a
  16059. * Highcharts color, use `color: "url(#pattern-id)"`.
  16060. */
  16061. id?: string;
  16062. /**
  16063. * URL to an image to use as the pattern.
  16064. */
  16065. image: string;
  16066. /**
  16067. * Opacity of the pattern as a float value from 0 to 1.
  16068. */
  16069. opacity: number;
  16070. /**
  16071. * Either an SVG path as string, or an object. As an object, supply the path
  16072. * string in the `path.d` property. Other supported properties are standard
  16073. * SVG attributes like `path.stroke` and `path.fill`. If a path is supplied
  16074. * for the pattern, the `image` property is ignored.
  16075. */
  16076. path: (string|SVGAttributes);
  16077. /**
  16078. * SVG `patternTransform` to apply to the entire pattern.
  16079. */
  16080. patternTransform: string;
  16081. /**
  16082. * Width of the pattern. For images this is automatically set to the width
  16083. * of the element bounding box if not supplied. For non-image patterns the
  16084. * default is 32px. Note that automatic resizing of image patterns to fill a
  16085. * bounding box dynamically is only supported for patterns with an
  16086. * automatically calculated ID.
  16087. */
  16088. width: number;
  16089. /**
  16090. * Horizontal offset of the pattern. Defaults to 0.
  16091. */
  16092. x?: number;
  16093. /**
  16094. * Vertical offset of the pattern. Defaults to 0.
  16095. */
  16096. y?: number;
  16097. }
  16098. /**
  16099. * (Highstock) Enable or disable the initial animation when a series is
  16100. * displayed. The animation can also be set as a configuration object. Please
  16101. * note that this option only applies to the initial animation of the series
  16102. * itself. For other animations, see chart.animation and the animation parameter
  16103. * under the API methods. The following properties are supported:
  16104. *
  16105. * - `defer`: The animation delay time in milliseconds.
  16106. *
  16107. * - `duration`: The duration of the animation in milliseconds.
  16108. *
  16109. * - `easing`: Can be a string reference to an easing function set on the `Math`
  16110. * object or a function. See the _Custom easing function_ demo below.
  16111. *
  16112. * Due to poor performance, animation is disabled in old IE browsers for several
  16113. * chart types.
  16114. */
  16115. export interface PlotAbandsAnimationOptions {
  16116. defer?: number;
  16117. }
  16118. export interface PlotAbandsBottomLineOptions {
  16119. styles?: PlotAbandsBottomLineStylesOptions;
  16120. }
  16121. export interface PlotAbandsBottomLineStylesOptions {
  16122. /**
  16123. * (Highstock) Pixel width of the line.
  16124. */
  16125. lineWidth?: number;
  16126. }
  16127. /**
  16128. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  16129. * animation when a series is displayed for the `dataLabels`. The animation can
  16130. * also be set as a configuration object. Please note that this option only
  16131. * applies to the initial animation. For other animations, see chart.animation
  16132. * and the animation parameter under the API methods. The following properties
  16133. * are supported:
  16134. *
  16135. * - `defer`: The animation delay time in milliseconds.
  16136. */
  16137. export interface PlotAbandsDataLabelsAnimationOptions {
  16138. /**
  16139. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  16140. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  16141. * inherits defer time from the series.animation.defer.
  16142. */
  16143. defer?: number;
  16144. }
  16145. /**
  16146. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  16147. * appearing next to each data point.
  16148. *
  16149. * Since v6.2.0, multiple data labels can be applied to each single point by
  16150. * defining them as an array of configs.
  16151. *
  16152. * In styled mode, the data labels can be styled with the
  16153. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  16154. * example).
  16155. */
  16156. export interface PlotAbandsDataLabelsOptions {
  16157. /**
  16158. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  16159. * compared to the point. If `right`, the right side of the label should be
  16160. * touching the point. For points with an extent, like columns, the
  16161. * alignments also dictates how to align it inside the box, as given with
  16162. * the inside option. Can be one of `left`, `center` or `right`.
  16163. */
  16164. align?: (AlignValue|null);
  16165. /**
  16166. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  16167. * overlap. To make the labels less sensitive for overlapping, the
  16168. * dataLabels.padding can be set to 0.
  16169. */
  16170. allowOverlap?: boolean;
  16171. /**
  16172. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  16173. * animation when a series is displayed for the `dataLabels`. The animation
  16174. * can also be set as a configuration object. Please note that this option
  16175. * only applies to the initial animation. For other animations, see
  16176. * chart.animation and the animation parameter under the API methods. The
  16177. * following properties are supported:
  16178. *
  16179. * - `defer`: The animation delay time in milliseconds.
  16180. */
  16181. animation?: (boolean|PlotAbandsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  16182. /**
  16183. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  16184. * for the data label.
  16185. */
  16186. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  16187. /**
  16188. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  16189. * label. Defaults to `undefined`.
  16190. */
  16191. borderColor?: (ColorString|GradientColorObject|PatternObject);
  16192. /**
  16193. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  16194. * the data label.
  16195. */
  16196. borderRadius?: number;
  16197. /**
  16198. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  16199. * the data label.
  16200. */
  16201. borderWidth?: number;
  16202. /**
  16203. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  16204. * Particularly in styled mode, this can be used to give each series' or
  16205. * point's data label unique styling. In addition to this option, a default
  16206. * color class name is added so that we can give the labels a contrast text
  16207. * shadow.
  16208. */
  16209. className?: string;
  16210. /**
  16211. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  16212. * labels. Defaults to `undefined`. For certain series types, like column or
  16213. * map, the data labels can be drawn inside the points. In this case the
  16214. * data label will be drawn with maximum contrast by default. Additionally,
  16215. * it will be given a `text-outline` style with the opposite color, to
  16216. * further increase the contrast. This can be overridden by setting the
  16217. * `text-outline` style to `none` in the `dataLabels.style` option.
  16218. */
  16219. color?: (ColorString|GradientColorObject|PatternObject);
  16220. /**
  16221. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  16222. * are outside the plot area. By default, the data label is moved inside the
  16223. * plot area according to the overflow option.
  16224. */
  16225. crop?: boolean;
  16226. /**
  16227. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  16228. * labels until the initial series animation has finished. Setting to
  16229. * `false` renders the data label immediately. If set to `true` inherits the
  16230. * defer time set in plotOptions.series.animation. If set to a number, a
  16231. * defer time is specified in milliseconds.
  16232. */
  16233. defer?: (boolean|number);
  16234. /**
  16235. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  16236. * labels.
  16237. */
  16238. enabled?: boolean;
  16239. /**
  16240. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  16241. * of which data labels to display. The declarative filter is designed for
  16242. * use when callback functions are not available, like when the chart
  16243. * options require a pure JSON structure or for use with graphical editors.
  16244. * For programmatic control, use the `formatter` instead, and return
  16245. * `undefined` to disable a single data label.
  16246. */
  16247. filter?: DataLabelsFilterOptionsObject;
  16248. /**
  16249. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  16250. * label. Available variables are the same as for `formatter`.
  16251. */
  16252. format?: string;
  16253. /**
  16254. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  16255. * format the data label. Note that if a `format` is defined, the format
  16256. * takes precedence and the formatter is ignored.
  16257. */
  16258. formatter?: DataLabelsFormatterCallbackFunction;
  16259. /**
  16260. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  16261. * columns or map areas, whether to align the data label inside the box or
  16262. * to the actual value point. Defaults to `false` in most cases, `true` in
  16263. * stacked columns.
  16264. */
  16265. inside?: boolean;
  16266. /**
  16267. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  16268. * of null. Works analogously to format. `nullFormat` can be applied only to
  16269. * series which support displaying null points.
  16270. */
  16271. nullFormat?: (boolean|string);
  16272. /**
  16273. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  16274. * that defines formatting for points with the value of null. Works
  16275. * analogously to formatter. `nullPointFormatter` can be applied only to
  16276. * series which support displaying null points.
  16277. */
  16278. nullFormatter?: DataLabelsFormatterCallbackFunction;
  16279. /**
  16280. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  16281. * flow outside the plot area. The default is `"justify"`, which aligns them
  16282. * inside the plot area. For columns and bars, this means it will be moved
  16283. * inside the bar. To display data labels outside the plot area, set `crop`
  16284. * to `false` and `overflow` to `"allow"`.
  16285. */
  16286. overflow?: DataLabelsOverflowValue;
  16287. /**
  16288. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  16289. * the `backgroundColor` is set, this is the padding within the box.
  16290. */
  16291. padding?: number;
  16292. /**
  16293. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  16294. * points. If `center` alignment is not possible, it defaults to `right`.
  16295. */
  16296. position?: AlignValue;
  16297. /**
  16298. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  16299. * that due to a more complex structure, backgrounds, borders and padding
  16300. * will be lost on a rotated data label.
  16301. */
  16302. rotation?: number;
  16303. /**
  16304. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  16305. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  16306. * an object configuration containing `color`, `offsetX`, `offsetY`,
  16307. * `opacity` and `width`.
  16308. */
  16309. shadow?: (boolean|ShadowOptionsObject);
  16310. /**
  16311. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  16312. * the border around the label. Symbols are predefined functions on the
  16313. * Renderer object.
  16314. */
  16315. shape?: string;
  16316. /**
  16317. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  16318. * default `color` setting is `"contrast"`, which is a pseudo color that
  16319. * Highcharts picks up and applies the maximum contrast to the underlying
  16320. * point item, for example the bar in a bar chart.
  16321. *
  16322. * The `textOutline` is a pseudo property that applies an outline of the
  16323. * given width with the given color, which by default is the maximum
  16324. * contrast to the text. So a bright text color will result in a black text
  16325. * outline for maximum readability on a mixed background. In some cases,
  16326. * especially with grayscale text, the text outline doesn't work well, in
  16327. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  16328. * is true, the `textOutline` will not be picked up. In this, case, the same
  16329. * effect can be acheived through the `text-shadow` CSS property.
  16330. *
  16331. * For some series types, where each point has an extent, like for example
  16332. * tree maps, the data label may overflow the point. There are two
  16333. * strategies for handling overflow. By default, the text will wrap to
  16334. * multiple lines. The other strategy is to set `style.textOverflow` to
  16335. * `ellipsis`, which will keep the text on one line plus it will break
  16336. * inside long words.
  16337. */
  16338. style?: CSSObject;
  16339. /**
  16340. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  16341. * should follow marker's shape. Border and background are disabled for a
  16342. * label that follows a path.
  16343. *
  16344. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  16345. * to true will disable this option.
  16346. */
  16347. textPath?: DataLabelsTextPathOptionsObject;
  16348. /**
  16349. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  16350. * the labels.
  16351. */
  16352. useHTML?: boolean;
  16353. /**
  16354. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  16355. * label. Can be one of `top`, `middle` or `bottom`. The default value
  16356. * depends on the data, for instance in a column chart, the label is above
  16357. * positive values and below negative values.
  16358. */
  16359. verticalAlign?: (VerticalAlignValue|null);
  16360. /**
  16361. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  16362. * label relative to the point in pixels.
  16363. */
  16364. x?: number;
  16365. /**
  16366. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  16367. * label relative to the point in pixels.
  16368. */
  16369. y?: number;
  16370. /**
  16371. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  16372. * The default Z index puts it above the series. Use a Z index of 2 to
  16373. * display it behind the series.
  16374. */
  16375. z?: number;
  16376. }
  16377. /**
  16378. * (Highcharts, Highstock) Options for the series data sorting.
  16379. */
  16380. export interface PlotAbandsDataSortingOptions {
  16381. /**
  16382. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  16383. * Use xAxis.reversed to change the sorting order.
  16384. */
  16385. enabled?: boolean;
  16386. /**
  16387. * (Highcharts, Highstock) Whether to allow matching points by name in an
  16388. * update. If this option is disabled, points will be matched by order.
  16389. */
  16390. matchByName?: boolean;
  16391. /**
  16392. * (Highcharts, Highstock) Determines what data value should be used to sort
  16393. * by.
  16394. */
  16395. sortKey?: string;
  16396. }
  16397. /**
  16398. * (Highstock) Acceleration bands (ABANDS). This series requires the `linkedTo`
  16399. * option to be set and should be loaded after the
  16400. * `stock/indicators/indicators.js`.
  16401. *
  16402. * In TypeScript the type option must always be set.
  16403. *
  16404. * Configuration options for the series are given in three levels:
  16405. *
  16406. * 1. Options for all series in a chart are defined in the plotOptions.series
  16407. * object.
  16408. *
  16409. * 2. Options for all `abands` series are defined in plotOptions.abands.
  16410. *
  16411. * 3. Options for one single series are given in the series instance array. (see
  16412. * online documentation for example)
  16413. */
  16414. export interface PlotAbandsOptions {
  16415. /**
  16416. * (Highstock) Accessibility options for a series.
  16417. */
  16418. accessibility?: SeriesAccessibilityOptionsObject;
  16419. /**
  16420. * (Highstock) Allow this series' points to be selected by clicking on the
  16421. * graphic (columns, point markers, pie slices, map areas etc).
  16422. *
  16423. * The selected points can be handled by point select and unselect events,
  16424. * or collectively by the getSelectedPoints function.
  16425. *
  16426. * And alternative way of selecting points is through dragging.
  16427. */
  16428. allowPointSelect?: boolean;
  16429. /**
  16430. * (Highstock) Enable or disable the initial animation when a series is
  16431. * displayed. The animation can also be set as a configuration object.
  16432. * Please note that this option only applies to the initial animation of the
  16433. * series itself. For other animations, see chart.animation and the
  16434. * animation parameter under the API methods. The following properties are
  16435. * supported:
  16436. *
  16437. * - `defer`: The animation delay time in milliseconds.
  16438. *
  16439. * - `duration`: The duration of the animation in milliseconds.
  16440. *
  16441. * - `easing`: Can be a string reference to an easing function set on the
  16442. * `Math` object or a function. See the _Custom easing function_ demo below.
  16443. *
  16444. * Due to poor performance, animation is disabled in old IE browsers for
  16445. * several chart types.
  16446. */
  16447. animation?: (boolean|PlotAbandsAnimationOptions|Partial<AnimationOptionsObject>);
  16448. /**
  16449. * (Highstock) For some series, there is a limit that shuts down initial
  16450. * animation by default when the total number of points in the chart is too
  16451. * high. For example, for a column chart and its derivatives, animation does
  16452. * not run if there is more than 250 points totally. To disable this cap,
  16453. * set `animationLimit` to `Infinity`.
  16454. */
  16455. animationLimit?: number;
  16456. /**
  16457. * (Highstock) Sets the color blending in the boost module.
  16458. */
  16459. boostBlending?: OptionsBoostBlendingValue;
  16460. /**
  16461. * (Highstock) Set the point threshold for when a series should enter boost
  16462. * mode.
  16463. *
  16464. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  16465. * there are 2000 or more points in the series.
  16466. *
  16467. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  16468. * it to 1 will force boosting.
  16469. *
  16470. * Note that the cropThreshold also affects this setting. When zooming in on
  16471. * a series that has fewer points than the `cropThreshold`, all points are
  16472. * rendered although outside the visible plot area, and the `boostThreshold`
  16473. * won't take effect.
  16474. */
  16475. boostThreshold?: number;
  16476. /**
  16477. * (Highmaps) The border color of the map areas.
  16478. *
  16479. * In styled mode, the border stroke is given in the `.highcharts-point`
  16480. * class.
  16481. */
  16482. borderColor?: (ColorString|GradientColorObject|PatternObject);
  16483. /**
  16484. * (Highmaps) The border width of each map area.
  16485. *
  16486. * In styled mode, the border stroke width is given in the
  16487. * `.highcharts-point` class.
  16488. */
  16489. borderWidth?: number;
  16490. bottomLine?: PlotAbandsBottomLineOptions;
  16491. /**
  16492. * (Highstock) An additional class name to apply to the series' graphical
  16493. * elements. This option does not replace default class names of the
  16494. * graphical element.
  16495. */
  16496. className?: string;
  16497. /**
  16498. * (Highstock) Disable this option to allow series rendering in the whole
  16499. * plotting area.
  16500. *
  16501. * **Note:** Clipping should be always enabled when chart.zoomType is set
  16502. */
  16503. clip?: boolean;
  16504. /**
  16505. * (Highstock) The main color of the series. In line type series it applies
  16506. * to the line and the point markers unless otherwise specified. In bar type
  16507. * series it applies to the bars unless a color is specified per point. The
  16508. * default value is pulled from the `options.colors` array.
  16509. *
  16510. * In styled mode, the color can be defined by the colorIndex option. Also,
  16511. * the series color can be set with the `.highcharts-series`,
  16512. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  16513. * `.highcharts-series-{n}` class, or individual classes given by the
  16514. * `className` option.
  16515. */
  16516. color?: (ColorString|GradientColorObject|PatternObject);
  16517. /**
  16518. * (Highstock) Styled mode only. A specific color index to use for the
  16519. * series, so its graphic representations are given the class name
  16520. * `highcharts-color-{n}`.
  16521. */
  16522. colorIndex?: number;
  16523. /**
  16524. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  16525. * used to calculate point color if `colorAxis` is used. Requires to set
  16526. * `min` and `max` if some custom point property is used or if approximation
  16527. * for data grouping is set to `'sum'`.
  16528. */
  16529. colorKey?: string;
  16530. /**
  16531. * (Highstock) Defines if comparison should start from the first point
  16532. * within the visible range or should start from the first point **before**
  16533. * the range.
  16534. *
  16535. * In other words, this flag determines if first point within the visible
  16536. * range will have 0% (`compareStart=true`) or should have been already
  16537. * calculated according to the previous point (`compareStart=false`).
  16538. */
  16539. compareStart?: boolean;
  16540. /**
  16541. * (Highstock) Whether to compare indicator to the main series values or
  16542. * indicator values.
  16543. */
  16544. compareToMain?: boolean;
  16545. /**
  16546. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  16547. * series plot across the extremes.
  16548. */
  16549. connectEnds?: boolean;
  16550. /**
  16551. * (Highcharts, Highstock) Whether to connect a graph line across null
  16552. * points, or render a gap between the two points on either side of the
  16553. * null.
  16554. */
  16555. connectNulls?: boolean;
  16556. /**
  16557. * (Gantt) Override Pathfinder connector options for a series. Requires
  16558. * Highcharts Gantt to be loaded.
  16559. */
  16560. connectors?: SeriesConnectorsOptionsObject;
  16561. /**
  16562. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  16563. * rounded to its nearest pixel in order to render sharp on screen. In some
  16564. * cases, when there are a lot of densely packed columns, this leads to
  16565. * visible difference in column widths or distance between columns. In these
  16566. * cases, setting `crisp` to `false` may look better, even though each
  16567. * column is rendered blurry.
  16568. */
  16569. crisp?: boolean;
  16570. /**
  16571. * (Highcharts, Highstock) When the series contains less points than the
  16572. * crop threshold, all points are drawn, even if the points fall outside the
  16573. * visible plot area at the current zoom. The advantage of drawing all
  16574. * points (including markers and columns), is that animation is performed on
  16575. * updates. On the other hand, when the series contains more points than the
  16576. * crop threshold, the series data is cropped to only contain points that
  16577. * fall within the plot area. The advantage of cropping away invisible
  16578. * points is to increase performance on large series.
  16579. */
  16580. cropThreshold?: number;
  16581. /**
  16582. * (Highstock) You can set the cursor to "pointer" if you have click events
  16583. * attached to the series, to signal to the user that the points and lines
  16584. * can be clicked.
  16585. *
  16586. * In styled mode, the series cursor can be set with the same classes as
  16587. * listed under series.color.
  16588. */
  16589. cursor?: (string|CursorValue);
  16590. /**
  16591. * (Highstock) A reserved subspace to store options and values for
  16592. * customized functionality. Here you can add additional data for your own
  16593. * event callbacks and formatter callbacks.
  16594. */
  16595. custom?: Dictionary<any>;
  16596. /**
  16597. * (Highstock) Name of the dash style to use for the graph, or for some
  16598. * series types the outline of each shape.
  16599. *
  16600. * In styled mode, the stroke dash-array can be set with the same classes as
  16601. * listed under series.color.
  16602. */
  16603. dashStyle?: DashStyleValue;
  16604. /**
  16605. * (Highstock) Data grouping is the concept of sampling the data values into
  16606. * larger blocks in order to ease readability and increase performance of
  16607. * the JavaScript charts. Highcharts Stock by default applies data grouping
  16608. * when the points become closer than a certain pixel value, determined by
  16609. * the `groupPixelWidth` option.
  16610. *
  16611. * If data grouping is applied, the grouping information of grouped points
  16612. * can be read from the Point.dataGroup. If point options other than the
  16613. * data itself are set, for example `name` or `color` or custom properties,
  16614. * the grouping logic doesn't know how to group it. In this case the options
  16615. * of the first point instance are copied over to the group point. This can
  16616. * be altered through a custom `approximation` callback function.
  16617. */
  16618. dataGrouping?: DataGroupingOptionsObject;
  16619. /**
  16620. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  16621. * labels, appearing next to each data point.
  16622. *
  16623. * Since v6.2.0, multiple data labels can be applied to each single point by
  16624. * defining them as an array of configs.
  16625. *
  16626. * In styled mode, the data labels can be styled with the
  16627. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  16628. * (see example).
  16629. */
  16630. dataLabels?: (PlotAbandsDataLabelsOptions|Array<PlotAbandsDataLabelsOptions>);
  16631. /**
  16632. * (Highcharts, Highstock) Options for the series data sorting.
  16633. */
  16634. dataSorting?: (DataSortingOptionsObject|PlotAbandsDataSortingOptions);
  16635. /**
  16636. * (Highstock) A description of the series to add to the screen reader
  16637. * information about the series.
  16638. */
  16639. description?: string;
  16640. /**
  16641. * (Highstock) Enable or disable the mouse tracking for a specific series.
  16642. * This includes point tooltips and click events on graphs and points. For
  16643. * large datasets it improves performance.
  16644. */
  16645. enableMouseTracking?: boolean;
  16646. /**
  16647. * (Highstock) General event handlers for the series items. These event
  16648. * hooks can also be attached to the series at run time using the
  16649. * `Highcharts.addEvent` function.
  16650. */
  16651. events?: SeriesEventsOptionsObject;
  16652. /**
  16653. * (Highstock) Determines whether the series should look for the nearest
  16654. * point in both dimensions or just the x-dimension when hovering the
  16655. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  16656. * series. If the data has duplicate x-values, it is recommended to set this
  16657. * to `'xy'` to allow hovering over all points.
  16658. *
  16659. * Applies only to series types using nearest neighbor search (not direct
  16660. * hover) for tooltip.
  16661. */
  16662. findNearestPointBy?: OptionsFindNearestPointByValue;
  16663. /**
  16664. * (Highstock) Defines when to display a gap in the graph, together with the
  16665. * gapUnit option.
  16666. *
  16667. * In case when `dataGrouping` is enabled, points can be grouped into a
  16668. * larger time span. This can make the grouped points to have a greater
  16669. * distance than the absolute value of `gapSize` property, which will result
  16670. * in disappearing graph completely. To prevent this situation the mentioned
  16671. * distance between grouped points is used instead of previously defined
  16672. * `gapSize`.
  16673. *
  16674. * In practice, this option is most often used to visualize gaps in time
  16675. * series. In a stock chart, intraday data is available for daytime hours,
  16676. * while gaps will appear in nights and weekends.
  16677. */
  16678. gapSize?: number;
  16679. /**
  16680. * (Highstock) Together with gapSize, this option defines where to draw gaps
  16681. * in the graph.
  16682. *
  16683. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  16684. * if the distance between two points is greater than 5 times that of the
  16685. * two closest points, the graph will be broken.
  16686. *
  16687. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  16688. * values, which on a datetime axis is milliseconds. This also applies to
  16689. * the navigator series that inherits gap options from the base series.
  16690. */
  16691. gapUnit?: OptionsGapUnitValue;
  16692. /**
  16693. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  16694. * chart width or only the zoomed area when zooming in on parts of the X
  16695. * axis. By default, the Y axis adjusts to the min and max of the visible
  16696. * data. Cartesian series only.
  16697. */
  16698. getExtremesFromAll?: boolean;
  16699. /**
  16700. * (Highstock) When set to `false` will prevent the series data from being
  16701. * included in any form of data export.
  16702. *
  16703. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  16704. * `includeInCSVExport`.
  16705. */
  16706. includeInDataExport?: boolean;
  16707. /**
  16708. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  16709. * series as possible in a natural way, seeking to avoid other series. The
  16710. * goal of this feature is to make the chart more easily readable, like if a
  16711. * human designer placed the labels in the optimal position.
  16712. *
  16713. * The series labels currently work with series types having a `graph` or an
  16714. * `area`.
  16715. */
  16716. label?: SeriesLabelOptionsObject;
  16717. /**
  16718. * (Highstock) The line marks the last price from all points.
  16719. */
  16720. lastPrice?: SeriesLastPriceOptionsObject;
  16721. /**
  16722. * (Highstock) The line marks the last price from visible range of points.
  16723. */
  16724. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  16725. /**
  16726. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  16727. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  16728. * the ends and bends.
  16729. */
  16730. linecap?: SeriesLinecapValue;
  16731. /**
  16732. * (Highcharts, Highstock) Pixel width of the graph line.
  16733. */
  16734. lineWidth?: number;
  16735. /**
  16736. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  16737. * based on. Required for this indicator.
  16738. */
  16739. linkedTo?: string;
  16740. /**
  16741. * (Highstock) Options for the point markers of line-like series. Properties
  16742. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  16743. * appearance of the markers. Other series types, like column series, don't
  16744. * have markers, but have visual options on the series level instead.
  16745. *
  16746. * In styled mode, the markers can be styled with the `.highcharts-point`,
  16747. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  16748. */
  16749. marker?: PointMarkerOptionsObject;
  16750. /**
  16751. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  16752. * If not set, it will be based on a technical indicator type and default
  16753. * params.
  16754. */
  16755. name?: string;
  16756. /**
  16757. * (Highstock) The color for the parts of the graph or points that are below
  16758. * the threshold. Note that `zones` takes precedence over the negative
  16759. * color. Using `negativeColor` is equivalent to applying a zone with value
  16760. * of 0.
  16761. */
  16762. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  16763. /**
  16764. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  16765. * dataLabels.
  16766. */
  16767. opacity?: number;
  16768. /**
  16769. * (Highstock) Paramters used in calculation of regression series' points.
  16770. */
  16771. params?: PlotAbandsParamsOptions;
  16772. /**
  16773. * (Highstock) Properties for each single point.
  16774. */
  16775. point?: PlotSeriesPointOptions;
  16776. /**
  16777. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  16778. * individual series. Overrides the chart wide configuration.
  16779. */
  16780. pointDescriptionFormatter?: Function;
  16781. /**
  16782. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  16783. * true, the checkbox next to the series name in the legend will be checked
  16784. * for a selected series.
  16785. */
  16786. selected?: boolean;
  16787. /**
  16788. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  16789. * the shadow can be an object configuration containing `color`, `offsetX`,
  16790. * `offsetY`, `opacity` and `width`.
  16791. */
  16792. shadow?: (boolean|ShadowOptionsObject);
  16793. /**
  16794. * (Highstock) If true, a checkbox is displayed next to the legend item to
  16795. * allow selecting the series. The state of the checkbox is determined by
  16796. * the `selected` option.
  16797. */
  16798. showCheckbox?: boolean;
  16799. /**
  16800. * (Highstock) Whether to display this particular series or series type in
  16801. * the legend. Standalone series are shown in legend by default, and linked
  16802. * series are not. Since v7.2.0 it is possible to show series that use
  16803. * colorAxis by setting this option to `true`.
  16804. */
  16805. showInLegend?: boolean;
  16806. /**
  16807. * (Highstock) If set to `true`, the accessibility module will skip past the
  16808. * points in this series for keyboard navigation.
  16809. */
  16810. skipKeyboardNavigation?: boolean;
  16811. /**
  16812. * (Highcharts, Highstock) When this is true, the series will not cause the
  16813. * Y axis to cross the zero plane (or threshold option) unless the data
  16814. * actually crosses the plane.
  16815. *
  16816. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  16817. * make the Y axis show negative values according to the `minPadding`
  16818. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  16819. */
  16820. softThreshold?: boolean;
  16821. states?: SeriesStatesOptionsObject;
  16822. /**
  16823. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  16824. * values are `left`, `center` and `right`.
  16825. */
  16826. step?: OptionsStepValue;
  16827. /**
  16828. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  16829. * event on a series isn't triggered until the mouse moves over another
  16830. * series, or out of the plot area. When false, the `mouseOut` event on a
  16831. * series is triggered when the mouse leaves the area around the series'
  16832. * graph or markers. This also implies the tooltip when not shared. When
  16833. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  16834. * be hidden when moving the mouse between series. Defaults to true for line
  16835. * and area type series, but to false for columns, pies etc.
  16836. *
  16837. * **Note:** The boost module will force this option because of technical
  16838. * limitations.
  16839. */
  16840. stickyTracking?: boolean;
  16841. /**
  16842. * (Highcharts, Highstock) The threshold, also called zero level or base
  16843. * level. For line type series this is only used in conjunction with
  16844. * negativeColor.
  16845. */
  16846. threshold?: (number|null);
  16847. /**
  16848. * (Highstock) A configuration object for the tooltip rendering of each
  16849. * single series. Properties are inherited from tooltip, but only the
  16850. * following properties can be defined on a series level.
  16851. */
  16852. tooltip?: SeriesTooltipOptionsObject;
  16853. topLine?: PlotAbandsTopLineOptions;
  16854. /**
  16855. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  16856. * is longer than this, only one dimensional arrays of numbers, or two
  16857. * dimensional arrays with x and y values are allowed. Also, only the first
  16858. * point is tested, and the rest are assumed to be the same format. This
  16859. * saves expensive data checking and indexing in long series. Set it to `0`
  16860. * disable.
  16861. *
  16862. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  16863. * two dimensional arrays are allowed.
  16864. */
  16865. turboThreshold?: number;
  16866. /**
  16867. * (Highstock) Set the initial visibility of the series.
  16868. */
  16869. visible?: boolean;
  16870. /**
  16871. * (Highmaps) Define the z index of the series.
  16872. */
  16873. zIndex?: number;
  16874. /**
  16875. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  16876. */
  16877. zoneAxis?: string;
  16878. /**
  16879. * (Highcharts, Highstock) An array defining zones within a series. Zones
  16880. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  16881. * the `zoneAxis` option. The zone definitions have to be in ascending order
  16882. * regarding to the value.
  16883. *
  16884. * In styled mode, the color zones are styled with the
  16885. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  16886. * option (view live demo).
  16887. */
  16888. zones?: Array<SeriesZonesOptionsObject>;
  16889. }
  16890. /**
  16891. * (Highstock) Paramters used in calculation of regression series' points.
  16892. */
  16893. export interface PlotAbandsParamsOptions {
  16894. /**
  16895. * (Highstock) The algorithms factor value used to calculate bands.
  16896. */
  16897. factor?: number;
  16898. /**
  16899. * (Highstock) The point index which indicator calculations will base. For
  16900. * example using OHLC data, index=2 means the indicator will be calculated
  16901. * using Low values.
  16902. */
  16903. index?: number;
  16904. /**
  16905. * (Highstock) The base period for indicator calculations. This is the
  16906. * number of data points which are taken into account for the indicator
  16907. * calculations.
  16908. */
  16909. period?: number;
  16910. }
  16911. export interface PlotAbandsTopLineOptions {
  16912. styles?: PlotAbandsTopLineStylesOptions;
  16913. }
  16914. export interface PlotAbandsTopLineStylesOptions {
  16915. /**
  16916. * (Highstock) Pixel width of the line.
  16917. */
  16918. lineWidth?: number;
  16919. }
  16920. /**
  16921. * (Highstock) Enable or disable the initial animation when a series is
  16922. * displayed. The animation can also be set as a configuration object. Please
  16923. * note that this option only applies to the initial animation of the series
  16924. * itself. For other animations, see chart.animation and the animation parameter
  16925. * under the API methods. The following properties are supported:
  16926. *
  16927. * - `defer`: The animation delay time in milliseconds.
  16928. *
  16929. * - `duration`: The duration of the animation in milliseconds.
  16930. *
  16931. * - `easing`: Can be a string reference to an easing function set on the `Math`
  16932. * object or a function. See the _Custom easing function_ demo below.
  16933. *
  16934. * Due to poor performance, animation is disabled in old IE browsers for several
  16935. * chart types.
  16936. */
  16937. export interface PlotAdAnimationOptions {
  16938. defer?: number;
  16939. }
  16940. /**
  16941. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  16942. * animation when a series is displayed for the `dataLabels`. The animation can
  16943. * also be set as a configuration object. Please note that this option only
  16944. * applies to the initial animation. For other animations, see chart.animation
  16945. * and the animation parameter under the API methods. The following properties
  16946. * are supported:
  16947. *
  16948. * - `defer`: The animation delay time in milliseconds.
  16949. */
  16950. export interface PlotAdDataLabelsAnimationOptions {
  16951. /**
  16952. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  16953. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  16954. * inherits defer time from the series.animation.defer.
  16955. */
  16956. defer?: number;
  16957. }
  16958. /**
  16959. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  16960. * appearing next to each data point.
  16961. *
  16962. * Since v6.2.0, multiple data labels can be applied to each single point by
  16963. * defining them as an array of configs.
  16964. *
  16965. * In styled mode, the data labels can be styled with the
  16966. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  16967. * example).
  16968. */
  16969. export interface PlotAdDataLabelsOptions {
  16970. /**
  16971. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  16972. * compared to the point. If `right`, the right side of the label should be
  16973. * touching the point. For points with an extent, like columns, the
  16974. * alignments also dictates how to align it inside the box, as given with
  16975. * the inside option. Can be one of `left`, `center` or `right`.
  16976. */
  16977. align?: (AlignValue|null);
  16978. /**
  16979. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  16980. * overlap. To make the labels less sensitive for overlapping, the
  16981. * dataLabels.padding can be set to 0.
  16982. */
  16983. allowOverlap?: boolean;
  16984. /**
  16985. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  16986. * animation when a series is displayed for the `dataLabels`. The animation
  16987. * can also be set as a configuration object. Please note that this option
  16988. * only applies to the initial animation. For other animations, see
  16989. * chart.animation and the animation parameter under the API methods. The
  16990. * following properties are supported:
  16991. *
  16992. * - `defer`: The animation delay time in milliseconds.
  16993. */
  16994. animation?: (boolean|PlotAdDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  16995. /**
  16996. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  16997. * for the data label.
  16998. */
  16999. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  17000. /**
  17001. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  17002. * label. Defaults to `undefined`.
  17003. */
  17004. borderColor?: (ColorString|GradientColorObject|PatternObject);
  17005. /**
  17006. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  17007. * the data label.
  17008. */
  17009. borderRadius?: number;
  17010. /**
  17011. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  17012. * the data label.
  17013. */
  17014. borderWidth?: number;
  17015. /**
  17016. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  17017. * Particularly in styled mode, this can be used to give each series' or
  17018. * point's data label unique styling. In addition to this option, a default
  17019. * color class name is added so that we can give the labels a contrast text
  17020. * shadow.
  17021. */
  17022. className?: string;
  17023. /**
  17024. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  17025. * labels. Defaults to `undefined`. For certain series types, like column or
  17026. * map, the data labels can be drawn inside the points. In this case the
  17027. * data label will be drawn with maximum contrast by default. Additionally,
  17028. * it will be given a `text-outline` style with the opposite color, to
  17029. * further increase the contrast. This can be overridden by setting the
  17030. * `text-outline` style to `none` in the `dataLabels.style` option.
  17031. */
  17032. color?: (ColorString|GradientColorObject|PatternObject);
  17033. /**
  17034. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  17035. * are outside the plot area. By default, the data label is moved inside the
  17036. * plot area according to the overflow option.
  17037. */
  17038. crop?: boolean;
  17039. /**
  17040. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  17041. * labels until the initial series animation has finished. Setting to
  17042. * `false` renders the data label immediately. If set to `true` inherits the
  17043. * defer time set in plotOptions.series.animation. If set to a number, a
  17044. * defer time is specified in milliseconds.
  17045. */
  17046. defer?: (boolean|number);
  17047. /**
  17048. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  17049. * labels.
  17050. */
  17051. enabled?: boolean;
  17052. /**
  17053. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  17054. * of which data labels to display. The declarative filter is designed for
  17055. * use when callback functions are not available, like when the chart
  17056. * options require a pure JSON structure or for use with graphical editors.
  17057. * For programmatic control, use the `formatter` instead, and return
  17058. * `undefined` to disable a single data label.
  17059. */
  17060. filter?: DataLabelsFilterOptionsObject;
  17061. /**
  17062. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  17063. * label. Available variables are the same as for `formatter`.
  17064. */
  17065. format?: string;
  17066. /**
  17067. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  17068. * format the data label. Note that if a `format` is defined, the format
  17069. * takes precedence and the formatter is ignored.
  17070. */
  17071. formatter?: DataLabelsFormatterCallbackFunction;
  17072. /**
  17073. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  17074. * columns or map areas, whether to align the data label inside the box or
  17075. * to the actual value point. Defaults to `false` in most cases, `true` in
  17076. * stacked columns.
  17077. */
  17078. inside?: boolean;
  17079. /**
  17080. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  17081. * of null. Works analogously to format. `nullFormat` can be applied only to
  17082. * series which support displaying null points.
  17083. */
  17084. nullFormat?: (boolean|string);
  17085. /**
  17086. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  17087. * that defines formatting for points with the value of null. Works
  17088. * analogously to formatter. `nullPointFormatter` can be applied only to
  17089. * series which support displaying null points.
  17090. */
  17091. nullFormatter?: DataLabelsFormatterCallbackFunction;
  17092. /**
  17093. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  17094. * flow outside the plot area. The default is `"justify"`, which aligns them
  17095. * inside the plot area. For columns and bars, this means it will be moved
  17096. * inside the bar. To display data labels outside the plot area, set `crop`
  17097. * to `false` and `overflow` to `"allow"`.
  17098. */
  17099. overflow?: DataLabelsOverflowValue;
  17100. /**
  17101. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  17102. * the `backgroundColor` is set, this is the padding within the box.
  17103. */
  17104. padding?: number;
  17105. /**
  17106. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  17107. * points. If `center` alignment is not possible, it defaults to `right`.
  17108. */
  17109. position?: AlignValue;
  17110. /**
  17111. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  17112. * that due to a more complex structure, backgrounds, borders and padding
  17113. * will be lost on a rotated data label.
  17114. */
  17115. rotation?: number;
  17116. /**
  17117. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  17118. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  17119. * an object configuration containing `color`, `offsetX`, `offsetY`,
  17120. * `opacity` and `width`.
  17121. */
  17122. shadow?: (boolean|ShadowOptionsObject);
  17123. /**
  17124. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  17125. * the border around the label. Symbols are predefined functions on the
  17126. * Renderer object.
  17127. */
  17128. shape?: string;
  17129. /**
  17130. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  17131. * default `color` setting is `"contrast"`, which is a pseudo color that
  17132. * Highcharts picks up and applies the maximum contrast to the underlying
  17133. * point item, for example the bar in a bar chart.
  17134. *
  17135. * The `textOutline` is a pseudo property that applies an outline of the
  17136. * given width with the given color, which by default is the maximum
  17137. * contrast to the text. So a bright text color will result in a black text
  17138. * outline for maximum readability on a mixed background. In some cases,
  17139. * especially with grayscale text, the text outline doesn't work well, in
  17140. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  17141. * is true, the `textOutline` will not be picked up. In this, case, the same
  17142. * effect can be acheived through the `text-shadow` CSS property.
  17143. *
  17144. * For some series types, where each point has an extent, like for example
  17145. * tree maps, the data label may overflow the point. There are two
  17146. * strategies for handling overflow. By default, the text will wrap to
  17147. * multiple lines. The other strategy is to set `style.textOverflow` to
  17148. * `ellipsis`, which will keep the text on one line plus it will break
  17149. * inside long words.
  17150. */
  17151. style?: CSSObject;
  17152. /**
  17153. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  17154. * should follow marker's shape. Border and background are disabled for a
  17155. * label that follows a path.
  17156. *
  17157. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  17158. * to true will disable this option.
  17159. */
  17160. textPath?: DataLabelsTextPathOptionsObject;
  17161. /**
  17162. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  17163. * the labels.
  17164. */
  17165. useHTML?: boolean;
  17166. /**
  17167. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  17168. * label. Can be one of `top`, `middle` or `bottom`. The default value
  17169. * depends on the data, for instance in a column chart, the label is above
  17170. * positive values and below negative values.
  17171. */
  17172. verticalAlign?: (VerticalAlignValue|null);
  17173. /**
  17174. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  17175. * label relative to the point in pixels.
  17176. */
  17177. x?: number;
  17178. /**
  17179. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  17180. * label relative to the point in pixels.
  17181. */
  17182. y?: number;
  17183. /**
  17184. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  17185. * The default Z index puts it above the series. Use a Z index of 2 to
  17186. * display it behind the series.
  17187. */
  17188. z?: number;
  17189. }
  17190. /**
  17191. * (Highcharts, Highstock) Options for the series data sorting.
  17192. */
  17193. export interface PlotAdDataSortingOptions {
  17194. /**
  17195. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  17196. * Use xAxis.reversed to change the sorting order.
  17197. */
  17198. enabled?: boolean;
  17199. /**
  17200. * (Highcharts, Highstock) Whether to allow matching points by name in an
  17201. * update. If this option is disabled, points will be matched by order.
  17202. */
  17203. matchByName?: boolean;
  17204. /**
  17205. * (Highcharts, Highstock) Determines what data value should be used to sort
  17206. * by.
  17207. */
  17208. sortKey?: string;
  17209. }
  17210. /**
  17211. * (Highstock) Accumulation Distribution (AD). This series requires `linkedTo`
  17212. * option to be set.
  17213. *
  17214. * In TypeScript the type option must always be set.
  17215. *
  17216. * Configuration options for the series are given in three levels:
  17217. *
  17218. * 1. Options for all series in a chart are defined in the plotOptions.series
  17219. * object.
  17220. *
  17221. * 2. Options for all `ad` series are defined in plotOptions.ad.
  17222. *
  17223. * 3. Options for one single series are given in the series instance array. (see
  17224. * online documentation for example)
  17225. */
  17226. export interface PlotAdOptions {
  17227. /**
  17228. * (Highstock) Accessibility options for a series.
  17229. */
  17230. accessibility?: SeriesAccessibilityOptionsObject;
  17231. /**
  17232. * (Highstock) Allow this series' points to be selected by clicking on the
  17233. * graphic (columns, point markers, pie slices, map areas etc).
  17234. *
  17235. * The selected points can be handled by point select and unselect events,
  17236. * or collectively by the getSelectedPoints function.
  17237. *
  17238. * And alternative way of selecting points is through dragging.
  17239. */
  17240. allowPointSelect?: boolean;
  17241. /**
  17242. * (Highstock) Enable or disable the initial animation when a series is
  17243. * displayed. The animation can also be set as a configuration object.
  17244. * Please note that this option only applies to the initial animation of the
  17245. * series itself. For other animations, see chart.animation and the
  17246. * animation parameter under the API methods. The following properties are
  17247. * supported:
  17248. *
  17249. * - `defer`: The animation delay time in milliseconds.
  17250. *
  17251. * - `duration`: The duration of the animation in milliseconds.
  17252. *
  17253. * - `easing`: Can be a string reference to an easing function set on the
  17254. * `Math` object or a function. See the _Custom easing function_ demo below.
  17255. *
  17256. * Due to poor performance, animation is disabled in old IE browsers for
  17257. * several chart types.
  17258. */
  17259. animation?: (boolean|PlotAdAnimationOptions|Partial<AnimationOptionsObject>);
  17260. /**
  17261. * (Highstock) For some series, there is a limit that shuts down initial
  17262. * animation by default when the total number of points in the chart is too
  17263. * high. For example, for a column chart and its derivatives, animation does
  17264. * not run if there is more than 250 points totally. To disable this cap,
  17265. * set `animationLimit` to `Infinity`.
  17266. */
  17267. animationLimit?: number;
  17268. /**
  17269. * (Highstock) Sets the color blending in the boost module.
  17270. */
  17271. boostBlending?: OptionsBoostBlendingValue;
  17272. /**
  17273. * (Highstock) Set the point threshold for when a series should enter boost
  17274. * mode.
  17275. *
  17276. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  17277. * there are 2000 or more points in the series.
  17278. *
  17279. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  17280. * it to 1 will force boosting.
  17281. *
  17282. * Note that the cropThreshold also affects this setting. When zooming in on
  17283. * a series that has fewer points than the `cropThreshold`, all points are
  17284. * rendered although outside the visible plot area, and the `boostThreshold`
  17285. * won't take effect.
  17286. */
  17287. boostThreshold?: number;
  17288. /**
  17289. * (Highmaps) The border color of the map areas.
  17290. *
  17291. * In styled mode, the border stroke is given in the `.highcharts-point`
  17292. * class.
  17293. */
  17294. borderColor?: (ColorString|GradientColorObject|PatternObject);
  17295. /**
  17296. * (Highmaps) The border width of each map area.
  17297. *
  17298. * In styled mode, the border stroke width is given in the
  17299. * `.highcharts-point` class.
  17300. */
  17301. borderWidth?: number;
  17302. /**
  17303. * (Highstock) An additional class name to apply to the series' graphical
  17304. * elements. This option does not replace default class names of the
  17305. * graphical element.
  17306. */
  17307. className?: string;
  17308. /**
  17309. * (Highstock) Disable this option to allow series rendering in the whole
  17310. * plotting area.
  17311. *
  17312. * **Note:** Clipping should be always enabled when chart.zoomType is set
  17313. */
  17314. clip?: boolean;
  17315. /**
  17316. * (Highstock) The main color of the series. In line type series it applies
  17317. * to the line and the point markers unless otherwise specified. In bar type
  17318. * series it applies to the bars unless a color is specified per point. The
  17319. * default value is pulled from the `options.colors` array.
  17320. *
  17321. * In styled mode, the color can be defined by the colorIndex option. Also,
  17322. * the series color can be set with the `.highcharts-series`,
  17323. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  17324. * `.highcharts-series-{n}` class, or individual classes given by the
  17325. * `className` option.
  17326. */
  17327. color?: (ColorString|GradientColorObject|PatternObject);
  17328. /**
  17329. * (Highstock) Styled mode only. A specific color index to use for the
  17330. * series, so its graphic representations are given the class name
  17331. * `highcharts-color-{n}`.
  17332. */
  17333. colorIndex?: number;
  17334. /**
  17335. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  17336. * used to calculate point color if `colorAxis` is used. Requires to set
  17337. * `min` and `max` if some custom point property is used or if approximation
  17338. * for data grouping is set to `'sum'`.
  17339. */
  17340. colorKey?: string;
  17341. /**
  17342. * (Highstock) Compare the values of the series against the first non-null,
  17343. * non- zero value in the visible range. The y axis will show percentage or
  17344. * absolute change depending on whether `compare` is set to `"percent"` or
  17345. * `"value"`. When this is applied to multiple series, it allows comparing
  17346. * the development of the series against each other. Adds a `change` field
  17347. * to every point object.
  17348. */
  17349. compare?: string;
  17350. /**
  17351. * (Highstock) When compare is `percent`, this option dictates whether to
  17352. * use 0 or 100 as the base of comparison.
  17353. */
  17354. compareBase?: (0|100);
  17355. /**
  17356. * (Highstock) Defines if comparison should start from the first point
  17357. * within the visible range or should start from the first point **before**
  17358. * the range.
  17359. *
  17360. * In other words, this flag determines if first point within the visible
  17361. * range will have 0% (`compareStart=true`) or should have been already
  17362. * calculated according to the previous point (`compareStart=false`).
  17363. */
  17364. compareStart?: boolean;
  17365. /**
  17366. * (Highstock) Whether to compare indicator to the main series values or
  17367. * indicator values.
  17368. */
  17369. compareToMain?: boolean;
  17370. /**
  17371. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  17372. * series plot across the extremes.
  17373. */
  17374. connectEnds?: boolean;
  17375. /**
  17376. * (Highcharts, Highstock) Whether to connect a graph line across null
  17377. * points, or render a gap between the two points on either side of the
  17378. * null.
  17379. */
  17380. connectNulls?: boolean;
  17381. /**
  17382. * (Gantt) Override Pathfinder connector options for a series. Requires
  17383. * Highcharts Gantt to be loaded.
  17384. */
  17385. connectors?: SeriesConnectorsOptionsObject;
  17386. /**
  17387. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  17388. * rounded to its nearest pixel in order to render sharp on screen. In some
  17389. * cases, when there are a lot of densely packed columns, this leads to
  17390. * visible difference in column widths or distance between columns. In these
  17391. * cases, setting `crisp` to `false` may look better, even though each
  17392. * column is rendered blurry.
  17393. */
  17394. crisp?: boolean;
  17395. /**
  17396. * (Highcharts, Highstock) When the series contains less points than the
  17397. * crop threshold, all points are drawn, even if the points fall outside the
  17398. * visible plot area at the current zoom. The advantage of drawing all
  17399. * points (including markers and columns), is that animation is performed on
  17400. * updates. On the other hand, when the series contains more points than the
  17401. * crop threshold, the series data is cropped to only contain points that
  17402. * fall within the plot area. The advantage of cropping away invisible
  17403. * points is to increase performance on large series.
  17404. */
  17405. cropThreshold?: number;
  17406. /**
  17407. * (Highstock) You can set the cursor to "pointer" if you have click events
  17408. * attached to the series, to signal to the user that the points and lines
  17409. * can be clicked.
  17410. *
  17411. * In styled mode, the series cursor can be set with the same classes as
  17412. * listed under series.color.
  17413. */
  17414. cursor?: (string|CursorValue);
  17415. /**
  17416. * (Highstock) A reserved subspace to store options and values for
  17417. * customized functionality. Here you can add additional data for your own
  17418. * event callbacks and formatter callbacks.
  17419. */
  17420. custom?: Dictionary<any>;
  17421. /**
  17422. * (Highstock) Name of the dash style to use for the graph, or for some
  17423. * series types the outline of each shape.
  17424. *
  17425. * In styled mode, the stroke dash-array can be set with the same classes as
  17426. * listed under series.color.
  17427. */
  17428. dashStyle?: DashStyleValue;
  17429. /**
  17430. * (Highstock) Data grouping is the concept of sampling the data values into
  17431. * larger blocks in order to ease readability and increase performance of
  17432. * the JavaScript charts. Highcharts Stock by default applies data grouping
  17433. * when the points become closer than a certain pixel value, determined by
  17434. * the `groupPixelWidth` option.
  17435. *
  17436. * If data grouping is applied, the grouping information of grouped points
  17437. * can be read from the Point.dataGroup. If point options other than the
  17438. * data itself are set, for example `name` or `color` or custom properties,
  17439. * the grouping logic doesn't know how to group it. In this case the options
  17440. * of the first point instance are copied over to the group point. This can
  17441. * be altered through a custom `approximation` callback function.
  17442. */
  17443. dataGrouping?: DataGroupingOptionsObject;
  17444. /**
  17445. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  17446. * labels, appearing next to each data point.
  17447. *
  17448. * Since v6.2.0, multiple data labels can be applied to each single point by
  17449. * defining them as an array of configs.
  17450. *
  17451. * In styled mode, the data labels can be styled with the
  17452. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  17453. * (see example).
  17454. */
  17455. dataLabels?: (PlotAdDataLabelsOptions|Array<PlotAdDataLabelsOptions>);
  17456. /**
  17457. * (Highcharts, Highstock) Options for the series data sorting.
  17458. */
  17459. dataSorting?: (DataSortingOptionsObject|PlotAdDataSortingOptions);
  17460. /**
  17461. * (Highstock) A description of the series to add to the screen reader
  17462. * information about the series.
  17463. */
  17464. description?: string;
  17465. /**
  17466. * (Highstock) Enable or disable the mouse tracking for a specific series.
  17467. * This includes point tooltips and click events on graphs and points. For
  17468. * large datasets it improves performance.
  17469. */
  17470. enableMouseTracking?: boolean;
  17471. /**
  17472. * (Highstock) General event handlers for the series items. These event
  17473. * hooks can also be attached to the series at run time using the
  17474. * `Highcharts.addEvent` function.
  17475. */
  17476. events?: SeriesEventsOptionsObject;
  17477. /**
  17478. * (Highstock) Determines whether the series should look for the nearest
  17479. * point in both dimensions or just the x-dimension when hovering the
  17480. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  17481. * series. If the data has duplicate x-values, it is recommended to set this
  17482. * to `'xy'` to allow hovering over all points.
  17483. *
  17484. * Applies only to series types using nearest neighbor search (not direct
  17485. * hover) for tooltip.
  17486. */
  17487. findNearestPointBy?: OptionsFindNearestPointByValue;
  17488. /**
  17489. * (Highstock) Defines when to display a gap in the graph, together with the
  17490. * gapUnit option.
  17491. *
  17492. * In case when `dataGrouping` is enabled, points can be grouped into a
  17493. * larger time span. This can make the grouped points to have a greater
  17494. * distance than the absolute value of `gapSize` property, which will result
  17495. * in disappearing graph completely. To prevent this situation the mentioned
  17496. * distance between grouped points is used instead of previously defined
  17497. * `gapSize`.
  17498. *
  17499. * In practice, this option is most often used to visualize gaps in time
  17500. * series. In a stock chart, intraday data is available for daytime hours,
  17501. * while gaps will appear in nights and weekends.
  17502. */
  17503. gapSize?: number;
  17504. /**
  17505. * (Highstock) Together with gapSize, this option defines where to draw gaps
  17506. * in the graph.
  17507. *
  17508. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  17509. * if the distance between two points is greater than 5 times that of the
  17510. * two closest points, the graph will be broken.
  17511. *
  17512. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  17513. * values, which on a datetime axis is milliseconds. This also applies to
  17514. * the navigator series that inherits gap options from the base series.
  17515. */
  17516. gapUnit?: OptionsGapUnitValue;
  17517. /**
  17518. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  17519. * chart width or only the zoomed area when zooming in on parts of the X
  17520. * axis. By default, the Y axis adjusts to the min and max of the visible
  17521. * data. Cartesian series only.
  17522. */
  17523. getExtremesFromAll?: boolean;
  17524. /**
  17525. * (Highstock) When set to `false` will prevent the series data from being
  17526. * included in any form of data export.
  17527. *
  17528. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  17529. * `includeInCSVExport`.
  17530. */
  17531. includeInDataExport?: boolean;
  17532. /**
  17533. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  17534. * series as possible in a natural way, seeking to avoid other series. The
  17535. * goal of this feature is to make the chart more easily readable, like if a
  17536. * human designer placed the labels in the optimal position.
  17537. *
  17538. * The series labels currently work with series types having a `graph` or an
  17539. * `area`.
  17540. */
  17541. label?: SeriesLabelOptionsObject;
  17542. /**
  17543. * (Highstock) The line marks the last price from all points.
  17544. */
  17545. lastPrice?: SeriesLastPriceOptionsObject;
  17546. /**
  17547. * (Highstock) The line marks the last price from visible range of points.
  17548. */
  17549. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  17550. /**
  17551. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  17552. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  17553. * the ends and bends.
  17554. */
  17555. linecap?: SeriesLinecapValue;
  17556. /**
  17557. * (Highcharts, Highstock) Pixel width of the graph line.
  17558. */
  17559. lineWidth?: number;
  17560. /**
  17561. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  17562. * based on. Required for this indicator.
  17563. */
  17564. linkedTo?: string;
  17565. /**
  17566. * (Highstock) Options for the point markers of line-like series. Properties
  17567. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  17568. * appearance of the markers. Other series types, like column series, don't
  17569. * have markers, but have visual options on the series level instead.
  17570. *
  17571. * In styled mode, the markers can be styled with the `.highcharts-point`,
  17572. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  17573. */
  17574. marker?: PointMarkerOptionsObject;
  17575. /**
  17576. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  17577. * If not set, it will be based on a technical indicator type and default
  17578. * params.
  17579. */
  17580. name?: string;
  17581. /**
  17582. * (Highstock) The color for the parts of the graph or points that are below
  17583. * the threshold. Note that `zones` takes precedence over the negative
  17584. * color. Using `negativeColor` is equivalent to applying a zone with value
  17585. * of 0.
  17586. */
  17587. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  17588. /**
  17589. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  17590. * dataLabels.
  17591. */
  17592. opacity?: number;
  17593. /**
  17594. * (Highstock) Paramters used in calculation of regression series' points.
  17595. */
  17596. params?: PlotAdParamsOptions;
  17597. /**
  17598. * (Highstock) Properties for each single point.
  17599. */
  17600. point?: PlotSeriesPointOptions;
  17601. /**
  17602. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  17603. * individual series. Overrides the chart wide configuration.
  17604. */
  17605. pointDescriptionFormatter?: Function;
  17606. /**
  17607. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  17608. * true, the checkbox next to the series name in the legend will be checked
  17609. * for a selected series.
  17610. */
  17611. selected?: boolean;
  17612. /**
  17613. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  17614. * the shadow can be an object configuration containing `color`, `offsetX`,
  17615. * `offsetY`, `opacity` and `width`.
  17616. */
  17617. shadow?: (boolean|ShadowOptionsObject);
  17618. /**
  17619. * (Highstock) If true, a checkbox is displayed next to the legend item to
  17620. * allow selecting the series. The state of the checkbox is determined by
  17621. * the `selected` option.
  17622. */
  17623. showCheckbox?: boolean;
  17624. /**
  17625. * (Highstock) Whether to display this particular series or series type in
  17626. * the legend. Standalone series are shown in legend by default, and linked
  17627. * series are not. Since v7.2.0 it is possible to show series that use
  17628. * colorAxis by setting this option to `true`.
  17629. */
  17630. showInLegend?: boolean;
  17631. /**
  17632. * (Highstock) If set to `true`, the accessibility module will skip past the
  17633. * points in this series for keyboard navigation.
  17634. */
  17635. skipKeyboardNavigation?: boolean;
  17636. /**
  17637. * (Highcharts, Highstock) When this is true, the series will not cause the
  17638. * Y axis to cross the zero plane (or threshold option) unless the data
  17639. * actually crosses the plane.
  17640. *
  17641. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  17642. * make the Y axis show negative values according to the `minPadding`
  17643. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  17644. */
  17645. softThreshold?: boolean;
  17646. states?: SeriesStatesOptionsObject;
  17647. /**
  17648. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  17649. * values are `left`, `center` and `right`.
  17650. */
  17651. step?: OptionsStepValue;
  17652. /**
  17653. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  17654. * event on a series isn't triggered until the mouse moves over another
  17655. * series, or out of the plot area. When false, the `mouseOut` event on a
  17656. * series is triggered when the mouse leaves the area around the series'
  17657. * graph or markers. This also implies the tooltip when not shared. When
  17658. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  17659. * be hidden when moving the mouse between series. Defaults to true for line
  17660. * and area type series, but to false for columns, pies etc.
  17661. *
  17662. * **Note:** The boost module will force this option because of technical
  17663. * limitations.
  17664. */
  17665. stickyTracking?: boolean;
  17666. /**
  17667. * (Highcharts, Highstock) The threshold, also called zero level or base
  17668. * level. For line type series this is only used in conjunction with
  17669. * negativeColor.
  17670. */
  17671. threshold?: (number|null);
  17672. /**
  17673. * (Highstock) A configuration object for the tooltip rendering of each
  17674. * single series. Properties are inherited from tooltip, but only the
  17675. * following properties can be defined on a series level.
  17676. */
  17677. tooltip?: SeriesTooltipOptionsObject;
  17678. /**
  17679. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  17680. * is longer than this, only one dimensional arrays of numbers, or two
  17681. * dimensional arrays with x and y values are allowed. Also, only the first
  17682. * point is tested, and the rest are assumed to be the same format. This
  17683. * saves expensive data checking and indexing in long series. Set it to `0`
  17684. * disable.
  17685. *
  17686. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  17687. * two dimensional arrays are allowed.
  17688. */
  17689. turboThreshold?: number;
  17690. /**
  17691. * (Highstock) Set the initial visibility of the series.
  17692. */
  17693. visible?: boolean;
  17694. /**
  17695. * (Highmaps) Define the z index of the series.
  17696. */
  17697. zIndex?: number;
  17698. /**
  17699. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  17700. */
  17701. zoneAxis?: string;
  17702. /**
  17703. * (Highcharts, Highstock) An array defining zones within a series. Zones
  17704. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  17705. * the `zoneAxis` option. The zone definitions have to be in ascending order
  17706. * regarding to the value.
  17707. *
  17708. * In styled mode, the color zones are styled with the
  17709. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  17710. * option (view live demo).
  17711. */
  17712. zones?: Array<SeriesZonesOptionsObject>;
  17713. }
  17714. /**
  17715. * (Highstock) Paramters used in calculation of regression series' points.
  17716. */
  17717. export interface PlotAdParamsOptions {
  17718. index?: string;
  17719. /**
  17720. * (Highstock) The base period for indicator calculations. This is the
  17721. * number of data points which are taken into account for the indicator
  17722. * calculations.
  17723. */
  17724. period?: number;
  17725. /**
  17726. * (Highstock) The id of volume series which is mandatory. For example using
  17727. * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
  17728. * using OHLC and volume values.
  17729. */
  17730. volumeSeriesID?: string;
  17731. }
  17732. /**
  17733. * (Highstock) Enable or disable the initial animation when a series is
  17734. * displayed. The animation can also be set as a configuration object. Please
  17735. * note that this option only applies to the initial animation of the series
  17736. * itself. For other animations, see chart.animation and the animation parameter
  17737. * under the API methods. The following properties are supported:
  17738. *
  17739. * - `defer`: The animation delay time in milliseconds.
  17740. *
  17741. * - `duration`: The duration of the animation in milliseconds.
  17742. *
  17743. * - `easing`: Can be a string reference to an easing function set on the `Math`
  17744. * object or a function. See the _Custom easing function_ demo below.
  17745. *
  17746. * Due to poor performance, animation is disabled in old IE browsers for several
  17747. * chart types.
  17748. */
  17749. export interface PlotAoAnimationOptions {
  17750. defer?: number;
  17751. }
  17752. /**
  17753. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  17754. * animation when a series is displayed for the `dataLabels`. The animation can
  17755. * also be set as a configuration object. Please note that this option only
  17756. * applies to the initial animation. For other animations, see chart.animation
  17757. * and the animation parameter under the API methods. The following properties
  17758. * are supported:
  17759. *
  17760. * - `defer`: The animation delay time in milliseconds.
  17761. */
  17762. export interface PlotAoDataLabelsAnimationOptions {
  17763. /**
  17764. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  17765. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  17766. * inherits defer time from the series.animation.defer.
  17767. */
  17768. defer?: number;
  17769. }
  17770. /**
  17771. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  17772. * appearing next to each data point.
  17773. *
  17774. * Since v6.2.0, multiple data labels can be applied to each single point by
  17775. * defining them as an array of configs.
  17776. *
  17777. * In styled mode, the data labels can be styled with the
  17778. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  17779. * example).
  17780. */
  17781. export interface PlotAoDataLabelsOptions {
  17782. /**
  17783. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  17784. * compared to the point. If `right`, the right side of the label should be
  17785. * touching the point. For points with an extent, like columns, the
  17786. * alignments also dictates how to align it inside the box, as given with
  17787. * the inside option. Can be one of `left`, `center` or `right`.
  17788. */
  17789. align?: (AlignValue|null);
  17790. /**
  17791. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  17792. * overlap. To make the labels less sensitive for overlapping, the
  17793. * dataLabels.padding can be set to 0.
  17794. */
  17795. allowOverlap?: boolean;
  17796. /**
  17797. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  17798. * animation when a series is displayed for the `dataLabels`. The animation
  17799. * can also be set as a configuration object. Please note that this option
  17800. * only applies to the initial animation. For other animations, see
  17801. * chart.animation and the animation parameter under the API methods. The
  17802. * following properties are supported:
  17803. *
  17804. * - `defer`: The animation delay time in milliseconds.
  17805. */
  17806. animation?: (boolean|PlotAoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  17807. /**
  17808. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  17809. * for the data label.
  17810. */
  17811. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  17812. /**
  17813. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  17814. * label. Defaults to `undefined`.
  17815. */
  17816. borderColor?: (ColorString|GradientColorObject|PatternObject);
  17817. /**
  17818. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  17819. * the data label.
  17820. */
  17821. borderRadius?: number;
  17822. /**
  17823. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  17824. * the data label.
  17825. */
  17826. borderWidth?: number;
  17827. /**
  17828. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  17829. * Particularly in styled mode, this can be used to give each series' or
  17830. * point's data label unique styling. In addition to this option, a default
  17831. * color class name is added so that we can give the labels a contrast text
  17832. * shadow.
  17833. */
  17834. className?: string;
  17835. /**
  17836. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  17837. * labels. Defaults to `undefined`. For certain series types, like column or
  17838. * map, the data labels can be drawn inside the points. In this case the
  17839. * data label will be drawn with maximum contrast by default. Additionally,
  17840. * it will be given a `text-outline` style with the opposite color, to
  17841. * further increase the contrast. This can be overridden by setting the
  17842. * `text-outline` style to `none` in the `dataLabels.style` option.
  17843. */
  17844. color?: (ColorString|GradientColorObject|PatternObject);
  17845. /**
  17846. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  17847. * are outside the plot area. By default, the data label is moved inside the
  17848. * plot area according to the overflow option.
  17849. */
  17850. crop?: boolean;
  17851. /**
  17852. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  17853. * labels until the initial series animation has finished. Setting to
  17854. * `false` renders the data label immediately. If set to `true` inherits the
  17855. * defer time set in plotOptions.series.animation. If set to a number, a
  17856. * defer time is specified in milliseconds.
  17857. */
  17858. defer?: (boolean|number);
  17859. /**
  17860. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  17861. * labels.
  17862. */
  17863. enabled?: boolean;
  17864. /**
  17865. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  17866. * of which data labels to display. The declarative filter is designed for
  17867. * use when callback functions are not available, like when the chart
  17868. * options require a pure JSON structure or for use with graphical editors.
  17869. * For programmatic control, use the `formatter` instead, and return
  17870. * `undefined` to disable a single data label.
  17871. */
  17872. filter?: DataLabelsFilterOptionsObject;
  17873. /**
  17874. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  17875. * label. Available variables are the same as for `formatter`.
  17876. */
  17877. format?: string;
  17878. /**
  17879. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  17880. * format the data label. Note that if a `format` is defined, the format
  17881. * takes precedence and the formatter is ignored.
  17882. */
  17883. formatter?: DataLabelsFormatterCallbackFunction;
  17884. /**
  17885. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  17886. * columns or map areas, whether to align the data label inside the box or
  17887. * to the actual value point. Defaults to `false` in most cases, `true` in
  17888. * stacked columns.
  17889. */
  17890. inside?: boolean;
  17891. /**
  17892. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  17893. * of null. Works analogously to format. `nullFormat` can be applied only to
  17894. * series which support displaying null points.
  17895. */
  17896. nullFormat?: (boolean|string);
  17897. /**
  17898. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  17899. * that defines formatting for points with the value of null. Works
  17900. * analogously to formatter. `nullPointFormatter` can be applied only to
  17901. * series which support displaying null points.
  17902. */
  17903. nullFormatter?: DataLabelsFormatterCallbackFunction;
  17904. /**
  17905. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  17906. * flow outside the plot area. The default is `"justify"`, which aligns them
  17907. * inside the plot area. For columns and bars, this means it will be moved
  17908. * inside the bar. To display data labels outside the plot area, set `crop`
  17909. * to `false` and `overflow` to `"allow"`.
  17910. */
  17911. overflow?: DataLabelsOverflowValue;
  17912. /**
  17913. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  17914. * the `backgroundColor` is set, this is the padding within the box.
  17915. */
  17916. padding?: number;
  17917. /**
  17918. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  17919. * points. If `center` alignment is not possible, it defaults to `right`.
  17920. */
  17921. position?: AlignValue;
  17922. /**
  17923. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  17924. * that due to a more complex structure, backgrounds, borders and padding
  17925. * will be lost on a rotated data label.
  17926. */
  17927. rotation?: number;
  17928. /**
  17929. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  17930. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  17931. * an object configuration containing `color`, `offsetX`, `offsetY`,
  17932. * `opacity` and `width`.
  17933. */
  17934. shadow?: (boolean|ShadowOptionsObject);
  17935. /**
  17936. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  17937. * the border around the label. Symbols are predefined functions on the
  17938. * Renderer object.
  17939. */
  17940. shape?: string;
  17941. /**
  17942. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  17943. * default `color` setting is `"contrast"`, which is a pseudo color that
  17944. * Highcharts picks up and applies the maximum contrast to the underlying
  17945. * point item, for example the bar in a bar chart.
  17946. *
  17947. * The `textOutline` is a pseudo property that applies an outline of the
  17948. * given width with the given color, which by default is the maximum
  17949. * contrast to the text. So a bright text color will result in a black text
  17950. * outline for maximum readability on a mixed background. In some cases,
  17951. * especially with grayscale text, the text outline doesn't work well, in
  17952. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  17953. * is true, the `textOutline` will not be picked up. In this, case, the same
  17954. * effect can be acheived through the `text-shadow` CSS property.
  17955. *
  17956. * For some series types, where each point has an extent, like for example
  17957. * tree maps, the data label may overflow the point. There are two
  17958. * strategies for handling overflow. By default, the text will wrap to
  17959. * multiple lines. The other strategy is to set `style.textOverflow` to
  17960. * `ellipsis`, which will keep the text on one line plus it will break
  17961. * inside long words.
  17962. */
  17963. style?: CSSObject;
  17964. /**
  17965. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  17966. * should follow marker's shape. Border and background are disabled for a
  17967. * label that follows a path.
  17968. *
  17969. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  17970. * to true will disable this option.
  17971. */
  17972. textPath?: DataLabelsTextPathOptionsObject;
  17973. /**
  17974. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  17975. * the labels.
  17976. */
  17977. useHTML?: boolean;
  17978. /**
  17979. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  17980. * label. Can be one of `top`, `middle` or `bottom`. The default value
  17981. * depends on the data, for instance in a column chart, the label is above
  17982. * positive values and below negative values.
  17983. */
  17984. verticalAlign?: (VerticalAlignValue|null);
  17985. /**
  17986. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  17987. * label relative to the point in pixels.
  17988. */
  17989. x?: number;
  17990. /**
  17991. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  17992. * label relative to the point in pixels.
  17993. */
  17994. y?: number;
  17995. /**
  17996. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  17997. * The default Z index puts it above the series. Use a Z index of 2 to
  17998. * display it behind the series.
  17999. */
  18000. z?: number;
  18001. }
  18002. /**
  18003. * (Highcharts, Highstock) Options for the series data sorting.
  18004. */
  18005. export interface PlotAoDataSortingOptions {
  18006. /**
  18007. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  18008. * Use xAxis.reversed to change the sorting order.
  18009. */
  18010. enabled?: boolean;
  18011. /**
  18012. * (Highcharts, Highstock) Whether to allow matching points by name in an
  18013. * update. If this option is disabled, points will be matched by order.
  18014. */
  18015. matchByName?: boolean;
  18016. /**
  18017. * (Highcharts, Highstock) Determines what data value should be used to sort
  18018. * by.
  18019. */
  18020. sortKey?: string;
  18021. }
  18022. /**
  18023. * (Highstock) Awesome Oscillator. This series requires the `linkedTo` option to
  18024. * be set and should be loaded after the `stock/indicators/indicators.js`
  18025. *
  18026. * In TypeScript the type option must always be set.
  18027. *
  18028. * Configuration options for the series are given in three levels:
  18029. *
  18030. * 1. Options for all series in a chart are defined in the plotOptions.series
  18031. * object.
  18032. *
  18033. * 2. Options for all `ao` series are defined in plotOptions.ao.
  18034. *
  18035. * 3. Options for one single series are given in the series instance array. (see
  18036. * online documentation for example)
  18037. */
  18038. export interface PlotAoOptions {
  18039. /**
  18040. * (Highstock) Accessibility options for a series.
  18041. */
  18042. accessibility?: SeriesAccessibilityOptionsObject;
  18043. /**
  18044. * (Highstock) Allow this series' points to be selected by clicking on the
  18045. * graphic (columns, point markers, pie slices, map areas etc).
  18046. *
  18047. * The selected points can be handled by point select and unselect events,
  18048. * or collectively by the getSelectedPoints function.
  18049. *
  18050. * And alternative way of selecting points is through dragging.
  18051. */
  18052. allowPointSelect?: boolean;
  18053. /**
  18054. * (Highstock) Enable or disable the initial animation when a series is
  18055. * displayed. The animation can also be set as a configuration object.
  18056. * Please note that this option only applies to the initial animation of the
  18057. * series itself. For other animations, see chart.animation and the
  18058. * animation parameter under the API methods. The following properties are
  18059. * supported:
  18060. *
  18061. * - `defer`: The animation delay time in milliseconds.
  18062. *
  18063. * - `duration`: The duration of the animation in milliseconds.
  18064. *
  18065. * - `easing`: Can be a string reference to an easing function set on the
  18066. * `Math` object or a function. See the _Custom easing function_ demo below.
  18067. *
  18068. * Due to poor performance, animation is disabled in old IE browsers for
  18069. * several chart types.
  18070. */
  18071. animation?: (boolean|PlotAoAnimationOptions|Partial<AnimationOptionsObject>);
  18072. /**
  18073. * (Highstock) For some series, there is a limit that shuts down initial
  18074. * animation by default when the total number of points in the chart is too
  18075. * high. For example, for a column chart and its derivatives, animation does
  18076. * not run if there is more than 250 points totally. To disable this cap,
  18077. * set `animationLimit` to `Infinity`.
  18078. */
  18079. animationLimit?: number;
  18080. /**
  18081. * (Highstock) Sets the color blending in the boost module.
  18082. */
  18083. boostBlending?: OptionsBoostBlendingValue;
  18084. /**
  18085. * (Highstock) Set the point threshold for when a series should enter boost
  18086. * mode.
  18087. *
  18088. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  18089. * there are 2000 or more points in the series.
  18090. *
  18091. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  18092. * it to 1 will force boosting.
  18093. *
  18094. * Note that the cropThreshold also affects this setting. When zooming in on
  18095. * a series that has fewer points than the `cropThreshold`, all points are
  18096. * rendered although outside the visible plot area, and the `boostThreshold`
  18097. * won't take effect.
  18098. */
  18099. boostThreshold?: number;
  18100. /**
  18101. * (Highmaps) The border color of the map areas.
  18102. *
  18103. * In styled mode, the border stroke is given in the `.highcharts-point`
  18104. * class.
  18105. */
  18106. borderColor?: (ColorString|GradientColorObject|PatternObject);
  18107. /**
  18108. * (Highmaps) The border width of each map area.
  18109. *
  18110. * In styled mode, the border stroke width is given in the
  18111. * `.highcharts-point` class.
  18112. */
  18113. borderWidth?: number;
  18114. /**
  18115. * (Highstock) An additional class name to apply to the series' graphical
  18116. * elements. This option does not replace default class names of the
  18117. * graphical element.
  18118. */
  18119. className?: string;
  18120. /**
  18121. * (Highstock) Disable this option to allow series rendering in the whole
  18122. * plotting area.
  18123. *
  18124. * **Note:** Clipping should be always enabled when chart.zoomType is set
  18125. */
  18126. clip?: boolean;
  18127. /**
  18128. * (Highstock) The main color of the series. In line type series it applies
  18129. * to the line and the point markers unless otherwise specified. In bar type
  18130. * series it applies to the bars unless a color is specified per point. The
  18131. * default value is pulled from the `options.colors` array.
  18132. *
  18133. * In styled mode, the color can be defined by the colorIndex option. Also,
  18134. * the series color can be set with the `.highcharts-series`,
  18135. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  18136. * `.highcharts-series-{n}` class, or individual classes given by the
  18137. * `className` option.
  18138. */
  18139. color?: (ColorString|GradientColorObject|PatternObject);
  18140. /**
  18141. * (Highstock) Styled mode only. A specific color index to use for the
  18142. * series, so its graphic representations are given the class name
  18143. * `highcharts-color-{n}`.
  18144. */
  18145. colorIndex?: number;
  18146. /**
  18147. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  18148. * used to calculate point color if `colorAxis` is used. Requires to set
  18149. * `min` and `max` if some custom point property is used or if approximation
  18150. * for data grouping is set to `'sum'`.
  18151. */
  18152. colorKey?: string;
  18153. /**
  18154. * (Highstock) Compare the values of the series against the first non-null,
  18155. * non- zero value in the visible range. The y axis will show percentage or
  18156. * absolute change depending on whether `compare` is set to `"percent"` or
  18157. * `"value"`. When this is applied to multiple series, it allows comparing
  18158. * the development of the series against each other. Adds a `change` field
  18159. * to every point object.
  18160. */
  18161. compare?: string;
  18162. /**
  18163. * (Highstock) When compare is `percent`, this option dictates whether to
  18164. * use 0 or 100 as the base of comparison.
  18165. */
  18166. compareBase?: (0|100);
  18167. /**
  18168. * (Highstock) Defines if comparison should start from the first point
  18169. * within the visible range or should start from the first point **before**
  18170. * the range.
  18171. *
  18172. * In other words, this flag determines if first point within the visible
  18173. * range will have 0% (`compareStart=true`) or should have been already
  18174. * calculated according to the previous point (`compareStart=false`).
  18175. */
  18176. compareStart?: boolean;
  18177. /**
  18178. * (Highstock) Whether to compare indicator to the main series values or
  18179. * indicator values.
  18180. */
  18181. compareToMain?: boolean;
  18182. /**
  18183. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  18184. * series plot across the extremes.
  18185. */
  18186. connectEnds?: boolean;
  18187. /**
  18188. * (Highcharts, Highstock) Whether to connect a graph line across null
  18189. * points, or render a gap between the two points on either side of the
  18190. * null.
  18191. */
  18192. connectNulls?: boolean;
  18193. /**
  18194. * (Gantt) Override Pathfinder connector options for a series. Requires
  18195. * Highcharts Gantt to be loaded.
  18196. */
  18197. connectors?: SeriesConnectorsOptionsObject;
  18198. /**
  18199. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  18200. * rounded to its nearest pixel in order to render sharp on screen. In some
  18201. * cases, when there are a lot of densely packed columns, this leads to
  18202. * visible difference in column widths or distance between columns. In these
  18203. * cases, setting `crisp` to `false` may look better, even though each
  18204. * column is rendered blurry.
  18205. */
  18206. crisp?: boolean;
  18207. /**
  18208. * (Highcharts, Highstock) When the series contains less points than the
  18209. * crop threshold, all points are drawn, even if the points fall outside the
  18210. * visible plot area at the current zoom. The advantage of drawing all
  18211. * points (including markers and columns), is that animation is performed on
  18212. * updates. On the other hand, when the series contains more points than the
  18213. * crop threshold, the series data is cropped to only contain points that
  18214. * fall within the plot area. The advantage of cropping away invisible
  18215. * points is to increase performance on large series.
  18216. */
  18217. cropThreshold?: number;
  18218. /**
  18219. * (Highstock) You can set the cursor to "pointer" if you have click events
  18220. * attached to the series, to signal to the user that the points and lines
  18221. * can be clicked.
  18222. *
  18223. * In styled mode, the series cursor can be set with the same classes as
  18224. * listed under series.color.
  18225. */
  18226. cursor?: (string|CursorValue);
  18227. /**
  18228. * (Highstock) A reserved subspace to store options and values for
  18229. * customized functionality. Here you can add additional data for your own
  18230. * event callbacks and formatter callbacks.
  18231. */
  18232. custom?: Dictionary<any>;
  18233. /**
  18234. * (Highstock) Name of the dash style to use for the graph, or for some
  18235. * series types the outline of each shape.
  18236. *
  18237. * In styled mode, the stroke dash-array can be set with the same classes as
  18238. * listed under series.color.
  18239. */
  18240. dashStyle?: DashStyleValue;
  18241. /**
  18242. * (Highstock) Data grouping is the concept of sampling the data values into
  18243. * larger blocks in order to ease readability and increase performance of
  18244. * the JavaScript charts. Highcharts Stock by default applies data grouping
  18245. * when the points become closer than a certain pixel value, determined by
  18246. * the `groupPixelWidth` option.
  18247. *
  18248. * If data grouping is applied, the grouping information of grouped points
  18249. * can be read from the Point.dataGroup. If point options other than the
  18250. * data itself are set, for example `name` or `color` or custom properties,
  18251. * the grouping logic doesn't know how to group it. In this case the options
  18252. * of the first point instance are copied over to the group point. This can
  18253. * be altered through a custom `approximation` callback function.
  18254. */
  18255. dataGrouping?: DataGroupingOptionsObject;
  18256. /**
  18257. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  18258. * labels, appearing next to each data point.
  18259. *
  18260. * Since v6.2.0, multiple data labels can be applied to each single point by
  18261. * defining them as an array of configs.
  18262. *
  18263. * In styled mode, the data labels can be styled with the
  18264. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  18265. * (see example).
  18266. */
  18267. dataLabels?: (PlotAoDataLabelsOptions|Array<PlotAoDataLabelsOptions>);
  18268. /**
  18269. * (Highcharts, Highstock) Options for the series data sorting.
  18270. */
  18271. dataSorting?: (DataSortingOptionsObject|PlotAoDataSortingOptions);
  18272. /**
  18273. * (Highstock) A description of the series to add to the screen reader
  18274. * information about the series.
  18275. */
  18276. description?: string;
  18277. /**
  18278. * (Highstock) Enable or disable the mouse tracking for a specific series.
  18279. * This includes point tooltips and click events on graphs and points. For
  18280. * large datasets it improves performance.
  18281. */
  18282. enableMouseTracking?: boolean;
  18283. /**
  18284. * (Highstock) General event handlers for the series items. These event
  18285. * hooks can also be attached to the series at run time using the
  18286. * `Highcharts.addEvent` function.
  18287. */
  18288. events?: SeriesEventsOptionsObject;
  18289. /**
  18290. * (Highstock) Determines whether the series should look for the nearest
  18291. * point in both dimensions or just the x-dimension when hovering the
  18292. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  18293. * series. If the data has duplicate x-values, it is recommended to set this
  18294. * to `'xy'` to allow hovering over all points.
  18295. *
  18296. * Applies only to series types using nearest neighbor search (not direct
  18297. * hover) for tooltip.
  18298. */
  18299. findNearestPointBy?: OptionsFindNearestPointByValue;
  18300. /**
  18301. * (Highstock) Defines when to display a gap in the graph, together with the
  18302. * gapUnit option.
  18303. *
  18304. * In case when `dataGrouping` is enabled, points can be grouped into a
  18305. * larger time span. This can make the grouped points to have a greater
  18306. * distance than the absolute value of `gapSize` property, which will result
  18307. * in disappearing graph completely. To prevent this situation the mentioned
  18308. * distance between grouped points is used instead of previously defined
  18309. * `gapSize`.
  18310. *
  18311. * In practice, this option is most often used to visualize gaps in time
  18312. * series. In a stock chart, intraday data is available for daytime hours,
  18313. * while gaps will appear in nights and weekends.
  18314. */
  18315. gapSize?: number;
  18316. /**
  18317. * (Highstock) Together with gapSize, this option defines where to draw gaps
  18318. * in the graph.
  18319. *
  18320. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  18321. * if the distance between two points is greater than 5 times that of the
  18322. * two closest points, the graph will be broken.
  18323. *
  18324. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  18325. * values, which on a datetime axis is milliseconds. This also applies to
  18326. * the navigator series that inherits gap options from the base series.
  18327. */
  18328. gapUnit?: OptionsGapUnitValue;
  18329. /**
  18330. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  18331. * chart width or only the zoomed area when zooming in on parts of the X
  18332. * axis. By default, the Y axis adjusts to the min and max of the visible
  18333. * data. Cartesian series only.
  18334. */
  18335. getExtremesFromAll?: boolean;
  18336. /**
  18337. * (Highstock) Color of the Awesome oscillator series bar that is greater
  18338. * than the previous one. Note that if a `color` is defined, the `color`
  18339. * takes precedence and the `greaterBarColor` is ignored.
  18340. */
  18341. greaterBarColor?: (ColorString|GradientColorObject|PatternObject);
  18342. groupPadding?: number;
  18343. /**
  18344. * (Highstock) When set to `false` will prevent the series data from being
  18345. * included in any form of data export.
  18346. *
  18347. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  18348. * `includeInCSVExport`.
  18349. */
  18350. includeInDataExport?: boolean;
  18351. /**
  18352. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  18353. * series as possible in a natural way, seeking to avoid other series. The
  18354. * goal of this feature is to make the chart more easily readable, like if a
  18355. * human designer placed the labels in the optimal position.
  18356. *
  18357. * The series labels currently work with series types having a `graph` or an
  18358. * `area`.
  18359. */
  18360. label?: SeriesLabelOptionsObject;
  18361. /**
  18362. * (Highstock) The line marks the last price from all points.
  18363. */
  18364. lastPrice?: SeriesLastPriceOptionsObject;
  18365. /**
  18366. * (Highstock) The line marks the last price from visible range of points.
  18367. */
  18368. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  18369. /**
  18370. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  18371. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  18372. * the ends and bends.
  18373. */
  18374. linecap?: SeriesLinecapValue;
  18375. /**
  18376. * (Highcharts, Highstock) Pixel width of the graph line.
  18377. */
  18378. lineWidth?: number;
  18379. /**
  18380. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  18381. * based on. Required for this indicator.
  18382. */
  18383. linkedTo?: string;
  18384. /**
  18385. * (Highstock) Color of the Awesome oscillator series bar that is lower than
  18386. * the previous one. Note that if a `color` is defined, the `color` takes
  18387. * precedence and the `lowerBarColor` is ignored.
  18388. */
  18389. lowerBarColor?: (ColorString|GradientColorObject|PatternObject);
  18390. /**
  18391. * (Highstock) Options for the point markers of line-like series. Properties
  18392. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  18393. * appearance of the markers. Other series types, like column series, don't
  18394. * have markers, but have visual options on the series level instead.
  18395. *
  18396. * In styled mode, the markers can be styled with the `.highcharts-point`,
  18397. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  18398. */
  18399. marker?: PointMarkerOptionsObject;
  18400. /**
  18401. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  18402. * If not set, it will be based on a technical indicator type and default
  18403. * params.
  18404. */
  18405. name?: string;
  18406. /**
  18407. * (Highstock) The color for the parts of the graph or points that are below
  18408. * the threshold. Note that `zones` takes precedence over the negative
  18409. * color. Using `negativeColor` is equivalent to applying a zone with value
  18410. * of 0.
  18411. */
  18412. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  18413. /**
  18414. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  18415. * dataLabels.
  18416. */
  18417. opacity?: number;
  18418. params?: PlotAoParamsOptions;
  18419. /**
  18420. * (Highstock) Properties for each single point.
  18421. */
  18422. point?: PlotSeriesPointOptions;
  18423. /**
  18424. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  18425. * individual series. Overrides the chart wide configuration.
  18426. */
  18427. pointDescriptionFormatter?: Function;
  18428. pointPadding?: number;
  18429. /**
  18430. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  18431. * true, the checkbox next to the series name in the legend will be checked
  18432. * for a selected series.
  18433. */
  18434. selected?: boolean;
  18435. /**
  18436. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  18437. * the shadow can be an object configuration containing `color`, `offsetX`,
  18438. * `offsetY`, `opacity` and `width`.
  18439. */
  18440. shadow?: (boolean|ShadowOptionsObject);
  18441. /**
  18442. * (Highstock) If true, a checkbox is displayed next to the legend item to
  18443. * allow selecting the series. The state of the checkbox is determined by
  18444. * the `selected` option.
  18445. */
  18446. showCheckbox?: boolean;
  18447. /**
  18448. * (Highstock) Whether to display this particular series or series type in
  18449. * the legend. Standalone series are shown in legend by default, and linked
  18450. * series are not. Since v7.2.0 it is possible to show series that use
  18451. * colorAxis by setting this option to `true`.
  18452. */
  18453. showInLegend?: boolean;
  18454. /**
  18455. * (Highstock) If set to `true`, the accessibility module will skip past the
  18456. * points in this series for keyboard navigation.
  18457. */
  18458. skipKeyboardNavigation?: boolean;
  18459. /**
  18460. * (Highcharts, Highstock) When this is true, the series will not cause the
  18461. * Y axis to cross the zero plane (or threshold option) unless the data
  18462. * actually crosses the plane.
  18463. *
  18464. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  18465. * make the Y axis show negative values according to the `minPadding`
  18466. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  18467. */
  18468. softThreshold?: boolean;
  18469. states?: SeriesStatesOptionsObject;
  18470. /**
  18471. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  18472. * values are `left`, `center` and `right`.
  18473. */
  18474. step?: OptionsStepValue;
  18475. /**
  18476. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  18477. * event on a series isn't triggered until the mouse moves over another
  18478. * series, or out of the plot area. When false, the `mouseOut` event on a
  18479. * series is triggered when the mouse leaves the area around the series'
  18480. * graph or markers. This also implies the tooltip when not shared. When
  18481. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  18482. * be hidden when moving the mouse between series. Defaults to true for line
  18483. * and area type series, but to false for columns, pies etc.
  18484. *
  18485. * **Note:** The boost module will force this option because of technical
  18486. * limitations.
  18487. */
  18488. stickyTracking?: boolean;
  18489. /**
  18490. * (Highcharts, Highstock) The threshold, also called zero level or base
  18491. * level. For line type series this is only used in conjunction with
  18492. * negativeColor.
  18493. */
  18494. threshold?: number;
  18495. /**
  18496. * (Highstock) A configuration object for the tooltip rendering of each
  18497. * single series. Properties are inherited from tooltip, but only the
  18498. * following properties can be defined on a series level.
  18499. */
  18500. tooltip?: SeriesTooltipOptionsObject;
  18501. /**
  18502. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  18503. * is longer than this, only one dimensional arrays of numbers, or two
  18504. * dimensional arrays with x and y values are allowed. Also, only the first
  18505. * point is tested, and the rest are assumed to be the same format. This
  18506. * saves expensive data checking and indexing in long series. Set it to `0`
  18507. * disable.
  18508. *
  18509. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  18510. * two dimensional arrays are allowed.
  18511. */
  18512. turboThreshold?: number;
  18513. /**
  18514. * (Highstock) Set the initial visibility of the series.
  18515. */
  18516. visible?: boolean;
  18517. /**
  18518. * (Highmaps) Define the z index of the series.
  18519. */
  18520. zIndex?: number;
  18521. /**
  18522. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  18523. */
  18524. zoneAxis?: string;
  18525. /**
  18526. * (Highcharts, Highstock) An array defining zones within a series. Zones
  18527. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  18528. * the `zoneAxis` option. The zone definitions have to be in ascending order
  18529. * regarding to the value.
  18530. *
  18531. * In styled mode, the color zones are styled with the
  18532. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  18533. * option (view live demo).
  18534. */
  18535. zones?: Array<SeriesZonesOptionsObject>;
  18536. }
  18537. export interface PlotAoParamsOptions {
  18538. index?: string;
  18539. period?: string;
  18540. }
  18541. /**
  18542. * (Highstock) Enable or disable the initial animation when a series is
  18543. * displayed. The animation can also be set as a configuration object. Please
  18544. * note that this option only applies to the initial animation of the series
  18545. * itself. For other animations, see chart.animation and the animation parameter
  18546. * under the API methods. The following properties are supported:
  18547. *
  18548. * - `defer`: The animation delay time in milliseconds.
  18549. *
  18550. * - `duration`: The duration of the animation in milliseconds.
  18551. *
  18552. * - `easing`: Can be a string reference to an easing function set on the `Math`
  18553. * object or a function. See the _Custom easing function_ demo below.
  18554. *
  18555. * Due to poor performance, animation is disabled in old IE browsers for several
  18556. * chart types.
  18557. */
  18558. export interface PlotApoAnimationOptions {
  18559. defer?: number;
  18560. }
  18561. /**
  18562. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  18563. * animation when a series is displayed for the `dataLabels`. The animation can
  18564. * also be set as a configuration object. Please note that this option only
  18565. * applies to the initial animation. For other animations, see chart.animation
  18566. * and the animation parameter under the API methods. The following properties
  18567. * are supported:
  18568. *
  18569. * - `defer`: The animation delay time in milliseconds.
  18570. */
  18571. export interface PlotApoDataLabelsAnimationOptions {
  18572. /**
  18573. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  18574. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  18575. * inherits defer time from the series.animation.defer.
  18576. */
  18577. defer?: number;
  18578. }
  18579. /**
  18580. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  18581. * appearing next to each data point.
  18582. *
  18583. * Since v6.2.0, multiple data labels can be applied to each single point by
  18584. * defining them as an array of configs.
  18585. *
  18586. * In styled mode, the data labels can be styled with the
  18587. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  18588. * example).
  18589. */
  18590. export interface PlotApoDataLabelsOptions {
  18591. /**
  18592. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  18593. * compared to the point. If `right`, the right side of the label should be
  18594. * touching the point. For points with an extent, like columns, the
  18595. * alignments also dictates how to align it inside the box, as given with
  18596. * the inside option. Can be one of `left`, `center` or `right`.
  18597. */
  18598. align?: (AlignValue|null);
  18599. /**
  18600. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  18601. * overlap. To make the labels less sensitive for overlapping, the
  18602. * dataLabels.padding can be set to 0.
  18603. */
  18604. allowOverlap?: boolean;
  18605. /**
  18606. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  18607. * animation when a series is displayed for the `dataLabels`. The animation
  18608. * can also be set as a configuration object. Please note that this option
  18609. * only applies to the initial animation. For other animations, see
  18610. * chart.animation and the animation parameter under the API methods. The
  18611. * following properties are supported:
  18612. *
  18613. * - `defer`: The animation delay time in milliseconds.
  18614. */
  18615. animation?: (boolean|PlotApoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  18616. /**
  18617. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  18618. * for the data label.
  18619. */
  18620. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  18621. /**
  18622. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  18623. * label. Defaults to `undefined`.
  18624. */
  18625. borderColor?: (ColorString|GradientColorObject|PatternObject);
  18626. /**
  18627. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  18628. * the data label.
  18629. */
  18630. borderRadius?: number;
  18631. /**
  18632. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  18633. * the data label.
  18634. */
  18635. borderWidth?: number;
  18636. /**
  18637. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  18638. * Particularly in styled mode, this can be used to give each series' or
  18639. * point's data label unique styling. In addition to this option, a default
  18640. * color class name is added so that we can give the labels a contrast text
  18641. * shadow.
  18642. */
  18643. className?: string;
  18644. /**
  18645. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  18646. * labels. Defaults to `undefined`. For certain series types, like column or
  18647. * map, the data labels can be drawn inside the points. In this case the
  18648. * data label will be drawn with maximum contrast by default. Additionally,
  18649. * it will be given a `text-outline` style with the opposite color, to
  18650. * further increase the contrast. This can be overridden by setting the
  18651. * `text-outline` style to `none` in the `dataLabels.style` option.
  18652. */
  18653. color?: (ColorString|GradientColorObject|PatternObject);
  18654. /**
  18655. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  18656. * are outside the plot area. By default, the data label is moved inside the
  18657. * plot area according to the overflow option.
  18658. */
  18659. crop?: boolean;
  18660. /**
  18661. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  18662. * labels until the initial series animation has finished. Setting to
  18663. * `false` renders the data label immediately. If set to `true` inherits the
  18664. * defer time set in plotOptions.series.animation. If set to a number, a
  18665. * defer time is specified in milliseconds.
  18666. */
  18667. defer?: (boolean|number);
  18668. /**
  18669. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  18670. * labels.
  18671. */
  18672. enabled?: boolean;
  18673. /**
  18674. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  18675. * of which data labels to display. The declarative filter is designed for
  18676. * use when callback functions are not available, like when the chart
  18677. * options require a pure JSON structure or for use with graphical editors.
  18678. * For programmatic control, use the `formatter` instead, and return
  18679. * `undefined` to disable a single data label.
  18680. */
  18681. filter?: DataLabelsFilterOptionsObject;
  18682. /**
  18683. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  18684. * label. Available variables are the same as for `formatter`.
  18685. */
  18686. format?: string;
  18687. /**
  18688. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  18689. * format the data label. Note that if a `format` is defined, the format
  18690. * takes precedence and the formatter is ignored.
  18691. */
  18692. formatter?: DataLabelsFormatterCallbackFunction;
  18693. /**
  18694. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  18695. * columns or map areas, whether to align the data label inside the box or
  18696. * to the actual value point. Defaults to `false` in most cases, `true` in
  18697. * stacked columns.
  18698. */
  18699. inside?: boolean;
  18700. /**
  18701. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  18702. * of null. Works analogously to format. `nullFormat` can be applied only to
  18703. * series which support displaying null points.
  18704. */
  18705. nullFormat?: (boolean|string);
  18706. /**
  18707. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  18708. * that defines formatting for points with the value of null. Works
  18709. * analogously to formatter. `nullPointFormatter` can be applied only to
  18710. * series which support displaying null points.
  18711. */
  18712. nullFormatter?: DataLabelsFormatterCallbackFunction;
  18713. /**
  18714. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  18715. * flow outside the plot area. The default is `"justify"`, which aligns them
  18716. * inside the plot area. For columns and bars, this means it will be moved
  18717. * inside the bar. To display data labels outside the plot area, set `crop`
  18718. * to `false` and `overflow` to `"allow"`.
  18719. */
  18720. overflow?: DataLabelsOverflowValue;
  18721. /**
  18722. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  18723. * the `backgroundColor` is set, this is the padding within the box.
  18724. */
  18725. padding?: number;
  18726. /**
  18727. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  18728. * points. If `center` alignment is not possible, it defaults to `right`.
  18729. */
  18730. position?: AlignValue;
  18731. /**
  18732. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  18733. * that due to a more complex structure, backgrounds, borders and padding
  18734. * will be lost on a rotated data label.
  18735. */
  18736. rotation?: number;
  18737. /**
  18738. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  18739. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  18740. * an object configuration containing `color`, `offsetX`, `offsetY`,
  18741. * `opacity` and `width`.
  18742. */
  18743. shadow?: (boolean|ShadowOptionsObject);
  18744. /**
  18745. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  18746. * the border around the label. Symbols are predefined functions on the
  18747. * Renderer object.
  18748. */
  18749. shape?: string;
  18750. /**
  18751. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  18752. * default `color` setting is `"contrast"`, which is a pseudo color that
  18753. * Highcharts picks up and applies the maximum contrast to the underlying
  18754. * point item, for example the bar in a bar chart.
  18755. *
  18756. * The `textOutline` is a pseudo property that applies an outline of the
  18757. * given width with the given color, which by default is the maximum
  18758. * contrast to the text. So a bright text color will result in a black text
  18759. * outline for maximum readability on a mixed background. In some cases,
  18760. * especially with grayscale text, the text outline doesn't work well, in
  18761. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  18762. * is true, the `textOutline` will not be picked up. In this, case, the same
  18763. * effect can be acheived through the `text-shadow` CSS property.
  18764. *
  18765. * For some series types, where each point has an extent, like for example
  18766. * tree maps, the data label may overflow the point. There are two
  18767. * strategies for handling overflow. By default, the text will wrap to
  18768. * multiple lines. The other strategy is to set `style.textOverflow` to
  18769. * `ellipsis`, which will keep the text on one line plus it will break
  18770. * inside long words.
  18771. */
  18772. style?: CSSObject;
  18773. /**
  18774. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  18775. * should follow marker's shape. Border and background are disabled for a
  18776. * label that follows a path.
  18777. *
  18778. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  18779. * to true will disable this option.
  18780. */
  18781. textPath?: DataLabelsTextPathOptionsObject;
  18782. /**
  18783. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  18784. * the labels.
  18785. */
  18786. useHTML?: boolean;
  18787. /**
  18788. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  18789. * label. Can be one of `top`, `middle` or `bottom`. The default value
  18790. * depends on the data, for instance in a column chart, the label is above
  18791. * positive values and below negative values.
  18792. */
  18793. verticalAlign?: (VerticalAlignValue|null);
  18794. /**
  18795. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  18796. * label relative to the point in pixels.
  18797. */
  18798. x?: number;
  18799. /**
  18800. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  18801. * label relative to the point in pixels.
  18802. */
  18803. y?: number;
  18804. /**
  18805. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  18806. * The default Z index puts it above the series. Use a Z index of 2 to
  18807. * display it behind the series.
  18808. */
  18809. z?: number;
  18810. }
  18811. /**
  18812. * (Highcharts, Highstock) Options for the series data sorting.
  18813. */
  18814. export interface PlotApoDataSortingOptions {
  18815. /**
  18816. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  18817. * Use xAxis.reversed to change the sorting order.
  18818. */
  18819. enabled?: boolean;
  18820. /**
  18821. * (Highcharts, Highstock) Whether to allow matching points by name in an
  18822. * update. If this option is disabled, points will be matched by order.
  18823. */
  18824. matchByName?: boolean;
  18825. /**
  18826. * (Highcharts, Highstock) Determines what data value should be used to sort
  18827. * by.
  18828. */
  18829. sortKey?: string;
  18830. }
  18831. /**
  18832. * (Highstock) Absolute Price Oscillator. This series requires the `linkedTo`
  18833. * option to be set and should be loaded after the
  18834. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  18835. *
  18836. * In TypeScript the type option must always be set.
  18837. *
  18838. * Configuration options for the series are given in three levels:
  18839. *
  18840. * 1. Options for all series in a chart are defined in the plotOptions.series
  18841. * object.
  18842. *
  18843. * 2. Options for all `apo` series are defined in plotOptions.apo.
  18844. *
  18845. * 3. Options for one single series are given in the series instance array. (see
  18846. * online documentation for example)
  18847. */
  18848. export interface PlotApoOptions {
  18849. /**
  18850. * (Highstock) Accessibility options for a series.
  18851. */
  18852. accessibility?: SeriesAccessibilityOptionsObject;
  18853. /**
  18854. * (Highstock) Allow this series' points to be selected by clicking on the
  18855. * graphic (columns, point markers, pie slices, map areas etc).
  18856. *
  18857. * The selected points can be handled by point select and unselect events,
  18858. * or collectively by the getSelectedPoints function.
  18859. *
  18860. * And alternative way of selecting points is through dragging.
  18861. */
  18862. allowPointSelect?: boolean;
  18863. /**
  18864. * (Highstock) Enable or disable the initial animation when a series is
  18865. * displayed. The animation can also be set as a configuration object.
  18866. * Please note that this option only applies to the initial animation of the
  18867. * series itself. For other animations, see chart.animation and the
  18868. * animation parameter under the API methods. The following properties are
  18869. * supported:
  18870. *
  18871. * - `defer`: The animation delay time in milliseconds.
  18872. *
  18873. * - `duration`: The duration of the animation in milliseconds.
  18874. *
  18875. * - `easing`: Can be a string reference to an easing function set on the
  18876. * `Math` object or a function. See the _Custom easing function_ demo below.
  18877. *
  18878. * Due to poor performance, animation is disabled in old IE browsers for
  18879. * several chart types.
  18880. */
  18881. animation?: (boolean|PlotApoAnimationOptions|Partial<AnimationOptionsObject>);
  18882. /**
  18883. * (Highstock) For some series, there is a limit that shuts down initial
  18884. * animation by default when the total number of points in the chart is too
  18885. * high. For example, for a column chart and its derivatives, animation does
  18886. * not run if there is more than 250 points totally. To disable this cap,
  18887. * set `animationLimit` to `Infinity`.
  18888. */
  18889. animationLimit?: number;
  18890. /**
  18891. * (Highstock) Sets the color blending in the boost module.
  18892. */
  18893. boostBlending?: OptionsBoostBlendingValue;
  18894. /**
  18895. * (Highstock) Set the point threshold for when a series should enter boost
  18896. * mode.
  18897. *
  18898. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  18899. * there are 2000 or more points in the series.
  18900. *
  18901. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  18902. * it to 1 will force boosting.
  18903. *
  18904. * Note that the cropThreshold also affects this setting. When zooming in on
  18905. * a series that has fewer points than the `cropThreshold`, all points are
  18906. * rendered although outside the visible plot area, and the `boostThreshold`
  18907. * won't take effect.
  18908. */
  18909. boostThreshold?: number;
  18910. /**
  18911. * (Highmaps) The border color of the map areas.
  18912. *
  18913. * In styled mode, the border stroke is given in the `.highcharts-point`
  18914. * class.
  18915. */
  18916. borderColor?: (ColorString|GradientColorObject|PatternObject);
  18917. /**
  18918. * (Highmaps) The border width of each map area.
  18919. *
  18920. * In styled mode, the border stroke width is given in the
  18921. * `.highcharts-point` class.
  18922. */
  18923. borderWidth?: number;
  18924. /**
  18925. * (Highstock) An additional class name to apply to the series' graphical
  18926. * elements. This option does not replace default class names of the
  18927. * graphical element.
  18928. */
  18929. className?: string;
  18930. /**
  18931. * (Highstock) Disable this option to allow series rendering in the whole
  18932. * plotting area.
  18933. *
  18934. * **Note:** Clipping should be always enabled when chart.zoomType is set
  18935. */
  18936. clip?: boolean;
  18937. /**
  18938. * (Highstock) The main color of the series. In line type series it applies
  18939. * to the line and the point markers unless otherwise specified. In bar type
  18940. * series it applies to the bars unless a color is specified per point. The
  18941. * default value is pulled from the `options.colors` array.
  18942. *
  18943. * In styled mode, the color can be defined by the colorIndex option. Also,
  18944. * the series color can be set with the `.highcharts-series`,
  18945. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  18946. * `.highcharts-series-{n}` class, or individual classes given by the
  18947. * `className` option.
  18948. */
  18949. color?: (ColorString|GradientColorObject|PatternObject);
  18950. /**
  18951. * (Highstock) Styled mode only. A specific color index to use for the
  18952. * series, so its graphic representations are given the class name
  18953. * `highcharts-color-{n}`.
  18954. */
  18955. colorIndex?: number;
  18956. /**
  18957. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  18958. * used to calculate point color if `colorAxis` is used. Requires to set
  18959. * `min` and `max` if some custom point property is used or if approximation
  18960. * for data grouping is set to `'sum'`.
  18961. */
  18962. colorKey?: string;
  18963. /**
  18964. * (Highstock) Compare the values of the series against the first non-null,
  18965. * non- zero value in the visible range. The y axis will show percentage or
  18966. * absolute change depending on whether `compare` is set to `"percent"` or
  18967. * `"value"`. When this is applied to multiple series, it allows comparing
  18968. * the development of the series against each other. Adds a `change` field
  18969. * to every point object.
  18970. */
  18971. compare?: string;
  18972. /**
  18973. * (Highstock) When compare is `percent`, this option dictates whether to
  18974. * use 0 or 100 as the base of comparison.
  18975. */
  18976. compareBase?: (0|100);
  18977. /**
  18978. * (Highstock) Defines if comparison should start from the first point
  18979. * within the visible range or should start from the first point **before**
  18980. * the range.
  18981. *
  18982. * In other words, this flag determines if first point within the visible
  18983. * range will have 0% (`compareStart=true`) or should have been already
  18984. * calculated according to the previous point (`compareStart=false`).
  18985. */
  18986. compareStart?: boolean;
  18987. /**
  18988. * (Highstock) Whether to compare indicator to the main series values or
  18989. * indicator values.
  18990. */
  18991. compareToMain?: boolean;
  18992. /**
  18993. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  18994. * series plot across the extremes.
  18995. */
  18996. connectEnds?: boolean;
  18997. /**
  18998. * (Highcharts, Highstock) Whether to connect a graph line across null
  18999. * points, or render a gap between the two points on either side of the
  19000. * null.
  19001. */
  19002. connectNulls?: boolean;
  19003. /**
  19004. * (Gantt) Override Pathfinder connector options for a series. Requires
  19005. * Highcharts Gantt to be loaded.
  19006. */
  19007. connectors?: SeriesConnectorsOptionsObject;
  19008. /**
  19009. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  19010. * rounded to its nearest pixel in order to render sharp on screen. In some
  19011. * cases, when there are a lot of densely packed columns, this leads to
  19012. * visible difference in column widths or distance between columns. In these
  19013. * cases, setting `crisp` to `false` may look better, even though each
  19014. * column is rendered blurry.
  19015. */
  19016. crisp?: boolean;
  19017. /**
  19018. * (Highcharts, Highstock) When the series contains less points than the
  19019. * crop threshold, all points are drawn, even if the points fall outside the
  19020. * visible plot area at the current zoom. The advantage of drawing all
  19021. * points (including markers and columns), is that animation is performed on
  19022. * updates. On the other hand, when the series contains more points than the
  19023. * crop threshold, the series data is cropped to only contain points that
  19024. * fall within the plot area. The advantage of cropping away invisible
  19025. * points is to increase performance on large series.
  19026. */
  19027. cropThreshold?: number;
  19028. /**
  19029. * (Highstock) You can set the cursor to "pointer" if you have click events
  19030. * attached to the series, to signal to the user that the points and lines
  19031. * can be clicked.
  19032. *
  19033. * In styled mode, the series cursor can be set with the same classes as
  19034. * listed under series.color.
  19035. */
  19036. cursor?: (string|CursorValue);
  19037. /**
  19038. * (Highstock) A reserved subspace to store options and values for
  19039. * customized functionality. Here you can add additional data for your own
  19040. * event callbacks and formatter callbacks.
  19041. */
  19042. custom?: Dictionary<any>;
  19043. /**
  19044. * (Highstock) Name of the dash style to use for the graph, or for some
  19045. * series types the outline of each shape.
  19046. *
  19047. * In styled mode, the stroke dash-array can be set with the same classes as
  19048. * listed under series.color.
  19049. */
  19050. dashStyle?: DashStyleValue;
  19051. /**
  19052. * (Highstock) Data grouping is the concept of sampling the data values into
  19053. * larger blocks in order to ease readability and increase performance of
  19054. * the JavaScript charts. Highcharts Stock by default applies data grouping
  19055. * when the points become closer than a certain pixel value, determined by
  19056. * the `groupPixelWidth` option.
  19057. *
  19058. * If data grouping is applied, the grouping information of grouped points
  19059. * can be read from the Point.dataGroup. If point options other than the
  19060. * data itself are set, for example `name` or `color` or custom properties,
  19061. * the grouping logic doesn't know how to group it. In this case the options
  19062. * of the first point instance are copied over to the group point. This can
  19063. * be altered through a custom `approximation` callback function.
  19064. */
  19065. dataGrouping?: DataGroupingOptionsObject;
  19066. /**
  19067. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  19068. * labels, appearing next to each data point.
  19069. *
  19070. * Since v6.2.0, multiple data labels can be applied to each single point by
  19071. * defining them as an array of configs.
  19072. *
  19073. * In styled mode, the data labels can be styled with the
  19074. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  19075. * (see example).
  19076. */
  19077. dataLabels?: (PlotApoDataLabelsOptions|Array<PlotApoDataLabelsOptions>);
  19078. /**
  19079. * (Highcharts, Highstock) Options for the series data sorting.
  19080. */
  19081. dataSorting?: (DataSortingOptionsObject|PlotApoDataSortingOptions);
  19082. /**
  19083. * (Highstock) A description of the series to add to the screen reader
  19084. * information about the series.
  19085. */
  19086. description?: string;
  19087. /**
  19088. * (Highstock) Enable or disable the mouse tracking for a specific series.
  19089. * This includes point tooltips and click events on graphs and points. For
  19090. * large datasets it improves performance.
  19091. */
  19092. enableMouseTracking?: boolean;
  19093. /**
  19094. * (Highstock) General event handlers for the series items. These event
  19095. * hooks can also be attached to the series at run time using the
  19096. * `Highcharts.addEvent` function.
  19097. */
  19098. events?: SeriesEventsOptionsObject;
  19099. /**
  19100. * (Highstock) Determines whether the series should look for the nearest
  19101. * point in both dimensions or just the x-dimension when hovering the
  19102. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  19103. * series. If the data has duplicate x-values, it is recommended to set this
  19104. * to `'xy'` to allow hovering over all points.
  19105. *
  19106. * Applies only to series types using nearest neighbor search (not direct
  19107. * hover) for tooltip.
  19108. */
  19109. findNearestPointBy?: OptionsFindNearestPointByValue;
  19110. /**
  19111. * (Highstock) Defines when to display a gap in the graph, together with the
  19112. * gapUnit option.
  19113. *
  19114. * In case when `dataGrouping` is enabled, points can be grouped into a
  19115. * larger time span. This can make the grouped points to have a greater
  19116. * distance than the absolute value of `gapSize` property, which will result
  19117. * in disappearing graph completely. To prevent this situation the mentioned
  19118. * distance between grouped points is used instead of previously defined
  19119. * `gapSize`.
  19120. *
  19121. * In practice, this option is most often used to visualize gaps in time
  19122. * series. In a stock chart, intraday data is available for daytime hours,
  19123. * while gaps will appear in nights and weekends.
  19124. */
  19125. gapSize?: number;
  19126. /**
  19127. * (Highstock) Together with gapSize, this option defines where to draw gaps
  19128. * in the graph.
  19129. *
  19130. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  19131. * if the distance between two points is greater than 5 times that of the
  19132. * two closest points, the graph will be broken.
  19133. *
  19134. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  19135. * values, which on a datetime axis is milliseconds. This also applies to
  19136. * the navigator series that inherits gap options from the base series.
  19137. */
  19138. gapUnit?: OptionsGapUnitValue;
  19139. /**
  19140. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  19141. * chart width or only the zoomed area when zooming in on parts of the X
  19142. * axis. By default, the Y axis adjusts to the min and max of the visible
  19143. * data. Cartesian series only.
  19144. */
  19145. getExtremesFromAll?: boolean;
  19146. /**
  19147. * (Highstock) When set to `false` will prevent the series data from being
  19148. * included in any form of data export.
  19149. *
  19150. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  19151. * `includeInCSVExport`.
  19152. */
  19153. includeInDataExport?: boolean;
  19154. /**
  19155. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  19156. * series as possible in a natural way, seeking to avoid other series. The
  19157. * goal of this feature is to make the chart more easily readable, like if a
  19158. * human designer placed the labels in the optimal position.
  19159. *
  19160. * The series labels currently work with series types having a `graph` or an
  19161. * `area`.
  19162. */
  19163. label?: SeriesLabelOptionsObject;
  19164. /**
  19165. * (Highstock) The line marks the last price from all points.
  19166. */
  19167. lastPrice?: SeriesLastPriceOptionsObject;
  19168. /**
  19169. * (Highstock) The line marks the last price from visible range of points.
  19170. */
  19171. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  19172. /**
  19173. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  19174. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  19175. * the ends and bends.
  19176. */
  19177. linecap?: SeriesLinecapValue;
  19178. /**
  19179. * (Highcharts, Highstock) Pixel width of the graph line.
  19180. */
  19181. lineWidth?: number;
  19182. /**
  19183. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  19184. * based on. Required for this indicator.
  19185. */
  19186. linkedTo?: string;
  19187. /**
  19188. * (Highstock) Options for the point markers of line-like series. Properties
  19189. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  19190. * appearance of the markers. Other series types, like column series, don't
  19191. * have markers, but have visual options on the series level instead.
  19192. *
  19193. * In styled mode, the markers can be styled with the `.highcharts-point`,
  19194. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  19195. */
  19196. marker?: PointMarkerOptionsObject;
  19197. /**
  19198. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  19199. * If not set, it will be based on a technical indicator type and default
  19200. * params.
  19201. */
  19202. name?: string;
  19203. /**
  19204. * (Highstock) The color for the parts of the graph or points that are below
  19205. * the threshold. Note that `zones` takes precedence over the negative
  19206. * color. Using `negativeColor` is equivalent to applying a zone with value
  19207. * of 0.
  19208. */
  19209. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  19210. /**
  19211. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  19212. * dataLabels.
  19213. */
  19214. opacity?: number;
  19215. /**
  19216. * (Highstock) Paramters used in calculation of Absolute Price Oscillator
  19217. * series points.
  19218. */
  19219. params?: PlotApoParamsOptions;
  19220. /**
  19221. * (Highstock) Properties for each single point.
  19222. */
  19223. point?: PlotSeriesPointOptions;
  19224. /**
  19225. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  19226. * individual series. Overrides the chart wide configuration.
  19227. */
  19228. pointDescriptionFormatter?: Function;
  19229. /**
  19230. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  19231. * true, the checkbox next to the series name in the legend will be checked
  19232. * for a selected series.
  19233. */
  19234. selected?: boolean;
  19235. /**
  19236. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  19237. * the shadow can be an object configuration containing `color`, `offsetX`,
  19238. * `offsetY`, `opacity` and `width`.
  19239. */
  19240. shadow?: (boolean|ShadowOptionsObject);
  19241. /**
  19242. * (Highstock) If true, a checkbox is displayed next to the legend item to
  19243. * allow selecting the series. The state of the checkbox is determined by
  19244. * the `selected` option.
  19245. */
  19246. showCheckbox?: boolean;
  19247. /**
  19248. * (Highstock) Whether to display this particular series or series type in
  19249. * the legend. Standalone series are shown in legend by default, and linked
  19250. * series are not. Since v7.2.0 it is possible to show series that use
  19251. * colorAxis by setting this option to `true`.
  19252. */
  19253. showInLegend?: boolean;
  19254. /**
  19255. * (Highstock) If set to `true`, the accessibility module will skip past the
  19256. * points in this series for keyboard navigation.
  19257. */
  19258. skipKeyboardNavigation?: boolean;
  19259. /**
  19260. * (Highcharts, Highstock) When this is true, the series will not cause the
  19261. * Y axis to cross the zero plane (or threshold option) unless the data
  19262. * actually crosses the plane.
  19263. *
  19264. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  19265. * make the Y axis show negative values according to the `minPadding`
  19266. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  19267. */
  19268. softThreshold?: boolean;
  19269. states?: SeriesStatesOptionsObject;
  19270. /**
  19271. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  19272. * values are `left`, `center` and `right`.
  19273. */
  19274. step?: OptionsStepValue;
  19275. /**
  19276. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  19277. * event on a series isn't triggered until the mouse moves over another
  19278. * series, or out of the plot area. When false, the `mouseOut` event on a
  19279. * series is triggered when the mouse leaves the area around the series'
  19280. * graph or markers. This also implies the tooltip when not shared. When
  19281. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  19282. * be hidden when moving the mouse between series. Defaults to true for line
  19283. * and area type series, but to false for columns, pies etc.
  19284. *
  19285. * **Note:** The boost module will force this option because of technical
  19286. * limitations.
  19287. */
  19288. stickyTracking?: boolean;
  19289. /**
  19290. * (Highcharts, Highstock) The threshold, also called zero level or base
  19291. * level. For line type series this is only used in conjunction with
  19292. * negativeColor.
  19293. */
  19294. threshold?: (number|null);
  19295. /**
  19296. * (Highstock) A configuration object for the tooltip rendering of each
  19297. * single series. Properties are inherited from tooltip, but only the
  19298. * following properties can be defined on a series level.
  19299. */
  19300. tooltip?: SeriesTooltipOptionsObject;
  19301. /**
  19302. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  19303. * is longer than this, only one dimensional arrays of numbers, or two
  19304. * dimensional arrays with x and y values are allowed. Also, only the first
  19305. * point is tested, and the rest are assumed to be the same format. This
  19306. * saves expensive data checking and indexing in long series. Set it to `0`
  19307. * disable.
  19308. *
  19309. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  19310. * two dimensional arrays are allowed.
  19311. */
  19312. turboThreshold?: number;
  19313. /**
  19314. * (Highstock) Set the initial visibility of the series.
  19315. */
  19316. visible?: boolean;
  19317. /**
  19318. * (Highmaps) Define the z index of the series.
  19319. */
  19320. zIndex?: number;
  19321. /**
  19322. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  19323. */
  19324. zoneAxis?: string;
  19325. /**
  19326. * (Highcharts, Highstock) An array defining zones within a series. Zones
  19327. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  19328. * the `zoneAxis` option. The zone definitions have to be in ascending order
  19329. * regarding to the value.
  19330. *
  19331. * In styled mode, the color zones are styled with the
  19332. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  19333. * option (view live demo).
  19334. */
  19335. zones?: Array<SeriesZonesOptionsObject>;
  19336. }
  19337. /**
  19338. * (Highstock) Paramters used in calculation of Absolute Price Oscillator series
  19339. * points.
  19340. */
  19341. export interface PlotApoParamsOptions {
  19342. /**
  19343. * (Highstock) The point index which indicator calculations will base. For
  19344. * example using OHLC data, index=2 means the indicator will be calculated
  19345. * using Low values.
  19346. *
  19347. * By default index value used to be set to 0. Since Highcharts Stock 7 by
  19348. * default index is set to 3 which means that the ema indicator will be
  19349. * calculated using Close values.
  19350. */
  19351. index?: number;
  19352. period?: string;
  19353. /**
  19354. * (Highstock) Periods for Absolute Price Oscillator calculations.
  19355. */
  19356. periods?: Array<number>;
  19357. }
  19358. /**
  19359. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  19360. * is displayed. The animation can also be set as a configuration object. Please
  19361. * note that this option only applies to the initial animation of the series
  19362. * itself. For other animations, see chart.animation and the animation parameter
  19363. * under the API methods. The following properties are supported:
  19364. *
  19365. * - `defer`: The animation delay time in milliseconds.
  19366. *
  19367. * - `duration`: The duration of the animation in milliseconds.
  19368. *
  19369. * - `easing`: Can be a string reference to an easing function set on the `Math`
  19370. * object or a function. See the _Custom easing function_ demo below.
  19371. *
  19372. * Due to poor performance, animation is disabled in old IE browsers for several
  19373. * chart types.
  19374. */
  19375. export interface PlotAreaAnimationOptions {
  19376. defer?: number;
  19377. }
  19378. /**
  19379. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  19380. * animation when a series is displayed for the `dataLabels`. The animation can
  19381. * also be set as a configuration object. Please note that this option only
  19382. * applies to the initial animation. For other animations, see chart.animation
  19383. * and the animation parameter under the API methods. The following properties
  19384. * are supported:
  19385. *
  19386. * - `defer`: The animation delay time in milliseconds.
  19387. */
  19388. export interface PlotAreaDataLabelsAnimationOptions {
  19389. /**
  19390. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  19391. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  19392. * inherits defer time from the series.animation.defer.
  19393. */
  19394. defer?: number;
  19395. }
  19396. /**
  19397. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  19398. * appearing next to each data point.
  19399. *
  19400. * Since v6.2.0, multiple data labels can be applied to each single point by
  19401. * defining them as an array of configs.
  19402. *
  19403. * In styled mode, the data labels can be styled with the
  19404. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  19405. * example).
  19406. */
  19407. export interface PlotAreaDataLabelsOptions {
  19408. /**
  19409. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  19410. * compared to the point. If `right`, the right side of the label should be
  19411. * touching the point. For points with an extent, like columns, the
  19412. * alignments also dictates how to align it inside the box, as given with
  19413. * the inside option. Can be one of `left`, `center` or `right`.
  19414. */
  19415. align?: (AlignValue|null);
  19416. /**
  19417. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  19418. * overlap. To make the labels less sensitive for overlapping, the
  19419. * dataLabels.padding can be set to 0.
  19420. */
  19421. allowOverlap?: boolean;
  19422. /**
  19423. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  19424. * animation when a series is displayed for the `dataLabels`. The animation
  19425. * can also be set as a configuration object. Please note that this option
  19426. * only applies to the initial animation. For other animations, see
  19427. * chart.animation and the animation parameter under the API methods. The
  19428. * following properties are supported:
  19429. *
  19430. * - `defer`: The animation delay time in milliseconds.
  19431. */
  19432. animation?: (boolean|PlotAreaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  19433. /**
  19434. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  19435. * for the data label.
  19436. */
  19437. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  19438. /**
  19439. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  19440. * label. Defaults to `undefined`.
  19441. */
  19442. borderColor?: (ColorString|GradientColorObject|PatternObject);
  19443. /**
  19444. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  19445. * the data label.
  19446. */
  19447. borderRadius?: number;
  19448. /**
  19449. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  19450. * the data label.
  19451. */
  19452. borderWidth?: number;
  19453. /**
  19454. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  19455. * Particularly in styled mode, this can be used to give each series' or
  19456. * point's data label unique styling. In addition to this option, a default
  19457. * color class name is added so that we can give the labels a contrast text
  19458. * shadow.
  19459. */
  19460. className?: string;
  19461. /**
  19462. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  19463. * labels. Defaults to `undefined`. For certain series types, like column or
  19464. * map, the data labels can be drawn inside the points. In this case the
  19465. * data label will be drawn with maximum contrast by default. Additionally,
  19466. * it will be given a `text-outline` style with the opposite color, to
  19467. * further increase the contrast. This can be overridden by setting the
  19468. * `text-outline` style to `none` in the `dataLabels.style` option.
  19469. */
  19470. color?: (ColorString|GradientColorObject|PatternObject);
  19471. /**
  19472. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  19473. * are outside the plot area. By default, the data label is moved inside the
  19474. * plot area according to the overflow option.
  19475. */
  19476. crop?: boolean;
  19477. /**
  19478. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  19479. * labels until the initial series animation has finished. Setting to
  19480. * `false` renders the data label immediately. If set to `true` inherits the
  19481. * defer time set in plotOptions.series.animation. If set to a number, a
  19482. * defer time is specified in milliseconds.
  19483. */
  19484. defer?: (boolean|number);
  19485. /**
  19486. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  19487. * labels.
  19488. */
  19489. enabled?: boolean;
  19490. /**
  19491. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  19492. * of which data labels to display. The declarative filter is designed for
  19493. * use when callback functions are not available, like when the chart
  19494. * options require a pure JSON structure or for use with graphical editors.
  19495. * For programmatic control, use the `formatter` instead, and return
  19496. * `undefined` to disable a single data label.
  19497. */
  19498. filter?: DataLabelsFilterOptionsObject;
  19499. /**
  19500. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  19501. * label. Available variables are the same as for `formatter`.
  19502. */
  19503. format?: string;
  19504. /**
  19505. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  19506. * format the data label. Note that if a `format` is defined, the format
  19507. * takes precedence and the formatter is ignored.
  19508. */
  19509. formatter?: DataLabelsFormatterCallbackFunction;
  19510. /**
  19511. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  19512. * columns or map areas, whether to align the data label inside the box or
  19513. * to the actual value point. Defaults to `false` in most cases, `true` in
  19514. * stacked columns.
  19515. */
  19516. inside?: boolean;
  19517. /**
  19518. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  19519. * of null. Works analogously to format. `nullFormat` can be applied only to
  19520. * series which support displaying null points.
  19521. */
  19522. nullFormat?: (boolean|string);
  19523. /**
  19524. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  19525. * that defines formatting for points with the value of null. Works
  19526. * analogously to formatter. `nullPointFormatter` can be applied only to
  19527. * series which support displaying null points.
  19528. */
  19529. nullFormatter?: DataLabelsFormatterCallbackFunction;
  19530. /**
  19531. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  19532. * flow outside the plot area. The default is `"justify"`, which aligns them
  19533. * inside the plot area. For columns and bars, this means it will be moved
  19534. * inside the bar. To display data labels outside the plot area, set `crop`
  19535. * to `false` and `overflow` to `"allow"`.
  19536. */
  19537. overflow?: DataLabelsOverflowValue;
  19538. /**
  19539. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  19540. * the `backgroundColor` is set, this is the padding within the box.
  19541. */
  19542. padding?: number;
  19543. /**
  19544. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  19545. * points. If `center` alignment is not possible, it defaults to `right`.
  19546. */
  19547. position?: AlignValue;
  19548. /**
  19549. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  19550. * that due to a more complex structure, backgrounds, borders and padding
  19551. * will be lost on a rotated data label.
  19552. */
  19553. rotation?: number;
  19554. /**
  19555. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  19556. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  19557. * an object configuration containing `color`, `offsetX`, `offsetY`,
  19558. * `opacity` and `width`.
  19559. */
  19560. shadow?: (boolean|ShadowOptionsObject);
  19561. /**
  19562. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  19563. * the border around the label. Symbols are predefined functions on the
  19564. * Renderer object.
  19565. */
  19566. shape?: string;
  19567. /**
  19568. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  19569. * default `color` setting is `"contrast"`, which is a pseudo color that
  19570. * Highcharts picks up and applies the maximum contrast to the underlying
  19571. * point item, for example the bar in a bar chart.
  19572. *
  19573. * The `textOutline` is a pseudo property that applies an outline of the
  19574. * given width with the given color, which by default is the maximum
  19575. * contrast to the text. So a bright text color will result in a black text
  19576. * outline for maximum readability on a mixed background. In some cases,
  19577. * especially with grayscale text, the text outline doesn't work well, in
  19578. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  19579. * is true, the `textOutline` will not be picked up. In this, case, the same
  19580. * effect can be acheived through the `text-shadow` CSS property.
  19581. *
  19582. * For some series types, where each point has an extent, like for example
  19583. * tree maps, the data label may overflow the point. There are two
  19584. * strategies for handling overflow. By default, the text will wrap to
  19585. * multiple lines. The other strategy is to set `style.textOverflow` to
  19586. * `ellipsis`, which will keep the text on one line plus it will break
  19587. * inside long words.
  19588. */
  19589. style?: CSSObject;
  19590. /**
  19591. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  19592. * should follow marker's shape. Border and background are disabled for a
  19593. * label that follows a path.
  19594. *
  19595. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  19596. * to true will disable this option.
  19597. */
  19598. textPath?: DataLabelsTextPathOptionsObject;
  19599. /**
  19600. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  19601. * the labels.
  19602. */
  19603. useHTML?: boolean;
  19604. /**
  19605. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  19606. * label. Can be one of `top`, `middle` or `bottom`. The default value
  19607. * depends on the data, for instance in a column chart, the label is above
  19608. * positive values and below negative values.
  19609. */
  19610. verticalAlign?: (VerticalAlignValue|null);
  19611. /**
  19612. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  19613. * label relative to the point in pixels.
  19614. */
  19615. x?: number;
  19616. /**
  19617. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  19618. * label relative to the point in pixels.
  19619. */
  19620. y?: number;
  19621. /**
  19622. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  19623. * The default Z index puts it above the series. Use a Z index of 2 to
  19624. * display it behind the series.
  19625. */
  19626. z?: number;
  19627. }
  19628. /**
  19629. * (Highcharts, Highstock) Options for the series data sorting.
  19630. */
  19631. export interface PlotAreaDataSortingOptions {
  19632. /**
  19633. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  19634. * Use xAxis.reversed to change the sorting order.
  19635. */
  19636. enabled?: boolean;
  19637. /**
  19638. * (Highcharts, Highstock) Whether to allow matching points by name in an
  19639. * update. If this option is disabled, points will be matched by order.
  19640. */
  19641. matchByName?: boolean;
  19642. /**
  19643. * (Highcharts, Highstock) Determines what data value should be used to sort
  19644. * by.
  19645. */
  19646. sortKey?: string;
  19647. }
  19648. /**
  19649. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  19650. * one state by default, the `default` state.
  19651. */
  19652. export interface PlotAreaDragDropGuideBoxOptions {
  19653. /**
  19654. * (Highcharts, Highstock) Style options for the guide box default state.
  19655. */
  19656. default?: DragDropGuideBoxOptionsObject;
  19657. }
  19658. /**
  19659. * (Highcharts, Highstock) The area series type.
  19660. *
  19661. * In TypeScript the type option must always be set.
  19662. *
  19663. * Configuration options for the series are given in three levels:
  19664. *
  19665. * 1. Options for all series in a chart are defined in the plotOptions.series
  19666. * object.
  19667. *
  19668. * 2. Options for all `area` series are defined in plotOptions.area.
  19669. *
  19670. * 3. Options for one single series are given in the series instance array. (see
  19671. * online documentation for example)
  19672. */
  19673. export interface PlotAreaOptions {
  19674. /**
  19675. * (Highcharts, Highstock) Accessibility options for a series.
  19676. */
  19677. accessibility?: SeriesAccessibilityOptionsObject;
  19678. /**
  19679. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  19680. * rendered. If `true`, areas which don't correspond to a data point, are
  19681. * rendered as `null` points. If `false`, those areas are skipped.
  19682. */
  19683. allAreas?: boolean;
  19684. /**
  19685. * (Highcharts, Highstock) Allow this series' points to be selected by
  19686. * clicking on the graphic (columns, point markers, pie slices, map areas
  19687. * etc).
  19688. *
  19689. * The selected points can be handled by point select and unselect events,
  19690. * or collectively by the getSelectedPoints function.
  19691. *
  19692. * And alternative way of selecting points is through dragging.
  19693. */
  19694. allowPointSelect?: boolean;
  19695. /**
  19696. * (Highcharts, Highstock) Enable or disable the initial animation when a
  19697. * series is displayed. The animation can also be set as a configuration
  19698. * object. Please note that this option only applies to the initial
  19699. * animation of the series itself. For other animations, see chart.animation
  19700. * and the animation parameter under the API methods. The following
  19701. * properties are supported:
  19702. *
  19703. * - `defer`: The animation delay time in milliseconds.
  19704. *
  19705. * - `duration`: The duration of the animation in milliseconds.
  19706. *
  19707. * - `easing`: Can be a string reference to an easing function set on the
  19708. * `Math` object or a function. See the _Custom easing function_ demo below.
  19709. *
  19710. * Due to poor performance, animation is disabled in old IE browsers for
  19711. * several chart types.
  19712. */
  19713. animation?: (boolean|PlotAreaAnimationOptions|Partial<AnimationOptionsObject>);
  19714. /**
  19715. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  19716. * initial animation by default when the total number of points in the chart
  19717. * is too high. For example, for a column chart and its derivatives,
  19718. * animation does not run if there is more than 250 points totally. To
  19719. * disable this cap, set `animationLimit` to `Infinity`.
  19720. */
  19721. animationLimit?: number;
  19722. /**
  19723. * (Highcharts, Highstock) Sets the color blending in the boost module.
  19724. */
  19725. boostBlending?: OptionsBoostBlendingValue;
  19726. /**
  19727. * (Highcharts, Highstock) Set the point threshold for when a series should
  19728. * enter boost mode.
  19729. *
  19730. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  19731. * there are 2000 or more points in the series.
  19732. *
  19733. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  19734. * it to 1 will force boosting.
  19735. *
  19736. * Note that the cropThreshold also affects this setting. When zooming in on
  19737. * a series that has fewer points than the `cropThreshold`, all points are
  19738. * rendered although outside the visible plot area, and the `boostThreshold`
  19739. * won't take effect.
  19740. */
  19741. boostThreshold?: number;
  19742. /**
  19743. * (Highmaps) The border color of the map areas.
  19744. *
  19745. * In styled mode, the border stroke is given in the `.highcharts-point`
  19746. * class.
  19747. */
  19748. borderColor?: (ColorString|GradientColorObject|PatternObject);
  19749. /**
  19750. * (Highmaps) The border width of each map area.
  19751. *
  19752. * In styled mode, the border stroke width is given in the
  19753. * `.highcharts-point` class.
  19754. */
  19755. borderWidth?: number;
  19756. /**
  19757. * (Highcharts, Highstock) An additional class name to apply to the series'
  19758. * graphical elements. This option does not replace default class names of
  19759. * the graphical element.
  19760. */
  19761. className?: string;
  19762. /**
  19763. * (Highcharts, Highstock) Disable this option to allow series rendering in
  19764. * the whole plotting area.
  19765. *
  19766. * **Note:** Clipping should be always enabled when chart.zoomType is set
  19767. */
  19768. clip?: boolean;
  19769. /**
  19770. * (Highcharts, Highstock) The main color of the series. In line type series
  19771. * it applies to the line and the point markers unless otherwise specified.
  19772. * In bar type series it applies to the bars unless a color is specified per
  19773. * point. The default value is pulled from the `options.colors` array.
  19774. *
  19775. * In styled mode, the color can be defined by the colorIndex option. Also,
  19776. * the series color can be set with the `.highcharts-series`,
  19777. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  19778. * `.highcharts-series-{n}` class, or individual classes given by the
  19779. * `className` option.
  19780. */
  19781. color?: (ColorString|GradientColorObject|PatternObject);
  19782. /**
  19783. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  19784. * this number defines which colorAxis the particular series is connected
  19785. * to. It refers to either the axis id or the index of the axis in the
  19786. * colorAxis array, with 0 being the first. Set this option to false to
  19787. * prevent a series from connecting to the default color axis.
  19788. *
  19789. * Since v7.2.0 the option can also be an axis id or an axis index instead
  19790. * of a boolean flag.
  19791. */
  19792. colorAxis?: (boolean|number|string);
  19793. /**
  19794. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  19795. * for the series, so its graphic representations are given the class name
  19796. * `highcharts-color-{n}`.
  19797. */
  19798. colorIndex?: number;
  19799. /**
  19800. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  19801. * used to calculate point color if `colorAxis` is used. Requires to set
  19802. * `min` and `max` if some custom point property is used or if approximation
  19803. * for data grouping is set to `'sum'`.
  19804. */
  19805. colorKey?: string;
  19806. /**
  19807. * (Highstock) Compare the values of the series against the first non-null,
  19808. * non- zero value in the visible range. The y axis will show percentage or
  19809. * absolute change depending on whether `compare` is set to `"percent"` or
  19810. * `"value"`. When this is applied to multiple series, it allows comparing
  19811. * the development of the series against each other. Adds a `change` field
  19812. * to every point object.
  19813. */
  19814. compare?: string;
  19815. /**
  19816. * (Highstock) When compare is `percent`, this option dictates whether to
  19817. * use 0 or 100 as the base of comparison.
  19818. */
  19819. compareBase?: (0|100);
  19820. /**
  19821. * (Highstock) Defines if comparison should start from the first point
  19822. * within the visible range or should start from the first point **before**
  19823. * the range.
  19824. *
  19825. * In other words, this flag determines if first point within the visible
  19826. * range will have 0% (`compareStart=true`) or should have been already
  19827. * calculated according to the previous point (`compareStart=false`).
  19828. */
  19829. compareStart?: boolean;
  19830. /**
  19831. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  19832. * series plot across the extremes.
  19833. */
  19834. connectEnds?: boolean;
  19835. /**
  19836. * (Highcharts, Highstock) Whether to connect a graph line across null
  19837. * points, or render a gap between the two points on either side of the
  19838. * null.
  19839. */
  19840. connectNulls?: boolean;
  19841. /**
  19842. * (Gantt) Override Pathfinder connector options for a series. Requires
  19843. * Highcharts Gantt to be loaded.
  19844. */
  19845. connectors?: SeriesConnectorsOptionsObject;
  19846. /**
  19847. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  19848. * rounded to its nearest pixel in order to render sharp on screen. In some
  19849. * cases, when there are a lot of densely packed columns, this leads to
  19850. * visible difference in column widths or distance between columns. In these
  19851. * cases, setting `crisp` to `false` may look better, even though each
  19852. * column is rendered blurry.
  19853. */
  19854. crisp?: boolean;
  19855. /**
  19856. * (Highcharts, Highstock) When the series contains less points than the
  19857. * crop threshold, all points are drawn, even if the points fall outside the
  19858. * visible plot area at the current zoom. The advantage of drawing all
  19859. * points (including markers and columns), is that animation is performed on
  19860. * updates. On the other hand, when the series contains more points than the
  19861. * crop threshold, the series data is cropped to only contain points that
  19862. * fall within the plot area. The advantage of cropping away invisible
  19863. * points is to increase performance on large series.
  19864. */
  19865. cropThreshold?: number;
  19866. /**
  19867. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  19868. * click events attached to the series, to signal to the user that the
  19869. * points and lines can be clicked.
  19870. *
  19871. * In styled mode, the series cursor can be set with the same classes as
  19872. * listed under series.color.
  19873. */
  19874. cursor?: (string|CursorValue);
  19875. /**
  19876. * (Highcharts, Highstock) A reserved subspace to store options and values
  19877. * for customized functionality. Here you can add additional data for your
  19878. * own event callbacks and formatter callbacks.
  19879. */
  19880. custom?: Dictionary<any>;
  19881. /**
  19882. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  19883. * for some series types the outline of each shape.
  19884. *
  19885. * In styled mode, the stroke dash-array can be set with the same classes as
  19886. * listed under series.color.
  19887. */
  19888. dashStyle?: DashStyleValue;
  19889. /**
  19890. * (Highstock) Data grouping is the concept of sampling the data values into
  19891. * larger blocks in order to ease readability and increase performance of
  19892. * the JavaScript charts. Highcharts Stock by default applies data grouping
  19893. * when the points become closer than a certain pixel value, determined by
  19894. * the `groupPixelWidth` option.
  19895. *
  19896. * If data grouping is applied, the grouping information of grouped points
  19897. * can be read from the Point.dataGroup. If point options other than the
  19898. * data itself are set, for example `name` or `color` or custom properties,
  19899. * the grouping logic doesn't know how to group it. In this case the options
  19900. * of the first point instance are copied over to the group point. This can
  19901. * be altered through a custom `approximation` callback function.
  19902. */
  19903. dataGrouping?: DataGroupingOptionsObject;
  19904. /**
  19905. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  19906. * labels, appearing next to each data point.
  19907. *
  19908. * Since v6.2.0, multiple data labels can be applied to each single point by
  19909. * defining them as an array of configs.
  19910. *
  19911. * In styled mode, the data labels can be styled with the
  19912. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  19913. * (see example).
  19914. */
  19915. dataLabels?: (PlotAreaDataLabelsOptions|Array<PlotAreaDataLabelsOptions>);
  19916. /**
  19917. * (Highcharts, Highstock) Options for the series data sorting.
  19918. */
  19919. dataSorting?: (DataSortingOptionsObject|PlotAreaDataSortingOptions);
  19920. /**
  19921. * (Highcharts, Highstock) A description of the series to add to the screen
  19922. * reader information about the series.
  19923. */
  19924. description?: string;
  19925. /**
  19926. * (Highcharts, Highstock) The draggable-points module allows points to be
  19927. * moved around or modified in the chart. In addition to the options
  19928. * mentioned under the `dragDrop` API structure, the module fires three
  19929. * events, point.dragStart, point.drag and point.drop.
  19930. */
  19931. dragDrop?: SeriesDragDropOptionsObject;
  19932. /**
  19933. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  19934. * specific series. This includes point tooltips and click events on graphs
  19935. * and points. For large datasets it improves performance.
  19936. */
  19937. enableMouseTracking?: boolean;
  19938. /**
  19939. * (Highcharts, Highstock) General event handlers for the series items.
  19940. * These event hooks can also be attached to the series at run time using
  19941. * the `Highcharts.addEvent` function.
  19942. */
  19943. events?: SeriesEventsOptionsObject;
  19944. /**
  19945. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  19946. * the series' `color` is used with the series' `fillOpacity`.
  19947. *
  19948. * In styled mode, the fill color can be set with the `.highcharts-area`
  19949. * class name.
  19950. */
  19951. fillColor?: (ColorString|GradientColorObject|PatternObject);
  19952. /**
  19953. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  19954. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  19955. * should define the opacity in the `fillColor` with an rgba color
  19956. * definition. The `fillOpacity` setting, also the default setting,
  19957. * overrides the alpha component of the `color` setting.
  19958. *
  19959. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  19960. * class name.
  19961. */
  19962. fillOpacity?: number;
  19963. /**
  19964. * (Highcharts, Highstock) Determines whether the series should look for the
  19965. * nearest point in both dimensions or just the x-dimension when hovering
  19966. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  19967. * other series. If the data has duplicate x-values, it is recommended to
  19968. * set this to `'xy'` to allow hovering over all points.
  19969. *
  19970. * Applies only to series types using nearest neighbor search (not direct
  19971. * hover) for tooltip.
  19972. */
  19973. findNearestPointBy?: OptionsFindNearestPointByValue;
  19974. /**
  19975. * (Highstock) Defines when to display a gap in the graph, together with the
  19976. * gapUnit option.
  19977. *
  19978. * In case when `dataGrouping` is enabled, points can be grouped into a
  19979. * larger time span. This can make the grouped points to have a greater
  19980. * distance than the absolute value of `gapSize` property, which will result
  19981. * in disappearing graph completely. To prevent this situation the mentioned
  19982. * distance between grouped points is used instead of previously defined
  19983. * `gapSize`.
  19984. *
  19985. * In practice, this option is most often used to visualize gaps in time
  19986. * series. In a stock chart, intraday data is available for daytime hours,
  19987. * while gaps will appear in nights and weekends.
  19988. */
  19989. gapSize?: number;
  19990. /**
  19991. * (Highstock) Together with gapSize, this option defines where to draw gaps
  19992. * in the graph.
  19993. *
  19994. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  19995. * if the distance between two points is greater than 5 times that of the
  19996. * two closest points, the graph will be broken.
  19997. *
  19998. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  19999. * values, which on a datetime axis is milliseconds. This also applies to
  20000. * the navigator series that inherits gap options from the base series.
  20001. */
  20002. gapUnit?: OptionsGapUnitValue;
  20003. /**
  20004. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  20005. * chart width or only the zoomed area when zooming in on parts of the X
  20006. * axis. By default, the Y axis adjusts to the min and max of the visible
  20007. * data. Cartesian series only.
  20008. */
  20009. getExtremesFromAll?: boolean;
  20010. /**
  20011. * (Highcharts, Highstock) When set to `false` will prevent the series data
  20012. * from being included in any form of data export.
  20013. *
  20014. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  20015. * `includeInCSVExport`.
  20016. */
  20017. includeInDataExport?: boolean;
  20018. /**
  20019. * (Highmaps) What property to join the `mapData` to the value data. For
  20020. * example, if joinBy is "code", the mapData items with a specific code is
  20021. * merged into the data with the same code. For maps loaded from GeoJSON,
  20022. * the keys may be held in each point's `properties` object.
  20023. *
  20024. * The joinBy option can also be an array of two values, where the first
  20025. * points to a key in the `mapData`, and the second points to another key in
  20026. * the `data`.
  20027. *
  20028. * When joinBy is `null`, the map items are joined by their position in the
  20029. * array, which performs much better in maps with many data points. This is
  20030. * the recommended option if you are printing more than a thousand data
  20031. * points and have a backend that can preprocess the data into a parallel
  20032. * array of the mapData.
  20033. */
  20034. joinBy?: (string|Array<string>);
  20035. /**
  20036. * (Highcharts, Highstock) An array specifying which option maps to which
  20037. * key in the data point array. This makes it convenient to work with
  20038. * unstructured data arrays from different sources.
  20039. */
  20040. keys?: Array<string>;
  20041. /**
  20042. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  20043. * series as possible in a natural way, seeking to avoid other series. The
  20044. * goal of this feature is to make the chart more easily readable, like if a
  20045. * human designer placed the labels in the optimal position.
  20046. *
  20047. * The series labels currently work with series types having a `graph` or an
  20048. * `area`.
  20049. */
  20050. label?: SeriesLabelOptionsObject;
  20051. /**
  20052. * (Highstock) The line marks the last price from all points.
  20053. */
  20054. lastPrice?: SeriesLastPriceOptionsObject;
  20055. /**
  20056. * (Highstock) The line marks the last price from visible range of points.
  20057. */
  20058. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  20059. /**
  20060. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  20061. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  20062. * the ends and bends.
  20063. */
  20064. linecap?: SeriesLinecapValue;
  20065. /**
  20066. * (Highcharts, Highstock) A separate color for the graph line. By default
  20067. * the line takes the `color` of the series, but the lineColor setting
  20068. * allows setting a separate color for the line without altering the
  20069. * `fillColor`.
  20070. *
  20071. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  20072. * class name.
  20073. */
  20074. lineColor?: (ColorString|GradientColorObject|PatternObject);
  20075. /**
  20076. * (Highcharts, Highstock) Pixel width of the graph line.
  20077. */
  20078. lineWidth?: number;
  20079. /**
  20080. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  20081. * Additionally, the value can be ":previous" to link to the previous
  20082. * series. When two series are linked, only the first one appears in the
  20083. * legend. Toggling the visibility of this also toggles the linked series.
  20084. *
  20085. * If master series uses data sorting and linked series does not have its
  20086. * own sorting definition, the linked series will be sorted in the same
  20087. * order as the master one.
  20088. */
  20089. linkedTo?: string;
  20090. /**
  20091. * (Highcharts, Highstock) Options for the point markers of line-like
  20092. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  20093. * the visual appearance of the markers. Other series types, like column
  20094. * series, don't have markers, but have visual options on the series level
  20095. * instead.
  20096. *
  20097. * In styled mode, the markers can be styled with the `.highcharts-point`,
  20098. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  20099. */
  20100. marker?: PointMarkerOptionsObject;
  20101. /**
  20102. * (Highstock) Options for the corresponding navigator series if
  20103. * `showInNavigator` is `true` for this series. Available options are the
  20104. * same as any series, documented at plotOptions and series.
  20105. *
  20106. * These options are merged with options in navigator.series, and will take
  20107. * precedence if the same option is defined both places.
  20108. */
  20109. navigatorOptions?: PlotSeriesOptions;
  20110. /**
  20111. * (Highcharts, Highstock) The color for the parts of the graph or points
  20112. * that are below the threshold. Note that `zones` takes precedence over the
  20113. * negative color. Using `negativeColor` is equivalent to applying a zone
  20114. * with value of 0.
  20115. */
  20116. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  20117. /**
  20118. * (Highcharts) A separate color for the negative part of the area.
  20119. *
  20120. * In styled mode, a negative color is set with the `.highcharts-negative`
  20121. * class name.
  20122. */
  20123. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  20124. /**
  20125. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  20126. * and dataLabels.
  20127. */
  20128. opacity?: number;
  20129. /**
  20130. * (Highcharts, Highstock) Properties for each single point.
  20131. */
  20132. point?: PlotSeriesPointOptions;
  20133. /**
  20134. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  20135. * but for an individual series. Overrides the chart wide configuration.
  20136. */
  20137. pointDescriptionFormatter?: Function;
  20138. /**
  20139. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  20140. * a series, `pointInterval` defines the interval of the x values. For
  20141. * example, if a series contains one value every decade starting from year
  20142. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  20143. * `pointInterval` is set in milliseconds.
  20144. *
  20145. * It can be also be combined with `pointIntervalUnit` to draw irregular
  20146. * time intervals.
  20147. *
  20148. * Please note that this options applies to the _series data_, not the
  20149. * interval of the axis ticks, which is independent.
  20150. */
  20151. pointInterval?: number;
  20152. /**
  20153. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  20154. * setting the pointInterval to irregular time units, `day`, `month` and
  20155. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  20156. * also takes the DST crossover into consideration when dealing with local
  20157. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  20158. * months, 10 years etc.
  20159. *
  20160. * Please note that this options applies to the _series data_, not the
  20161. * interval of the axis ticks, which is independent.
  20162. */
  20163. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  20164. /**
  20165. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  20166. * `number`.
  20167. *
  20168. * In a column chart, when pointPlacement is `"on"`, the point will not
  20169. * create any padding of the X axis. In a polar column chart this means that
  20170. * the first column points directly north. If the pointPlacement is
  20171. * `"between"`, the columns will be laid out between ticks. This is useful
  20172. * for example for visualising an amount between two points in time or in a
  20173. * certain sector of a polar chart.
  20174. *
  20175. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  20176. * is on the axis value, -0.5 is between this value and the previous, and
  20177. * 0.5 is between this value and the next. Unlike the textual options,
  20178. * numeric point placement options won't affect axis padding.
  20179. *
  20180. * Note that pointPlacement needs a pointRange to work. For column series
  20181. * this is computed, but for line-type series it needs to be set.
  20182. *
  20183. * For the `xrange` series type and gantt charts, if the Y axis is a
  20184. * category axis, the `pointPlacement` applies to the Y axis rather than the
  20185. * (typically datetime) X axis.
  20186. *
  20187. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  20188. */
  20189. pointPlacement?: (number|string);
  20190. /**
  20191. * (Highstock) The width of each point on the x axis. For example in a
  20192. * column chart with one value each day, the pointRange would be 1 day (= 24
  20193. * * 3600
  20194. *
  20195. * * 1000 milliseconds). This is normally computed automatically, but this
  20196. * option can be used to override the automatic value.
  20197. */
  20198. pointRange?: number;
  20199. /**
  20200. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  20201. * a series, pointStart defines on what value to start. For example, if a
  20202. * series contains one yearly value starting from 1945, set pointStart to
  20203. * 1945.
  20204. */
  20205. pointStart?: number;
  20206. /**
  20207. * (Highcharts, Highstock) Whether to select the series initially. If
  20208. * `showCheckbox` is true, the checkbox next to the series name in the
  20209. * legend will be checked for a selected series.
  20210. */
  20211. selected?: boolean;
  20212. /**
  20213. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  20214. * Since 2.3 the shadow can be an object configuration containing `color`,
  20215. * `offsetX`, `offsetY`, `opacity` and `width`.
  20216. */
  20217. shadow?: (boolean|ShadowOptionsObject);
  20218. /**
  20219. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  20220. * legend item to allow selecting the series. The state of the checkbox is
  20221. * determined by the `selected` option.
  20222. */
  20223. showCheckbox?: boolean;
  20224. /**
  20225. * (Highcharts, Highstock) Whether to display this particular series or
  20226. * series type in the legend. Standalone series are shown in legend by
  20227. * default, and linked series are not. Since v7.2.0 it is possible to show
  20228. * series that use colorAxis by setting this option to `true`.
  20229. */
  20230. showInLegend?: boolean;
  20231. /**
  20232. * (Highstock) Whether or not to show the series in the navigator. Takes
  20233. * precedence over navigator.baseSeries if defined.
  20234. */
  20235. showInNavigator?: boolean;
  20236. /**
  20237. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  20238. * skip past the points in this series for keyboard navigation.
  20239. */
  20240. skipKeyboardNavigation?: boolean;
  20241. /**
  20242. * (Highcharts, Highstock) When this is true, the series will not cause the
  20243. * Y axis to cross the zero plane (or threshold option) unless the data
  20244. * actually crosses the plane.
  20245. *
  20246. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  20247. * make the Y axis show negative values according to the `minPadding`
  20248. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  20249. */
  20250. softThreshold?: boolean;
  20251. /**
  20252. * (Highcharts, Highstock) Whether to stack the values of each series on top
  20253. * of each other. Possible values are `undefined` to disable, `"normal"` to
  20254. * stack by value or `"percent"`.
  20255. *
  20256. * When stacking is enabled, data must be sorted in ascending X order.
  20257. *
  20258. * Some stacking options are related to specific series types. In the
  20259. * streamgraph series type, the stacking option is set to `"stream"`. The
  20260. * second one is `"overlap"`, which only applies to waterfall series.
  20261. */
  20262. stacking?: OptionsStackingValue;
  20263. states?: SeriesStatesOptionsObject;
  20264. /**
  20265. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  20266. * values are `left`, `center` and `right`.
  20267. */
  20268. step?: OptionsStepValue;
  20269. /**
  20270. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  20271. * `mouseOut` event on a series isn't triggered until the mouse moves over
  20272. * another series, or out of the plot area. When false, the `mouseOut` event
  20273. * on a series is triggered when the mouse leaves the area around the
  20274. * series' graph or markers. This also implies the tooltip when not shared.
  20275. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  20276. * will be hidden when moving the mouse between series. Defaults to true for
  20277. * line and area type series, but to false for columns, pies etc.
  20278. *
  20279. * **Note:** The boost module will force this option because of technical
  20280. * limitations.
  20281. */
  20282. stickyTracking?: boolean;
  20283. /**
  20284. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  20285. * area, for distinguishing between values above and below a threshold. The
  20286. * area between the graph and the threshold is filled.
  20287. *
  20288. * * If a number is given, the Y axis will scale to the threshold.
  20289. *
  20290. * * If `null`, the scaling behaves like a line series with fill between the
  20291. * graph and the Y axis minimum.
  20292. *
  20293. * * If `Infinity` or `-Infinity`, the area between the graph and the
  20294. * corresponding Y axis extreme is filled (since v6.1.0).
  20295. */
  20296. threshold?: (number|null);
  20297. /**
  20298. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  20299. * of each single series. Properties are inherited from tooltip, but only
  20300. * the following properties can be defined on a series level.
  20301. */
  20302. tooltip?: SeriesTooltipOptionsObject;
  20303. /**
  20304. * (Highcharts, Highstock) Whether the whole area or just the line should
  20305. * respond to mouseover tooltips and other mouse or touch events.
  20306. */
  20307. trackByArea?: boolean;
  20308. /**
  20309. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  20310. * is longer than this, only one dimensional arrays of numbers, or two
  20311. * dimensional arrays with x and y values are allowed. Also, only the first
  20312. * point is tested, and the rest are assumed to be the same format. This
  20313. * saves expensive data checking and indexing in long series. Set it to `0`
  20314. * disable.
  20315. *
  20316. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  20317. * two dimensional arrays are allowed.
  20318. */
  20319. turboThreshold?: number;
  20320. /**
  20321. * (Highcharts, Highstock) Set the initial visibility of the series.
  20322. */
  20323. visible?: boolean;
  20324. /**
  20325. * (Highmaps) Define the z index of the series.
  20326. */
  20327. zIndex?: number;
  20328. /**
  20329. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  20330. */
  20331. zoneAxis?: string;
  20332. /**
  20333. * (Highcharts, Highstock) An array defining zones within a series. Zones
  20334. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  20335. * the `zoneAxis` option. The zone definitions have to be in ascending order
  20336. * regarding to the value.
  20337. *
  20338. * In styled mode, the color zones are styled with the
  20339. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  20340. * option (view live demo).
  20341. */
  20342. zones?: Array<SeriesZonesOptionsObject>;
  20343. }
  20344. /**
  20345. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  20346. * is displayed. The animation can also be set as a configuration object. Please
  20347. * note that this option only applies to the initial animation of the series
  20348. * itself. For other animations, see chart.animation and the animation parameter
  20349. * under the API methods. The following properties are supported:
  20350. *
  20351. * - `defer`: The animation delay time in milliseconds.
  20352. *
  20353. * - `duration`: The duration of the animation in milliseconds.
  20354. *
  20355. * - `easing`: Can be a string reference to an easing function set on the `Math`
  20356. * object or a function. See the _Custom easing function_ demo below.
  20357. *
  20358. * Due to poor performance, animation is disabled in old IE browsers for several
  20359. * chart types.
  20360. */
  20361. export interface PlotArearangeAnimationOptions {
  20362. defer?: number;
  20363. }
  20364. /**
  20365. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  20366. * is displayed for the `dataLabels`. The animation can also be set as a
  20367. * configuration object. Please note that this option only applies to the
  20368. * initial animation. For other animations, see chart.animation and the
  20369. * animation parameter under the API methods. The following properties are
  20370. * supported:
  20371. *
  20372. * - `defer`: The animation delay time in milliseconds.
  20373. */
  20374. export interface PlotArearangeDataLabelsAnimationOptions {
  20375. /**
  20376. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  20377. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  20378. * from the series.animation.defer.
  20379. */
  20380. defer?: number;
  20381. }
  20382. /**
  20383. * (Highcharts, Highstock) Options for the series data sorting.
  20384. */
  20385. export interface PlotArearangeDataSortingOptions {
  20386. /**
  20387. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  20388. * Use xAxis.reversed to change the sorting order.
  20389. */
  20390. enabled?: boolean;
  20391. /**
  20392. * (Highcharts, Highstock) Whether to allow matching points by name in an
  20393. * update. If this option is disabled, points will be matched by order.
  20394. */
  20395. matchByName?: boolean;
  20396. /**
  20397. * (Highcharts, Highstock) Determines what data value should be used to sort
  20398. * by.
  20399. */
  20400. sortKey?: string;
  20401. }
  20402. /**
  20403. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  20404. * one state by default, the `default` state.
  20405. */
  20406. export interface PlotArearangeDragDropGuideBoxOptions {
  20407. /**
  20408. * (Highcharts, Highstock) Style options for the guide box default state.
  20409. */
  20410. default?: DragDropGuideBoxOptionsObject;
  20411. }
  20412. /**
  20413. * (Highcharts, Highstock) The area range series is a carteseian series with
  20414. * higher and lower values for each point along an X axis, where the area
  20415. * between the values is shaded.
  20416. *
  20417. * In TypeScript the type option must always be set.
  20418. *
  20419. * Configuration options for the series are given in three levels:
  20420. *
  20421. * 1. Options for all series in a chart are defined in the plotOptions.series
  20422. * object.
  20423. *
  20424. * 2. Options for all `arearange` series are defined in plotOptions.arearange.
  20425. *
  20426. * 3. Options for one single series are given in the series instance array. (see
  20427. * online documentation for example)
  20428. */
  20429. export interface PlotArearangeOptions {
  20430. /**
  20431. * (Highcharts, Highstock) Accessibility options for a series.
  20432. */
  20433. accessibility?: SeriesAccessibilityOptionsObject;
  20434. /**
  20435. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  20436. * rendered. If `true`, areas which don't correspond to a data point, are
  20437. * rendered as `null` points. If `false`, those areas are skipped.
  20438. */
  20439. allAreas?: boolean;
  20440. /**
  20441. * (Highcharts, Highstock) Allow this series' points to be selected by
  20442. * clicking on the graphic (columns, point markers, pie slices, map areas
  20443. * etc).
  20444. *
  20445. * The selected points can be handled by point select and unselect events,
  20446. * or collectively by the getSelectedPoints function.
  20447. *
  20448. * And alternative way of selecting points is through dragging.
  20449. */
  20450. allowPointSelect?: boolean;
  20451. /**
  20452. * (Highcharts, Highstock) Enable or disable the initial animation when a
  20453. * series is displayed. The animation can also be set as a configuration
  20454. * object. Please note that this option only applies to the initial
  20455. * animation of the series itself. For other animations, see chart.animation
  20456. * and the animation parameter under the API methods. The following
  20457. * properties are supported:
  20458. *
  20459. * - `defer`: The animation delay time in milliseconds.
  20460. *
  20461. * - `duration`: The duration of the animation in milliseconds.
  20462. *
  20463. * - `easing`: Can be a string reference to an easing function set on the
  20464. * `Math` object or a function. See the _Custom easing function_ demo below.
  20465. *
  20466. * Due to poor performance, animation is disabled in old IE browsers for
  20467. * several chart types.
  20468. */
  20469. animation?: (boolean|PlotArearangeAnimationOptions|Partial<AnimationOptionsObject>);
  20470. /**
  20471. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  20472. * initial animation by default when the total number of points in the chart
  20473. * is too high. For example, for a column chart and its derivatives,
  20474. * animation does not run if there is more than 250 points totally. To
  20475. * disable this cap, set `animationLimit` to `Infinity`.
  20476. */
  20477. animationLimit?: number;
  20478. /**
  20479. * (Highcharts, Highstock) Sets the color blending in the boost module.
  20480. */
  20481. boostBlending?: OptionsBoostBlendingValue;
  20482. /**
  20483. * (Highcharts, Highstock) Set the point threshold for when a series should
  20484. * enter boost mode.
  20485. *
  20486. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  20487. * there are 2000 or more points in the series.
  20488. *
  20489. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  20490. * it to 1 will force boosting.
  20491. *
  20492. * Note that the cropThreshold also affects this setting. When zooming in on
  20493. * a series that has fewer points than the `cropThreshold`, all points are
  20494. * rendered although outside the visible plot area, and the `boostThreshold`
  20495. * won't take effect.
  20496. */
  20497. boostThreshold?: number;
  20498. /**
  20499. * (Highmaps) The border color of the map areas.
  20500. *
  20501. * In styled mode, the border stroke is given in the `.highcharts-point`
  20502. * class.
  20503. */
  20504. borderColor?: (ColorString|GradientColorObject|PatternObject);
  20505. /**
  20506. * (Highmaps) The border width of each map area.
  20507. *
  20508. * In styled mode, the border stroke width is given in the
  20509. * `.highcharts-point` class.
  20510. */
  20511. borderWidth?: number;
  20512. /**
  20513. * (Highcharts, Highstock) An additional class name to apply to the series'
  20514. * graphical elements. This option does not replace default class names of
  20515. * the graphical element.
  20516. */
  20517. className?: string;
  20518. /**
  20519. * (Highcharts, Highstock) Disable this option to allow series rendering in
  20520. * the whole plotting area.
  20521. *
  20522. * **Note:** Clipping should be always enabled when chart.zoomType is set
  20523. */
  20524. clip?: boolean;
  20525. /**
  20526. * (Highcharts, Highstock) The main color of the series. In line type series
  20527. * it applies to the line and the point markers unless otherwise specified.
  20528. * In bar type series it applies to the bars unless a color is specified per
  20529. * point. The default value is pulled from the `options.colors` array.
  20530. *
  20531. * In styled mode, the color can be defined by the colorIndex option. Also,
  20532. * the series color can be set with the `.highcharts-series`,
  20533. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  20534. * `.highcharts-series-{n}` class, or individual classes given by the
  20535. * `className` option.
  20536. */
  20537. color?: (ColorString|GradientColorObject|PatternObject);
  20538. /**
  20539. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  20540. * this number defines which colorAxis the particular series is connected
  20541. * to. It refers to either the axis id or the index of the axis in the
  20542. * colorAxis array, with 0 being the first. Set this option to false to
  20543. * prevent a series from connecting to the default color axis.
  20544. *
  20545. * Since v7.2.0 the option can also be an axis id or an axis index instead
  20546. * of a boolean flag.
  20547. */
  20548. colorAxis?: (boolean|number|string);
  20549. /**
  20550. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  20551. * for the series, so its graphic representations are given the class name
  20552. * `highcharts-color-{n}`.
  20553. */
  20554. colorIndex?: number;
  20555. /**
  20556. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  20557. * used to calculate point color if `colorAxis` is used. Requires to set
  20558. * `min` and `max` if some custom point property is used or if approximation
  20559. * for data grouping is set to `'sum'`.
  20560. */
  20561. colorKey?: string;
  20562. /**
  20563. * (Highstock) Compare the values of the series against the first non-null,
  20564. * non- zero value in the visible range. The y axis will show percentage or
  20565. * absolute change depending on whether `compare` is set to `"percent"` or
  20566. * `"value"`. When this is applied to multiple series, it allows comparing
  20567. * the development of the series against each other. Adds a `change` field
  20568. * to every point object.
  20569. */
  20570. compare?: string;
  20571. /**
  20572. * (Highstock) When compare is `percent`, this option dictates whether to
  20573. * use 0 or 100 as the base of comparison.
  20574. */
  20575. compareBase?: (0|100);
  20576. /**
  20577. * (Highstock) Defines if comparison should start from the first point
  20578. * within the visible range or should start from the first point **before**
  20579. * the range.
  20580. *
  20581. * In other words, this flag determines if first point within the visible
  20582. * range will have 0% (`compareStart=true`) or should have been already
  20583. * calculated according to the previous point (`compareStart=false`).
  20584. */
  20585. compareStart?: boolean;
  20586. /**
  20587. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  20588. * series plot across the extremes.
  20589. */
  20590. connectEnds?: boolean;
  20591. /**
  20592. * (Highcharts, Highstock) Whether to connect a graph line across null
  20593. * points, or render a gap between the two points on either side of the
  20594. * null.
  20595. */
  20596. connectNulls?: boolean;
  20597. /**
  20598. * (Gantt) Override Pathfinder connector options for a series. Requires
  20599. * Highcharts Gantt to be loaded.
  20600. */
  20601. connectors?: SeriesConnectorsOptionsObject;
  20602. /**
  20603. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  20604. * rounded to its nearest pixel in order to render sharp on screen. In some
  20605. * cases, when there are a lot of densely packed columns, this leads to
  20606. * visible difference in column widths or distance between columns. In these
  20607. * cases, setting `crisp` to `false` may look better, even though each
  20608. * column is rendered blurry.
  20609. */
  20610. crisp?: boolean;
  20611. /**
  20612. * (Highcharts, Highstock) When the series contains less points than the
  20613. * crop threshold, all points are drawn, even if the points fall outside the
  20614. * visible plot area at the current zoom. The advantage of drawing all
  20615. * points (including markers and columns), is that animation is performed on
  20616. * updates. On the other hand, when the series contains more points than the
  20617. * crop threshold, the series data is cropped to only contain points that
  20618. * fall within the plot area. The advantage of cropping away invisible
  20619. * points is to increase performance on large series.
  20620. */
  20621. cropThreshold?: number;
  20622. /**
  20623. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  20624. * click events attached to the series, to signal to the user that the
  20625. * points and lines can be clicked.
  20626. *
  20627. * In styled mode, the series cursor can be set with the same classes as
  20628. * listed under series.color.
  20629. */
  20630. cursor?: (string|CursorValue);
  20631. /**
  20632. * (Highcharts, Highstock) A reserved subspace to store options and values
  20633. * for customized functionality. Here you can add additional data for your
  20634. * own event callbacks and formatter callbacks.
  20635. */
  20636. custom?: Dictionary<any>;
  20637. /**
  20638. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  20639. * for some series types the outline of each shape.
  20640. *
  20641. * In styled mode, the stroke dash-array can be set with the same classes as
  20642. * listed under series.color.
  20643. */
  20644. dashStyle?: DashStyleValue;
  20645. /**
  20646. * (Highstock) Data grouping is the concept of sampling the data values into
  20647. * larger blocks in order to ease readability and increase performance of
  20648. * the JavaScript charts. Highcharts Stock by default applies data grouping
  20649. * when the points become closer than a certain pixel value, determined by
  20650. * the `groupPixelWidth` option.
  20651. *
  20652. * If data grouping is applied, the grouping information of grouped points
  20653. * can be read from the Point.dataGroup. If point options other than the
  20654. * data itself are set, for example `name` or `color` or custom properties,
  20655. * the grouping logic doesn't know how to group it. In this case the options
  20656. * of the first point instance are copied over to the group point. This can
  20657. * be altered through a custom `approximation` callback function.
  20658. */
  20659. dataGrouping?: DataGroupingOptionsObject;
  20660. /**
  20661. * (Highcharts, Highstock) Extended data labels for range series types.
  20662. * Range series data labels use no `x` and `y` options. Instead, they have
  20663. * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
  20664. * data label sets individually.
  20665. */
  20666. dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
  20667. /**
  20668. * (Highcharts, Highstock) Options for the series data sorting.
  20669. */
  20670. dataSorting?: (DataSortingOptionsObject|PlotArearangeDataSortingOptions);
  20671. /**
  20672. * (Highcharts, Highstock) A description of the series to add to the screen
  20673. * reader information about the series.
  20674. */
  20675. description?: string;
  20676. /**
  20677. * (Highcharts, Highstock) The draggable-points module allows points to be
  20678. * moved around or modified in the chart. In addition to the options
  20679. * mentioned under the `dragDrop` API structure, the module fires three
  20680. * events, point.dragStart, point.drag and point.drop.
  20681. */
  20682. dragDrop?: SeriesDragDropOptionsObject;
  20683. /**
  20684. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  20685. * specific series. This includes point tooltips and click events on graphs
  20686. * and points. For large datasets it improves performance.
  20687. */
  20688. enableMouseTracking?: boolean;
  20689. /**
  20690. * (Highcharts, Highstock) General event handlers for the series items.
  20691. * These event hooks can also be attached to the series at run time using
  20692. * the `Highcharts.addEvent` function.
  20693. */
  20694. events?: SeriesEventsOptionsObject;
  20695. /**
  20696. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  20697. * the series' `color` is used with the series' `fillOpacity`.
  20698. *
  20699. * In styled mode, the fill color can be set with the `.highcharts-area`
  20700. * class name.
  20701. */
  20702. fillColor?: (ColorString|GradientColorObject|PatternObject);
  20703. /**
  20704. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  20705. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  20706. * should define the opacity in the `fillColor` with an rgba color
  20707. * definition. The `fillOpacity` setting, also the default setting,
  20708. * overrides the alpha component of the `color` setting.
  20709. *
  20710. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  20711. * class name.
  20712. */
  20713. fillOpacity?: number;
  20714. /**
  20715. * (Highcharts, Highstock) Determines whether the series should look for the
  20716. * nearest point in both dimensions or just the x-dimension when hovering
  20717. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  20718. * other series. If the data has duplicate x-values, it is recommended to
  20719. * set this to `'xy'` to allow hovering over all points.
  20720. *
  20721. * Applies only to series types using nearest neighbor search (not direct
  20722. * hover) for tooltip.
  20723. */
  20724. findNearestPointBy?: OptionsFindNearestPointByValue;
  20725. /**
  20726. * (Highstock) Defines when to display a gap in the graph, together with the
  20727. * gapUnit option.
  20728. *
  20729. * In case when `dataGrouping` is enabled, points can be grouped into a
  20730. * larger time span. This can make the grouped points to have a greater
  20731. * distance than the absolute value of `gapSize` property, which will result
  20732. * in disappearing graph completely. To prevent this situation the mentioned
  20733. * distance between grouped points is used instead of previously defined
  20734. * `gapSize`.
  20735. *
  20736. * In practice, this option is most often used to visualize gaps in time
  20737. * series. In a stock chart, intraday data is available for daytime hours,
  20738. * while gaps will appear in nights and weekends.
  20739. */
  20740. gapSize?: number;
  20741. /**
  20742. * (Highstock) Together with gapSize, this option defines where to draw gaps
  20743. * in the graph.
  20744. *
  20745. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  20746. * if the distance between two points is greater than 5 times that of the
  20747. * two closest points, the graph will be broken.
  20748. *
  20749. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  20750. * values, which on a datetime axis is milliseconds. This also applies to
  20751. * the navigator series that inherits gap options from the base series.
  20752. */
  20753. gapUnit?: OptionsGapUnitValue;
  20754. /**
  20755. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  20756. * chart width or only the zoomed area when zooming in on parts of the X
  20757. * axis. By default, the Y axis adjusts to the min and max of the visible
  20758. * data. Cartesian series only.
  20759. */
  20760. getExtremesFromAll?: boolean;
  20761. /**
  20762. * (Highcharts, Highstock) When set to `false` will prevent the series data
  20763. * from being included in any form of data export.
  20764. *
  20765. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  20766. * `includeInCSVExport`.
  20767. */
  20768. includeInDataExport?: boolean;
  20769. /**
  20770. * (Highmaps) What property to join the `mapData` to the value data. For
  20771. * example, if joinBy is "code", the mapData items with a specific code is
  20772. * merged into the data with the same code. For maps loaded from GeoJSON,
  20773. * the keys may be held in each point's `properties` object.
  20774. *
  20775. * The joinBy option can also be an array of two values, where the first
  20776. * points to a key in the `mapData`, and the second points to another key in
  20777. * the `data`.
  20778. *
  20779. * When joinBy is `null`, the map items are joined by their position in the
  20780. * array, which performs much better in maps with many data points. This is
  20781. * the recommended option if you are printing more than a thousand data
  20782. * points and have a backend that can preprocess the data into a parallel
  20783. * array of the mapData.
  20784. */
  20785. joinBy?: (string|Array<string>);
  20786. /**
  20787. * (Highcharts, Highstock) An array specifying which option maps to which
  20788. * key in the data point array. This makes it convenient to work with
  20789. * unstructured data arrays from different sources.
  20790. */
  20791. keys?: Array<string>;
  20792. /**
  20793. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  20794. * series as possible in a natural way, seeking to avoid other series. The
  20795. * goal of this feature is to make the chart more easily readable, like if a
  20796. * human designer placed the labels in the optimal position.
  20797. *
  20798. * The series labels currently work with series types having a `graph` or an
  20799. * `area`.
  20800. */
  20801. label?: SeriesLabelOptionsObject;
  20802. /**
  20803. * (Highstock) The line marks the last price from all points.
  20804. */
  20805. lastPrice?: SeriesLastPriceOptionsObject;
  20806. /**
  20807. * (Highstock) The line marks the last price from visible range of points.
  20808. */
  20809. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  20810. /**
  20811. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  20812. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  20813. * the ends and bends.
  20814. */
  20815. linecap?: SeriesLinecapValue;
  20816. /**
  20817. * (Highcharts, Highstock) A separate color for the graph line. By default
  20818. * the line takes the `color` of the series, but the lineColor setting
  20819. * allows setting a separate color for the line without altering the
  20820. * `fillColor`.
  20821. *
  20822. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  20823. * class name.
  20824. */
  20825. lineColor?: (ColorString|GradientColorObject|PatternObject);
  20826. /**
  20827. * (Highcharts, Highstock) Pixel width of the arearange graph line.
  20828. */
  20829. lineWidth?: number;
  20830. /**
  20831. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  20832. * Additionally, the value can be ":previous" to link to the previous
  20833. * series. When two series are linked, only the first one appears in the
  20834. * legend. Toggling the visibility of this also toggles the linked series.
  20835. *
  20836. * If master series uses data sorting and linked series does not have its
  20837. * own sorting definition, the linked series will be sorted in the same
  20838. * order as the master one.
  20839. */
  20840. linkedTo?: string;
  20841. /**
  20842. * (Highcharts, Highstock) Options for the point markers of line-like
  20843. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  20844. * the visual appearance of the markers. Other series types, like column
  20845. * series, don't have markers, but have visual options on the series level
  20846. * instead.
  20847. *
  20848. * In styled mode, the markers can be styled with the `.highcharts-point`,
  20849. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  20850. */
  20851. marker?: PointMarkerOptionsObject;
  20852. /**
  20853. * (Highstock) Options for the corresponding navigator series if
  20854. * `showInNavigator` is `true` for this series. Available options are the
  20855. * same as any series, documented at plotOptions and series.
  20856. *
  20857. * These options are merged with options in navigator.series, and will take
  20858. * precedence if the same option is defined both places.
  20859. */
  20860. navigatorOptions?: PlotSeriesOptions;
  20861. /**
  20862. * (Highcharts, Highstock) The color for the parts of the graph or points
  20863. * that are below the threshold. Note that `zones` takes precedence over the
  20864. * negative color. Using `negativeColor` is equivalent to applying a zone
  20865. * with value of 0.
  20866. */
  20867. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  20868. /**
  20869. * (Highcharts) A separate color for the negative part of the area.
  20870. *
  20871. * In styled mode, a negative color is set with the `.highcharts-negative`
  20872. * class name.
  20873. */
  20874. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  20875. /**
  20876. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  20877. * and dataLabels.
  20878. */
  20879. opacity?: number;
  20880. /**
  20881. * (Highcharts, Highstock) Properties for each single point.
  20882. */
  20883. point?: PlotSeriesPointOptions;
  20884. /**
  20885. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  20886. * but for an individual series. Overrides the chart wide configuration.
  20887. */
  20888. pointDescriptionFormatter?: Function;
  20889. /**
  20890. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  20891. * a series, `pointInterval` defines the interval of the x values. For
  20892. * example, if a series contains one value every decade starting from year
  20893. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  20894. * `pointInterval` is set in milliseconds.
  20895. *
  20896. * It can be also be combined with `pointIntervalUnit` to draw irregular
  20897. * time intervals.
  20898. *
  20899. * Please note that this options applies to the _series data_, not the
  20900. * interval of the axis ticks, which is independent.
  20901. */
  20902. pointInterval?: number;
  20903. /**
  20904. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  20905. * setting the pointInterval to irregular time units, `day`, `month` and
  20906. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  20907. * also takes the DST crossover into consideration when dealing with local
  20908. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  20909. * months, 10 years etc.
  20910. *
  20911. * Please note that this options applies to the _series data_, not the
  20912. * interval of the axis ticks, which is independent.
  20913. */
  20914. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  20915. /**
  20916. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  20917. * `number`.
  20918. *
  20919. * In a column chart, when pointPlacement is `"on"`, the point will not
  20920. * create any padding of the X axis. In a polar column chart this means that
  20921. * the first column points directly north. If the pointPlacement is
  20922. * `"between"`, the columns will be laid out between ticks. This is useful
  20923. * for example for visualising an amount between two points in time or in a
  20924. * certain sector of a polar chart.
  20925. *
  20926. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  20927. * is on the axis value, -0.5 is between this value and the previous, and
  20928. * 0.5 is between this value and the next. Unlike the textual options,
  20929. * numeric point placement options won't affect axis padding.
  20930. *
  20931. * Note that pointPlacement needs a pointRange to work. For column series
  20932. * this is computed, but for line-type series it needs to be set.
  20933. *
  20934. * For the `xrange` series type and gantt charts, if the Y axis is a
  20935. * category axis, the `pointPlacement` applies to the Y axis rather than the
  20936. * (typically datetime) X axis.
  20937. *
  20938. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  20939. */
  20940. pointPlacement?: (number|string);
  20941. /**
  20942. * (Highstock) The width of each point on the x axis. For example in a
  20943. * column chart with one value each day, the pointRange would be 1 day (= 24
  20944. * * 3600
  20945. *
  20946. * * 1000 milliseconds). This is normally computed automatically, but this
  20947. * option can be used to override the automatic value.
  20948. */
  20949. pointRange?: number;
  20950. /**
  20951. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  20952. * a series, pointStart defines on what value to start. For example, if a
  20953. * series contains one yearly value starting from 1945, set pointStart to
  20954. * 1945.
  20955. */
  20956. pointStart?: number;
  20957. /**
  20958. * (Highcharts, Highstock) Whether to select the series initially. If
  20959. * `showCheckbox` is true, the checkbox next to the series name in the
  20960. * legend will be checked for a selected series.
  20961. */
  20962. selected?: boolean;
  20963. /**
  20964. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  20965. * the shadow can be an object configuration containing `color`, `offsetX`,
  20966. * `offsetY`, `opacity` and `width`.
  20967. */
  20968. shadow?: (boolean|ShadowOptionsObject);
  20969. /**
  20970. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  20971. * legend item to allow selecting the series. The state of the checkbox is
  20972. * determined by the `selected` option.
  20973. */
  20974. showCheckbox?: boolean;
  20975. /**
  20976. * (Highcharts, Highstock) Whether to display this particular series or
  20977. * series type in the legend. Standalone series are shown in legend by
  20978. * default, and linked series are not. Since v7.2.0 it is possible to show
  20979. * series that use colorAxis by setting this option to `true`.
  20980. */
  20981. showInLegend?: boolean;
  20982. /**
  20983. * (Highstock) Whether or not to show the series in the navigator. Takes
  20984. * precedence over navigator.baseSeries if defined.
  20985. */
  20986. showInNavigator?: boolean;
  20987. /**
  20988. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  20989. * skip past the points in this series for keyboard navigation.
  20990. */
  20991. skipKeyboardNavigation?: boolean;
  20992. /**
  20993. * (Highcharts, Highstock) When this is true, the series will not cause the
  20994. * Y axis to cross the zero plane (or threshold option) unless the data
  20995. * actually crosses the plane.
  20996. *
  20997. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  20998. * make the Y axis show negative values according to the `minPadding`
  20999. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  21000. */
  21001. softThreshold?: boolean;
  21002. states?: SeriesStatesOptionsObject;
  21003. /**
  21004. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  21005. * values are `left`, `center` and `right`.
  21006. */
  21007. step?: OptionsStepValue;
  21008. /**
  21009. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  21010. * `mouseOut` event on a series isn't triggered until the mouse moves over
  21011. * another series, or out of the plot area. When false, the `mouseOut` event
  21012. * on a series is triggered when the mouse leaves the area around the
  21013. * series' graph or markers. This also implies the tooltip when not shared.
  21014. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  21015. * will be hidden when moving the mouse between series. Defaults to true for
  21016. * line and area type series, but to false for columns, pies etc.
  21017. *
  21018. * **Note:** The boost module will force this option because of technical
  21019. * limitations.
  21020. */
  21021. stickyTracking?: boolean;
  21022. /**
  21023. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  21024. * area, for distinguishing between values above and below a threshold. The
  21025. * area between the graph and the threshold is filled.
  21026. *
  21027. * * If a number is given, the Y axis will scale to the threshold.
  21028. *
  21029. * * If `null`, the scaling behaves like a line series with fill between the
  21030. * graph and the Y axis minimum.
  21031. *
  21032. * * If `Infinity` or `-Infinity`, the area between the graph and the
  21033. * corresponding Y axis extreme is filled (since v6.1.0).
  21034. */
  21035. threshold?: (number|null);
  21036. /**
  21037. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  21038. * of each single series. Properties are inherited from tooltip, but only
  21039. * the following properties can be defined on a series level.
  21040. */
  21041. tooltip?: SeriesTooltipOptionsObject;
  21042. /**
  21043. * (Highcharts, Highstock) Whether the whole area or just the line should
  21044. * respond to mouseover tooltips and other mouse or touch events.
  21045. */
  21046. trackByArea?: boolean;
  21047. /**
  21048. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  21049. * is longer than this, only one dimensional arrays of numbers, or two
  21050. * dimensional arrays with x and y values are allowed. Also, only the first
  21051. * point is tested, and the rest are assumed to be the same format. This
  21052. * saves expensive data checking and indexing in long series. Set it to `0`
  21053. * disable.
  21054. *
  21055. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  21056. * two dimensional arrays are allowed.
  21057. */
  21058. turboThreshold?: number;
  21059. /**
  21060. * (Highcharts, Highstock) Set the initial visibility of the series.
  21061. */
  21062. visible?: boolean;
  21063. /**
  21064. * (Highmaps) Define the z index of the series.
  21065. */
  21066. zIndex?: number;
  21067. /**
  21068. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  21069. */
  21070. zoneAxis?: string;
  21071. /**
  21072. * (Highcharts, Highstock) An array defining zones within a series. Zones
  21073. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  21074. * the `zoneAxis` option. The zone definitions have to be in ascending order
  21075. * regarding to the value.
  21076. *
  21077. * In styled mode, the color zones are styled with the
  21078. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  21079. * option (view live demo).
  21080. */
  21081. zones?: Array<SeriesZonesOptionsObject>;
  21082. }
  21083. /**
  21084. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  21085. * is displayed. The animation can also be set as a configuration object. Please
  21086. * note that this option only applies to the initial animation of the series
  21087. * itself. For other animations, see chart.animation and the animation parameter
  21088. * under the API methods. The following properties are supported:
  21089. *
  21090. * - `defer`: The animation delay time in milliseconds.
  21091. *
  21092. * - `duration`: The duration of the animation in milliseconds.
  21093. *
  21094. * - `easing`: Can be a string reference to an easing function set on the `Math`
  21095. * object or a function. See the _Custom easing function_ demo below.
  21096. *
  21097. * Due to poor performance, animation is disabled in old IE browsers for several
  21098. * chart types.
  21099. */
  21100. export interface PlotAreasplineAnimationOptions {
  21101. defer?: number;
  21102. }
  21103. /**
  21104. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  21105. * animation when a series is displayed for the `dataLabels`. The animation can
  21106. * also be set as a configuration object. Please note that this option only
  21107. * applies to the initial animation. For other animations, see chart.animation
  21108. * and the animation parameter under the API methods. The following properties
  21109. * are supported:
  21110. *
  21111. * - `defer`: The animation delay time in milliseconds.
  21112. */
  21113. export interface PlotAreasplineDataLabelsAnimationOptions {
  21114. /**
  21115. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  21116. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  21117. * inherits defer time from the series.animation.defer.
  21118. */
  21119. defer?: number;
  21120. }
  21121. /**
  21122. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  21123. * appearing next to each data point.
  21124. *
  21125. * Since v6.2.0, multiple data labels can be applied to each single point by
  21126. * defining them as an array of configs.
  21127. *
  21128. * In styled mode, the data labels can be styled with the
  21129. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  21130. * example).
  21131. */
  21132. export interface PlotAreasplineDataLabelsOptions {
  21133. /**
  21134. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  21135. * compared to the point. If `right`, the right side of the label should be
  21136. * touching the point. For points with an extent, like columns, the
  21137. * alignments also dictates how to align it inside the box, as given with
  21138. * the inside option. Can be one of `left`, `center` or `right`.
  21139. */
  21140. align?: (AlignValue|null);
  21141. /**
  21142. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  21143. * overlap. To make the labels less sensitive for overlapping, the
  21144. * dataLabels.padding can be set to 0.
  21145. */
  21146. allowOverlap?: boolean;
  21147. /**
  21148. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  21149. * animation when a series is displayed for the `dataLabels`. The animation
  21150. * can also be set as a configuration object. Please note that this option
  21151. * only applies to the initial animation. For other animations, see
  21152. * chart.animation and the animation parameter under the API methods. The
  21153. * following properties are supported:
  21154. *
  21155. * - `defer`: The animation delay time in milliseconds.
  21156. */
  21157. animation?: (boolean|PlotAreasplineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  21158. /**
  21159. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  21160. * for the data label.
  21161. */
  21162. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  21163. /**
  21164. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  21165. * label. Defaults to `undefined`.
  21166. */
  21167. borderColor?: (ColorString|GradientColorObject|PatternObject);
  21168. /**
  21169. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  21170. * the data label.
  21171. */
  21172. borderRadius?: number;
  21173. /**
  21174. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  21175. * the data label.
  21176. */
  21177. borderWidth?: number;
  21178. /**
  21179. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  21180. * Particularly in styled mode, this can be used to give each series' or
  21181. * point's data label unique styling. In addition to this option, a default
  21182. * color class name is added so that we can give the labels a contrast text
  21183. * shadow.
  21184. */
  21185. className?: string;
  21186. /**
  21187. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  21188. * labels. Defaults to `undefined`. For certain series types, like column or
  21189. * map, the data labels can be drawn inside the points. In this case the
  21190. * data label will be drawn with maximum contrast by default. Additionally,
  21191. * it will be given a `text-outline` style with the opposite color, to
  21192. * further increase the contrast. This can be overridden by setting the
  21193. * `text-outline` style to `none` in the `dataLabels.style` option.
  21194. */
  21195. color?: (ColorString|GradientColorObject|PatternObject);
  21196. /**
  21197. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  21198. * are outside the plot area. By default, the data label is moved inside the
  21199. * plot area according to the overflow option.
  21200. */
  21201. crop?: boolean;
  21202. /**
  21203. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  21204. * labels until the initial series animation has finished. Setting to
  21205. * `false` renders the data label immediately. If set to `true` inherits the
  21206. * defer time set in plotOptions.series.animation. If set to a number, a
  21207. * defer time is specified in milliseconds.
  21208. */
  21209. defer?: (boolean|number);
  21210. /**
  21211. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  21212. * labels.
  21213. */
  21214. enabled?: boolean;
  21215. /**
  21216. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  21217. * of which data labels to display. The declarative filter is designed for
  21218. * use when callback functions are not available, like when the chart
  21219. * options require a pure JSON structure or for use with graphical editors.
  21220. * For programmatic control, use the `formatter` instead, and return
  21221. * `undefined` to disable a single data label.
  21222. */
  21223. filter?: DataLabelsFilterOptionsObject;
  21224. /**
  21225. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  21226. * label. Available variables are the same as for `formatter`.
  21227. */
  21228. format?: string;
  21229. /**
  21230. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  21231. * format the data label. Note that if a `format` is defined, the format
  21232. * takes precedence and the formatter is ignored.
  21233. */
  21234. formatter?: DataLabelsFormatterCallbackFunction;
  21235. /**
  21236. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  21237. * columns or map areas, whether to align the data label inside the box or
  21238. * to the actual value point. Defaults to `false` in most cases, `true` in
  21239. * stacked columns.
  21240. */
  21241. inside?: boolean;
  21242. /**
  21243. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  21244. * of null. Works analogously to format. `nullFormat` can be applied only to
  21245. * series which support displaying null points.
  21246. */
  21247. nullFormat?: (boolean|string);
  21248. /**
  21249. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  21250. * that defines formatting for points with the value of null. Works
  21251. * analogously to formatter. `nullPointFormatter` can be applied only to
  21252. * series which support displaying null points.
  21253. */
  21254. nullFormatter?: DataLabelsFormatterCallbackFunction;
  21255. /**
  21256. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  21257. * flow outside the plot area. The default is `"justify"`, which aligns them
  21258. * inside the plot area. For columns and bars, this means it will be moved
  21259. * inside the bar. To display data labels outside the plot area, set `crop`
  21260. * to `false` and `overflow` to `"allow"`.
  21261. */
  21262. overflow?: DataLabelsOverflowValue;
  21263. /**
  21264. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  21265. * the `backgroundColor` is set, this is the padding within the box.
  21266. */
  21267. padding?: number;
  21268. /**
  21269. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  21270. * points. If `center` alignment is not possible, it defaults to `right`.
  21271. */
  21272. position?: AlignValue;
  21273. /**
  21274. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  21275. * that due to a more complex structure, backgrounds, borders and padding
  21276. * will be lost on a rotated data label.
  21277. */
  21278. rotation?: number;
  21279. /**
  21280. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  21281. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  21282. * an object configuration containing `color`, `offsetX`, `offsetY`,
  21283. * `opacity` and `width`.
  21284. */
  21285. shadow?: (boolean|ShadowOptionsObject);
  21286. /**
  21287. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  21288. * the border around the label. Symbols are predefined functions on the
  21289. * Renderer object.
  21290. */
  21291. shape?: string;
  21292. /**
  21293. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  21294. * default `color` setting is `"contrast"`, which is a pseudo color that
  21295. * Highcharts picks up and applies the maximum contrast to the underlying
  21296. * point item, for example the bar in a bar chart.
  21297. *
  21298. * The `textOutline` is a pseudo property that applies an outline of the
  21299. * given width with the given color, which by default is the maximum
  21300. * contrast to the text. So a bright text color will result in a black text
  21301. * outline for maximum readability on a mixed background. In some cases,
  21302. * especially with grayscale text, the text outline doesn't work well, in
  21303. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  21304. * is true, the `textOutline` will not be picked up. In this, case, the same
  21305. * effect can be acheived through the `text-shadow` CSS property.
  21306. *
  21307. * For some series types, where each point has an extent, like for example
  21308. * tree maps, the data label may overflow the point. There are two
  21309. * strategies for handling overflow. By default, the text will wrap to
  21310. * multiple lines. The other strategy is to set `style.textOverflow` to
  21311. * `ellipsis`, which will keep the text on one line plus it will break
  21312. * inside long words.
  21313. */
  21314. style?: CSSObject;
  21315. /**
  21316. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  21317. * should follow marker's shape. Border and background are disabled for a
  21318. * label that follows a path.
  21319. *
  21320. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  21321. * to true will disable this option.
  21322. */
  21323. textPath?: DataLabelsTextPathOptionsObject;
  21324. /**
  21325. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  21326. * the labels.
  21327. */
  21328. useHTML?: boolean;
  21329. /**
  21330. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  21331. * label. Can be one of `top`, `middle` or `bottom`. The default value
  21332. * depends on the data, for instance in a column chart, the label is above
  21333. * positive values and below negative values.
  21334. */
  21335. verticalAlign?: (VerticalAlignValue|null);
  21336. /**
  21337. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  21338. * label relative to the point in pixels.
  21339. */
  21340. x?: number;
  21341. /**
  21342. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  21343. * label relative to the point in pixels.
  21344. */
  21345. y?: number;
  21346. /**
  21347. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  21348. * The default Z index puts it above the series. Use a Z index of 2 to
  21349. * display it behind the series.
  21350. */
  21351. z?: number;
  21352. }
  21353. /**
  21354. * (Highcharts, Highstock) Options for the series data sorting.
  21355. */
  21356. export interface PlotAreasplineDataSortingOptions {
  21357. /**
  21358. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  21359. * Use xAxis.reversed to change the sorting order.
  21360. */
  21361. enabled?: boolean;
  21362. /**
  21363. * (Highcharts, Highstock) Whether to allow matching points by name in an
  21364. * update. If this option is disabled, points will be matched by order.
  21365. */
  21366. matchByName?: boolean;
  21367. /**
  21368. * (Highcharts, Highstock) Determines what data value should be used to sort
  21369. * by.
  21370. */
  21371. sortKey?: string;
  21372. }
  21373. /**
  21374. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  21375. * one state by default, the `default` state.
  21376. */
  21377. export interface PlotAreasplineDragDropGuideBoxOptions {
  21378. /**
  21379. * (Highcharts, Highstock) Style options for the guide box default state.
  21380. */
  21381. default?: DragDropGuideBoxOptionsObject;
  21382. }
  21383. /**
  21384. * (Highcharts, Highstock) The area spline series is an area series where the
  21385. * graph between the points is smoothed into a spline.
  21386. *
  21387. * In TypeScript the type option must always be set.
  21388. *
  21389. * Configuration options for the series are given in three levels:
  21390. *
  21391. * 1. Options for all series in a chart are defined in the plotOptions.series
  21392. * object.
  21393. *
  21394. * 2. Options for all `areaspline` series are defined in plotOptions.areaspline.
  21395. *
  21396. * 3. Options for one single series are given in the series instance array. (see
  21397. * online documentation for example)
  21398. */
  21399. export interface PlotAreasplineOptions {
  21400. /**
  21401. * (Highcharts, Highstock) Accessibility options for a series.
  21402. */
  21403. accessibility?: SeriesAccessibilityOptionsObject;
  21404. /**
  21405. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  21406. * rendered. If `true`, areas which don't correspond to a data point, are
  21407. * rendered as `null` points. If `false`, those areas are skipped.
  21408. */
  21409. allAreas?: boolean;
  21410. /**
  21411. * (Highcharts, Highstock) Allow this series' points to be selected by
  21412. * clicking on the graphic (columns, point markers, pie slices, map areas
  21413. * etc).
  21414. *
  21415. * The selected points can be handled by point select and unselect events,
  21416. * or collectively by the getSelectedPoints function.
  21417. *
  21418. * And alternative way of selecting points is through dragging.
  21419. */
  21420. allowPointSelect?: boolean;
  21421. /**
  21422. * (Highcharts, Highstock) Enable or disable the initial animation when a
  21423. * series is displayed. The animation can also be set as a configuration
  21424. * object. Please note that this option only applies to the initial
  21425. * animation of the series itself. For other animations, see chart.animation
  21426. * and the animation parameter under the API methods. The following
  21427. * properties are supported:
  21428. *
  21429. * - `defer`: The animation delay time in milliseconds.
  21430. *
  21431. * - `duration`: The duration of the animation in milliseconds.
  21432. *
  21433. * - `easing`: Can be a string reference to an easing function set on the
  21434. * `Math` object or a function. See the _Custom easing function_ demo below.
  21435. *
  21436. * Due to poor performance, animation is disabled in old IE browsers for
  21437. * several chart types.
  21438. */
  21439. animation?: (boolean|PlotAreasplineAnimationOptions|Partial<AnimationOptionsObject>);
  21440. /**
  21441. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  21442. * initial animation by default when the total number of points in the chart
  21443. * is too high. For example, for a column chart and its derivatives,
  21444. * animation does not run if there is more than 250 points totally. To
  21445. * disable this cap, set `animationLimit` to `Infinity`.
  21446. */
  21447. animationLimit?: number;
  21448. /**
  21449. * (Highmaps) The border color of the map areas.
  21450. *
  21451. * In styled mode, the border stroke is given in the `.highcharts-point`
  21452. * class.
  21453. */
  21454. borderColor?: (ColorString|GradientColorObject|PatternObject);
  21455. /**
  21456. * (Highmaps) The border width of each map area.
  21457. *
  21458. * In styled mode, the border stroke width is given in the
  21459. * `.highcharts-point` class.
  21460. */
  21461. borderWidth?: number;
  21462. /**
  21463. * (Highcharts, Highstock) An additional class name to apply to the series'
  21464. * graphical elements. This option does not replace default class names of
  21465. * the graphical element.
  21466. */
  21467. className?: string;
  21468. /**
  21469. * (Highcharts, Highstock) Disable this option to allow series rendering in
  21470. * the whole plotting area.
  21471. *
  21472. * **Note:** Clipping should be always enabled when chart.zoomType is set
  21473. */
  21474. clip?: boolean;
  21475. /**
  21476. * (Highcharts, Highstock) The main color of the series. In line type series
  21477. * it applies to the line and the point markers unless otherwise specified.
  21478. * In bar type series it applies to the bars unless a color is specified per
  21479. * point. The default value is pulled from the `options.colors` array.
  21480. *
  21481. * In styled mode, the color can be defined by the colorIndex option. Also,
  21482. * the series color can be set with the `.highcharts-series`,
  21483. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  21484. * `.highcharts-series-{n}` class, or individual classes given by the
  21485. * `className` option.
  21486. */
  21487. color?: (ColorString|GradientColorObject|PatternObject);
  21488. /**
  21489. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  21490. * this number defines which colorAxis the particular series is connected
  21491. * to. It refers to either the axis id or the index of the axis in the
  21492. * colorAxis array, with 0 being the first. Set this option to false to
  21493. * prevent a series from connecting to the default color axis.
  21494. *
  21495. * Since v7.2.0 the option can also be an axis id or an axis index instead
  21496. * of a boolean flag.
  21497. */
  21498. colorAxis?: (boolean|number|string);
  21499. /**
  21500. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  21501. * for the series, so its graphic representations are given the class name
  21502. * `highcharts-color-{n}`.
  21503. */
  21504. colorIndex?: number;
  21505. /**
  21506. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  21507. * used to calculate point color if `colorAxis` is used. Requires to set
  21508. * `min` and `max` if some custom point property is used or if approximation
  21509. * for data grouping is set to `'sum'`.
  21510. */
  21511. colorKey?: string;
  21512. /**
  21513. * (Highstock) Compare the values of the series against the first non-null,
  21514. * non- zero value in the visible range. The y axis will show percentage or
  21515. * absolute change depending on whether `compare` is set to `"percent"` or
  21516. * `"value"`. When this is applied to multiple series, it allows comparing
  21517. * the development of the series against each other. Adds a `change` field
  21518. * to every point object.
  21519. */
  21520. compare?: string;
  21521. /**
  21522. * (Highstock) When compare is `percent`, this option dictates whether to
  21523. * use 0 or 100 as the base of comparison.
  21524. */
  21525. compareBase?: (0|100);
  21526. /**
  21527. * (Highstock) Defines if comparison should start from the first point
  21528. * within the visible range or should start from the first point **before**
  21529. * the range.
  21530. *
  21531. * In other words, this flag determines if first point within the visible
  21532. * range will have 0% (`compareStart=true`) or should have been already
  21533. * calculated according to the previous point (`compareStart=false`).
  21534. */
  21535. compareStart?: boolean;
  21536. /**
  21537. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  21538. * series plot across the extremes.
  21539. */
  21540. connectEnds?: boolean;
  21541. /**
  21542. * (Highcharts, Highstock) Whether to connect a graph line across null
  21543. * points, or render a gap between the two points on either side of the
  21544. * null.
  21545. */
  21546. connectNulls?: boolean;
  21547. /**
  21548. * (Gantt) Override Pathfinder connector options for a series. Requires
  21549. * Highcharts Gantt to be loaded.
  21550. */
  21551. connectors?: SeriesConnectorsOptionsObject;
  21552. /**
  21553. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  21554. * rounded to its nearest pixel in order to render sharp on screen. In some
  21555. * cases, when there are a lot of densely packed columns, this leads to
  21556. * visible difference in column widths or distance between columns. In these
  21557. * cases, setting `crisp` to `false` may look better, even though each
  21558. * column is rendered blurry.
  21559. */
  21560. crisp?: boolean;
  21561. /**
  21562. * (Highcharts, Highstock) When the series contains less points than the
  21563. * crop threshold, all points are drawn, even if the points fall outside the
  21564. * visible plot area at the current zoom. The advantage of drawing all
  21565. * points (including markers and columns), is that animation is performed on
  21566. * updates. On the other hand, when the series contains more points than the
  21567. * crop threshold, the series data is cropped to only contain points that
  21568. * fall within the plot area. The advantage of cropping away invisible
  21569. * points is to increase performance on large series.
  21570. */
  21571. cropThreshold?: number;
  21572. /**
  21573. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  21574. * click events attached to the series, to signal to the user that the
  21575. * points and lines can be clicked.
  21576. *
  21577. * In styled mode, the series cursor can be set with the same classes as
  21578. * listed under series.color.
  21579. */
  21580. cursor?: (string|CursorValue);
  21581. /**
  21582. * (Highcharts, Highstock) A reserved subspace to store options and values
  21583. * for customized functionality. Here you can add additional data for your
  21584. * own event callbacks and formatter callbacks.
  21585. */
  21586. custom?: Dictionary<any>;
  21587. /**
  21588. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  21589. * for some series types the outline of each shape.
  21590. *
  21591. * In styled mode, the stroke dash-array can be set with the same classes as
  21592. * listed under series.color.
  21593. */
  21594. dashStyle?: DashStyleValue;
  21595. /**
  21596. * (Highstock) Data grouping is the concept of sampling the data values into
  21597. * larger blocks in order to ease readability and increase performance of
  21598. * the JavaScript charts. Highcharts Stock by default applies data grouping
  21599. * when the points become closer than a certain pixel value, determined by
  21600. * the `groupPixelWidth` option.
  21601. *
  21602. * If data grouping is applied, the grouping information of grouped points
  21603. * can be read from the Point.dataGroup. If point options other than the
  21604. * data itself are set, for example `name` or `color` or custom properties,
  21605. * the grouping logic doesn't know how to group it. In this case the options
  21606. * of the first point instance are copied over to the group point. This can
  21607. * be altered through a custom `approximation` callback function.
  21608. */
  21609. dataGrouping?: DataGroupingOptionsObject;
  21610. /**
  21611. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  21612. * labels, appearing next to each data point.
  21613. *
  21614. * Since v6.2.0, multiple data labels can be applied to each single point by
  21615. * defining them as an array of configs.
  21616. *
  21617. * In styled mode, the data labels can be styled with the
  21618. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  21619. * (see example).
  21620. */
  21621. dataLabels?: (PlotAreasplineDataLabelsOptions|Array<PlotAreasplineDataLabelsOptions>);
  21622. /**
  21623. * (Highcharts, Highstock) Options for the series data sorting.
  21624. */
  21625. dataSorting?: (DataSortingOptionsObject|PlotAreasplineDataSortingOptions);
  21626. /**
  21627. * (Highcharts, Highstock) A description of the series to add to the screen
  21628. * reader information about the series.
  21629. */
  21630. description?: string;
  21631. /**
  21632. * (Highcharts, Highstock) The draggable-points module allows points to be
  21633. * moved around or modified in the chart. In addition to the options
  21634. * mentioned under the `dragDrop` API structure, the module fires three
  21635. * events, point.dragStart, point.drag and point.drop.
  21636. */
  21637. dragDrop?: SeriesDragDropOptionsObject;
  21638. /**
  21639. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  21640. * specific series. This includes point tooltips and click events on graphs
  21641. * and points. For large datasets it improves performance.
  21642. */
  21643. enableMouseTracking?: boolean;
  21644. /**
  21645. * (Highcharts, Highstock) General event handlers for the series items.
  21646. * These event hooks can also be attached to the series at run time using
  21647. * the `Highcharts.addEvent` function.
  21648. */
  21649. events?: SeriesEventsOptionsObject;
  21650. /**
  21651. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  21652. * the series' `color` is used with the series' `fillOpacity`.
  21653. *
  21654. * In styled mode, the fill color can be set with the `.highcharts-area`
  21655. * class name.
  21656. */
  21657. fillColor?: (ColorString|GradientColorObject|PatternObject);
  21658. /**
  21659. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  21660. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  21661. * should define the opacity in the `fillColor` with an rgba color
  21662. * definition. The `fillOpacity` setting, also the default setting,
  21663. * overrides the alpha component of the `color` setting.
  21664. *
  21665. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  21666. * class name.
  21667. */
  21668. fillOpacity?: number;
  21669. /**
  21670. * (Highcharts, Highstock) Determines whether the series should look for the
  21671. * nearest point in both dimensions or just the x-dimension when hovering
  21672. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  21673. * other series. If the data has duplicate x-values, it is recommended to
  21674. * set this to `'xy'` to allow hovering over all points.
  21675. *
  21676. * Applies only to series types using nearest neighbor search (not direct
  21677. * hover) for tooltip.
  21678. */
  21679. findNearestPointBy?: OptionsFindNearestPointByValue;
  21680. /**
  21681. * (Highstock) Defines when to display a gap in the graph, together with the
  21682. * gapUnit option.
  21683. *
  21684. * In case when `dataGrouping` is enabled, points can be grouped into a
  21685. * larger time span. This can make the grouped points to have a greater
  21686. * distance than the absolute value of `gapSize` property, which will result
  21687. * in disappearing graph completely. To prevent this situation the mentioned
  21688. * distance between grouped points is used instead of previously defined
  21689. * `gapSize`.
  21690. *
  21691. * In practice, this option is most often used to visualize gaps in time
  21692. * series. In a stock chart, intraday data is available for daytime hours,
  21693. * while gaps will appear in nights and weekends.
  21694. */
  21695. gapSize?: number;
  21696. /**
  21697. * (Highstock) Together with gapSize, this option defines where to draw gaps
  21698. * in the graph.
  21699. *
  21700. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  21701. * if the distance between two points is greater than 5 times that of the
  21702. * two closest points, the graph will be broken.
  21703. *
  21704. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  21705. * values, which on a datetime axis is milliseconds. This also applies to
  21706. * the navigator series that inherits gap options from the base series.
  21707. */
  21708. gapUnit?: OptionsGapUnitValue;
  21709. /**
  21710. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  21711. * chart width or only the zoomed area when zooming in on parts of the X
  21712. * axis. By default, the Y axis adjusts to the min and max of the visible
  21713. * data. Cartesian series only.
  21714. */
  21715. getExtremesFromAll?: boolean;
  21716. /**
  21717. * (Highcharts, Highstock) When set to `false` will prevent the series data
  21718. * from being included in any form of data export.
  21719. *
  21720. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  21721. * `includeInCSVExport`.
  21722. */
  21723. includeInDataExport?: boolean;
  21724. /**
  21725. * (Highmaps) What property to join the `mapData` to the value data. For
  21726. * example, if joinBy is "code", the mapData items with a specific code is
  21727. * merged into the data with the same code. For maps loaded from GeoJSON,
  21728. * the keys may be held in each point's `properties` object.
  21729. *
  21730. * The joinBy option can also be an array of two values, where the first
  21731. * points to a key in the `mapData`, and the second points to another key in
  21732. * the `data`.
  21733. *
  21734. * When joinBy is `null`, the map items are joined by their position in the
  21735. * array, which performs much better in maps with many data points. This is
  21736. * the recommended option if you are printing more than a thousand data
  21737. * points and have a backend that can preprocess the data into a parallel
  21738. * array of the mapData.
  21739. */
  21740. joinBy?: (string|Array<string>);
  21741. /**
  21742. * (Highcharts, Highstock) An array specifying which option maps to which
  21743. * key in the data point array. This makes it convenient to work with
  21744. * unstructured data arrays from different sources.
  21745. */
  21746. keys?: Array<string>;
  21747. /**
  21748. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  21749. * series as possible in a natural way, seeking to avoid other series. The
  21750. * goal of this feature is to make the chart more easily readable, like if a
  21751. * human designer placed the labels in the optimal position.
  21752. *
  21753. * The series labels currently work with series types having a `graph` or an
  21754. * `area`.
  21755. */
  21756. label?: SeriesLabelOptionsObject;
  21757. /**
  21758. * (Highstock) The line marks the last price from all points.
  21759. */
  21760. lastPrice?: SeriesLastPriceOptionsObject;
  21761. /**
  21762. * (Highstock) The line marks the last price from visible range of points.
  21763. */
  21764. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  21765. /**
  21766. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  21767. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  21768. * the ends and bends.
  21769. */
  21770. linecap?: SeriesLinecapValue;
  21771. /**
  21772. * (Highcharts, Highstock) A separate color for the graph line. By default
  21773. * the line takes the `color` of the series, but the lineColor setting
  21774. * allows setting a separate color for the line without altering the
  21775. * `fillColor`.
  21776. *
  21777. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  21778. * class name.
  21779. */
  21780. lineColor?: (ColorString|GradientColorObject|PatternObject);
  21781. /**
  21782. * (Highcharts, Highstock) Pixel width of the graph line.
  21783. */
  21784. lineWidth?: number;
  21785. /**
  21786. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  21787. * Additionally, the value can be ":previous" to link to the previous
  21788. * series. When two series are linked, only the first one appears in the
  21789. * legend. Toggling the visibility of this also toggles the linked series.
  21790. *
  21791. * If master series uses data sorting and linked series does not have its
  21792. * own sorting definition, the linked series will be sorted in the same
  21793. * order as the master one.
  21794. */
  21795. linkedTo?: string;
  21796. /**
  21797. * (Highcharts, Highstock) Options for the point markers of line-like
  21798. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  21799. * the visual appearance of the markers. Other series types, like column
  21800. * series, don't have markers, but have visual options on the series level
  21801. * instead.
  21802. *
  21803. * In styled mode, the markers can be styled with the `.highcharts-point`,
  21804. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  21805. */
  21806. marker?: PointMarkerOptionsObject;
  21807. /**
  21808. * (Highstock) Options for the corresponding navigator series if
  21809. * `showInNavigator` is `true` for this series. Available options are the
  21810. * same as any series, documented at plotOptions and series.
  21811. *
  21812. * These options are merged with options in navigator.series, and will take
  21813. * precedence if the same option is defined both places.
  21814. */
  21815. navigatorOptions?: PlotSeriesOptions;
  21816. /**
  21817. * (Highcharts, Highstock) The color for the parts of the graph or points
  21818. * that are below the threshold. Note that `zones` takes precedence over the
  21819. * negative color. Using `negativeColor` is equivalent to applying a zone
  21820. * with value of 0.
  21821. */
  21822. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  21823. /**
  21824. * (Highcharts) A separate color for the negative part of the area.
  21825. *
  21826. * In styled mode, a negative color is set with the `.highcharts-negative`
  21827. * class name.
  21828. */
  21829. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  21830. /**
  21831. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  21832. * and dataLabels.
  21833. */
  21834. opacity?: number;
  21835. /**
  21836. * (Highcharts, Highstock) Properties for each single point.
  21837. */
  21838. point?: PlotSeriesPointOptions;
  21839. /**
  21840. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  21841. * but for an individual series. Overrides the chart wide configuration.
  21842. */
  21843. pointDescriptionFormatter?: Function;
  21844. /**
  21845. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  21846. * a series, `pointInterval` defines the interval of the x values. For
  21847. * example, if a series contains one value every decade starting from year
  21848. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  21849. * `pointInterval` is set in milliseconds.
  21850. *
  21851. * It can be also be combined with `pointIntervalUnit` to draw irregular
  21852. * time intervals.
  21853. *
  21854. * Please note that this options applies to the _series data_, not the
  21855. * interval of the axis ticks, which is independent.
  21856. */
  21857. pointInterval?: number;
  21858. /**
  21859. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  21860. * setting the pointInterval to irregular time units, `day`, `month` and
  21861. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  21862. * also takes the DST crossover into consideration when dealing with local
  21863. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  21864. * months, 10 years etc.
  21865. *
  21866. * Please note that this options applies to the _series data_, not the
  21867. * interval of the axis ticks, which is independent.
  21868. */
  21869. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  21870. /**
  21871. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  21872. * `number`.
  21873. *
  21874. * In a column chart, when pointPlacement is `"on"`, the point will not
  21875. * create any padding of the X axis. In a polar column chart this means that
  21876. * the first column points directly north. If the pointPlacement is
  21877. * `"between"`, the columns will be laid out between ticks. This is useful
  21878. * for example for visualising an amount between two points in time or in a
  21879. * certain sector of a polar chart.
  21880. *
  21881. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  21882. * is on the axis value, -0.5 is between this value and the previous, and
  21883. * 0.5 is between this value and the next. Unlike the textual options,
  21884. * numeric point placement options won't affect axis padding.
  21885. *
  21886. * Note that pointPlacement needs a pointRange to work. For column series
  21887. * this is computed, but for line-type series it needs to be set.
  21888. *
  21889. * For the `xrange` series type and gantt charts, if the Y axis is a
  21890. * category axis, the `pointPlacement` applies to the Y axis rather than the
  21891. * (typically datetime) X axis.
  21892. *
  21893. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  21894. */
  21895. pointPlacement?: (number|string);
  21896. /**
  21897. * (Highstock) The width of each point on the x axis. For example in a
  21898. * column chart with one value each day, the pointRange would be 1 day (= 24
  21899. * * 3600
  21900. *
  21901. * * 1000 milliseconds). This is normally computed automatically, but this
  21902. * option can be used to override the automatic value.
  21903. */
  21904. pointRange?: number;
  21905. /**
  21906. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  21907. * a series, pointStart defines on what value to start. For example, if a
  21908. * series contains one yearly value starting from 1945, set pointStart to
  21909. * 1945.
  21910. */
  21911. pointStart?: number;
  21912. /**
  21913. * (Highcharts, Highstock) Whether to select the series initially. If
  21914. * `showCheckbox` is true, the checkbox next to the series name in the
  21915. * legend will be checked for a selected series.
  21916. */
  21917. selected?: boolean;
  21918. /**
  21919. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  21920. * Since 2.3 the shadow can be an object configuration containing `color`,
  21921. * `offsetX`, `offsetY`, `opacity` and `width`.
  21922. */
  21923. shadow?: (boolean|ShadowOptionsObject);
  21924. /**
  21925. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  21926. * legend item to allow selecting the series. The state of the checkbox is
  21927. * determined by the `selected` option.
  21928. */
  21929. showCheckbox?: boolean;
  21930. /**
  21931. * (Highcharts, Highstock) Whether to display this particular series or
  21932. * series type in the legend. Standalone series are shown in legend by
  21933. * default, and linked series are not. Since v7.2.0 it is possible to show
  21934. * series that use colorAxis by setting this option to `true`.
  21935. */
  21936. showInLegend?: boolean;
  21937. /**
  21938. * (Highstock) Whether or not to show the series in the navigator. Takes
  21939. * precedence over navigator.baseSeries if defined.
  21940. */
  21941. showInNavigator?: boolean;
  21942. /**
  21943. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  21944. * skip past the points in this series for keyboard navigation.
  21945. */
  21946. skipKeyboardNavigation?: boolean;
  21947. /**
  21948. * (Highcharts, Highstock) When this is true, the series will not cause the
  21949. * Y axis to cross the zero plane (or threshold option) unless the data
  21950. * actually crosses the plane.
  21951. *
  21952. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  21953. * make the Y axis show negative values according to the `minPadding`
  21954. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  21955. */
  21956. softThreshold?: boolean;
  21957. /**
  21958. * (Highcharts, Highstock) Whether to stack the values of each series on top
  21959. * of each other. Possible values are `undefined` to disable, `"normal"` to
  21960. * stack by value or `"percent"`.
  21961. *
  21962. * When stacking is enabled, data must be sorted in ascending X order.
  21963. *
  21964. * Some stacking options are related to specific series types. In the
  21965. * streamgraph series type, the stacking option is set to `"stream"`. The
  21966. * second one is `"overlap"`, which only applies to waterfall series.
  21967. */
  21968. stacking?: OptionsStackingValue;
  21969. states?: SeriesStatesOptionsObject;
  21970. /**
  21971. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  21972. * `mouseOut` event on a series isn't triggered until the mouse moves over
  21973. * another series, or out of the plot area. When false, the `mouseOut` event
  21974. * on a series is triggered when the mouse leaves the area around the
  21975. * series' graph or markers. This also implies the tooltip when not shared.
  21976. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  21977. * will be hidden when moving the mouse between series. Defaults to true for
  21978. * line and area type series, but to false for columns, pies etc.
  21979. *
  21980. * **Note:** The boost module will force this option because of technical
  21981. * limitations.
  21982. */
  21983. stickyTracking?: boolean;
  21984. /**
  21985. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  21986. * area, for distinguishing between values above and below a threshold. The
  21987. * area between the graph and the threshold is filled.
  21988. *
  21989. * * If a number is given, the Y axis will scale to the threshold.
  21990. *
  21991. * * If `null`, the scaling behaves like a line series with fill between the
  21992. * graph and the Y axis minimum.
  21993. *
  21994. * * If `Infinity` or `-Infinity`, the area between the graph and the
  21995. * corresponding Y axis extreme is filled (since v6.1.0).
  21996. */
  21997. threshold?: (number|null);
  21998. /**
  21999. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  22000. * of each single series. Properties are inherited from tooltip, but only
  22001. * the following properties can be defined on a series level.
  22002. */
  22003. tooltip?: SeriesTooltipOptionsObject;
  22004. /**
  22005. * (Highcharts, Highstock) Whether the whole area or just the line should
  22006. * respond to mouseover tooltips and other mouse or touch events.
  22007. */
  22008. trackByArea?: boolean;
  22009. /**
  22010. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  22011. * is longer than this, only one dimensional arrays of numbers, or two
  22012. * dimensional arrays with x and y values are allowed. Also, only the first
  22013. * point is tested, and the rest are assumed to be the same format. This
  22014. * saves expensive data checking and indexing in long series. Set it to `0`
  22015. * disable.
  22016. *
  22017. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  22018. * two dimensional arrays are allowed.
  22019. */
  22020. turboThreshold?: number;
  22021. /**
  22022. * (Highcharts, Highstock) Set the initial visibility of the series.
  22023. */
  22024. visible?: boolean;
  22025. /**
  22026. * (Highmaps) Define the z index of the series.
  22027. */
  22028. zIndex?: number;
  22029. /**
  22030. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  22031. */
  22032. zoneAxis?: string;
  22033. /**
  22034. * (Highcharts, Highstock) An array defining zones within a series. Zones
  22035. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  22036. * the `zoneAxis` option. The zone definitions have to be in ascending order
  22037. * regarding to the value.
  22038. *
  22039. * In styled mode, the color zones are styled with the
  22040. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  22041. * option (view live demo).
  22042. */
  22043. zones?: Array<SeriesZonesOptionsObject>;
  22044. }
  22045. /**
  22046. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  22047. * is displayed. The animation can also be set as a configuration object. Please
  22048. * note that this option only applies to the initial animation of the series
  22049. * itself. For other animations, see chart.animation and the animation parameter
  22050. * under the API methods. The following properties are supported:
  22051. *
  22052. * - `defer`: The animation delay time in milliseconds.
  22053. *
  22054. * - `duration`: The duration of the animation in milliseconds.
  22055. *
  22056. * - `easing`: Can be a string reference to an easing function set on the `Math`
  22057. * object or a function. See the _Custom easing function_ demo below.
  22058. *
  22059. * Due to poor performance, animation is disabled in old IE browsers for several
  22060. * chart types.
  22061. */
  22062. export interface PlotAreasplinerangeAnimationOptions {
  22063. defer?: number;
  22064. }
  22065. /**
  22066. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  22067. * is displayed for the `dataLabels`. The animation can also be set as a
  22068. * configuration object. Please note that this option only applies to the
  22069. * initial animation. For other animations, see chart.animation and the
  22070. * animation parameter under the API methods. The following properties are
  22071. * supported:
  22072. *
  22073. * - `defer`: The animation delay time in milliseconds.
  22074. */
  22075. export interface PlotAreasplinerangeDataLabelsAnimationOptions {
  22076. /**
  22077. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  22078. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  22079. * from the series.animation.defer.
  22080. */
  22081. defer?: number;
  22082. }
  22083. /**
  22084. * (Highcharts, Highstock) Options for the series data sorting.
  22085. */
  22086. export interface PlotAreasplinerangeDataSortingOptions {
  22087. /**
  22088. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  22089. * Use xAxis.reversed to change the sorting order.
  22090. */
  22091. enabled?: boolean;
  22092. /**
  22093. * (Highcharts, Highstock) Whether to allow matching points by name in an
  22094. * update. If this option is disabled, points will be matched by order.
  22095. */
  22096. matchByName?: boolean;
  22097. /**
  22098. * (Highcharts, Highstock) Determines what data value should be used to sort
  22099. * by.
  22100. */
  22101. sortKey?: string;
  22102. }
  22103. /**
  22104. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  22105. * one state by default, the `default` state.
  22106. */
  22107. export interface PlotAreasplinerangeDragDropGuideBoxOptions {
  22108. /**
  22109. * (Highcharts, Highstock) Style options for the guide box default state.
  22110. */
  22111. default?: DragDropGuideBoxOptionsObject;
  22112. }
  22113. /**
  22114. * (Highcharts, Highstock) The area spline range is a cartesian series type with
  22115. * higher and lower Y values along an X axis. The area inside the range is
  22116. * colored, and the graph outlining the area is a smoothed spline.
  22117. *
  22118. * In TypeScript the type option must always be set.
  22119. *
  22120. * Configuration options for the series are given in three levels:
  22121. *
  22122. * 1. Options for all series in a chart are defined in the plotOptions.series
  22123. * object.
  22124. *
  22125. * 2. Options for all `areasplinerange` series are defined in
  22126. * plotOptions.areasplinerange.
  22127. *
  22128. * 3. Options for one single series are given in the series instance array. (see
  22129. * online documentation for example)
  22130. */
  22131. export interface PlotAreasplinerangeOptions {
  22132. /**
  22133. * (Highcharts, Highstock) Accessibility options for a series.
  22134. */
  22135. accessibility?: SeriesAccessibilityOptionsObject;
  22136. /**
  22137. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  22138. * rendered. If `true`, areas which don't correspond to a data point, are
  22139. * rendered as `null` points. If `false`, those areas are skipped.
  22140. */
  22141. allAreas?: boolean;
  22142. /**
  22143. * (Highcharts, Highstock) Allow this series' points to be selected by
  22144. * clicking on the graphic (columns, point markers, pie slices, map areas
  22145. * etc).
  22146. *
  22147. * The selected points can be handled by point select and unselect events,
  22148. * or collectively by the getSelectedPoints function.
  22149. *
  22150. * And alternative way of selecting points is through dragging.
  22151. */
  22152. allowPointSelect?: boolean;
  22153. /**
  22154. * (Highcharts, Highstock) Enable or disable the initial animation when a
  22155. * series is displayed. The animation can also be set as a configuration
  22156. * object. Please note that this option only applies to the initial
  22157. * animation of the series itself. For other animations, see chart.animation
  22158. * and the animation parameter under the API methods. The following
  22159. * properties are supported:
  22160. *
  22161. * - `defer`: The animation delay time in milliseconds.
  22162. *
  22163. * - `duration`: The duration of the animation in milliseconds.
  22164. *
  22165. * - `easing`: Can be a string reference to an easing function set on the
  22166. * `Math` object or a function. See the _Custom easing function_ demo below.
  22167. *
  22168. * Due to poor performance, animation is disabled in old IE browsers for
  22169. * several chart types.
  22170. */
  22171. animation?: (boolean|PlotAreasplinerangeAnimationOptions|Partial<AnimationOptionsObject>);
  22172. /**
  22173. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  22174. * initial animation by default when the total number of points in the chart
  22175. * is too high. For example, for a column chart and its derivatives,
  22176. * animation does not run if there is more than 250 points totally. To
  22177. * disable this cap, set `animationLimit` to `Infinity`.
  22178. */
  22179. animationLimit?: number;
  22180. /**
  22181. * (Highmaps) The border color of the map areas.
  22182. *
  22183. * In styled mode, the border stroke is given in the `.highcharts-point`
  22184. * class.
  22185. */
  22186. borderColor?: (ColorString|GradientColorObject|PatternObject);
  22187. /**
  22188. * (Highmaps) The border width of each map area.
  22189. *
  22190. * In styled mode, the border stroke width is given in the
  22191. * `.highcharts-point` class.
  22192. */
  22193. borderWidth?: number;
  22194. /**
  22195. * (Highcharts, Highstock) An additional class name to apply to the series'
  22196. * graphical elements. This option does not replace default class names of
  22197. * the graphical element.
  22198. */
  22199. className?: string;
  22200. /**
  22201. * (Highcharts, Highstock) Disable this option to allow series rendering in
  22202. * the whole plotting area.
  22203. *
  22204. * **Note:** Clipping should be always enabled when chart.zoomType is set
  22205. */
  22206. clip?: boolean;
  22207. /**
  22208. * (Highcharts, Highstock) The main color of the series. In line type series
  22209. * it applies to the line and the point markers unless otherwise specified.
  22210. * In bar type series it applies to the bars unless a color is specified per
  22211. * point. The default value is pulled from the `options.colors` array.
  22212. *
  22213. * In styled mode, the color can be defined by the colorIndex option. Also,
  22214. * the series color can be set with the `.highcharts-series`,
  22215. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  22216. * `.highcharts-series-{n}` class, or individual classes given by the
  22217. * `className` option.
  22218. */
  22219. color?: (ColorString|GradientColorObject|PatternObject);
  22220. /**
  22221. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  22222. * this number defines which colorAxis the particular series is connected
  22223. * to. It refers to either the axis id or the index of the axis in the
  22224. * colorAxis array, with 0 being the first. Set this option to false to
  22225. * prevent a series from connecting to the default color axis.
  22226. *
  22227. * Since v7.2.0 the option can also be an axis id or an axis index instead
  22228. * of a boolean flag.
  22229. */
  22230. colorAxis?: (boolean|number|string);
  22231. /**
  22232. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  22233. * for the series, so its graphic representations are given the class name
  22234. * `highcharts-color-{n}`.
  22235. */
  22236. colorIndex?: number;
  22237. /**
  22238. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  22239. * used to calculate point color if `colorAxis` is used. Requires to set
  22240. * `min` and `max` if some custom point property is used or if approximation
  22241. * for data grouping is set to `'sum'`.
  22242. */
  22243. colorKey?: string;
  22244. /**
  22245. * (Highstock) Compare the values of the series against the first non-null,
  22246. * non- zero value in the visible range. The y axis will show percentage or
  22247. * absolute change depending on whether `compare` is set to `"percent"` or
  22248. * `"value"`. When this is applied to multiple series, it allows comparing
  22249. * the development of the series against each other. Adds a `change` field
  22250. * to every point object.
  22251. */
  22252. compare?: string;
  22253. /**
  22254. * (Highstock) When compare is `percent`, this option dictates whether to
  22255. * use 0 or 100 as the base of comparison.
  22256. */
  22257. compareBase?: (0|100);
  22258. /**
  22259. * (Highstock) Defines if comparison should start from the first point
  22260. * within the visible range or should start from the first point **before**
  22261. * the range.
  22262. *
  22263. * In other words, this flag determines if first point within the visible
  22264. * range will have 0% (`compareStart=true`) or should have been already
  22265. * calculated according to the previous point (`compareStart=false`).
  22266. */
  22267. compareStart?: boolean;
  22268. /**
  22269. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  22270. * series plot across the extremes.
  22271. */
  22272. connectEnds?: boolean;
  22273. /**
  22274. * (Highcharts, Highstock) Whether to connect a graph line across null
  22275. * points, or render a gap between the two points on either side of the
  22276. * null.
  22277. */
  22278. connectNulls?: boolean;
  22279. /**
  22280. * (Gantt) Override Pathfinder connector options for a series. Requires
  22281. * Highcharts Gantt to be loaded.
  22282. */
  22283. connectors?: SeriesConnectorsOptionsObject;
  22284. /**
  22285. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  22286. * rounded to its nearest pixel in order to render sharp on screen. In some
  22287. * cases, when there are a lot of densely packed columns, this leads to
  22288. * visible difference in column widths or distance between columns. In these
  22289. * cases, setting `crisp` to `false` may look better, even though each
  22290. * column is rendered blurry.
  22291. */
  22292. crisp?: boolean;
  22293. /**
  22294. * (Highcharts, Highstock) When the series contains less points than the
  22295. * crop threshold, all points are drawn, even if the points fall outside the
  22296. * visible plot area at the current zoom. The advantage of drawing all
  22297. * points (including markers and columns), is that animation is performed on
  22298. * updates. On the other hand, when the series contains more points than the
  22299. * crop threshold, the series data is cropped to only contain points that
  22300. * fall within the plot area. The advantage of cropping away invisible
  22301. * points is to increase performance on large series.
  22302. */
  22303. cropThreshold?: number;
  22304. /**
  22305. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  22306. * click events attached to the series, to signal to the user that the
  22307. * points and lines can be clicked.
  22308. *
  22309. * In styled mode, the series cursor can be set with the same classes as
  22310. * listed under series.color.
  22311. */
  22312. cursor?: (string|CursorValue);
  22313. /**
  22314. * (Highcharts, Highstock) A reserved subspace to store options and values
  22315. * for customized functionality. Here you can add additional data for your
  22316. * own event callbacks and formatter callbacks.
  22317. */
  22318. custom?: Dictionary<any>;
  22319. /**
  22320. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  22321. * for some series types the outline of each shape.
  22322. *
  22323. * In styled mode, the stroke dash-array can be set with the same classes as
  22324. * listed under series.color.
  22325. */
  22326. dashStyle?: DashStyleValue;
  22327. /**
  22328. * (Highstock) Data grouping is the concept of sampling the data values into
  22329. * larger blocks in order to ease readability and increase performance of
  22330. * the JavaScript charts. Highcharts Stock by default applies data grouping
  22331. * when the points become closer than a certain pixel value, determined by
  22332. * the `groupPixelWidth` option.
  22333. *
  22334. * If data grouping is applied, the grouping information of grouped points
  22335. * can be read from the Point.dataGroup. If point options other than the
  22336. * data itself are set, for example `name` or `color` or custom properties,
  22337. * the grouping logic doesn't know how to group it. In this case the options
  22338. * of the first point instance are copied over to the group point. This can
  22339. * be altered through a custom `approximation` callback function.
  22340. */
  22341. dataGrouping?: DataGroupingOptionsObject;
  22342. /**
  22343. * (Highcharts, Highstock) Extended data labels for range series types.
  22344. * Range series data labels use no `x` and `y` options. Instead, they have
  22345. * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
  22346. * data label sets individually.
  22347. */
  22348. dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
  22349. /**
  22350. * (Highcharts, Highstock) Options for the series data sorting.
  22351. */
  22352. dataSorting?: (DataSortingOptionsObject|PlotAreasplinerangeDataSortingOptions);
  22353. /**
  22354. * (Highcharts, Highstock) A description of the series to add to the screen
  22355. * reader information about the series.
  22356. */
  22357. description?: string;
  22358. /**
  22359. * (Highcharts, Highstock) The draggable-points module allows points to be
  22360. * moved around or modified in the chart. In addition to the options
  22361. * mentioned under the `dragDrop` API structure, the module fires three
  22362. * events, point.dragStart, point.drag and point.drop.
  22363. */
  22364. dragDrop?: SeriesDragDropOptionsObject;
  22365. /**
  22366. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  22367. * specific series. This includes point tooltips and click events on graphs
  22368. * and points. For large datasets it improves performance.
  22369. */
  22370. enableMouseTracking?: boolean;
  22371. /**
  22372. * (Highcharts, Highstock) General event handlers for the series items.
  22373. * These event hooks can also be attached to the series at run time using
  22374. * the `Highcharts.addEvent` function.
  22375. */
  22376. events?: SeriesEventsOptionsObject;
  22377. /**
  22378. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  22379. * the series' `color` is used with the series' `fillOpacity`.
  22380. *
  22381. * In styled mode, the fill color can be set with the `.highcharts-area`
  22382. * class name.
  22383. */
  22384. fillColor?: (ColorString|GradientColorObject|PatternObject);
  22385. /**
  22386. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  22387. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  22388. * should define the opacity in the `fillColor` with an rgba color
  22389. * definition. The `fillOpacity` setting, also the default setting,
  22390. * overrides the alpha component of the `color` setting.
  22391. *
  22392. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  22393. * class name.
  22394. */
  22395. fillOpacity?: number;
  22396. /**
  22397. * (Highcharts, Highstock) Determines whether the series should look for the
  22398. * nearest point in both dimensions or just the x-dimension when hovering
  22399. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  22400. * other series. If the data has duplicate x-values, it is recommended to
  22401. * set this to `'xy'` to allow hovering over all points.
  22402. *
  22403. * Applies only to series types using nearest neighbor search (not direct
  22404. * hover) for tooltip.
  22405. */
  22406. findNearestPointBy?: OptionsFindNearestPointByValue;
  22407. /**
  22408. * (Highstock) Defines when to display a gap in the graph, together with the
  22409. * gapUnit option.
  22410. *
  22411. * In case when `dataGrouping` is enabled, points can be grouped into a
  22412. * larger time span. This can make the grouped points to have a greater
  22413. * distance than the absolute value of `gapSize` property, which will result
  22414. * in disappearing graph completely. To prevent this situation the mentioned
  22415. * distance between grouped points is used instead of previously defined
  22416. * `gapSize`.
  22417. *
  22418. * In practice, this option is most often used to visualize gaps in time
  22419. * series. In a stock chart, intraday data is available for daytime hours,
  22420. * while gaps will appear in nights and weekends.
  22421. */
  22422. gapSize?: number;
  22423. /**
  22424. * (Highstock) Together with gapSize, this option defines where to draw gaps
  22425. * in the graph.
  22426. *
  22427. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  22428. * if the distance between two points is greater than 5 times that of the
  22429. * two closest points, the graph will be broken.
  22430. *
  22431. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  22432. * values, which on a datetime axis is milliseconds. This also applies to
  22433. * the navigator series that inherits gap options from the base series.
  22434. */
  22435. gapUnit?: OptionsGapUnitValue;
  22436. /**
  22437. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  22438. * chart width or only the zoomed area when zooming in on parts of the X
  22439. * axis. By default, the Y axis adjusts to the min and max of the visible
  22440. * data. Cartesian series only.
  22441. */
  22442. getExtremesFromAll?: boolean;
  22443. /**
  22444. * (Highcharts, Highstock) When set to `false` will prevent the series data
  22445. * from being included in any form of data export.
  22446. *
  22447. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  22448. * `includeInCSVExport`.
  22449. */
  22450. includeInDataExport?: boolean;
  22451. /**
  22452. * (Highmaps) What property to join the `mapData` to the value data. For
  22453. * example, if joinBy is "code", the mapData items with a specific code is
  22454. * merged into the data with the same code. For maps loaded from GeoJSON,
  22455. * the keys may be held in each point's `properties` object.
  22456. *
  22457. * The joinBy option can also be an array of two values, where the first
  22458. * points to a key in the `mapData`, and the second points to another key in
  22459. * the `data`.
  22460. *
  22461. * When joinBy is `null`, the map items are joined by their position in the
  22462. * array, which performs much better in maps with many data points. This is
  22463. * the recommended option if you are printing more than a thousand data
  22464. * points and have a backend that can preprocess the data into a parallel
  22465. * array of the mapData.
  22466. */
  22467. joinBy?: (string|Array<string>);
  22468. /**
  22469. * (Highcharts, Highstock) An array specifying which option maps to which
  22470. * key in the data point array. This makes it convenient to work with
  22471. * unstructured data arrays from different sources.
  22472. */
  22473. keys?: Array<string>;
  22474. /**
  22475. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  22476. * series as possible in a natural way, seeking to avoid other series. The
  22477. * goal of this feature is to make the chart more easily readable, like if a
  22478. * human designer placed the labels in the optimal position.
  22479. *
  22480. * The series labels currently work with series types having a `graph` or an
  22481. * `area`.
  22482. */
  22483. label?: SeriesLabelOptionsObject;
  22484. /**
  22485. * (Highstock) The line marks the last price from all points.
  22486. */
  22487. lastPrice?: SeriesLastPriceOptionsObject;
  22488. /**
  22489. * (Highstock) The line marks the last price from visible range of points.
  22490. */
  22491. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  22492. /**
  22493. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  22494. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  22495. * the ends and bends.
  22496. */
  22497. linecap?: SeriesLinecapValue;
  22498. /**
  22499. * (Highcharts, Highstock) A separate color for the graph line. By default
  22500. * the line takes the `color` of the series, but the lineColor setting
  22501. * allows setting a separate color for the line without altering the
  22502. * `fillColor`.
  22503. *
  22504. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  22505. * class name.
  22506. */
  22507. lineColor?: (ColorString|GradientColorObject|PatternObject);
  22508. /**
  22509. * (Highcharts, Highstock) Pixel width of the arearange graph line.
  22510. */
  22511. lineWidth?: number;
  22512. /**
  22513. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  22514. * Additionally, the value can be ":previous" to link to the previous
  22515. * series. When two series are linked, only the first one appears in the
  22516. * legend. Toggling the visibility of this also toggles the linked series.
  22517. *
  22518. * If master series uses data sorting and linked series does not have its
  22519. * own sorting definition, the linked series will be sorted in the same
  22520. * order as the master one.
  22521. */
  22522. linkedTo?: string;
  22523. /**
  22524. * (Highcharts, Highstock) Options for the point markers of line-like
  22525. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  22526. * the visual appearance of the markers. Other series types, like column
  22527. * series, don't have markers, but have visual options on the series level
  22528. * instead.
  22529. *
  22530. * In styled mode, the markers can be styled with the `.highcharts-point`,
  22531. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  22532. */
  22533. marker?: PointMarkerOptionsObject;
  22534. /**
  22535. * (Highstock) Options for the corresponding navigator series if
  22536. * `showInNavigator` is `true` for this series. Available options are the
  22537. * same as any series, documented at plotOptions and series.
  22538. *
  22539. * These options are merged with options in navigator.series, and will take
  22540. * precedence if the same option is defined both places.
  22541. */
  22542. navigatorOptions?: PlotSeriesOptions;
  22543. /**
  22544. * (Highcharts, Highstock) The color for the parts of the graph or points
  22545. * that are below the threshold. Note that `zones` takes precedence over the
  22546. * negative color. Using `negativeColor` is equivalent to applying a zone
  22547. * with value of 0.
  22548. */
  22549. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  22550. /**
  22551. * (Highcharts) A separate color for the negative part of the area.
  22552. *
  22553. * In styled mode, a negative color is set with the `.highcharts-negative`
  22554. * class name.
  22555. */
  22556. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  22557. /**
  22558. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  22559. * and dataLabels.
  22560. */
  22561. opacity?: number;
  22562. /**
  22563. * (Highcharts, Highstock) Properties for each single point.
  22564. */
  22565. point?: PlotSeriesPointOptions;
  22566. /**
  22567. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  22568. * but for an individual series. Overrides the chart wide configuration.
  22569. */
  22570. pointDescriptionFormatter?: Function;
  22571. /**
  22572. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  22573. * a series, `pointInterval` defines the interval of the x values. For
  22574. * example, if a series contains one value every decade starting from year
  22575. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  22576. * `pointInterval` is set in milliseconds.
  22577. *
  22578. * It can be also be combined with `pointIntervalUnit` to draw irregular
  22579. * time intervals.
  22580. *
  22581. * Please note that this options applies to the _series data_, not the
  22582. * interval of the axis ticks, which is independent.
  22583. */
  22584. pointInterval?: number;
  22585. /**
  22586. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  22587. * setting the pointInterval to irregular time units, `day`, `month` and
  22588. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  22589. * also takes the DST crossover into consideration when dealing with local
  22590. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  22591. * months, 10 years etc.
  22592. *
  22593. * Please note that this options applies to the _series data_, not the
  22594. * interval of the axis ticks, which is independent.
  22595. */
  22596. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  22597. /**
  22598. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  22599. * `number`.
  22600. *
  22601. * In a column chart, when pointPlacement is `"on"`, the point will not
  22602. * create any padding of the X axis. In a polar column chart this means that
  22603. * the first column points directly north. If the pointPlacement is
  22604. * `"between"`, the columns will be laid out between ticks. This is useful
  22605. * for example for visualising an amount between two points in time or in a
  22606. * certain sector of a polar chart.
  22607. *
  22608. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  22609. * is on the axis value, -0.5 is between this value and the previous, and
  22610. * 0.5 is between this value and the next. Unlike the textual options,
  22611. * numeric point placement options won't affect axis padding.
  22612. *
  22613. * Note that pointPlacement needs a pointRange to work. For column series
  22614. * this is computed, but for line-type series it needs to be set.
  22615. *
  22616. * For the `xrange` series type and gantt charts, if the Y axis is a
  22617. * category axis, the `pointPlacement` applies to the Y axis rather than the
  22618. * (typically datetime) X axis.
  22619. *
  22620. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  22621. */
  22622. pointPlacement?: (number|string);
  22623. /**
  22624. * (Highstock) The width of each point on the x axis. For example in a
  22625. * column chart with one value each day, the pointRange would be 1 day (= 24
  22626. * * 3600
  22627. *
  22628. * * 1000 milliseconds). This is normally computed automatically, but this
  22629. * option can be used to override the automatic value.
  22630. */
  22631. pointRange?: number;
  22632. /**
  22633. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  22634. * a series, pointStart defines on what value to start. For example, if a
  22635. * series contains one yearly value starting from 1945, set pointStart to
  22636. * 1945.
  22637. */
  22638. pointStart?: number;
  22639. /**
  22640. * (Highcharts, Highstock) Whether to select the series initially. If
  22641. * `showCheckbox` is true, the checkbox next to the series name in the
  22642. * legend will be checked for a selected series.
  22643. */
  22644. selected?: boolean;
  22645. /**
  22646. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  22647. * the shadow can be an object configuration containing `color`, `offsetX`,
  22648. * `offsetY`, `opacity` and `width`.
  22649. */
  22650. shadow?: (boolean|ShadowOptionsObject);
  22651. /**
  22652. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  22653. * legend item to allow selecting the series. The state of the checkbox is
  22654. * determined by the `selected` option.
  22655. */
  22656. showCheckbox?: boolean;
  22657. /**
  22658. * (Highcharts, Highstock) Whether to display this particular series or
  22659. * series type in the legend. Standalone series are shown in legend by
  22660. * default, and linked series are not. Since v7.2.0 it is possible to show
  22661. * series that use colorAxis by setting this option to `true`.
  22662. */
  22663. showInLegend?: boolean;
  22664. /**
  22665. * (Highstock) Whether or not to show the series in the navigator. Takes
  22666. * precedence over navigator.baseSeries if defined.
  22667. */
  22668. showInNavigator?: boolean;
  22669. /**
  22670. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  22671. * skip past the points in this series for keyboard navigation.
  22672. */
  22673. skipKeyboardNavigation?: boolean;
  22674. /**
  22675. * (Highcharts, Highstock) When this is true, the series will not cause the
  22676. * Y axis to cross the zero plane (or threshold option) unless the data
  22677. * actually crosses the plane.
  22678. *
  22679. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  22680. * make the Y axis show negative values according to the `minPadding`
  22681. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  22682. */
  22683. softThreshold?: boolean;
  22684. states?: SeriesStatesOptionsObject;
  22685. /**
  22686. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  22687. * `mouseOut` event on a series isn't triggered until the mouse moves over
  22688. * another series, or out of the plot area. When false, the `mouseOut` event
  22689. * on a series is triggered when the mouse leaves the area around the
  22690. * series' graph or markers. This also implies the tooltip when not shared.
  22691. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  22692. * will be hidden when moving the mouse between series. Defaults to true for
  22693. * line and area type series, but to false for columns, pies etc.
  22694. *
  22695. * **Note:** The boost module will force this option because of technical
  22696. * limitations.
  22697. */
  22698. stickyTracking?: boolean;
  22699. /**
  22700. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  22701. * area, for distinguishing between values above and below a threshold. The
  22702. * area between the graph and the threshold is filled.
  22703. *
  22704. * * If a number is given, the Y axis will scale to the threshold.
  22705. *
  22706. * * If `null`, the scaling behaves like a line series with fill between the
  22707. * graph and the Y axis minimum.
  22708. *
  22709. * * If `Infinity` or `-Infinity`, the area between the graph and the
  22710. * corresponding Y axis extreme is filled (since v6.1.0).
  22711. */
  22712. threshold?: (number|null);
  22713. /**
  22714. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  22715. * of each single series. Properties are inherited from tooltip, but only
  22716. * the following properties can be defined on a series level.
  22717. */
  22718. tooltip?: SeriesTooltipOptionsObject;
  22719. /**
  22720. * (Highcharts, Highstock) Whether the whole area or just the line should
  22721. * respond to mouseover tooltips and other mouse or touch events.
  22722. */
  22723. trackByArea?: boolean;
  22724. /**
  22725. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  22726. * is longer than this, only one dimensional arrays of numbers, or two
  22727. * dimensional arrays with x and y values are allowed. Also, only the first
  22728. * point is tested, and the rest are assumed to be the same format. This
  22729. * saves expensive data checking and indexing in long series. Set it to `0`
  22730. * disable.
  22731. *
  22732. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  22733. * two dimensional arrays are allowed.
  22734. */
  22735. turboThreshold?: number;
  22736. /**
  22737. * (Highcharts, Highstock) Set the initial visibility of the series.
  22738. */
  22739. visible?: boolean;
  22740. /**
  22741. * (Highmaps) Define the z index of the series.
  22742. */
  22743. zIndex?: number;
  22744. /**
  22745. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  22746. */
  22747. zoneAxis?: string;
  22748. /**
  22749. * (Highcharts, Highstock) An array defining zones within a series. Zones
  22750. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  22751. * the `zoneAxis` option. The zone definitions have to be in ascending order
  22752. * regarding to the value.
  22753. *
  22754. * In styled mode, the color zones are styled with the
  22755. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  22756. * option (view live demo).
  22757. */
  22758. zones?: Array<SeriesZonesOptionsObject>;
  22759. }
  22760. /**
  22761. * (Highstock) Enable or disable the initial animation when a series is
  22762. * displayed. The animation can also be set as a configuration object. Please
  22763. * note that this option only applies to the initial animation of the series
  22764. * itself. For other animations, see chart.animation and the animation parameter
  22765. * under the API methods. The following properties are supported:
  22766. *
  22767. * - `defer`: The animation delay time in milliseconds.
  22768. *
  22769. * - `duration`: The duration of the animation in milliseconds.
  22770. *
  22771. * - `easing`: Can be a string reference to an easing function set on the `Math`
  22772. * object or a function. See the _Custom easing function_ demo below.
  22773. *
  22774. * Due to poor performance, animation is disabled in old IE browsers for several
  22775. * chart types.
  22776. */
  22777. export interface PlotAroonAnimationOptions {
  22778. defer?: number;
  22779. }
  22780. /**
  22781. * (Highstock) aroonDown line options.
  22782. */
  22783. export interface PlotAroonAroonDownOptions {
  22784. /**
  22785. * (Highstock) Styles for an aroonDown line.
  22786. */
  22787. styles?: PlotAroonAroonDownStylesOptions;
  22788. }
  22789. /**
  22790. * (Highstock) Styles for an aroonDown line.
  22791. */
  22792. export interface PlotAroonAroonDownStylesOptions {
  22793. /**
  22794. * (Highstock) Color of the line. If not set, it's inherited from
  22795. * plotOptions.aroon.color.
  22796. */
  22797. lineColor?: ColorString;
  22798. /**
  22799. * (Highstock) Pixel width of the line.
  22800. */
  22801. lineWidth?: number;
  22802. }
  22803. /**
  22804. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  22805. * animation when a series is displayed for the `dataLabels`. The animation can
  22806. * also be set as a configuration object. Please note that this option only
  22807. * applies to the initial animation. For other animations, see chart.animation
  22808. * and the animation parameter under the API methods. The following properties
  22809. * are supported:
  22810. *
  22811. * - `defer`: The animation delay time in milliseconds.
  22812. */
  22813. export interface PlotAroonDataLabelsAnimationOptions {
  22814. /**
  22815. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  22816. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  22817. * inherits defer time from the series.animation.defer.
  22818. */
  22819. defer?: number;
  22820. }
  22821. /**
  22822. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  22823. * appearing next to each data point.
  22824. *
  22825. * Since v6.2.0, multiple data labels can be applied to each single point by
  22826. * defining them as an array of configs.
  22827. *
  22828. * In styled mode, the data labels can be styled with the
  22829. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  22830. * example).
  22831. */
  22832. export interface PlotAroonDataLabelsOptions {
  22833. /**
  22834. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  22835. * compared to the point. If `right`, the right side of the label should be
  22836. * touching the point. For points with an extent, like columns, the
  22837. * alignments also dictates how to align it inside the box, as given with
  22838. * the inside option. Can be one of `left`, `center` or `right`.
  22839. */
  22840. align?: (AlignValue|null);
  22841. /**
  22842. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  22843. * overlap. To make the labels less sensitive for overlapping, the
  22844. * dataLabels.padding can be set to 0.
  22845. */
  22846. allowOverlap?: boolean;
  22847. /**
  22848. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  22849. * animation when a series is displayed for the `dataLabels`. The animation
  22850. * can also be set as a configuration object. Please note that this option
  22851. * only applies to the initial animation. For other animations, see
  22852. * chart.animation and the animation parameter under the API methods. The
  22853. * following properties are supported:
  22854. *
  22855. * - `defer`: The animation delay time in milliseconds.
  22856. */
  22857. animation?: (boolean|PlotAroonDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  22858. /**
  22859. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  22860. * for the data label.
  22861. */
  22862. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  22863. /**
  22864. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  22865. * label. Defaults to `undefined`.
  22866. */
  22867. borderColor?: (ColorString|GradientColorObject|PatternObject);
  22868. /**
  22869. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  22870. * the data label.
  22871. */
  22872. borderRadius?: number;
  22873. /**
  22874. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  22875. * the data label.
  22876. */
  22877. borderWidth?: number;
  22878. /**
  22879. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  22880. * Particularly in styled mode, this can be used to give each series' or
  22881. * point's data label unique styling. In addition to this option, a default
  22882. * color class name is added so that we can give the labels a contrast text
  22883. * shadow.
  22884. */
  22885. className?: string;
  22886. /**
  22887. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  22888. * labels. Defaults to `undefined`. For certain series types, like column or
  22889. * map, the data labels can be drawn inside the points. In this case the
  22890. * data label will be drawn with maximum contrast by default. Additionally,
  22891. * it will be given a `text-outline` style with the opposite color, to
  22892. * further increase the contrast. This can be overridden by setting the
  22893. * `text-outline` style to `none` in the `dataLabels.style` option.
  22894. */
  22895. color?: (ColorString|GradientColorObject|PatternObject);
  22896. /**
  22897. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  22898. * are outside the plot area. By default, the data label is moved inside the
  22899. * plot area according to the overflow option.
  22900. */
  22901. crop?: boolean;
  22902. /**
  22903. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  22904. * labels until the initial series animation has finished. Setting to
  22905. * `false` renders the data label immediately. If set to `true` inherits the
  22906. * defer time set in plotOptions.series.animation. If set to a number, a
  22907. * defer time is specified in milliseconds.
  22908. */
  22909. defer?: (boolean|number);
  22910. /**
  22911. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  22912. * labels.
  22913. */
  22914. enabled?: boolean;
  22915. /**
  22916. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  22917. * of which data labels to display. The declarative filter is designed for
  22918. * use when callback functions are not available, like when the chart
  22919. * options require a pure JSON structure or for use with graphical editors.
  22920. * For programmatic control, use the `formatter` instead, and return
  22921. * `undefined` to disable a single data label.
  22922. */
  22923. filter?: DataLabelsFilterOptionsObject;
  22924. /**
  22925. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  22926. * label. Available variables are the same as for `formatter`.
  22927. */
  22928. format?: string;
  22929. /**
  22930. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  22931. * format the data label. Note that if a `format` is defined, the format
  22932. * takes precedence and the formatter is ignored.
  22933. */
  22934. formatter?: DataLabelsFormatterCallbackFunction;
  22935. /**
  22936. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  22937. * columns or map areas, whether to align the data label inside the box or
  22938. * to the actual value point. Defaults to `false` in most cases, `true` in
  22939. * stacked columns.
  22940. */
  22941. inside?: boolean;
  22942. /**
  22943. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  22944. * of null. Works analogously to format. `nullFormat` can be applied only to
  22945. * series which support displaying null points.
  22946. */
  22947. nullFormat?: (boolean|string);
  22948. /**
  22949. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  22950. * that defines formatting for points with the value of null. Works
  22951. * analogously to formatter. `nullPointFormatter` can be applied only to
  22952. * series which support displaying null points.
  22953. */
  22954. nullFormatter?: DataLabelsFormatterCallbackFunction;
  22955. /**
  22956. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  22957. * flow outside the plot area. The default is `"justify"`, which aligns them
  22958. * inside the plot area. For columns and bars, this means it will be moved
  22959. * inside the bar. To display data labels outside the plot area, set `crop`
  22960. * to `false` and `overflow` to `"allow"`.
  22961. */
  22962. overflow?: DataLabelsOverflowValue;
  22963. /**
  22964. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  22965. * the `backgroundColor` is set, this is the padding within the box.
  22966. */
  22967. padding?: number;
  22968. /**
  22969. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  22970. * points. If `center` alignment is not possible, it defaults to `right`.
  22971. */
  22972. position?: AlignValue;
  22973. /**
  22974. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  22975. * that due to a more complex structure, backgrounds, borders and padding
  22976. * will be lost on a rotated data label.
  22977. */
  22978. rotation?: number;
  22979. /**
  22980. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  22981. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  22982. * an object configuration containing `color`, `offsetX`, `offsetY`,
  22983. * `opacity` and `width`.
  22984. */
  22985. shadow?: (boolean|ShadowOptionsObject);
  22986. /**
  22987. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  22988. * the border around the label. Symbols are predefined functions on the
  22989. * Renderer object.
  22990. */
  22991. shape?: string;
  22992. /**
  22993. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  22994. * default `color` setting is `"contrast"`, which is a pseudo color that
  22995. * Highcharts picks up and applies the maximum contrast to the underlying
  22996. * point item, for example the bar in a bar chart.
  22997. *
  22998. * The `textOutline` is a pseudo property that applies an outline of the
  22999. * given width with the given color, which by default is the maximum
  23000. * contrast to the text. So a bright text color will result in a black text
  23001. * outline for maximum readability on a mixed background. In some cases,
  23002. * especially with grayscale text, the text outline doesn't work well, in
  23003. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  23004. * is true, the `textOutline` will not be picked up. In this, case, the same
  23005. * effect can be acheived through the `text-shadow` CSS property.
  23006. *
  23007. * For some series types, where each point has an extent, like for example
  23008. * tree maps, the data label may overflow the point. There are two
  23009. * strategies for handling overflow. By default, the text will wrap to
  23010. * multiple lines. The other strategy is to set `style.textOverflow` to
  23011. * `ellipsis`, which will keep the text on one line plus it will break
  23012. * inside long words.
  23013. */
  23014. style?: CSSObject;
  23015. /**
  23016. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  23017. * should follow marker's shape. Border and background are disabled for a
  23018. * label that follows a path.
  23019. *
  23020. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  23021. * to true will disable this option.
  23022. */
  23023. textPath?: DataLabelsTextPathOptionsObject;
  23024. /**
  23025. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  23026. * the labels.
  23027. */
  23028. useHTML?: boolean;
  23029. /**
  23030. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  23031. * label. Can be one of `top`, `middle` or `bottom`. The default value
  23032. * depends on the data, for instance in a column chart, the label is above
  23033. * positive values and below negative values.
  23034. */
  23035. verticalAlign?: (VerticalAlignValue|null);
  23036. /**
  23037. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  23038. * label relative to the point in pixels.
  23039. */
  23040. x?: number;
  23041. /**
  23042. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  23043. * label relative to the point in pixels.
  23044. */
  23045. y?: number;
  23046. /**
  23047. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  23048. * The default Z index puts it above the series. Use a Z index of 2 to
  23049. * display it behind the series.
  23050. */
  23051. z?: number;
  23052. }
  23053. /**
  23054. * (Highcharts, Highstock) Options for the series data sorting.
  23055. */
  23056. export interface PlotAroonDataSortingOptions {
  23057. /**
  23058. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  23059. * Use xAxis.reversed to change the sorting order.
  23060. */
  23061. enabled?: boolean;
  23062. /**
  23063. * (Highcharts, Highstock) Whether to allow matching points by name in an
  23064. * update. If this option is disabled, points will be matched by order.
  23065. */
  23066. matchByName?: boolean;
  23067. /**
  23068. * (Highcharts, Highstock) Determines what data value should be used to sort
  23069. * by.
  23070. */
  23071. sortKey?: string;
  23072. }
  23073. /**
  23074. * (Highstock) Aroon. This series requires the `linkedTo` option to be set and
  23075. * should be loaded after the `stock/indicators/indicators.js`.
  23076. *
  23077. * In TypeScript the type option must always be set.
  23078. *
  23079. * Configuration options for the series are given in three levels:
  23080. *
  23081. * 1. Options for all series in a chart are defined in the plotOptions.series
  23082. * object.
  23083. *
  23084. * 2. Options for all `aroon` series are defined in plotOptions.aroon.
  23085. *
  23086. * 3. Options for one single series are given in the series instance array. (see
  23087. * online documentation for example)
  23088. */
  23089. export interface PlotAroonOptions {
  23090. /**
  23091. * (Highstock) Accessibility options for a series.
  23092. */
  23093. accessibility?: SeriesAccessibilityOptionsObject;
  23094. /**
  23095. * (Highstock) Allow this series' points to be selected by clicking on the
  23096. * graphic (columns, point markers, pie slices, map areas etc).
  23097. *
  23098. * The selected points can be handled by point select and unselect events,
  23099. * or collectively by the getSelectedPoints function.
  23100. *
  23101. * And alternative way of selecting points is through dragging.
  23102. */
  23103. allowPointSelect?: boolean;
  23104. /**
  23105. * (Highstock) Enable or disable the initial animation when a series is
  23106. * displayed. The animation can also be set as a configuration object.
  23107. * Please note that this option only applies to the initial animation of the
  23108. * series itself. For other animations, see chart.animation and the
  23109. * animation parameter under the API methods. The following properties are
  23110. * supported:
  23111. *
  23112. * - `defer`: The animation delay time in milliseconds.
  23113. *
  23114. * - `duration`: The duration of the animation in milliseconds.
  23115. *
  23116. * - `easing`: Can be a string reference to an easing function set on the
  23117. * `Math` object or a function. See the _Custom easing function_ demo below.
  23118. *
  23119. * Due to poor performance, animation is disabled in old IE browsers for
  23120. * several chart types.
  23121. */
  23122. animation?: (boolean|PlotAroonAnimationOptions|Partial<AnimationOptionsObject>);
  23123. /**
  23124. * (Highstock) For some series, there is a limit that shuts down initial
  23125. * animation by default when the total number of points in the chart is too
  23126. * high. For example, for a column chart and its derivatives, animation does
  23127. * not run if there is more than 250 points totally. To disable this cap,
  23128. * set `animationLimit` to `Infinity`.
  23129. */
  23130. animationLimit?: number;
  23131. /**
  23132. * (Highstock) aroonDown line options.
  23133. */
  23134. aroonDown?: PlotAroonAroonDownOptions;
  23135. /**
  23136. * (Highstock) Sets the color blending in the boost module.
  23137. */
  23138. boostBlending?: OptionsBoostBlendingValue;
  23139. /**
  23140. * (Highstock) Set the point threshold for when a series should enter boost
  23141. * mode.
  23142. *
  23143. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  23144. * there are 2000 or more points in the series.
  23145. *
  23146. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  23147. * it to 1 will force boosting.
  23148. *
  23149. * Note that the cropThreshold also affects this setting. When zooming in on
  23150. * a series that has fewer points than the `cropThreshold`, all points are
  23151. * rendered although outside the visible plot area, and the `boostThreshold`
  23152. * won't take effect.
  23153. */
  23154. boostThreshold?: number;
  23155. /**
  23156. * (Highmaps) The border color of the map areas.
  23157. *
  23158. * In styled mode, the border stroke is given in the `.highcharts-point`
  23159. * class.
  23160. */
  23161. borderColor?: (ColorString|GradientColorObject|PatternObject);
  23162. /**
  23163. * (Highmaps) The border width of each map area.
  23164. *
  23165. * In styled mode, the border stroke width is given in the
  23166. * `.highcharts-point` class.
  23167. */
  23168. borderWidth?: number;
  23169. /**
  23170. * (Highstock) An additional class name to apply to the series' graphical
  23171. * elements. This option does not replace default class names of the
  23172. * graphical element.
  23173. */
  23174. className?: string;
  23175. /**
  23176. * (Highstock) Disable this option to allow series rendering in the whole
  23177. * plotting area.
  23178. *
  23179. * **Note:** Clipping should be always enabled when chart.zoomType is set
  23180. */
  23181. clip?: boolean;
  23182. /**
  23183. * (Highstock) The main color of the series. In line type series it applies
  23184. * to the line and the point markers unless otherwise specified. In bar type
  23185. * series it applies to the bars unless a color is specified per point. The
  23186. * default value is pulled from the `options.colors` array.
  23187. *
  23188. * In styled mode, the color can be defined by the colorIndex option. Also,
  23189. * the series color can be set with the `.highcharts-series`,
  23190. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  23191. * `.highcharts-series-{n}` class, or individual classes given by the
  23192. * `className` option.
  23193. */
  23194. color?: (ColorString|GradientColorObject|PatternObject);
  23195. /**
  23196. * (Highstock) Styled mode only. A specific color index to use for the
  23197. * series, so its graphic representations are given the class name
  23198. * `highcharts-color-{n}`.
  23199. */
  23200. colorIndex?: number;
  23201. /**
  23202. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  23203. * used to calculate point color if `colorAxis` is used. Requires to set
  23204. * `min` and `max` if some custom point property is used or if approximation
  23205. * for data grouping is set to `'sum'`.
  23206. */
  23207. colorKey?: string;
  23208. /**
  23209. * (Highstock) Defines if comparison should start from the first point
  23210. * within the visible range or should start from the first point **before**
  23211. * the range.
  23212. *
  23213. * In other words, this flag determines if first point within the visible
  23214. * range will have 0% (`compareStart=true`) or should have been already
  23215. * calculated according to the previous point (`compareStart=false`).
  23216. */
  23217. compareStart?: boolean;
  23218. /**
  23219. * (Highstock) Whether to compare indicator to the main series values or
  23220. * indicator values.
  23221. */
  23222. compareToMain?: boolean;
  23223. /**
  23224. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  23225. * series plot across the extremes.
  23226. */
  23227. connectEnds?: boolean;
  23228. /**
  23229. * (Highcharts, Highstock) Whether to connect a graph line across null
  23230. * points, or render a gap between the two points on either side of the
  23231. * null.
  23232. */
  23233. connectNulls?: boolean;
  23234. /**
  23235. * (Gantt) Override Pathfinder connector options for a series. Requires
  23236. * Highcharts Gantt to be loaded.
  23237. */
  23238. connectors?: SeriesConnectorsOptionsObject;
  23239. /**
  23240. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  23241. * rounded to its nearest pixel in order to render sharp on screen. In some
  23242. * cases, when there are a lot of densely packed columns, this leads to
  23243. * visible difference in column widths or distance between columns. In these
  23244. * cases, setting `crisp` to `false` may look better, even though each
  23245. * column is rendered blurry.
  23246. */
  23247. crisp?: boolean;
  23248. /**
  23249. * (Highcharts, Highstock) When the series contains less points than the
  23250. * crop threshold, all points are drawn, even if the points fall outside the
  23251. * visible plot area at the current zoom. The advantage of drawing all
  23252. * points (including markers and columns), is that animation is performed on
  23253. * updates. On the other hand, when the series contains more points than the
  23254. * crop threshold, the series data is cropped to only contain points that
  23255. * fall within the plot area. The advantage of cropping away invisible
  23256. * points is to increase performance on large series.
  23257. */
  23258. cropThreshold?: number;
  23259. /**
  23260. * (Highstock) You can set the cursor to "pointer" if you have click events
  23261. * attached to the series, to signal to the user that the points and lines
  23262. * can be clicked.
  23263. *
  23264. * In styled mode, the series cursor can be set with the same classes as
  23265. * listed under series.color.
  23266. */
  23267. cursor?: (string|CursorValue);
  23268. /**
  23269. * (Highstock) A reserved subspace to store options and values for
  23270. * customized functionality. Here you can add additional data for your own
  23271. * event callbacks and formatter callbacks.
  23272. */
  23273. custom?: Dictionary<any>;
  23274. /**
  23275. * (Highstock) Name of the dash style to use for the graph, or for some
  23276. * series types the outline of each shape.
  23277. *
  23278. * In styled mode, the stroke dash-array can be set with the same classes as
  23279. * listed under series.color.
  23280. */
  23281. dashStyle?: DashStyleValue;
  23282. /**
  23283. * (Highstock) Data grouping is the concept of sampling the data values into
  23284. * larger blocks in order to ease readability and increase performance of
  23285. * the JavaScript charts. Highcharts Stock by default applies data grouping
  23286. * when the points become closer than a certain pixel value, determined by
  23287. * the `groupPixelWidth` option.
  23288. *
  23289. * If data grouping is applied, the grouping information of grouped points
  23290. * can be read from the Point.dataGroup. If point options other than the
  23291. * data itself are set, for example `name` or `color` or custom properties,
  23292. * the grouping logic doesn't know how to group it. In this case the options
  23293. * of the first point instance are copied over to the group point. This can
  23294. * be altered through a custom `approximation` callback function.
  23295. */
  23296. dataGrouping?: DataGroupingOptionsObject;
  23297. /**
  23298. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  23299. * labels, appearing next to each data point.
  23300. *
  23301. * Since v6.2.0, multiple data labels can be applied to each single point by
  23302. * defining them as an array of configs.
  23303. *
  23304. * In styled mode, the data labels can be styled with the
  23305. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  23306. * (see example).
  23307. */
  23308. dataLabels?: (PlotAroonDataLabelsOptions|Array<PlotAroonDataLabelsOptions>);
  23309. /**
  23310. * (Highcharts, Highstock) Options for the series data sorting.
  23311. */
  23312. dataSorting?: (DataSortingOptionsObject|PlotAroonDataSortingOptions);
  23313. /**
  23314. * (Highstock) A description of the series to add to the screen reader
  23315. * information about the series.
  23316. */
  23317. description?: string;
  23318. /**
  23319. * (Highstock) Enable or disable the mouse tracking for a specific series.
  23320. * This includes point tooltips and click events on graphs and points. For
  23321. * large datasets it improves performance.
  23322. */
  23323. enableMouseTracking?: boolean;
  23324. /**
  23325. * (Highstock) General event handlers for the series items. These event
  23326. * hooks can also be attached to the series at run time using the
  23327. * `Highcharts.addEvent` function.
  23328. */
  23329. events?: SeriesEventsOptionsObject;
  23330. /**
  23331. * (Highstock) Determines whether the series should look for the nearest
  23332. * point in both dimensions or just the x-dimension when hovering the
  23333. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  23334. * series. If the data has duplicate x-values, it is recommended to set this
  23335. * to `'xy'` to allow hovering over all points.
  23336. *
  23337. * Applies only to series types using nearest neighbor search (not direct
  23338. * hover) for tooltip.
  23339. */
  23340. findNearestPointBy?: OptionsFindNearestPointByValue;
  23341. /**
  23342. * (Highstock) Defines when to display a gap in the graph, together with the
  23343. * gapUnit option.
  23344. *
  23345. * In case when `dataGrouping` is enabled, points can be grouped into a
  23346. * larger time span. This can make the grouped points to have a greater
  23347. * distance than the absolute value of `gapSize` property, which will result
  23348. * in disappearing graph completely. To prevent this situation the mentioned
  23349. * distance between grouped points is used instead of previously defined
  23350. * `gapSize`.
  23351. *
  23352. * In practice, this option is most often used to visualize gaps in time
  23353. * series. In a stock chart, intraday data is available for daytime hours,
  23354. * while gaps will appear in nights and weekends.
  23355. */
  23356. gapSize?: number;
  23357. /**
  23358. * (Highstock) Together with gapSize, this option defines where to draw gaps
  23359. * in the graph.
  23360. *
  23361. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  23362. * if the distance between two points is greater than 5 times that of the
  23363. * two closest points, the graph will be broken.
  23364. *
  23365. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  23366. * values, which on a datetime axis is milliseconds. This also applies to
  23367. * the navigator series that inherits gap options from the base series.
  23368. */
  23369. gapUnit?: OptionsGapUnitValue;
  23370. /**
  23371. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  23372. * chart width or only the zoomed area when zooming in on parts of the X
  23373. * axis. By default, the Y axis adjusts to the min and max of the visible
  23374. * data. Cartesian series only.
  23375. */
  23376. getExtremesFromAll?: boolean;
  23377. /**
  23378. * (Highstock) When set to `false` will prevent the series data from being
  23379. * included in any form of data export.
  23380. *
  23381. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  23382. * `includeInCSVExport`.
  23383. */
  23384. includeInDataExport?: boolean;
  23385. /**
  23386. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  23387. * series as possible in a natural way, seeking to avoid other series. The
  23388. * goal of this feature is to make the chart more easily readable, like if a
  23389. * human designer placed the labels in the optimal position.
  23390. *
  23391. * The series labels currently work with series types having a `graph` or an
  23392. * `area`.
  23393. */
  23394. label?: SeriesLabelOptionsObject;
  23395. /**
  23396. * (Highstock) The line marks the last price from all points.
  23397. */
  23398. lastPrice?: SeriesLastPriceOptionsObject;
  23399. /**
  23400. * (Highstock) The line marks the last price from visible range of points.
  23401. */
  23402. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  23403. /**
  23404. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  23405. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  23406. * the ends and bends.
  23407. */
  23408. linecap?: SeriesLinecapValue;
  23409. /**
  23410. * (Highcharts, Highstock) Pixel width of the graph line.
  23411. */
  23412. lineWidth?: number;
  23413. /**
  23414. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  23415. * based on. Required for this indicator.
  23416. */
  23417. linkedTo?: string;
  23418. /**
  23419. * (Highstock) Options for the point markers of line-like series. Properties
  23420. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  23421. * appearance of the markers. Other series types, like column series, don't
  23422. * have markers, but have visual options on the series level instead.
  23423. *
  23424. * In styled mode, the markers can be styled with the `.highcharts-point`,
  23425. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  23426. */
  23427. marker?: PointMarkerOptionsObject;
  23428. /**
  23429. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  23430. * If not set, it will be based on a technical indicator type and default
  23431. * params.
  23432. */
  23433. name?: string;
  23434. /**
  23435. * (Highstock) The color for the parts of the graph or points that are below
  23436. * the threshold. Note that `zones` takes precedence over the negative
  23437. * color. Using `negativeColor` is equivalent to applying a zone with value
  23438. * of 0.
  23439. */
  23440. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  23441. /**
  23442. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  23443. * dataLabels.
  23444. */
  23445. opacity?: number;
  23446. /**
  23447. * (Highstock) Paramters used in calculation of aroon series points.
  23448. */
  23449. params?: PlotAroonParamsOptions;
  23450. /**
  23451. * (Highstock) Properties for each single point.
  23452. */
  23453. point?: PlotSeriesPointOptions;
  23454. /**
  23455. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  23456. * individual series. Overrides the chart wide configuration.
  23457. */
  23458. pointDescriptionFormatter?: Function;
  23459. /**
  23460. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  23461. * true, the checkbox next to the series name in the legend will be checked
  23462. * for a selected series.
  23463. */
  23464. selected?: boolean;
  23465. /**
  23466. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  23467. * the shadow can be an object configuration containing `color`, `offsetX`,
  23468. * `offsetY`, `opacity` and `width`.
  23469. */
  23470. shadow?: (boolean|ShadowOptionsObject);
  23471. /**
  23472. * (Highstock) If true, a checkbox is displayed next to the legend item to
  23473. * allow selecting the series. The state of the checkbox is determined by
  23474. * the `selected` option.
  23475. */
  23476. showCheckbox?: boolean;
  23477. /**
  23478. * (Highstock) Whether to display this particular series or series type in
  23479. * the legend. Standalone series are shown in legend by default, and linked
  23480. * series are not. Since v7.2.0 it is possible to show series that use
  23481. * colorAxis by setting this option to `true`.
  23482. */
  23483. showInLegend?: boolean;
  23484. /**
  23485. * (Highstock) If set to `true`, the accessibility module will skip past the
  23486. * points in this series for keyboard navigation.
  23487. */
  23488. skipKeyboardNavigation?: boolean;
  23489. /**
  23490. * (Highcharts, Highstock) When this is true, the series will not cause the
  23491. * Y axis to cross the zero plane (or threshold option) unless the data
  23492. * actually crosses the plane.
  23493. *
  23494. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  23495. * make the Y axis show negative values according to the `minPadding`
  23496. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  23497. */
  23498. softThreshold?: boolean;
  23499. states?: SeriesStatesOptionsObject;
  23500. /**
  23501. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  23502. * values are `left`, `center` and `right`.
  23503. */
  23504. step?: OptionsStepValue;
  23505. /**
  23506. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  23507. * event on a series isn't triggered until the mouse moves over another
  23508. * series, or out of the plot area. When false, the `mouseOut` event on a
  23509. * series is triggered when the mouse leaves the area around the series'
  23510. * graph or markers. This also implies the tooltip when not shared. When
  23511. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  23512. * be hidden when moving the mouse between series. Defaults to true for line
  23513. * and area type series, but to false for columns, pies etc.
  23514. *
  23515. * **Note:** The boost module will force this option because of technical
  23516. * limitations.
  23517. */
  23518. stickyTracking?: boolean;
  23519. /**
  23520. * (Highcharts, Highstock) The threshold, also called zero level or base
  23521. * level. For line type series this is only used in conjunction with
  23522. * negativeColor.
  23523. */
  23524. threshold?: (number|null);
  23525. /**
  23526. * (Highstock) A configuration object for the tooltip rendering of each
  23527. * single series. Properties are inherited from tooltip, but only the
  23528. * following properties can be defined on a series level.
  23529. */
  23530. tooltip?: SeriesTooltipOptionsObject;
  23531. /**
  23532. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  23533. * is longer than this, only one dimensional arrays of numbers, or two
  23534. * dimensional arrays with x and y values are allowed. Also, only the first
  23535. * point is tested, and the rest are assumed to be the same format. This
  23536. * saves expensive data checking and indexing in long series. Set it to `0`
  23537. * disable.
  23538. *
  23539. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  23540. * two dimensional arrays are allowed.
  23541. */
  23542. turboThreshold?: number;
  23543. /**
  23544. * (Highstock) Set the initial visibility of the series.
  23545. */
  23546. visible?: boolean;
  23547. /**
  23548. * (Highmaps) Define the z index of the series.
  23549. */
  23550. zIndex?: number;
  23551. /**
  23552. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  23553. */
  23554. zoneAxis?: string;
  23555. /**
  23556. * (Highcharts, Highstock) An array defining zones within a series. Zones
  23557. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  23558. * the `zoneAxis` option. The zone definitions have to be in ascending order
  23559. * regarding to the value.
  23560. *
  23561. * In styled mode, the color zones are styled with the
  23562. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  23563. * option (view live demo).
  23564. */
  23565. zones?: Array<SeriesZonesOptionsObject>;
  23566. }
  23567. /**
  23568. * (Highstock) Enable or disable the initial animation when a series is
  23569. * displayed. The animation can also be set as a configuration object. Please
  23570. * note that this option only applies to the initial animation of the series
  23571. * itself. For other animations, see chart.animation and the animation parameter
  23572. * under the API methods. The following properties are supported:
  23573. *
  23574. * - `defer`: The animation delay time in milliseconds.
  23575. *
  23576. * - `duration`: The duration of the animation in milliseconds.
  23577. *
  23578. * - `easing`: Can be a string reference to an easing function set on the `Math`
  23579. * object or a function. See the _Custom easing function_ demo below.
  23580. *
  23581. * Due to poor performance, animation is disabled in old IE browsers for several
  23582. * chart types.
  23583. */
  23584. export interface PlotAroonoscillatorAnimationOptions {
  23585. defer?: number;
  23586. }
  23587. /**
  23588. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  23589. * animation when a series is displayed for the `dataLabels`. The animation can
  23590. * also be set as a configuration object. Please note that this option only
  23591. * applies to the initial animation. For other animations, see chart.animation
  23592. * and the animation parameter under the API methods. The following properties
  23593. * are supported:
  23594. *
  23595. * - `defer`: The animation delay time in milliseconds.
  23596. */
  23597. export interface PlotAroonoscillatorDataLabelsAnimationOptions {
  23598. /**
  23599. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  23600. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  23601. * inherits defer time from the series.animation.defer.
  23602. */
  23603. defer?: number;
  23604. }
  23605. /**
  23606. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  23607. * appearing next to each data point.
  23608. *
  23609. * Since v6.2.0, multiple data labels can be applied to each single point by
  23610. * defining them as an array of configs.
  23611. *
  23612. * In styled mode, the data labels can be styled with the
  23613. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  23614. * example).
  23615. */
  23616. export interface PlotAroonoscillatorDataLabelsOptions {
  23617. /**
  23618. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  23619. * compared to the point. If `right`, the right side of the label should be
  23620. * touching the point. For points with an extent, like columns, the
  23621. * alignments also dictates how to align it inside the box, as given with
  23622. * the inside option. Can be one of `left`, `center` or `right`.
  23623. */
  23624. align?: (AlignValue|null);
  23625. /**
  23626. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  23627. * overlap. To make the labels less sensitive for overlapping, the
  23628. * dataLabels.padding can be set to 0.
  23629. */
  23630. allowOverlap?: boolean;
  23631. /**
  23632. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  23633. * animation when a series is displayed for the `dataLabels`. The animation
  23634. * can also be set as a configuration object. Please note that this option
  23635. * only applies to the initial animation. For other animations, see
  23636. * chart.animation and the animation parameter under the API methods. The
  23637. * following properties are supported:
  23638. *
  23639. * - `defer`: The animation delay time in milliseconds.
  23640. */
  23641. animation?: (boolean|PlotAroonoscillatorDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  23642. /**
  23643. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  23644. * for the data label.
  23645. */
  23646. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  23647. /**
  23648. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  23649. * label. Defaults to `undefined`.
  23650. */
  23651. borderColor?: (ColorString|GradientColorObject|PatternObject);
  23652. /**
  23653. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  23654. * the data label.
  23655. */
  23656. borderRadius?: number;
  23657. /**
  23658. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  23659. * the data label.
  23660. */
  23661. borderWidth?: number;
  23662. /**
  23663. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  23664. * Particularly in styled mode, this can be used to give each series' or
  23665. * point's data label unique styling. In addition to this option, a default
  23666. * color class name is added so that we can give the labels a contrast text
  23667. * shadow.
  23668. */
  23669. className?: string;
  23670. /**
  23671. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  23672. * labels. Defaults to `undefined`. For certain series types, like column or
  23673. * map, the data labels can be drawn inside the points. In this case the
  23674. * data label will be drawn with maximum contrast by default. Additionally,
  23675. * it will be given a `text-outline` style with the opposite color, to
  23676. * further increase the contrast. This can be overridden by setting the
  23677. * `text-outline` style to `none` in the `dataLabels.style` option.
  23678. */
  23679. color?: (ColorString|GradientColorObject|PatternObject);
  23680. /**
  23681. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  23682. * are outside the plot area. By default, the data label is moved inside the
  23683. * plot area according to the overflow option.
  23684. */
  23685. crop?: boolean;
  23686. /**
  23687. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  23688. * labels until the initial series animation has finished. Setting to
  23689. * `false` renders the data label immediately. If set to `true` inherits the
  23690. * defer time set in plotOptions.series.animation. If set to a number, a
  23691. * defer time is specified in milliseconds.
  23692. */
  23693. defer?: (boolean|number);
  23694. /**
  23695. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  23696. * labels.
  23697. */
  23698. enabled?: boolean;
  23699. /**
  23700. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  23701. * of which data labels to display. The declarative filter is designed for
  23702. * use when callback functions are not available, like when the chart
  23703. * options require a pure JSON structure or for use with graphical editors.
  23704. * For programmatic control, use the `formatter` instead, and return
  23705. * `undefined` to disable a single data label.
  23706. */
  23707. filter?: DataLabelsFilterOptionsObject;
  23708. /**
  23709. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  23710. * label. Available variables are the same as for `formatter`.
  23711. */
  23712. format?: string;
  23713. /**
  23714. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  23715. * format the data label. Note that if a `format` is defined, the format
  23716. * takes precedence and the formatter is ignored.
  23717. */
  23718. formatter?: DataLabelsFormatterCallbackFunction;
  23719. /**
  23720. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  23721. * columns or map areas, whether to align the data label inside the box or
  23722. * to the actual value point. Defaults to `false` in most cases, `true` in
  23723. * stacked columns.
  23724. */
  23725. inside?: boolean;
  23726. /**
  23727. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  23728. * of null. Works analogously to format. `nullFormat` can be applied only to
  23729. * series which support displaying null points.
  23730. */
  23731. nullFormat?: (boolean|string);
  23732. /**
  23733. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  23734. * that defines formatting for points with the value of null. Works
  23735. * analogously to formatter. `nullPointFormatter` can be applied only to
  23736. * series which support displaying null points.
  23737. */
  23738. nullFormatter?: DataLabelsFormatterCallbackFunction;
  23739. /**
  23740. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  23741. * flow outside the plot area. The default is `"justify"`, which aligns them
  23742. * inside the plot area. For columns and bars, this means it will be moved
  23743. * inside the bar. To display data labels outside the plot area, set `crop`
  23744. * to `false` and `overflow` to `"allow"`.
  23745. */
  23746. overflow?: DataLabelsOverflowValue;
  23747. /**
  23748. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  23749. * the `backgroundColor` is set, this is the padding within the box.
  23750. */
  23751. padding?: number;
  23752. /**
  23753. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  23754. * points. If `center` alignment is not possible, it defaults to `right`.
  23755. */
  23756. position?: AlignValue;
  23757. /**
  23758. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  23759. * that due to a more complex structure, backgrounds, borders and padding
  23760. * will be lost on a rotated data label.
  23761. */
  23762. rotation?: number;
  23763. /**
  23764. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  23765. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  23766. * an object configuration containing `color`, `offsetX`, `offsetY`,
  23767. * `opacity` and `width`.
  23768. */
  23769. shadow?: (boolean|ShadowOptionsObject);
  23770. /**
  23771. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  23772. * the border around the label. Symbols are predefined functions on the
  23773. * Renderer object.
  23774. */
  23775. shape?: string;
  23776. /**
  23777. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  23778. * default `color` setting is `"contrast"`, which is a pseudo color that
  23779. * Highcharts picks up and applies the maximum contrast to the underlying
  23780. * point item, for example the bar in a bar chart.
  23781. *
  23782. * The `textOutline` is a pseudo property that applies an outline of the
  23783. * given width with the given color, which by default is the maximum
  23784. * contrast to the text. So a bright text color will result in a black text
  23785. * outline for maximum readability on a mixed background. In some cases,
  23786. * especially with grayscale text, the text outline doesn't work well, in
  23787. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  23788. * is true, the `textOutline` will not be picked up. In this, case, the same
  23789. * effect can be acheived through the `text-shadow` CSS property.
  23790. *
  23791. * For some series types, where each point has an extent, like for example
  23792. * tree maps, the data label may overflow the point. There are two
  23793. * strategies for handling overflow. By default, the text will wrap to
  23794. * multiple lines. The other strategy is to set `style.textOverflow` to
  23795. * `ellipsis`, which will keep the text on one line plus it will break
  23796. * inside long words.
  23797. */
  23798. style?: CSSObject;
  23799. /**
  23800. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  23801. * should follow marker's shape. Border and background are disabled for a
  23802. * label that follows a path.
  23803. *
  23804. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  23805. * to true will disable this option.
  23806. */
  23807. textPath?: DataLabelsTextPathOptionsObject;
  23808. /**
  23809. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  23810. * the labels.
  23811. */
  23812. useHTML?: boolean;
  23813. /**
  23814. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  23815. * label. Can be one of `top`, `middle` or `bottom`. The default value
  23816. * depends on the data, for instance in a column chart, the label is above
  23817. * positive values and below negative values.
  23818. */
  23819. verticalAlign?: (VerticalAlignValue|null);
  23820. /**
  23821. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  23822. * label relative to the point in pixels.
  23823. */
  23824. x?: number;
  23825. /**
  23826. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  23827. * label relative to the point in pixels.
  23828. */
  23829. y?: number;
  23830. /**
  23831. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  23832. * The default Z index puts it above the series. Use a Z index of 2 to
  23833. * display it behind the series.
  23834. */
  23835. z?: number;
  23836. }
  23837. /**
  23838. * (Highcharts, Highstock) Options for the series data sorting.
  23839. */
  23840. export interface PlotAroonoscillatorDataSortingOptions {
  23841. /**
  23842. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  23843. * Use xAxis.reversed to change the sorting order.
  23844. */
  23845. enabled?: boolean;
  23846. /**
  23847. * (Highcharts, Highstock) Whether to allow matching points by name in an
  23848. * update. If this option is disabled, points will be matched by order.
  23849. */
  23850. matchByName?: boolean;
  23851. /**
  23852. * (Highcharts, Highstock) Determines what data value should be used to sort
  23853. * by.
  23854. */
  23855. sortKey?: string;
  23856. }
  23857. /**
  23858. * (Highstock) Aroon Oscillator. This series requires the `linkedTo` option to
  23859. * be set and should be loaded after the `stock/indicators/indicators.js` and
  23860. * `stock/indicators/aroon.js`.
  23861. *
  23862. * In TypeScript the type option must always be set.
  23863. *
  23864. * Configuration options for the series are given in three levels:
  23865. *
  23866. * 1. Options for all series in a chart are defined in the plotOptions.series
  23867. * object.
  23868. *
  23869. * 2. Options for all `aroonoscillator` series are defined in
  23870. * plotOptions.aroonoscillator.
  23871. *
  23872. * 3. Options for one single series are given in the series instance array. (see
  23873. * online documentation for example)
  23874. */
  23875. export interface PlotAroonoscillatorOptions {
  23876. /**
  23877. * (Highstock) Accessibility options for a series.
  23878. */
  23879. accessibility?: SeriesAccessibilityOptionsObject;
  23880. /**
  23881. * (Highstock) Allow this series' points to be selected by clicking on the
  23882. * graphic (columns, point markers, pie slices, map areas etc).
  23883. *
  23884. * The selected points can be handled by point select and unselect events,
  23885. * or collectively by the getSelectedPoints function.
  23886. *
  23887. * And alternative way of selecting points is through dragging.
  23888. */
  23889. allowPointSelect?: boolean;
  23890. /**
  23891. * (Highstock) Enable or disable the initial animation when a series is
  23892. * displayed. The animation can also be set as a configuration object.
  23893. * Please note that this option only applies to the initial animation of the
  23894. * series itself. For other animations, see chart.animation and the
  23895. * animation parameter under the API methods. The following properties are
  23896. * supported:
  23897. *
  23898. * - `defer`: The animation delay time in milliseconds.
  23899. *
  23900. * - `duration`: The duration of the animation in milliseconds.
  23901. *
  23902. * - `easing`: Can be a string reference to an easing function set on the
  23903. * `Math` object or a function. See the _Custom easing function_ demo below.
  23904. *
  23905. * Due to poor performance, animation is disabled in old IE browsers for
  23906. * several chart types.
  23907. */
  23908. animation?: (boolean|PlotAroonoscillatorAnimationOptions|Partial<AnimationOptionsObject>);
  23909. /**
  23910. * (Highstock) For some series, there is a limit that shuts down initial
  23911. * animation by default when the total number of points in the chart is too
  23912. * high. For example, for a column chart and its derivatives, animation does
  23913. * not run if there is more than 250 points totally. To disable this cap,
  23914. * set `animationLimit` to `Infinity`.
  23915. */
  23916. animationLimit?: number;
  23917. /**
  23918. * (Highstock) Sets the color blending in the boost module.
  23919. */
  23920. boostBlending?: OptionsBoostBlendingValue;
  23921. /**
  23922. * (Highstock) Set the point threshold for when a series should enter boost
  23923. * mode.
  23924. *
  23925. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  23926. * there are 2000 or more points in the series.
  23927. *
  23928. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  23929. * it to 1 will force boosting.
  23930. *
  23931. * Note that the cropThreshold also affects this setting. When zooming in on
  23932. * a series that has fewer points than the `cropThreshold`, all points are
  23933. * rendered although outside the visible plot area, and the `boostThreshold`
  23934. * won't take effect.
  23935. */
  23936. boostThreshold?: number;
  23937. /**
  23938. * (Highmaps) The border color of the map areas.
  23939. *
  23940. * In styled mode, the border stroke is given in the `.highcharts-point`
  23941. * class.
  23942. */
  23943. borderColor?: (ColorString|GradientColorObject|PatternObject);
  23944. /**
  23945. * (Highmaps) The border width of each map area.
  23946. *
  23947. * In styled mode, the border stroke width is given in the
  23948. * `.highcharts-point` class.
  23949. */
  23950. borderWidth?: number;
  23951. /**
  23952. * (Highstock) An additional class name to apply to the series' graphical
  23953. * elements. This option does not replace default class names of the
  23954. * graphical element.
  23955. */
  23956. className?: string;
  23957. /**
  23958. * (Highstock) Disable this option to allow series rendering in the whole
  23959. * plotting area.
  23960. *
  23961. * **Note:** Clipping should be always enabled when chart.zoomType is set
  23962. */
  23963. clip?: boolean;
  23964. /**
  23965. * (Highstock) The main color of the series. In line type series it applies
  23966. * to the line and the point markers unless otherwise specified. In bar type
  23967. * series it applies to the bars unless a color is specified per point. The
  23968. * default value is pulled from the `options.colors` array.
  23969. *
  23970. * In styled mode, the color can be defined by the colorIndex option. Also,
  23971. * the series color can be set with the `.highcharts-series`,
  23972. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  23973. * `.highcharts-series-{n}` class, or individual classes given by the
  23974. * `className` option.
  23975. */
  23976. color?: (ColorString|GradientColorObject|PatternObject);
  23977. /**
  23978. * (Highstock) Styled mode only. A specific color index to use for the
  23979. * series, so its graphic representations are given the class name
  23980. * `highcharts-color-{n}`.
  23981. */
  23982. colorIndex?: number;
  23983. /**
  23984. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  23985. * used to calculate point color if `colorAxis` is used. Requires to set
  23986. * `min` and `max` if some custom point property is used or if approximation
  23987. * for data grouping is set to `'sum'`.
  23988. */
  23989. colorKey?: string;
  23990. /**
  23991. * (Highstock) Defines if comparison should start from the first point
  23992. * within the visible range or should start from the first point **before**
  23993. * the range.
  23994. *
  23995. * In other words, this flag determines if first point within the visible
  23996. * range will have 0% (`compareStart=true`) or should have been already
  23997. * calculated according to the previous point (`compareStart=false`).
  23998. */
  23999. compareStart?: boolean;
  24000. /**
  24001. * (Highstock) Whether to compare indicator to the main series values or
  24002. * indicator values.
  24003. */
  24004. compareToMain?: boolean;
  24005. /**
  24006. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  24007. * series plot across the extremes.
  24008. */
  24009. connectEnds?: boolean;
  24010. /**
  24011. * (Highcharts, Highstock) Whether to connect a graph line across null
  24012. * points, or render a gap between the two points on either side of the
  24013. * null.
  24014. */
  24015. connectNulls?: boolean;
  24016. /**
  24017. * (Gantt) Override Pathfinder connector options for a series. Requires
  24018. * Highcharts Gantt to be loaded.
  24019. */
  24020. connectors?: SeriesConnectorsOptionsObject;
  24021. /**
  24022. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  24023. * rounded to its nearest pixel in order to render sharp on screen. In some
  24024. * cases, when there are a lot of densely packed columns, this leads to
  24025. * visible difference in column widths or distance between columns. In these
  24026. * cases, setting `crisp` to `false` may look better, even though each
  24027. * column is rendered blurry.
  24028. */
  24029. crisp?: boolean;
  24030. /**
  24031. * (Highcharts, Highstock) When the series contains less points than the
  24032. * crop threshold, all points are drawn, even if the points fall outside the
  24033. * visible plot area at the current zoom. The advantage of drawing all
  24034. * points (including markers and columns), is that animation is performed on
  24035. * updates. On the other hand, when the series contains more points than the
  24036. * crop threshold, the series data is cropped to only contain points that
  24037. * fall within the plot area. The advantage of cropping away invisible
  24038. * points is to increase performance on large series.
  24039. */
  24040. cropThreshold?: number;
  24041. /**
  24042. * (Highstock) You can set the cursor to "pointer" if you have click events
  24043. * attached to the series, to signal to the user that the points and lines
  24044. * can be clicked.
  24045. *
  24046. * In styled mode, the series cursor can be set with the same classes as
  24047. * listed under series.color.
  24048. */
  24049. cursor?: (string|CursorValue);
  24050. /**
  24051. * (Highstock) A reserved subspace to store options and values for
  24052. * customized functionality. Here you can add additional data for your own
  24053. * event callbacks and formatter callbacks.
  24054. */
  24055. custom?: Dictionary<any>;
  24056. /**
  24057. * (Highstock) Name of the dash style to use for the graph, or for some
  24058. * series types the outline of each shape.
  24059. *
  24060. * In styled mode, the stroke dash-array can be set with the same classes as
  24061. * listed under series.color.
  24062. */
  24063. dashStyle?: DashStyleValue;
  24064. /**
  24065. * (Highstock) Data grouping is the concept of sampling the data values into
  24066. * larger blocks in order to ease readability and increase performance of
  24067. * the JavaScript charts. Highcharts Stock by default applies data grouping
  24068. * when the points become closer than a certain pixel value, determined by
  24069. * the `groupPixelWidth` option.
  24070. *
  24071. * If data grouping is applied, the grouping information of grouped points
  24072. * can be read from the Point.dataGroup. If point options other than the
  24073. * data itself are set, for example `name` or `color` or custom properties,
  24074. * the grouping logic doesn't know how to group it. In this case the options
  24075. * of the first point instance are copied over to the group point. This can
  24076. * be altered through a custom `approximation` callback function.
  24077. */
  24078. dataGrouping?: DataGroupingOptionsObject;
  24079. /**
  24080. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  24081. * labels, appearing next to each data point.
  24082. *
  24083. * Since v6.2.0, multiple data labels can be applied to each single point by
  24084. * defining them as an array of configs.
  24085. *
  24086. * In styled mode, the data labels can be styled with the
  24087. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  24088. * (see example).
  24089. */
  24090. dataLabels?: (PlotAroonoscillatorDataLabelsOptions|Array<PlotAroonoscillatorDataLabelsOptions>);
  24091. /**
  24092. * (Highcharts, Highstock) Options for the series data sorting.
  24093. */
  24094. dataSorting?: (DataSortingOptionsObject|PlotAroonoscillatorDataSortingOptions);
  24095. /**
  24096. * (Highstock) A description of the series to add to the screen reader
  24097. * information about the series.
  24098. */
  24099. description?: string;
  24100. /**
  24101. * (Highstock) Enable or disable the mouse tracking for a specific series.
  24102. * This includes point tooltips and click events on graphs and points. For
  24103. * large datasets it improves performance.
  24104. */
  24105. enableMouseTracking?: boolean;
  24106. /**
  24107. * (Highstock) General event handlers for the series items. These event
  24108. * hooks can also be attached to the series at run time using the
  24109. * `Highcharts.addEvent` function.
  24110. */
  24111. events?: SeriesEventsOptionsObject;
  24112. /**
  24113. * (Highstock) Determines whether the series should look for the nearest
  24114. * point in both dimensions or just the x-dimension when hovering the
  24115. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  24116. * series. If the data has duplicate x-values, it is recommended to set this
  24117. * to `'xy'` to allow hovering over all points.
  24118. *
  24119. * Applies only to series types using nearest neighbor search (not direct
  24120. * hover) for tooltip.
  24121. */
  24122. findNearestPointBy?: OptionsFindNearestPointByValue;
  24123. /**
  24124. * (Highstock) Defines when to display a gap in the graph, together with the
  24125. * gapUnit option.
  24126. *
  24127. * In case when `dataGrouping` is enabled, points can be grouped into a
  24128. * larger time span. This can make the grouped points to have a greater
  24129. * distance than the absolute value of `gapSize` property, which will result
  24130. * in disappearing graph completely. To prevent this situation the mentioned
  24131. * distance between grouped points is used instead of previously defined
  24132. * `gapSize`.
  24133. *
  24134. * In practice, this option is most often used to visualize gaps in time
  24135. * series. In a stock chart, intraday data is available for daytime hours,
  24136. * while gaps will appear in nights and weekends.
  24137. */
  24138. gapSize?: number;
  24139. /**
  24140. * (Highstock) Together with gapSize, this option defines where to draw gaps
  24141. * in the graph.
  24142. *
  24143. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  24144. * if the distance between two points is greater than 5 times that of the
  24145. * two closest points, the graph will be broken.
  24146. *
  24147. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  24148. * values, which on a datetime axis is milliseconds. This also applies to
  24149. * the navigator series that inherits gap options from the base series.
  24150. */
  24151. gapUnit?: OptionsGapUnitValue;
  24152. /**
  24153. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  24154. * chart width or only the zoomed area when zooming in on parts of the X
  24155. * axis. By default, the Y axis adjusts to the min and max of the visible
  24156. * data. Cartesian series only.
  24157. */
  24158. getExtremesFromAll?: boolean;
  24159. /**
  24160. * (Highstock) When set to `false` will prevent the series data from being
  24161. * included in any form of data export.
  24162. *
  24163. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  24164. * `includeInCSVExport`.
  24165. */
  24166. includeInDataExport?: boolean;
  24167. /**
  24168. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  24169. * series as possible in a natural way, seeking to avoid other series. The
  24170. * goal of this feature is to make the chart more easily readable, like if a
  24171. * human designer placed the labels in the optimal position.
  24172. *
  24173. * The series labels currently work with series types having a `graph` or an
  24174. * `area`.
  24175. */
  24176. label?: SeriesLabelOptionsObject;
  24177. /**
  24178. * (Highstock) The line marks the last price from all points.
  24179. */
  24180. lastPrice?: SeriesLastPriceOptionsObject;
  24181. /**
  24182. * (Highstock) The line marks the last price from visible range of points.
  24183. */
  24184. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  24185. /**
  24186. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  24187. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  24188. * the ends and bends.
  24189. */
  24190. linecap?: SeriesLinecapValue;
  24191. /**
  24192. * (Highcharts, Highstock) Pixel width of the graph line.
  24193. */
  24194. lineWidth?: number;
  24195. /**
  24196. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  24197. * based on. Required for this indicator.
  24198. */
  24199. linkedTo?: string;
  24200. /**
  24201. * (Highstock) Options for the point markers of line-like series. Properties
  24202. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  24203. * appearance of the markers. Other series types, like column series, don't
  24204. * have markers, but have visual options on the series level instead.
  24205. *
  24206. * In styled mode, the markers can be styled with the `.highcharts-point`,
  24207. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  24208. */
  24209. marker?: PointMarkerOptionsObject;
  24210. /**
  24211. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  24212. * If not set, it will be based on a technical indicator type and default
  24213. * params.
  24214. */
  24215. name?: string;
  24216. /**
  24217. * (Highstock) The color for the parts of the graph or points that are below
  24218. * the threshold. Note that `zones` takes precedence over the negative
  24219. * color. Using `negativeColor` is equivalent to applying a zone with value
  24220. * of 0.
  24221. */
  24222. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  24223. /**
  24224. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  24225. * dataLabels.
  24226. */
  24227. opacity?: number;
  24228. /**
  24229. * (Highstock) Paramters used in calculation of aroon series points.
  24230. */
  24231. params?: PlotAroonoscillatorParamsOptions;
  24232. /**
  24233. * (Highstock) Properties for each single point.
  24234. */
  24235. point?: PlotSeriesPointOptions;
  24236. /**
  24237. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  24238. * individual series. Overrides the chart wide configuration.
  24239. */
  24240. pointDescriptionFormatter?: Function;
  24241. /**
  24242. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  24243. * true, the checkbox next to the series name in the legend will be checked
  24244. * for a selected series.
  24245. */
  24246. selected?: boolean;
  24247. /**
  24248. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  24249. * the shadow can be an object configuration containing `color`, `offsetX`,
  24250. * `offsetY`, `opacity` and `width`.
  24251. */
  24252. shadow?: (boolean|ShadowOptionsObject);
  24253. /**
  24254. * (Highstock) If true, a checkbox is displayed next to the legend item to
  24255. * allow selecting the series. The state of the checkbox is determined by
  24256. * the `selected` option.
  24257. */
  24258. showCheckbox?: boolean;
  24259. /**
  24260. * (Highstock) Whether to display this particular series or series type in
  24261. * the legend. Standalone series are shown in legend by default, and linked
  24262. * series are not. Since v7.2.0 it is possible to show series that use
  24263. * colorAxis by setting this option to `true`.
  24264. */
  24265. showInLegend?: boolean;
  24266. /**
  24267. * (Highstock) If set to `true`, the accessibility module will skip past the
  24268. * points in this series for keyboard navigation.
  24269. */
  24270. skipKeyboardNavigation?: boolean;
  24271. /**
  24272. * (Highcharts, Highstock) When this is true, the series will not cause the
  24273. * Y axis to cross the zero plane (or threshold option) unless the data
  24274. * actually crosses the plane.
  24275. *
  24276. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  24277. * make the Y axis show negative values according to the `minPadding`
  24278. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  24279. */
  24280. softThreshold?: boolean;
  24281. states?: SeriesStatesOptionsObject;
  24282. /**
  24283. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  24284. * values are `left`, `center` and `right`.
  24285. */
  24286. step?: OptionsStepValue;
  24287. /**
  24288. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  24289. * event on a series isn't triggered until the mouse moves over another
  24290. * series, or out of the plot area. When false, the `mouseOut` event on a
  24291. * series is triggered when the mouse leaves the area around the series'
  24292. * graph or markers. This also implies the tooltip when not shared. When
  24293. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  24294. * be hidden when moving the mouse between series. Defaults to true for line
  24295. * and area type series, but to false for columns, pies etc.
  24296. *
  24297. * **Note:** The boost module will force this option because of technical
  24298. * limitations.
  24299. */
  24300. stickyTracking?: boolean;
  24301. /**
  24302. * (Highcharts, Highstock) The threshold, also called zero level or base
  24303. * level. For line type series this is only used in conjunction with
  24304. * negativeColor.
  24305. */
  24306. threshold?: (number|null);
  24307. /**
  24308. * (Highstock) A configuration object for the tooltip rendering of each
  24309. * single series. Properties are inherited from tooltip, but only the
  24310. * following properties can be defined on a series level.
  24311. */
  24312. tooltip?: SeriesTooltipOptionsObject;
  24313. /**
  24314. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  24315. * is longer than this, only one dimensional arrays of numbers, or two
  24316. * dimensional arrays with x and y values are allowed. Also, only the first
  24317. * point is tested, and the rest are assumed to be the same format. This
  24318. * saves expensive data checking and indexing in long series. Set it to `0`
  24319. * disable.
  24320. *
  24321. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  24322. * two dimensional arrays are allowed.
  24323. */
  24324. turboThreshold?: number;
  24325. /**
  24326. * (Highstock) Set the initial visibility of the series.
  24327. */
  24328. visible?: boolean;
  24329. /**
  24330. * (Highmaps) Define the z index of the series.
  24331. */
  24332. zIndex?: number;
  24333. /**
  24334. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  24335. */
  24336. zoneAxis?: string;
  24337. /**
  24338. * (Highcharts, Highstock) An array defining zones within a series. Zones
  24339. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  24340. * the `zoneAxis` option. The zone definitions have to be in ascending order
  24341. * regarding to the value.
  24342. *
  24343. * In styled mode, the color zones are styled with the
  24344. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  24345. * option (view live demo).
  24346. */
  24347. zones?: Array<SeriesZonesOptionsObject>;
  24348. }
  24349. /**
  24350. * (Highstock) Paramters used in calculation of aroon series points.
  24351. */
  24352. export interface PlotAroonoscillatorParamsOptions {
  24353. index?: string;
  24354. /**
  24355. * (Highstock) The base period for indicator calculations. This is the
  24356. * number of data points which are taken into account for the indicator
  24357. * calculations.
  24358. */
  24359. period?: number;
  24360. }
  24361. /**
  24362. * (Highstock) Paramters used in calculation of aroon series points.
  24363. */
  24364. export interface PlotAroonParamsOptions {
  24365. index?: string;
  24366. /**
  24367. * (Highstock) The base period for indicator calculations. This is the
  24368. * number of data points which are taken into account for the indicator
  24369. * calculations.
  24370. */
  24371. period?: number;
  24372. }
  24373. /**
  24374. * (Highstock) Enable or disable the initial animation when a series is
  24375. * displayed. The animation can also be set as a configuration object. Please
  24376. * note that this option only applies to the initial animation of the series
  24377. * itself. For other animations, see chart.animation and the animation parameter
  24378. * under the API methods. The following properties are supported:
  24379. *
  24380. * - `defer`: The animation delay time in milliseconds.
  24381. *
  24382. * - `duration`: The duration of the animation in milliseconds.
  24383. *
  24384. * - `easing`: Can be a string reference to an easing function set on the `Math`
  24385. * object or a function. See the _Custom easing function_ demo below.
  24386. *
  24387. * Due to poor performance, animation is disabled in old IE browsers for several
  24388. * chart types.
  24389. */
  24390. export interface PlotAtrAnimationOptions {
  24391. defer?: number;
  24392. }
  24393. /**
  24394. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  24395. * animation when a series is displayed for the `dataLabels`. The animation can
  24396. * also be set as a configuration object. Please note that this option only
  24397. * applies to the initial animation. For other animations, see chart.animation
  24398. * and the animation parameter under the API methods. The following properties
  24399. * are supported:
  24400. *
  24401. * - `defer`: The animation delay time in milliseconds.
  24402. */
  24403. export interface PlotAtrDataLabelsAnimationOptions {
  24404. /**
  24405. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  24406. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  24407. * inherits defer time from the series.animation.defer.
  24408. */
  24409. defer?: number;
  24410. }
  24411. /**
  24412. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  24413. * appearing next to each data point.
  24414. *
  24415. * Since v6.2.0, multiple data labels can be applied to each single point by
  24416. * defining them as an array of configs.
  24417. *
  24418. * In styled mode, the data labels can be styled with the
  24419. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  24420. * example).
  24421. */
  24422. export interface PlotAtrDataLabelsOptions {
  24423. /**
  24424. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  24425. * compared to the point. If `right`, the right side of the label should be
  24426. * touching the point. For points with an extent, like columns, the
  24427. * alignments also dictates how to align it inside the box, as given with
  24428. * the inside option. Can be one of `left`, `center` or `right`.
  24429. */
  24430. align?: (AlignValue|null);
  24431. /**
  24432. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  24433. * overlap. To make the labels less sensitive for overlapping, the
  24434. * dataLabels.padding can be set to 0.
  24435. */
  24436. allowOverlap?: boolean;
  24437. /**
  24438. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  24439. * animation when a series is displayed for the `dataLabels`. The animation
  24440. * can also be set as a configuration object. Please note that this option
  24441. * only applies to the initial animation. For other animations, see
  24442. * chart.animation and the animation parameter under the API methods. The
  24443. * following properties are supported:
  24444. *
  24445. * - `defer`: The animation delay time in milliseconds.
  24446. */
  24447. animation?: (boolean|PlotAtrDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  24448. /**
  24449. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  24450. * for the data label.
  24451. */
  24452. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  24453. /**
  24454. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  24455. * label. Defaults to `undefined`.
  24456. */
  24457. borderColor?: (ColorString|GradientColorObject|PatternObject);
  24458. /**
  24459. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  24460. * the data label.
  24461. */
  24462. borderRadius?: number;
  24463. /**
  24464. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  24465. * the data label.
  24466. */
  24467. borderWidth?: number;
  24468. /**
  24469. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  24470. * Particularly in styled mode, this can be used to give each series' or
  24471. * point's data label unique styling. In addition to this option, a default
  24472. * color class name is added so that we can give the labels a contrast text
  24473. * shadow.
  24474. */
  24475. className?: string;
  24476. /**
  24477. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  24478. * labels. Defaults to `undefined`. For certain series types, like column or
  24479. * map, the data labels can be drawn inside the points. In this case the
  24480. * data label will be drawn with maximum contrast by default. Additionally,
  24481. * it will be given a `text-outline` style with the opposite color, to
  24482. * further increase the contrast. This can be overridden by setting the
  24483. * `text-outline` style to `none` in the `dataLabels.style` option.
  24484. */
  24485. color?: (ColorString|GradientColorObject|PatternObject);
  24486. /**
  24487. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  24488. * are outside the plot area. By default, the data label is moved inside the
  24489. * plot area according to the overflow option.
  24490. */
  24491. crop?: boolean;
  24492. /**
  24493. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  24494. * labels until the initial series animation has finished. Setting to
  24495. * `false` renders the data label immediately. If set to `true` inherits the
  24496. * defer time set in plotOptions.series.animation. If set to a number, a
  24497. * defer time is specified in milliseconds.
  24498. */
  24499. defer?: (boolean|number);
  24500. /**
  24501. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  24502. * labels.
  24503. */
  24504. enabled?: boolean;
  24505. /**
  24506. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  24507. * of which data labels to display. The declarative filter is designed for
  24508. * use when callback functions are not available, like when the chart
  24509. * options require a pure JSON structure or for use with graphical editors.
  24510. * For programmatic control, use the `formatter` instead, and return
  24511. * `undefined` to disable a single data label.
  24512. */
  24513. filter?: DataLabelsFilterOptionsObject;
  24514. /**
  24515. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  24516. * label. Available variables are the same as for `formatter`.
  24517. */
  24518. format?: string;
  24519. /**
  24520. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  24521. * format the data label. Note that if a `format` is defined, the format
  24522. * takes precedence and the formatter is ignored.
  24523. */
  24524. formatter?: DataLabelsFormatterCallbackFunction;
  24525. /**
  24526. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  24527. * columns or map areas, whether to align the data label inside the box or
  24528. * to the actual value point. Defaults to `false` in most cases, `true` in
  24529. * stacked columns.
  24530. */
  24531. inside?: boolean;
  24532. /**
  24533. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  24534. * of null. Works analogously to format. `nullFormat` can be applied only to
  24535. * series which support displaying null points.
  24536. */
  24537. nullFormat?: (boolean|string);
  24538. /**
  24539. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  24540. * that defines formatting for points with the value of null. Works
  24541. * analogously to formatter. `nullPointFormatter` can be applied only to
  24542. * series which support displaying null points.
  24543. */
  24544. nullFormatter?: DataLabelsFormatterCallbackFunction;
  24545. /**
  24546. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  24547. * flow outside the plot area. The default is `"justify"`, which aligns them
  24548. * inside the plot area. For columns and bars, this means it will be moved
  24549. * inside the bar. To display data labels outside the plot area, set `crop`
  24550. * to `false` and `overflow` to `"allow"`.
  24551. */
  24552. overflow?: DataLabelsOverflowValue;
  24553. /**
  24554. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  24555. * the `backgroundColor` is set, this is the padding within the box.
  24556. */
  24557. padding?: number;
  24558. /**
  24559. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  24560. * points. If `center` alignment is not possible, it defaults to `right`.
  24561. */
  24562. position?: AlignValue;
  24563. /**
  24564. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  24565. * that due to a more complex structure, backgrounds, borders and padding
  24566. * will be lost on a rotated data label.
  24567. */
  24568. rotation?: number;
  24569. /**
  24570. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  24571. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  24572. * an object configuration containing `color`, `offsetX`, `offsetY`,
  24573. * `opacity` and `width`.
  24574. */
  24575. shadow?: (boolean|ShadowOptionsObject);
  24576. /**
  24577. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  24578. * the border around the label. Symbols are predefined functions on the
  24579. * Renderer object.
  24580. */
  24581. shape?: string;
  24582. /**
  24583. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  24584. * default `color` setting is `"contrast"`, which is a pseudo color that
  24585. * Highcharts picks up and applies the maximum contrast to the underlying
  24586. * point item, for example the bar in a bar chart.
  24587. *
  24588. * The `textOutline` is a pseudo property that applies an outline of the
  24589. * given width with the given color, which by default is the maximum
  24590. * contrast to the text. So a bright text color will result in a black text
  24591. * outline for maximum readability on a mixed background. In some cases,
  24592. * especially with grayscale text, the text outline doesn't work well, in
  24593. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  24594. * is true, the `textOutline` will not be picked up. In this, case, the same
  24595. * effect can be acheived through the `text-shadow` CSS property.
  24596. *
  24597. * For some series types, where each point has an extent, like for example
  24598. * tree maps, the data label may overflow the point. There are two
  24599. * strategies for handling overflow. By default, the text will wrap to
  24600. * multiple lines. The other strategy is to set `style.textOverflow` to
  24601. * `ellipsis`, which will keep the text on one line plus it will break
  24602. * inside long words.
  24603. */
  24604. style?: CSSObject;
  24605. /**
  24606. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  24607. * should follow marker's shape. Border and background are disabled for a
  24608. * label that follows a path.
  24609. *
  24610. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  24611. * to true will disable this option.
  24612. */
  24613. textPath?: DataLabelsTextPathOptionsObject;
  24614. /**
  24615. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  24616. * the labels.
  24617. */
  24618. useHTML?: boolean;
  24619. /**
  24620. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  24621. * label. Can be one of `top`, `middle` or `bottom`. The default value
  24622. * depends on the data, for instance in a column chart, the label is above
  24623. * positive values and below negative values.
  24624. */
  24625. verticalAlign?: (VerticalAlignValue|null);
  24626. /**
  24627. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  24628. * label relative to the point in pixels.
  24629. */
  24630. x?: number;
  24631. /**
  24632. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  24633. * label relative to the point in pixels.
  24634. */
  24635. y?: number;
  24636. /**
  24637. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  24638. * The default Z index puts it above the series. Use a Z index of 2 to
  24639. * display it behind the series.
  24640. */
  24641. z?: number;
  24642. }
  24643. /**
  24644. * (Highcharts, Highstock) Options for the series data sorting.
  24645. */
  24646. export interface PlotAtrDataSortingOptions {
  24647. /**
  24648. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  24649. * Use xAxis.reversed to change the sorting order.
  24650. */
  24651. enabled?: boolean;
  24652. /**
  24653. * (Highcharts, Highstock) Whether to allow matching points by name in an
  24654. * update. If this option is disabled, points will be matched by order.
  24655. */
  24656. matchByName?: boolean;
  24657. /**
  24658. * (Highcharts, Highstock) Determines what data value should be used to sort
  24659. * by.
  24660. */
  24661. sortKey?: string;
  24662. }
  24663. /**
  24664. * (Highstock) Average true range indicator (ATR). This series requires
  24665. * `linkedTo` option to be set.
  24666. *
  24667. * In TypeScript the type option must always be set.
  24668. *
  24669. * Configuration options for the series are given in three levels:
  24670. *
  24671. * 1. Options for all series in a chart are defined in the plotOptions.series
  24672. * object.
  24673. *
  24674. * 2. Options for all `atr` series are defined in plotOptions.atr.
  24675. *
  24676. * 3. Options for one single series are given in the series instance array. (see
  24677. * online documentation for example)
  24678. */
  24679. export interface PlotAtrOptions {
  24680. /**
  24681. * (Highstock) Accessibility options for a series.
  24682. */
  24683. accessibility?: SeriesAccessibilityOptionsObject;
  24684. /**
  24685. * (Highstock) Allow this series' points to be selected by clicking on the
  24686. * graphic (columns, point markers, pie slices, map areas etc).
  24687. *
  24688. * The selected points can be handled by point select and unselect events,
  24689. * or collectively by the getSelectedPoints function.
  24690. *
  24691. * And alternative way of selecting points is through dragging.
  24692. */
  24693. allowPointSelect?: boolean;
  24694. /**
  24695. * (Highstock) Enable or disable the initial animation when a series is
  24696. * displayed. The animation can also be set as a configuration object.
  24697. * Please note that this option only applies to the initial animation of the
  24698. * series itself. For other animations, see chart.animation and the
  24699. * animation parameter under the API methods. The following properties are
  24700. * supported:
  24701. *
  24702. * - `defer`: The animation delay time in milliseconds.
  24703. *
  24704. * - `duration`: The duration of the animation in milliseconds.
  24705. *
  24706. * - `easing`: Can be a string reference to an easing function set on the
  24707. * `Math` object or a function. See the _Custom easing function_ demo below.
  24708. *
  24709. * Due to poor performance, animation is disabled in old IE browsers for
  24710. * several chart types.
  24711. */
  24712. animation?: (boolean|PlotAtrAnimationOptions|Partial<AnimationOptionsObject>);
  24713. /**
  24714. * (Highstock) For some series, there is a limit that shuts down initial
  24715. * animation by default when the total number of points in the chart is too
  24716. * high. For example, for a column chart and its derivatives, animation does
  24717. * not run if there is more than 250 points totally. To disable this cap,
  24718. * set `animationLimit` to `Infinity`.
  24719. */
  24720. animationLimit?: number;
  24721. /**
  24722. * (Highstock) Sets the color blending in the boost module.
  24723. */
  24724. boostBlending?: OptionsBoostBlendingValue;
  24725. /**
  24726. * (Highstock) Set the point threshold for when a series should enter boost
  24727. * mode.
  24728. *
  24729. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  24730. * there are 2000 or more points in the series.
  24731. *
  24732. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  24733. * it to 1 will force boosting.
  24734. *
  24735. * Note that the cropThreshold also affects this setting. When zooming in on
  24736. * a series that has fewer points than the `cropThreshold`, all points are
  24737. * rendered although outside the visible plot area, and the `boostThreshold`
  24738. * won't take effect.
  24739. */
  24740. boostThreshold?: number;
  24741. /**
  24742. * (Highmaps) The border color of the map areas.
  24743. *
  24744. * In styled mode, the border stroke is given in the `.highcharts-point`
  24745. * class.
  24746. */
  24747. borderColor?: (ColorString|GradientColorObject|PatternObject);
  24748. /**
  24749. * (Highmaps) The border width of each map area.
  24750. *
  24751. * In styled mode, the border stroke width is given in the
  24752. * `.highcharts-point` class.
  24753. */
  24754. borderWidth?: number;
  24755. /**
  24756. * (Highstock) An additional class name to apply to the series' graphical
  24757. * elements. This option does not replace default class names of the
  24758. * graphical element.
  24759. */
  24760. className?: string;
  24761. /**
  24762. * (Highstock) Disable this option to allow series rendering in the whole
  24763. * plotting area.
  24764. *
  24765. * **Note:** Clipping should be always enabled when chart.zoomType is set
  24766. */
  24767. clip?: boolean;
  24768. /**
  24769. * (Highstock) The main color of the series. In line type series it applies
  24770. * to the line and the point markers unless otherwise specified. In bar type
  24771. * series it applies to the bars unless a color is specified per point. The
  24772. * default value is pulled from the `options.colors` array.
  24773. *
  24774. * In styled mode, the color can be defined by the colorIndex option. Also,
  24775. * the series color can be set with the `.highcharts-series`,
  24776. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  24777. * `.highcharts-series-{n}` class, or individual classes given by the
  24778. * `className` option.
  24779. */
  24780. color?: (ColorString|GradientColorObject|PatternObject);
  24781. /**
  24782. * (Highstock) Styled mode only. A specific color index to use for the
  24783. * series, so its graphic representations are given the class name
  24784. * `highcharts-color-{n}`.
  24785. */
  24786. colorIndex?: number;
  24787. /**
  24788. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  24789. * used to calculate point color if `colorAxis` is used. Requires to set
  24790. * `min` and `max` if some custom point property is used or if approximation
  24791. * for data grouping is set to `'sum'`.
  24792. */
  24793. colorKey?: string;
  24794. /**
  24795. * (Highstock) Compare the values of the series against the first non-null,
  24796. * non- zero value in the visible range. The y axis will show percentage or
  24797. * absolute change depending on whether `compare` is set to `"percent"` or
  24798. * `"value"`. When this is applied to multiple series, it allows comparing
  24799. * the development of the series against each other. Adds a `change` field
  24800. * to every point object.
  24801. */
  24802. compare?: string;
  24803. /**
  24804. * (Highstock) When compare is `percent`, this option dictates whether to
  24805. * use 0 or 100 as the base of comparison.
  24806. */
  24807. compareBase?: (0|100);
  24808. /**
  24809. * (Highstock) Defines if comparison should start from the first point
  24810. * within the visible range or should start from the first point **before**
  24811. * the range.
  24812. *
  24813. * In other words, this flag determines if first point within the visible
  24814. * range will have 0% (`compareStart=true`) or should have been already
  24815. * calculated according to the previous point (`compareStart=false`).
  24816. */
  24817. compareStart?: boolean;
  24818. /**
  24819. * (Highstock) Whether to compare indicator to the main series values or
  24820. * indicator values.
  24821. */
  24822. compareToMain?: boolean;
  24823. /**
  24824. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  24825. * series plot across the extremes.
  24826. */
  24827. connectEnds?: boolean;
  24828. /**
  24829. * (Highcharts, Highstock) Whether to connect a graph line across null
  24830. * points, or render a gap between the two points on either side of the
  24831. * null.
  24832. */
  24833. connectNulls?: boolean;
  24834. /**
  24835. * (Gantt) Override Pathfinder connector options for a series. Requires
  24836. * Highcharts Gantt to be loaded.
  24837. */
  24838. connectors?: SeriesConnectorsOptionsObject;
  24839. /**
  24840. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  24841. * rounded to its nearest pixel in order to render sharp on screen. In some
  24842. * cases, when there are a lot of densely packed columns, this leads to
  24843. * visible difference in column widths or distance between columns. In these
  24844. * cases, setting `crisp` to `false` may look better, even though each
  24845. * column is rendered blurry.
  24846. */
  24847. crisp?: boolean;
  24848. /**
  24849. * (Highcharts, Highstock) When the series contains less points than the
  24850. * crop threshold, all points are drawn, even if the points fall outside the
  24851. * visible plot area at the current zoom. The advantage of drawing all
  24852. * points (including markers and columns), is that animation is performed on
  24853. * updates. On the other hand, when the series contains more points than the
  24854. * crop threshold, the series data is cropped to only contain points that
  24855. * fall within the plot area. The advantage of cropping away invisible
  24856. * points is to increase performance on large series.
  24857. */
  24858. cropThreshold?: number;
  24859. /**
  24860. * (Highstock) You can set the cursor to "pointer" if you have click events
  24861. * attached to the series, to signal to the user that the points and lines
  24862. * can be clicked.
  24863. *
  24864. * In styled mode, the series cursor can be set with the same classes as
  24865. * listed under series.color.
  24866. */
  24867. cursor?: (string|CursorValue);
  24868. /**
  24869. * (Highstock) A reserved subspace to store options and values for
  24870. * customized functionality. Here you can add additional data for your own
  24871. * event callbacks and formatter callbacks.
  24872. */
  24873. custom?: Dictionary<any>;
  24874. /**
  24875. * (Highstock) Name of the dash style to use for the graph, or for some
  24876. * series types the outline of each shape.
  24877. *
  24878. * In styled mode, the stroke dash-array can be set with the same classes as
  24879. * listed under series.color.
  24880. */
  24881. dashStyle?: DashStyleValue;
  24882. /**
  24883. * (Highstock) Data grouping is the concept of sampling the data values into
  24884. * larger blocks in order to ease readability and increase performance of
  24885. * the JavaScript charts. Highcharts Stock by default applies data grouping
  24886. * when the points become closer than a certain pixel value, determined by
  24887. * the `groupPixelWidth` option.
  24888. *
  24889. * If data grouping is applied, the grouping information of grouped points
  24890. * can be read from the Point.dataGroup. If point options other than the
  24891. * data itself are set, for example `name` or `color` or custom properties,
  24892. * the grouping logic doesn't know how to group it. In this case the options
  24893. * of the first point instance are copied over to the group point. This can
  24894. * be altered through a custom `approximation` callback function.
  24895. */
  24896. dataGrouping?: DataGroupingOptionsObject;
  24897. /**
  24898. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  24899. * labels, appearing next to each data point.
  24900. *
  24901. * Since v6.2.0, multiple data labels can be applied to each single point by
  24902. * defining them as an array of configs.
  24903. *
  24904. * In styled mode, the data labels can be styled with the
  24905. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  24906. * (see example).
  24907. */
  24908. dataLabels?: (PlotAtrDataLabelsOptions|Array<PlotAtrDataLabelsOptions>);
  24909. /**
  24910. * (Highcharts, Highstock) Options for the series data sorting.
  24911. */
  24912. dataSorting?: (DataSortingOptionsObject|PlotAtrDataSortingOptions);
  24913. /**
  24914. * (Highstock) A description of the series to add to the screen reader
  24915. * information about the series.
  24916. */
  24917. description?: string;
  24918. /**
  24919. * (Highstock) Enable or disable the mouse tracking for a specific series.
  24920. * This includes point tooltips and click events on graphs and points. For
  24921. * large datasets it improves performance.
  24922. */
  24923. enableMouseTracking?: boolean;
  24924. /**
  24925. * (Highstock) General event handlers for the series items. These event
  24926. * hooks can also be attached to the series at run time using the
  24927. * `Highcharts.addEvent` function.
  24928. */
  24929. events?: SeriesEventsOptionsObject;
  24930. /**
  24931. * (Highstock) Determines whether the series should look for the nearest
  24932. * point in both dimensions or just the x-dimension when hovering the
  24933. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  24934. * series. If the data has duplicate x-values, it is recommended to set this
  24935. * to `'xy'` to allow hovering over all points.
  24936. *
  24937. * Applies only to series types using nearest neighbor search (not direct
  24938. * hover) for tooltip.
  24939. */
  24940. findNearestPointBy?: OptionsFindNearestPointByValue;
  24941. /**
  24942. * (Highstock) Defines when to display a gap in the graph, together with the
  24943. * gapUnit option.
  24944. *
  24945. * In case when `dataGrouping` is enabled, points can be grouped into a
  24946. * larger time span. This can make the grouped points to have a greater
  24947. * distance than the absolute value of `gapSize` property, which will result
  24948. * in disappearing graph completely. To prevent this situation the mentioned
  24949. * distance between grouped points is used instead of previously defined
  24950. * `gapSize`.
  24951. *
  24952. * In practice, this option is most often used to visualize gaps in time
  24953. * series. In a stock chart, intraday data is available for daytime hours,
  24954. * while gaps will appear in nights and weekends.
  24955. */
  24956. gapSize?: number;
  24957. /**
  24958. * (Highstock) Together with gapSize, this option defines where to draw gaps
  24959. * in the graph.
  24960. *
  24961. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  24962. * if the distance between two points is greater than 5 times that of the
  24963. * two closest points, the graph will be broken.
  24964. *
  24965. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  24966. * values, which on a datetime axis is milliseconds. This also applies to
  24967. * the navigator series that inherits gap options from the base series.
  24968. */
  24969. gapUnit?: OptionsGapUnitValue;
  24970. /**
  24971. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  24972. * chart width or only the zoomed area when zooming in on parts of the X
  24973. * axis. By default, the Y axis adjusts to the min and max of the visible
  24974. * data. Cartesian series only.
  24975. */
  24976. getExtremesFromAll?: boolean;
  24977. /**
  24978. * (Highstock) When set to `false` will prevent the series data from being
  24979. * included in any form of data export.
  24980. *
  24981. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  24982. * `includeInCSVExport`.
  24983. */
  24984. includeInDataExport?: boolean;
  24985. /**
  24986. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  24987. * series as possible in a natural way, seeking to avoid other series. The
  24988. * goal of this feature is to make the chart more easily readable, like if a
  24989. * human designer placed the labels in the optimal position.
  24990. *
  24991. * The series labels currently work with series types having a `graph` or an
  24992. * `area`.
  24993. */
  24994. label?: SeriesLabelOptionsObject;
  24995. /**
  24996. * (Highstock) The line marks the last price from all points.
  24997. */
  24998. lastPrice?: SeriesLastPriceOptionsObject;
  24999. /**
  25000. * (Highstock) The line marks the last price from visible range of points.
  25001. */
  25002. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  25003. /**
  25004. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  25005. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  25006. * the ends and bends.
  25007. */
  25008. linecap?: SeriesLinecapValue;
  25009. /**
  25010. * (Highcharts, Highstock) Pixel width of the graph line.
  25011. */
  25012. lineWidth?: number;
  25013. /**
  25014. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  25015. * based on. Required for this indicator.
  25016. */
  25017. linkedTo?: string;
  25018. /**
  25019. * (Highstock) Options for the point markers of line-like series. Properties
  25020. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  25021. * appearance of the markers. Other series types, like column series, don't
  25022. * have markers, but have visual options on the series level instead.
  25023. *
  25024. * In styled mode, the markers can be styled with the `.highcharts-point`,
  25025. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  25026. */
  25027. marker?: PointMarkerOptionsObject;
  25028. /**
  25029. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  25030. * If not set, it will be based on a technical indicator type and default
  25031. * params.
  25032. */
  25033. name?: string;
  25034. /**
  25035. * (Highstock) The color for the parts of the graph or points that are below
  25036. * the threshold. Note that `zones` takes precedence over the negative
  25037. * color. Using `negativeColor` is equivalent to applying a zone with value
  25038. * of 0.
  25039. */
  25040. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  25041. /**
  25042. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  25043. * dataLabels.
  25044. */
  25045. opacity?: number;
  25046. /**
  25047. * (Highstock) Paramters used in calculation of regression series' points.
  25048. */
  25049. params?: PlotAtrParamsOptions;
  25050. /**
  25051. * (Highstock) Properties for each single point.
  25052. */
  25053. point?: PlotSeriesPointOptions;
  25054. /**
  25055. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  25056. * individual series. Overrides the chart wide configuration.
  25057. */
  25058. pointDescriptionFormatter?: Function;
  25059. /**
  25060. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  25061. * true, the checkbox next to the series name in the legend will be checked
  25062. * for a selected series.
  25063. */
  25064. selected?: boolean;
  25065. /**
  25066. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  25067. * the shadow can be an object configuration containing `color`, `offsetX`,
  25068. * `offsetY`, `opacity` and `width`.
  25069. */
  25070. shadow?: (boolean|ShadowOptionsObject);
  25071. /**
  25072. * (Highstock) If true, a checkbox is displayed next to the legend item to
  25073. * allow selecting the series. The state of the checkbox is determined by
  25074. * the `selected` option.
  25075. */
  25076. showCheckbox?: boolean;
  25077. /**
  25078. * (Highstock) Whether to display this particular series or series type in
  25079. * the legend. Standalone series are shown in legend by default, and linked
  25080. * series are not. Since v7.2.0 it is possible to show series that use
  25081. * colorAxis by setting this option to `true`.
  25082. */
  25083. showInLegend?: boolean;
  25084. /**
  25085. * (Highstock) If set to `true`, the accessibility module will skip past the
  25086. * points in this series for keyboard navigation.
  25087. */
  25088. skipKeyboardNavigation?: boolean;
  25089. /**
  25090. * (Highcharts, Highstock) When this is true, the series will not cause the
  25091. * Y axis to cross the zero plane (or threshold option) unless the data
  25092. * actually crosses the plane.
  25093. *
  25094. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  25095. * make the Y axis show negative values according to the `minPadding`
  25096. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  25097. */
  25098. softThreshold?: boolean;
  25099. states?: SeriesStatesOptionsObject;
  25100. /**
  25101. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  25102. * values are `left`, `center` and `right`.
  25103. */
  25104. step?: OptionsStepValue;
  25105. /**
  25106. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  25107. * event on a series isn't triggered until the mouse moves over another
  25108. * series, or out of the plot area. When false, the `mouseOut` event on a
  25109. * series is triggered when the mouse leaves the area around the series'
  25110. * graph or markers. This also implies the tooltip when not shared. When
  25111. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  25112. * be hidden when moving the mouse between series. Defaults to true for line
  25113. * and area type series, but to false for columns, pies etc.
  25114. *
  25115. * **Note:** The boost module will force this option because of technical
  25116. * limitations.
  25117. */
  25118. stickyTracking?: boolean;
  25119. /**
  25120. * (Highcharts, Highstock) The threshold, also called zero level or base
  25121. * level. For line type series this is only used in conjunction with
  25122. * negativeColor.
  25123. */
  25124. threshold?: (number|null);
  25125. /**
  25126. * (Highstock) A configuration object for the tooltip rendering of each
  25127. * single series. Properties are inherited from tooltip, but only the
  25128. * following properties can be defined on a series level.
  25129. */
  25130. tooltip?: SeriesTooltipOptionsObject;
  25131. /**
  25132. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  25133. * is longer than this, only one dimensional arrays of numbers, or two
  25134. * dimensional arrays with x and y values are allowed. Also, only the first
  25135. * point is tested, and the rest are assumed to be the same format. This
  25136. * saves expensive data checking and indexing in long series. Set it to `0`
  25137. * disable.
  25138. *
  25139. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  25140. * two dimensional arrays are allowed.
  25141. */
  25142. turboThreshold?: number;
  25143. /**
  25144. * (Highstock) Set the initial visibility of the series.
  25145. */
  25146. visible?: boolean;
  25147. /**
  25148. * (Highmaps) Define the z index of the series.
  25149. */
  25150. zIndex?: number;
  25151. /**
  25152. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  25153. */
  25154. zoneAxis?: string;
  25155. /**
  25156. * (Highcharts, Highstock) An array defining zones within a series. Zones
  25157. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  25158. * the `zoneAxis` option. The zone definitions have to be in ascending order
  25159. * regarding to the value.
  25160. *
  25161. * In styled mode, the color zones are styled with the
  25162. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  25163. * option (view live demo).
  25164. */
  25165. zones?: Array<SeriesZonesOptionsObject>;
  25166. }
  25167. /**
  25168. * (Highstock) Paramters used in calculation of regression series' points.
  25169. */
  25170. export interface PlotAtrParamsOptions {
  25171. index?: string;
  25172. /**
  25173. * (Highstock) The base period for indicator calculations. This is the
  25174. * number of data points which are taken into account for the indicator
  25175. * calculations.
  25176. */
  25177. period?: number;
  25178. }
  25179. /**
  25180. * (Highcharts) Enable or disable the initial animation when a series is
  25181. * displayed. The animation can also be set as a configuration object. Please
  25182. * note that this option only applies to the initial animation of the series
  25183. * itself. For other animations, see chart.animation and the animation parameter
  25184. * under the API methods. The following properties are supported:
  25185. *
  25186. * - `defer`: The animation delay time in milliseconds.
  25187. *
  25188. * - `duration`: The duration of the animation in milliseconds.
  25189. *
  25190. * - `easing`: Can be a string reference to an easing function set on the `Math`
  25191. * object or a function. See the _Custom easing function_ demo below.
  25192. *
  25193. * Due to poor performance, animation is disabled in old IE browsers for several
  25194. * chart types.
  25195. */
  25196. export interface PlotBarAnimationOptions {
  25197. defer?: number;
  25198. }
  25199. /**
  25200. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  25201. * animation when a series is displayed for the `dataLabels`. The animation can
  25202. * also be set as a configuration object. Please note that this option only
  25203. * applies to the initial animation. For other animations, see chart.animation
  25204. * and the animation parameter under the API methods. The following properties
  25205. * are supported:
  25206. *
  25207. * - `defer`: The animation delay time in milliseconds.
  25208. */
  25209. export interface PlotBarDataLabelsAnimationOptions {
  25210. /**
  25211. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  25212. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  25213. * inherits defer time from the series.animation.defer.
  25214. */
  25215. defer?: number;
  25216. }
  25217. /**
  25218. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  25219. * appearing next to each data point.
  25220. *
  25221. * Since v6.2.0, multiple data labels can be applied to each single point by
  25222. * defining them as an array of configs.
  25223. *
  25224. * In styled mode, the data labels can be styled with the
  25225. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  25226. * example).
  25227. */
  25228. export interface PlotBarDataLabelsOptions {
  25229. /**
  25230. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  25231. * compared to the point. If `right`, the right side of the label should be
  25232. * touching the point. For points with an extent, like columns, the
  25233. * alignments also dictates how to align it inside the box, as given with
  25234. * the inside option. Can be one of `left`, `center` or `right`.
  25235. */
  25236. align?: string;
  25237. /**
  25238. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  25239. * overlap. To make the labels less sensitive for overlapping, the
  25240. * dataLabels.padding can be set to 0.
  25241. */
  25242. allowOverlap?: boolean;
  25243. /**
  25244. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  25245. * animation when a series is displayed for the `dataLabels`. The animation
  25246. * can also be set as a configuration object. Please note that this option
  25247. * only applies to the initial animation. For other animations, see
  25248. * chart.animation and the animation parameter under the API methods. The
  25249. * following properties are supported:
  25250. *
  25251. * - `defer`: The animation delay time in milliseconds.
  25252. */
  25253. animation?: (boolean|PlotBarDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  25254. /**
  25255. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  25256. * for the data label.
  25257. */
  25258. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  25259. /**
  25260. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  25261. * label. Defaults to `undefined`.
  25262. */
  25263. borderColor?: (ColorString|GradientColorObject|PatternObject);
  25264. /**
  25265. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  25266. * the data label.
  25267. */
  25268. borderRadius?: number;
  25269. /**
  25270. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  25271. * the data label.
  25272. */
  25273. borderWidth?: number;
  25274. /**
  25275. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  25276. * Particularly in styled mode, this can be used to give each series' or
  25277. * point's data label unique styling. In addition to this option, a default
  25278. * color class name is added so that we can give the labels a contrast text
  25279. * shadow.
  25280. */
  25281. className?: string;
  25282. /**
  25283. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  25284. * labels. Defaults to `undefined`. For certain series types, like column or
  25285. * map, the data labels can be drawn inside the points. In this case the
  25286. * data label will be drawn with maximum contrast by default. Additionally,
  25287. * it will be given a `text-outline` style with the opposite color, to
  25288. * further increase the contrast. This can be overridden by setting the
  25289. * `text-outline` style to `none` in the `dataLabels.style` option.
  25290. */
  25291. color?: (ColorString|GradientColorObject|PatternObject);
  25292. /**
  25293. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  25294. * are outside the plot area. By default, the data label is moved inside the
  25295. * plot area according to the overflow option.
  25296. */
  25297. crop?: boolean;
  25298. /**
  25299. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  25300. * labels until the initial series animation has finished. Setting to
  25301. * `false` renders the data label immediately. If set to `true` inherits the
  25302. * defer time set in plotOptions.series.animation. If set to a number, a
  25303. * defer time is specified in milliseconds.
  25304. */
  25305. defer?: (boolean|number);
  25306. /**
  25307. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  25308. * labels.
  25309. */
  25310. enabled?: boolean;
  25311. /**
  25312. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  25313. * of which data labels to display. The declarative filter is designed for
  25314. * use when callback functions are not available, like when the chart
  25315. * options require a pure JSON structure or for use with graphical editors.
  25316. * For programmatic control, use the `formatter` instead, and return
  25317. * `undefined` to disable a single data label.
  25318. */
  25319. filter?: DataLabelsFilterOptionsObject;
  25320. /**
  25321. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  25322. * label. Available variables are the same as for `formatter`.
  25323. */
  25324. format?: string;
  25325. /**
  25326. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  25327. * format the data label. Note that if a `format` is defined, the format
  25328. * takes precedence and the formatter is ignored.
  25329. */
  25330. formatter?: DataLabelsFormatterCallbackFunction;
  25331. /**
  25332. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  25333. * columns or map areas, whether to align the data label inside the box or
  25334. * to the actual value point. Defaults to `false` in most cases, `true` in
  25335. * stacked columns.
  25336. */
  25337. inside?: boolean;
  25338. /**
  25339. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  25340. * of null. Works analogously to format. `nullFormat` can be applied only to
  25341. * series which support displaying null points.
  25342. */
  25343. nullFormat?: (boolean|string);
  25344. /**
  25345. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  25346. * that defines formatting for points with the value of null. Works
  25347. * analogously to formatter. `nullPointFormatter` can be applied only to
  25348. * series which support displaying null points.
  25349. */
  25350. nullFormatter?: DataLabelsFormatterCallbackFunction;
  25351. /**
  25352. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  25353. * flow outside the plot area. The default is `"justify"`, which aligns them
  25354. * inside the plot area. For columns and bars, this means it will be moved
  25355. * inside the bar. To display data labels outside the plot area, set `crop`
  25356. * to `false` and `overflow` to `"allow"`.
  25357. */
  25358. overflow?: DataLabelsOverflowValue;
  25359. /**
  25360. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  25361. * the `backgroundColor` is set, this is the padding within the box.
  25362. */
  25363. padding?: number;
  25364. /**
  25365. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  25366. * points. If `center` alignment is not possible, it defaults to `right`.
  25367. */
  25368. position?: AlignValue;
  25369. /**
  25370. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  25371. * that due to a more complex structure, backgrounds, borders and padding
  25372. * will be lost on a rotated data label.
  25373. */
  25374. rotation?: number;
  25375. /**
  25376. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  25377. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  25378. * an object configuration containing `color`, `offsetX`, `offsetY`,
  25379. * `opacity` and `width`.
  25380. */
  25381. shadow?: (boolean|ShadowOptionsObject);
  25382. /**
  25383. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  25384. * the border around the label. Symbols are predefined functions on the
  25385. * Renderer object.
  25386. */
  25387. shape?: string;
  25388. /**
  25389. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  25390. * default `color` setting is `"contrast"`, which is a pseudo color that
  25391. * Highcharts picks up and applies the maximum contrast to the underlying
  25392. * point item, for example the bar in a bar chart.
  25393. *
  25394. * The `textOutline` is a pseudo property that applies an outline of the
  25395. * given width with the given color, which by default is the maximum
  25396. * contrast to the text. So a bright text color will result in a black text
  25397. * outline for maximum readability on a mixed background. In some cases,
  25398. * especially with grayscale text, the text outline doesn't work well, in
  25399. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  25400. * is true, the `textOutline` will not be picked up. In this, case, the same
  25401. * effect can be acheived through the `text-shadow` CSS property.
  25402. *
  25403. * For some series types, where each point has an extent, like for example
  25404. * tree maps, the data label may overflow the point. There are two
  25405. * strategies for handling overflow. By default, the text will wrap to
  25406. * multiple lines. The other strategy is to set `style.textOverflow` to
  25407. * `ellipsis`, which will keep the text on one line plus it will break
  25408. * inside long words.
  25409. */
  25410. style?: CSSObject;
  25411. /**
  25412. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  25413. * should follow marker's shape. Border and background are disabled for a
  25414. * label that follows a path.
  25415. *
  25416. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  25417. * to true will disable this option.
  25418. */
  25419. textPath?: DataLabelsTextPathOptionsObject;
  25420. /**
  25421. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  25422. * the labels.
  25423. */
  25424. useHTML?: boolean;
  25425. /**
  25426. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  25427. * label. Can be one of `top`, `middle` or `bottom`. The default value
  25428. * depends on the data, for instance in a column chart, the label is above
  25429. * positive values and below negative values.
  25430. */
  25431. verticalAlign?: string;
  25432. /**
  25433. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  25434. * label relative to the point in pixels.
  25435. */
  25436. x?: number;
  25437. /**
  25438. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  25439. * label relative to the point in pixels.
  25440. */
  25441. y?: number;
  25442. /**
  25443. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  25444. * The default Z index puts it above the series. Use a Z index of 2 to
  25445. * display it behind the series.
  25446. */
  25447. z?: number;
  25448. }
  25449. /**
  25450. * (Highcharts, Highstock) Options for the series data sorting.
  25451. */
  25452. export interface PlotBarDataSortingOptions {
  25453. /**
  25454. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  25455. * Use xAxis.reversed to change the sorting order.
  25456. */
  25457. enabled?: boolean;
  25458. /**
  25459. * (Highcharts, Highstock) Whether to allow matching points by name in an
  25460. * update. If this option is disabled, points will be matched by order.
  25461. */
  25462. matchByName?: boolean;
  25463. /**
  25464. * (Highcharts, Highstock) Determines what data value should be used to sort
  25465. * by.
  25466. */
  25467. sortKey?: string;
  25468. }
  25469. /**
  25470. * (Highcharts) Style options for the guide box. The guide box has one state by
  25471. * default, the `default` state.
  25472. */
  25473. export interface PlotBarDragDropGuideBoxOptions {
  25474. /**
  25475. * (Highcharts) Style options for the guide box default state.
  25476. */
  25477. default?: DragDropGuideBoxOptionsObject;
  25478. }
  25479. /**
  25480. * (Highcharts) A bar series is a special type of column series where the
  25481. * columns are horizontal.
  25482. *
  25483. * In TypeScript the type option must always be set.
  25484. *
  25485. * Configuration options for the series are given in three levels:
  25486. *
  25487. * 1. Options for all series in a chart are defined in the plotOptions.series
  25488. * object.
  25489. *
  25490. * 2. Options for all `bar` series are defined in plotOptions.bar.
  25491. *
  25492. * 3. Options for one single series are given in the series instance array. (see
  25493. * online documentation for example)
  25494. */
  25495. export interface PlotBarOptions {
  25496. /**
  25497. * (Highcharts) Accessibility options for a series.
  25498. */
  25499. accessibility?: SeriesAccessibilityOptionsObject;
  25500. /**
  25501. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  25502. * rendered. If `true`, areas which don't correspond to a data point, are
  25503. * rendered as `null` points. If `false`, those areas are skipped.
  25504. */
  25505. allAreas?: boolean;
  25506. /**
  25507. * (Highcharts) Allow this series' points to be selected by clicking on the
  25508. * graphic (columns, point markers, pie slices, map areas etc).
  25509. *
  25510. * The selected points can be handled by point select and unselect events,
  25511. * or collectively by the getSelectedPoints function.
  25512. *
  25513. * And alternative way of selecting points is through dragging.
  25514. */
  25515. allowPointSelect?: boolean;
  25516. /**
  25517. * (Highcharts) Enable or disable the initial animation when a series is
  25518. * displayed. The animation can also be set as a configuration object.
  25519. * Please note that this option only applies to the initial animation of the
  25520. * series itself. For other animations, see chart.animation and the
  25521. * animation parameter under the API methods. The following properties are
  25522. * supported:
  25523. *
  25524. * - `defer`: The animation delay time in milliseconds.
  25525. *
  25526. * - `duration`: The duration of the animation in milliseconds.
  25527. *
  25528. * - `easing`: Can be a string reference to an easing function set on the
  25529. * `Math` object or a function. See the _Custom easing function_ demo below.
  25530. *
  25531. * Due to poor performance, animation is disabled in old IE browsers for
  25532. * several chart types.
  25533. */
  25534. animation?: (boolean|PlotBarAnimationOptions|Partial<AnimationOptionsObject>);
  25535. /**
  25536. * (Highcharts) For some series, there is a limit that shuts down initial
  25537. * animation by default when the total number of points in the chart is too
  25538. * high. For example, for a column chart and its derivatives, animation does
  25539. * not run if there is more than 250 points totally. To disable this cap,
  25540. * set `animationLimit` to `Infinity`.
  25541. */
  25542. animationLimit?: number;
  25543. /**
  25544. * (Highcharts) Sets the color blending in the boost module.
  25545. */
  25546. boostBlending?: OptionsBoostBlendingValue;
  25547. /**
  25548. * (Highcharts) Set the point threshold for when a series should enter boost
  25549. * mode.
  25550. *
  25551. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  25552. * there are 2000 or more points in the series.
  25553. *
  25554. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  25555. * it to 1 will force boosting.
  25556. *
  25557. * Note that the cropThreshold also affects this setting. When zooming in on
  25558. * a series that has fewer points than the `cropThreshold`, all points are
  25559. * rendered although outside the visible plot area, and the `boostThreshold`
  25560. * won't take effect.
  25561. */
  25562. boostThreshold?: number;
  25563. /**
  25564. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  25565. * column or bar.
  25566. *
  25567. * In styled mode, the border stroke can be set with the `.highcharts-point`
  25568. * rule.
  25569. */
  25570. borderColor?: (ColorString|GradientColorObject|PatternObject);
  25571. /**
  25572. * (Highcharts, Highstock, Gantt) The corner radius of the border
  25573. * surrounding each column or bar.
  25574. */
  25575. borderRadius?: number;
  25576. /**
  25577. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  25578. * column or bar. Defaults to `1` when there is room for a border, but to
  25579. * `0` when the columns are so dense that a border would cover the next
  25580. * column.
  25581. *
  25582. * In styled mode, the stroke width can be set with the `.highcharts-point`
  25583. * rule.
  25584. */
  25585. borderWidth?: number;
  25586. /**
  25587. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  25588. * the category, ignoring null or missing points. When `false`, space will
  25589. * be reserved for null or missing points.
  25590. */
  25591. centerInCategory?: boolean;
  25592. /**
  25593. * (Highcharts) An additional class name to apply to the series' graphical
  25594. * elements. This option does not replace default class names of the
  25595. * graphical element.
  25596. */
  25597. className?: string;
  25598. /**
  25599. * (Highcharts) Disable this option to allow series rendering in the whole
  25600. * plotting area.
  25601. *
  25602. * **Note:** Clipping should be always enabled when chart.zoomType is set
  25603. */
  25604. clip?: boolean;
  25605. /**
  25606. * (Highcharts) The main color of the series. In line type series it applies
  25607. * to the line and the point markers unless otherwise specified. In bar type
  25608. * series it applies to the bars unless a color is specified per point. The
  25609. * default value is pulled from the `options.colors` array.
  25610. *
  25611. * In styled mode, the color can be defined by the colorIndex option. Also,
  25612. * the series color can be set with the `.highcharts-series`,
  25613. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  25614. * `.highcharts-series-{n}` class, or individual classes given by the
  25615. * `className` option.
  25616. */
  25617. color?: (ColorString|GradientColorObject|PatternObject);
  25618. /**
  25619. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  25620. * this number defines which colorAxis the particular series is connected
  25621. * to. It refers to either the axis id or the index of the axis in the
  25622. * colorAxis array, with 0 being the first. Set this option to false to
  25623. * prevent a series from connecting to the default color axis.
  25624. *
  25625. * Since v7.2.0 the option can also be an axis id or an axis index instead
  25626. * of a boolean flag.
  25627. */
  25628. colorAxis?: (boolean|number|string);
  25629. /**
  25630. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  25631. * from the global colors or series-specific plotOptions.column.colors
  25632. * collections, this option determines whether the chart should receive one
  25633. * color per series or one color per point.
  25634. *
  25635. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  25636. * and instead this option gives the points individual color class names on
  25637. * the form `highcharts-color-{n}`.
  25638. */
  25639. colorByPoint?: boolean;
  25640. /**
  25641. * (Highcharts) Styled mode only. A specific color index to use for the
  25642. * series, so its graphic representations are given the class name
  25643. * `highcharts-color-{n}`.
  25644. */
  25645. colorIndex?: number;
  25646. /**
  25647. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  25648. * used to calculate point color if `colorAxis` is used. Requires to set
  25649. * `min` and `max` if some custom point property is used or if approximation
  25650. * for data grouping is set to `'sum'`.
  25651. */
  25652. colorKey?: string;
  25653. /**
  25654. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  25655. * color set to apply instead of the global colors when colorByPoint is
  25656. * true.
  25657. */
  25658. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  25659. /**
  25660. * (Highstock) Compare the values of the series against the first non-null,
  25661. * non- zero value in the visible range. The y axis will show percentage or
  25662. * absolute change depending on whether `compare` is set to `"percent"` or
  25663. * `"value"`. When this is applied to multiple series, it allows comparing
  25664. * the development of the series against each other. Adds a `change` field
  25665. * to every point object.
  25666. */
  25667. compare?: string;
  25668. /**
  25669. * (Highstock) When compare is `percent`, this option dictates whether to
  25670. * use 0 or 100 as the base of comparison.
  25671. */
  25672. compareBase?: (0|100);
  25673. /**
  25674. * (Highstock) Defines if comparison should start from the first point
  25675. * within the visible range or should start from the first point **before**
  25676. * the range.
  25677. *
  25678. * In other words, this flag determines if first point within the visible
  25679. * range will have 0% (`compareStart=true`) or should have been already
  25680. * calculated according to the previous point (`compareStart=false`).
  25681. */
  25682. compareStart?: boolean;
  25683. /**
  25684. * (Gantt) Override Pathfinder connector options for a series. Requires
  25685. * Highcharts Gantt to be loaded.
  25686. */
  25687. connectors?: SeriesConnectorsOptionsObject;
  25688. /**
  25689. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  25690. * rounded to its nearest pixel in order to render sharp on screen. In some
  25691. * cases, when there are a lot of densely packed columns, this leads to
  25692. * visible difference in column widths or distance between columns. In these
  25693. * cases, setting `crisp` to `false` may look better, even though each
  25694. * column is rendered blurry.
  25695. */
  25696. crisp?: boolean;
  25697. /**
  25698. * (Highcharts, Highstock, Gantt) When the series contains less points than
  25699. * the crop threshold, all points are drawn, event if the points fall
  25700. * outside the visible plot area at the current zoom. The advantage of
  25701. * drawing all points (including markers and columns), is that animation is
  25702. * performed on updates. On the other hand, when the series contains more
  25703. * points than the crop threshold, the series data is cropped to only
  25704. * contain points that fall within the plot area. The advantage of cropping
  25705. * away invisible points is to increase performance on large series.
  25706. */
  25707. cropThreshold?: number;
  25708. /**
  25709. * (Highcharts) You can set the cursor to "pointer" if you have click events
  25710. * attached to the series, to signal to the user that the points and lines
  25711. * can be clicked.
  25712. *
  25713. * In styled mode, the series cursor can be set with the same classes as
  25714. * listed under series.color.
  25715. */
  25716. cursor?: (string|CursorValue);
  25717. /**
  25718. * (Highcharts) A reserved subspace to store options and values for
  25719. * customized functionality. Here you can add additional data for your own
  25720. * event callbacks and formatter callbacks.
  25721. */
  25722. custom?: Dictionary<any>;
  25723. /**
  25724. * (Highcharts) Name of the dash style to use for the graph, or for some
  25725. * series types the outline of each shape.
  25726. *
  25727. * In styled mode, the stroke dash-array can be set with the same classes as
  25728. * listed under series.color.
  25729. */
  25730. dashStyle?: DashStyleValue;
  25731. /**
  25732. * (Highstock) Data grouping is the concept of sampling the data values into
  25733. * larger blocks in order to ease readability and increase performance of
  25734. * the JavaScript charts. Highcharts Stock by default applies data grouping
  25735. * when the points become closer than a certain pixel value, determined by
  25736. * the `groupPixelWidth` option.
  25737. *
  25738. * If data grouping is applied, the grouping information of grouped points
  25739. * can be read from the Point.dataGroup. If point options other than the
  25740. * data itself are set, for example `name` or `color` or custom properties,
  25741. * the grouping logic doesn't know how to group it. In this case the options
  25742. * of the first point instance are copied over to the group point. This can
  25743. * be altered through a custom `approximation` callback function.
  25744. */
  25745. dataGrouping?: DataGroupingOptionsObject;
  25746. /**
  25747. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  25748. * labels, appearing next to each data point.
  25749. *
  25750. * Since v6.2.0, multiple data labels can be applied to each single point by
  25751. * defining them as an array of configs.
  25752. *
  25753. * In styled mode, the data labels can be styled with the
  25754. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  25755. * (see example).
  25756. */
  25757. dataLabels?: (PlotBarDataLabelsOptions|Array<PlotBarDataLabelsOptions>);
  25758. /**
  25759. * (Highcharts, Highstock) Options for the series data sorting.
  25760. */
  25761. dataSorting?: (DataSortingOptionsObject|PlotBarDataSortingOptions);
  25762. /**
  25763. * (Highcharts) Depth of the columns in a 3D column chart.
  25764. */
  25765. depth?: number;
  25766. /**
  25767. * (Highcharts) A description of the series to add to the screen reader
  25768. * information about the series.
  25769. */
  25770. description?: string;
  25771. /**
  25772. * (Highcharts) The draggable-points module allows points to be moved around
  25773. * or modified in the chart. In addition to the options mentioned under the
  25774. * `dragDrop` API structure, the module fires three events, point.dragStart,
  25775. * point.drag and point.drop.
  25776. */
  25777. dragDrop?: SeriesDragDropOptionsObject;
  25778. /**
  25779. * (Highcharts) 3D columns only. The color of the edges. Similar to
  25780. * `borderColor`, except it defaults to the same color as the column.
  25781. */
  25782. edgeColor?: ColorString;
  25783. /**
  25784. * (Highcharts) 3D columns only. The width of the colored edges.
  25785. */
  25786. edgeWidth?: number;
  25787. /**
  25788. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  25789. * This includes point tooltips and click events on graphs and points. For
  25790. * large datasets it improves performance.
  25791. */
  25792. enableMouseTracking?: boolean;
  25793. /**
  25794. * (Highcharts) General event handlers for the series items. These event
  25795. * hooks can also be attached to the series at run time using the
  25796. * `Highcharts.addEvent` function.
  25797. */
  25798. events?: SeriesEventsOptionsObject;
  25799. /**
  25800. * (Highcharts) Determines whether the series should look for the nearest
  25801. * point in both dimensions or just the x-dimension when hovering the
  25802. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  25803. * series. If the data has duplicate x-values, it is recommended to set this
  25804. * to `'xy'` to allow hovering over all points.
  25805. *
  25806. * Applies only to series types using nearest neighbor search (not direct
  25807. * hover) for tooltip.
  25808. */
  25809. findNearestPointBy?: OptionsFindNearestPointByValue;
  25810. /**
  25811. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  25812. * chart width or only the zoomed area when zooming in on parts of the X
  25813. * axis. By default, the Y axis adjusts to the min and max of the visible
  25814. * data. Cartesian series only.
  25815. */
  25816. getExtremesFromAll?: boolean;
  25817. /**
  25818. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  25819. * let them render independent of each other. Non-grouped columns will be
  25820. * laid out individually and overlap each other.
  25821. */
  25822. grouping?: boolean;
  25823. /**
  25824. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  25825. * axis units.
  25826. */
  25827. groupPadding?: number;
  25828. /**
  25829. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  25830. */
  25831. groupZPadding?: number;
  25832. /**
  25833. * (Highcharts) When set to `false` will prevent the series data from being
  25834. * included in any form of data export.
  25835. *
  25836. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  25837. * `includeInCSVExport`.
  25838. */
  25839. includeInDataExport?: boolean;
  25840. /**
  25841. * (Highmaps) What property to join the `mapData` to the value data. For
  25842. * example, if joinBy is "code", the mapData items with a specific code is
  25843. * merged into the data with the same code. For maps loaded from GeoJSON,
  25844. * the keys may be held in each point's `properties` object.
  25845. *
  25846. * The joinBy option can also be an array of two values, where the first
  25847. * points to a key in the `mapData`, and the second points to another key in
  25848. * the `data`.
  25849. *
  25850. * When joinBy is `null`, the map items are joined by their position in the
  25851. * array, which performs much better in maps with many data points. This is
  25852. * the recommended option if you are printing more than a thousand data
  25853. * points and have a backend that can preprocess the data into a parallel
  25854. * array of the mapData.
  25855. */
  25856. joinBy?: (string|Array<string>);
  25857. /**
  25858. * (Highcharts) An array specifying which option maps to which key in the
  25859. * data point array. This makes it convenient to work with unstructured data
  25860. * arrays from different sources.
  25861. */
  25862. keys?: Array<string>;
  25863. /**
  25864. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  25865. * series as possible in a natural way, seeking to avoid other series. The
  25866. * goal of this feature is to make the chart more easily readable, like if a
  25867. * human designer placed the labels in the optimal position.
  25868. *
  25869. * The series labels currently work with series types having a `graph` or an
  25870. * `area`.
  25871. */
  25872. label?: SeriesLabelOptionsObject;
  25873. /**
  25874. * (Highstock) The line marks the last price from all points.
  25875. */
  25876. lastPrice?: SeriesLastPriceOptionsObject;
  25877. /**
  25878. * (Highstock) The line marks the last price from visible range of points.
  25879. */
  25880. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  25881. /**
  25882. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  25883. * Additionally, the value can be ":previous" to link to the previous
  25884. * series. When two series are linked, only the first one appears in the
  25885. * legend. Toggling the visibility of this also toggles the linked series.
  25886. *
  25887. * If master series uses data sorting and linked series does not have its
  25888. * own sorting definition, the linked series will be sorted in the same
  25889. * order as the master one.
  25890. */
  25891. linkedTo?: string;
  25892. /**
  25893. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  25894. * column, translated to the height of a bar in a bar chart. This prevents
  25895. * the columns from becoming too wide when there is a small number of points
  25896. * in the chart.
  25897. */
  25898. maxPointWidth?: number;
  25899. /**
  25900. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  25901. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  25902. * to zero) point, set the minimal point length to a pixel value like 3\. In
  25903. * stacked column charts, minPointLength might not be respected for tightly
  25904. * packed values.
  25905. */
  25906. minPointLength?: number;
  25907. /**
  25908. * (Highstock) Options for the corresponding navigator series if
  25909. * `showInNavigator` is `true` for this series. Available options are the
  25910. * same as any series, documented at plotOptions and series.
  25911. *
  25912. * These options are merged with options in navigator.series, and will take
  25913. * precedence if the same option is defined both places.
  25914. */
  25915. navigatorOptions?: PlotSeriesOptions;
  25916. /**
  25917. * (Highcharts) The color for the parts of the graph or points that are
  25918. * below the threshold. Note that `zones` takes precedence over the negative
  25919. * color. Using `negativeColor` is equivalent to applying a zone with value
  25920. * of 0.
  25921. */
  25922. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  25923. /**
  25924. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  25925. * dataLabels.
  25926. */
  25927. opacity?: number;
  25928. /**
  25929. * (Highcharts) Properties for each single point.
  25930. */
  25931. point?: PlotSeriesPointOptions;
  25932. /**
  25933. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  25934. * individual series. Overrides the chart wide configuration.
  25935. */
  25936. pointDescriptionFormatter?: Function;
  25937. /**
  25938. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  25939. * a series, `pointInterval` defines the interval of the x values. For
  25940. * example, if a series contains one value every decade starting from year
  25941. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  25942. * `pointInterval` is set in milliseconds.
  25943. *
  25944. * It can be also be combined with `pointIntervalUnit` to draw irregular
  25945. * time intervals.
  25946. *
  25947. * Please note that this options applies to the _series data_, not the
  25948. * interval of the axis ticks, which is independent.
  25949. */
  25950. pointInterval?: number;
  25951. /**
  25952. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  25953. * setting the pointInterval to irregular time units, `day`, `month` and
  25954. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  25955. * also takes the DST crossover into consideration when dealing with local
  25956. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  25957. * months, 10 years etc.
  25958. *
  25959. * Please note that this options applies to the _series data_, not the
  25960. * interval of the axis ticks, which is independent.
  25961. */
  25962. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  25963. /**
  25964. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  25965. * axis units.
  25966. */
  25967. pointPadding?: number;
  25968. /**
  25969. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  25970. * `number`.
  25971. *
  25972. * In a column chart, when pointPlacement is `"on"`, the point will not
  25973. * create any padding of the X axis. In a polar column chart this means that
  25974. * the first column points directly north. If the pointPlacement is
  25975. * `"between"`, the columns will be laid out between ticks. This is useful
  25976. * for example for visualising an amount between two points in time or in a
  25977. * certain sector of a polar chart.
  25978. *
  25979. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  25980. * is on the axis value, -0.5 is between this value and the previous, and
  25981. * 0.5 is between this value and the next. Unlike the textual options,
  25982. * numeric point placement options won't affect axis padding.
  25983. *
  25984. * Note that pointPlacement needs a pointRange to work. For column series
  25985. * this is computed, but for line-type series it needs to be set.
  25986. *
  25987. * For the `xrange` series type and gantt charts, if the Y axis is a
  25988. * category axis, the `pointPlacement` applies to the Y axis rather than the
  25989. * (typically datetime) X axis.
  25990. *
  25991. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  25992. */
  25993. pointPlacement?: (number|string);
  25994. /**
  25995. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  25996. * for. This determines the width of the column. On a categorized axis, the
  25997. * range will be 1 by default (one category unit). On linear and datetime
  25998. * axes, the range will be computed as the distance between the two closest
  25999. * data points.
  26000. *
  26001. * The default `null` means it is computed automatically, but this option
  26002. * can be used to override the automatic value.
  26003. *
  26004. * This option is set by default to 1 if data sorting is enabled.
  26005. */
  26006. pointRange?: (number|null);
  26007. /**
  26008. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  26009. * a series, pointStart defines on what value to start. For example, if a
  26010. * series contains one yearly value starting from 1945, set pointStart to
  26011. * 1945.
  26012. */
  26013. pointStart?: number;
  26014. /**
  26015. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  26016. * each column or bar point. When set to `undefined`, the width is
  26017. * calculated from the `pointPadding` and `groupPadding`. The width effects
  26018. * the dimension that is not based on the point value. For column series it
  26019. * is the hoizontal length and for bar series it is the vertical length.
  26020. */
  26021. pointWidth?: number;
  26022. /**
  26023. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  26024. * true, the checkbox next to the series name in the legend will be checked
  26025. * for a selected series.
  26026. */
  26027. selected?: boolean;
  26028. /**
  26029. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  26030. * the shadow can be an object configuration containing `color`, `offsetX`,
  26031. * `offsetY`, `opacity` and `width`.
  26032. */
  26033. shadow?: (boolean|ShadowOptionsObject);
  26034. /**
  26035. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  26036. * allow selecting the series. The state of the checkbox is determined by
  26037. * the `selected` option.
  26038. */
  26039. showCheckbox?: boolean;
  26040. /**
  26041. * (Highcharts) Whether to display this particular series or series type in
  26042. * the legend. Standalone series are shown in legend by default, and linked
  26043. * series are not. Since v7.2.0 it is possible to show series that use
  26044. * colorAxis by setting this option to `true`.
  26045. */
  26046. showInLegend?: boolean;
  26047. /**
  26048. * (Highstock) Whether or not to show the series in the navigator. Takes
  26049. * precedence over navigator.baseSeries if defined.
  26050. */
  26051. showInNavigator?: boolean;
  26052. /**
  26053. * (Highcharts) If set to `true`, the accessibility module will skip past
  26054. * the points in this series for keyboard navigation.
  26055. */
  26056. skipKeyboardNavigation?: boolean;
  26057. /**
  26058. * (Highcharts, Highstock) When this is true, the series will not cause the
  26059. * Y axis to cross the zero plane (or threshold option) unless the data
  26060. * actually crosses the plane.
  26061. *
  26062. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  26063. * make the Y axis show negative values according to the `minPadding`
  26064. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  26065. */
  26066. softThreshold?: boolean;
  26067. /**
  26068. * (Highcharts, Highstock) Whether to stack the values of each series on top
  26069. * of each other. Possible values are `undefined` to disable, `"normal"` to
  26070. * stack by value or `"percent"`.
  26071. *
  26072. * When stacking is enabled, data must be sorted in ascending X order.
  26073. *
  26074. * Some stacking options are related to specific series types. In the
  26075. * streamgraph series type, the stacking option is set to `"stream"`. The
  26076. * second one is `"overlap"`, which only applies to waterfall series.
  26077. */
  26078. stacking?: OptionsStackingValue;
  26079. states?: SeriesStatesOptionsObject;
  26080. /**
  26081. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  26082. * event on a series isn't triggered until the mouse moves over another
  26083. * series, or out of the plot area. When false, the `mouseOut` event on a
  26084. * series is triggered when the mouse leaves the area around the series'
  26085. * graph or markers. This also implies the tooltip when not shared. When
  26086. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  26087. * be hidden when moving the mouse between series. Defaults to true for line
  26088. * and area type series, but to false for columns, pies etc.
  26089. *
  26090. * **Note:** The boost module will force this option because of technical
  26091. * limitations.
  26092. */
  26093. stickyTracking?: boolean;
  26094. /**
  26095. * (Highcharts) The Y axis value to serve as the base for the columns, for
  26096. * distinguishing between values above and below a threshold. If `null`, the
  26097. * columns extend from the padding Y axis minimum.
  26098. */
  26099. threshold?: (number|null);
  26100. /**
  26101. * (Highcharts) A configuration object for the tooltip rendering of each
  26102. * single series. Properties are inherited from tooltip, but only the
  26103. * following properties can be defined on a series level.
  26104. */
  26105. tooltip?: SeriesTooltipOptionsObject;
  26106. /**
  26107. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  26108. * is longer than this, only one dimensional arrays of numbers, or two
  26109. * dimensional arrays with x and y values are allowed. Also, only the first
  26110. * point is tested, and the rest are assumed to be the same format. This
  26111. * saves expensive data checking and indexing in long series. Set it to `0`
  26112. * disable.
  26113. *
  26114. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  26115. * two dimensional arrays are allowed.
  26116. */
  26117. turboThreshold?: number;
  26118. /**
  26119. * (Highcharts) Set the initial visibility of the series.
  26120. */
  26121. visible?: boolean;
  26122. /**
  26123. * (Highmaps) Define the z index of the series.
  26124. */
  26125. zIndex?: number;
  26126. /**
  26127. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  26128. */
  26129. zoneAxis?: string;
  26130. /**
  26131. * (Highcharts, Highstock) An array defining zones within a series. Zones
  26132. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  26133. * the `zoneAxis` option. The zone definitions have to be in ascending order
  26134. * regarding to the value.
  26135. *
  26136. * In styled mode, the color zones are styled with the
  26137. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  26138. * option (view live demo).
  26139. */
  26140. zones?: Array<SeriesZonesOptionsObject>;
  26141. }
  26142. /**
  26143. * (Highstock) Enable or disable the initial animation when a series is
  26144. * displayed. The animation can also be set as a configuration object. Please
  26145. * note that this option only applies to the initial animation of the series
  26146. * itself. For other animations, see chart.animation and the animation parameter
  26147. * under the API methods. The following properties are supported:
  26148. *
  26149. * - `defer`: The animation delay time in milliseconds.
  26150. *
  26151. * - `duration`: The duration of the animation in milliseconds.
  26152. *
  26153. * - `easing`: Can be a string reference to an easing function set on the `Math`
  26154. * object or a function. See the _Custom easing function_ demo below.
  26155. *
  26156. * Due to poor performance, animation is disabled in old IE browsers for several
  26157. * chart types.
  26158. */
  26159. export interface PlotBbAnimationOptions {
  26160. defer?: number;
  26161. }
  26162. /**
  26163. * (Highstock) Bottom line options.
  26164. */
  26165. export interface PlotBbBottomLineOptions {
  26166. /**
  26167. * (Highstock) Styles for a bottom line.
  26168. */
  26169. styles?: PlotBbBottomLineStylesOptions;
  26170. }
  26171. /**
  26172. * (Highstock) Styles for a bottom line.
  26173. */
  26174. export interface PlotBbBottomLineStylesOptions {
  26175. /**
  26176. * (Highstock) Color of the line. If not set, it's inherited from
  26177. * plotOptions.bb.color.
  26178. */
  26179. lineColor?: ColorString;
  26180. /**
  26181. * (Highstock) Pixel width of the line.
  26182. */
  26183. lineWidth?: number;
  26184. }
  26185. /**
  26186. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  26187. * animation when a series is displayed for the `dataLabels`. The animation can
  26188. * also be set as a configuration object. Please note that this option only
  26189. * applies to the initial animation. For other animations, see chart.animation
  26190. * and the animation parameter under the API methods. The following properties
  26191. * are supported:
  26192. *
  26193. * - `defer`: The animation delay time in milliseconds.
  26194. */
  26195. export interface PlotBbDataLabelsAnimationOptions {
  26196. /**
  26197. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  26198. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  26199. * inherits defer time from the series.animation.defer.
  26200. */
  26201. defer?: number;
  26202. }
  26203. /**
  26204. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  26205. * appearing next to each data point.
  26206. *
  26207. * Since v6.2.0, multiple data labels can be applied to each single point by
  26208. * defining them as an array of configs.
  26209. *
  26210. * In styled mode, the data labels can be styled with the
  26211. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  26212. * example).
  26213. */
  26214. export interface PlotBbDataLabelsOptions {
  26215. /**
  26216. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  26217. * compared to the point. If `right`, the right side of the label should be
  26218. * touching the point. For points with an extent, like columns, the
  26219. * alignments also dictates how to align it inside the box, as given with
  26220. * the inside option. Can be one of `left`, `center` or `right`.
  26221. */
  26222. align?: (AlignValue|null);
  26223. /**
  26224. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  26225. * overlap. To make the labels less sensitive for overlapping, the
  26226. * dataLabels.padding can be set to 0.
  26227. */
  26228. allowOverlap?: boolean;
  26229. /**
  26230. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  26231. * animation when a series is displayed for the `dataLabels`. The animation
  26232. * can also be set as a configuration object. Please note that this option
  26233. * only applies to the initial animation. For other animations, see
  26234. * chart.animation and the animation parameter under the API methods. The
  26235. * following properties are supported:
  26236. *
  26237. * - `defer`: The animation delay time in milliseconds.
  26238. */
  26239. animation?: (boolean|PlotBbDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  26240. /**
  26241. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  26242. * for the data label.
  26243. */
  26244. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  26245. /**
  26246. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  26247. * label. Defaults to `undefined`.
  26248. */
  26249. borderColor?: (ColorString|GradientColorObject|PatternObject);
  26250. /**
  26251. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  26252. * the data label.
  26253. */
  26254. borderRadius?: number;
  26255. /**
  26256. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  26257. * the data label.
  26258. */
  26259. borderWidth?: number;
  26260. /**
  26261. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  26262. * Particularly in styled mode, this can be used to give each series' or
  26263. * point's data label unique styling. In addition to this option, a default
  26264. * color class name is added so that we can give the labels a contrast text
  26265. * shadow.
  26266. */
  26267. className?: string;
  26268. /**
  26269. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  26270. * labels. Defaults to `undefined`. For certain series types, like column or
  26271. * map, the data labels can be drawn inside the points. In this case the
  26272. * data label will be drawn with maximum contrast by default. Additionally,
  26273. * it will be given a `text-outline` style with the opposite color, to
  26274. * further increase the contrast. This can be overridden by setting the
  26275. * `text-outline` style to `none` in the `dataLabels.style` option.
  26276. */
  26277. color?: (ColorString|GradientColorObject|PatternObject);
  26278. /**
  26279. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  26280. * are outside the plot area. By default, the data label is moved inside the
  26281. * plot area according to the overflow option.
  26282. */
  26283. crop?: boolean;
  26284. /**
  26285. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  26286. * labels until the initial series animation has finished. Setting to
  26287. * `false` renders the data label immediately. If set to `true` inherits the
  26288. * defer time set in plotOptions.series.animation. If set to a number, a
  26289. * defer time is specified in milliseconds.
  26290. */
  26291. defer?: (boolean|number);
  26292. /**
  26293. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  26294. * labels.
  26295. */
  26296. enabled?: boolean;
  26297. /**
  26298. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  26299. * of which data labels to display. The declarative filter is designed for
  26300. * use when callback functions are not available, like when the chart
  26301. * options require a pure JSON structure or for use with graphical editors.
  26302. * For programmatic control, use the `formatter` instead, and return
  26303. * `undefined` to disable a single data label.
  26304. */
  26305. filter?: DataLabelsFilterOptionsObject;
  26306. /**
  26307. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  26308. * label. Available variables are the same as for `formatter`.
  26309. */
  26310. format?: string;
  26311. /**
  26312. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  26313. * format the data label. Note that if a `format` is defined, the format
  26314. * takes precedence and the formatter is ignored.
  26315. */
  26316. formatter?: DataLabelsFormatterCallbackFunction;
  26317. /**
  26318. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  26319. * columns or map areas, whether to align the data label inside the box or
  26320. * to the actual value point. Defaults to `false` in most cases, `true` in
  26321. * stacked columns.
  26322. */
  26323. inside?: boolean;
  26324. /**
  26325. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  26326. * of null. Works analogously to format. `nullFormat` can be applied only to
  26327. * series which support displaying null points.
  26328. */
  26329. nullFormat?: (boolean|string);
  26330. /**
  26331. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  26332. * that defines formatting for points with the value of null. Works
  26333. * analogously to formatter. `nullPointFormatter` can be applied only to
  26334. * series which support displaying null points.
  26335. */
  26336. nullFormatter?: DataLabelsFormatterCallbackFunction;
  26337. /**
  26338. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  26339. * flow outside the plot area. The default is `"justify"`, which aligns them
  26340. * inside the plot area. For columns and bars, this means it will be moved
  26341. * inside the bar. To display data labels outside the plot area, set `crop`
  26342. * to `false` and `overflow` to `"allow"`.
  26343. */
  26344. overflow?: DataLabelsOverflowValue;
  26345. /**
  26346. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  26347. * the `backgroundColor` is set, this is the padding within the box.
  26348. */
  26349. padding?: number;
  26350. /**
  26351. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  26352. * points. If `center` alignment is not possible, it defaults to `right`.
  26353. */
  26354. position?: AlignValue;
  26355. /**
  26356. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  26357. * that due to a more complex structure, backgrounds, borders and padding
  26358. * will be lost on a rotated data label.
  26359. */
  26360. rotation?: number;
  26361. /**
  26362. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  26363. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  26364. * an object configuration containing `color`, `offsetX`, `offsetY`,
  26365. * `opacity` and `width`.
  26366. */
  26367. shadow?: (boolean|ShadowOptionsObject);
  26368. /**
  26369. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  26370. * the border around the label. Symbols are predefined functions on the
  26371. * Renderer object.
  26372. */
  26373. shape?: string;
  26374. /**
  26375. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  26376. * default `color` setting is `"contrast"`, which is a pseudo color that
  26377. * Highcharts picks up and applies the maximum contrast to the underlying
  26378. * point item, for example the bar in a bar chart.
  26379. *
  26380. * The `textOutline` is a pseudo property that applies an outline of the
  26381. * given width with the given color, which by default is the maximum
  26382. * contrast to the text. So a bright text color will result in a black text
  26383. * outline for maximum readability on a mixed background. In some cases,
  26384. * especially with grayscale text, the text outline doesn't work well, in
  26385. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  26386. * is true, the `textOutline` will not be picked up. In this, case, the same
  26387. * effect can be acheived through the `text-shadow` CSS property.
  26388. *
  26389. * For some series types, where each point has an extent, like for example
  26390. * tree maps, the data label may overflow the point. There are two
  26391. * strategies for handling overflow. By default, the text will wrap to
  26392. * multiple lines. The other strategy is to set `style.textOverflow` to
  26393. * `ellipsis`, which will keep the text on one line plus it will break
  26394. * inside long words.
  26395. */
  26396. style?: CSSObject;
  26397. /**
  26398. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  26399. * should follow marker's shape. Border and background are disabled for a
  26400. * label that follows a path.
  26401. *
  26402. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  26403. * to true will disable this option.
  26404. */
  26405. textPath?: DataLabelsTextPathOptionsObject;
  26406. /**
  26407. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  26408. * the labels.
  26409. */
  26410. useHTML?: boolean;
  26411. /**
  26412. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  26413. * label. Can be one of `top`, `middle` or `bottom`. The default value
  26414. * depends on the data, for instance in a column chart, the label is above
  26415. * positive values and below negative values.
  26416. */
  26417. verticalAlign?: (VerticalAlignValue|null);
  26418. /**
  26419. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  26420. * label relative to the point in pixels.
  26421. */
  26422. x?: number;
  26423. /**
  26424. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  26425. * label relative to the point in pixels.
  26426. */
  26427. y?: number;
  26428. /**
  26429. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  26430. * The default Z index puts it above the series. Use a Z index of 2 to
  26431. * display it behind the series.
  26432. */
  26433. z?: number;
  26434. }
  26435. /**
  26436. * (Highcharts, Highstock) Options for the series data sorting.
  26437. */
  26438. export interface PlotBbDataSortingOptions {
  26439. /**
  26440. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  26441. * Use xAxis.reversed to change the sorting order.
  26442. */
  26443. enabled?: boolean;
  26444. /**
  26445. * (Highcharts, Highstock) Whether to allow matching points by name in an
  26446. * update. If this option is disabled, points will be matched by order.
  26447. */
  26448. matchByName?: boolean;
  26449. /**
  26450. * (Highcharts, Highstock) Determines what data value should be used to sort
  26451. * by.
  26452. */
  26453. sortKey?: string;
  26454. }
  26455. /**
  26456. * (Highstock) Bollinger bands (BB). This series requires the `linkedTo` option
  26457. * to be set and should be loaded after the `stock/indicators/indicators.js`
  26458. * file.
  26459. *
  26460. * In TypeScript the type option must always be set.
  26461. *
  26462. * Configuration options for the series are given in three levels:
  26463. *
  26464. * 1. Options for all series in a chart are defined in the plotOptions.series
  26465. * object.
  26466. *
  26467. * 2. Options for all `bb` series are defined in plotOptions.bb.
  26468. *
  26469. * 3. Options for one single series are given in the series instance array. (see
  26470. * online documentation for example)
  26471. */
  26472. export interface PlotBbOptions {
  26473. /**
  26474. * (Highstock) Accessibility options for a series.
  26475. */
  26476. accessibility?: SeriesAccessibilityOptionsObject;
  26477. /**
  26478. * (Highstock) Allow this series' points to be selected by clicking on the
  26479. * graphic (columns, point markers, pie slices, map areas etc).
  26480. *
  26481. * The selected points can be handled by point select and unselect events,
  26482. * or collectively by the getSelectedPoints function.
  26483. *
  26484. * And alternative way of selecting points is through dragging.
  26485. */
  26486. allowPointSelect?: boolean;
  26487. /**
  26488. * (Highstock) Enable or disable the initial animation when a series is
  26489. * displayed. The animation can also be set as a configuration object.
  26490. * Please note that this option only applies to the initial animation of the
  26491. * series itself. For other animations, see chart.animation and the
  26492. * animation parameter under the API methods. The following properties are
  26493. * supported:
  26494. *
  26495. * - `defer`: The animation delay time in milliseconds.
  26496. *
  26497. * - `duration`: The duration of the animation in milliseconds.
  26498. *
  26499. * - `easing`: Can be a string reference to an easing function set on the
  26500. * `Math` object or a function. See the _Custom easing function_ demo below.
  26501. *
  26502. * Due to poor performance, animation is disabled in old IE browsers for
  26503. * several chart types.
  26504. */
  26505. animation?: (boolean|PlotBbAnimationOptions|Partial<AnimationOptionsObject>);
  26506. /**
  26507. * (Highstock) For some series, there is a limit that shuts down initial
  26508. * animation by default when the total number of points in the chart is too
  26509. * high. For example, for a column chart and its derivatives, animation does
  26510. * not run if there is more than 250 points totally. To disable this cap,
  26511. * set `animationLimit` to `Infinity`.
  26512. */
  26513. animationLimit?: number;
  26514. /**
  26515. * (Highstock) Sets the color blending in the boost module.
  26516. */
  26517. boostBlending?: OptionsBoostBlendingValue;
  26518. /**
  26519. * (Highstock) Set the point threshold for when a series should enter boost
  26520. * mode.
  26521. *
  26522. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  26523. * there are 2000 or more points in the series.
  26524. *
  26525. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  26526. * it to 1 will force boosting.
  26527. *
  26528. * Note that the cropThreshold also affects this setting. When zooming in on
  26529. * a series that has fewer points than the `cropThreshold`, all points are
  26530. * rendered although outside the visible plot area, and the `boostThreshold`
  26531. * won't take effect.
  26532. */
  26533. boostThreshold?: number;
  26534. /**
  26535. * (Highmaps) The border color of the map areas.
  26536. *
  26537. * In styled mode, the border stroke is given in the `.highcharts-point`
  26538. * class.
  26539. */
  26540. borderColor?: (ColorString|GradientColorObject|PatternObject);
  26541. /**
  26542. * (Highmaps) The border width of each map area.
  26543. *
  26544. * In styled mode, the border stroke width is given in the
  26545. * `.highcharts-point` class.
  26546. */
  26547. borderWidth?: number;
  26548. /**
  26549. * (Highstock) Bottom line options.
  26550. */
  26551. bottomLine?: PlotBbBottomLineOptions;
  26552. /**
  26553. * (Highstock) An additional class name to apply to the series' graphical
  26554. * elements. This option does not replace default class names of the
  26555. * graphical element.
  26556. */
  26557. className?: string;
  26558. /**
  26559. * (Highstock) Disable this option to allow series rendering in the whole
  26560. * plotting area.
  26561. *
  26562. * **Note:** Clipping should be always enabled when chart.zoomType is set
  26563. */
  26564. clip?: boolean;
  26565. /**
  26566. * (Highstock) The main color of the series. In line type series it applies
  26567. * to the line and the point markers unless otherwise specified. In bar type
  26568. * series it applies to the bars unless a color is specified per point. The
  26569. * default value is pulled from the `options.colors` array.
  26570. *
  26571. * In styled mode, the color can be defined by the colorIndex option. Also,
  26572. * the series color can be set with the `.highcharts-series`,
  26573. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  26574. * `.highcharts-series-{n}` class, or individual classes given by the
  26575. * `className` option.
  26576. */
  26577. color?: (ColorString|GradientColorObject|PatternObject);
  26578. /**
  26579. * (Highstock) Styled mode only. A specific color index to use for the
  26580. * series, so its graphic representations are given the class name
  26581. * `highcharts-color-{n}`.
  26582. */
  26583. colorIndex?: number;
  26584. /**
  26585. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  26586. * used to calculate point color if `colorAxis` is used. Requires to set
  26587. * `min` and `max` if some custom point property is used or if approximation
  26588. * for data grouping is set to `'sum'`.
  26589. */
  26590. colorKey?: string;
  26591. /**
  26592. * (Highstock) Compare the values of the series against the first non-null,
  26593. * non- zero value in the visible range. The y axis will show percentage or
  26594. * absolute change depending on whether `compare` is set to `"percent"` or
  26595. * `"value"`. When this is applied to multiple series, it allows comparing
  26596. * the development of the series against each other. Adds a `change` field
  26597. * to every point object.
  26598. */
  26599. compare?: string;
  26600. /**
  26601. * (Highstock) When compare is `percent`, this option dictates whether to
  26602. * use 0 or 100 as the base of comparison.
  26603. */
  26604. compareBase?: (0|100);
  26605. /**
  26606. * (Highstock) Defines if comparison should start from the first point
  26607. * within the visible range or should start from the first point **before**
  26608. * the range.
  26609. *
  26610. * In other words, this flag determines if first point within the visible
  26611. * range will have 0% (`compareStart=true`) or should have been already
  26612. * calculated according to the previous point (`compareStart=false`).
  26613. */
  26614. compareStart?: boolean;
  26615. /**
  26616. * (Highstock) Whether to compare indicator to the main series values or
  26617. * indicator values.
  26618. */
  26619. compareToMain?: boolean;
  26620. /**
  26621. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  26622. * series plot across the extremes.
  26623. */
  26624. connectEnds?: boolean;
  26625. /**
  26626. * (Highcharts, Highstock) Whether to connect a graph line across null
  26627. * points, or render a gap between the two points on either side of the
  26628. * null.
  26629. */
  26630. connectNulls?: boolean;
  26631. /**
  26632. * (Gantt) Override Pathfinder connector options for a series. Requires
  26633. * Highcharts Gantt to be loaded.
  26634. */
  26635. connectors?: SeriesConnectorsOptionsObject;
  26636. /**
  26637. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  26638. * rounded to its nearest pixel in order to render sharp on screen. In some
  26639. * cases, when there are a lot of densely packed columns, this leads to
  26640. * visible difference in column widths or distance between columns. In these
  26641. * cases, setting `crisp` to `false` may look better, even though each
  26642. * column is rendered blurry.
  26643. */
  26644. crisp?: boolean;
  26645. /**
  26646. * (Highcharts, Highstock) When the series contains less points than the
  26647. * crop threshold, all points are drawn, even if the points fall outside the
  26648. * visible plot area at the current zoom. The advantage of drawing all
  26649. * points (including markers and columns), is that animation is performed on
  26650. * updates. On the other hand, when the series contains more points than the
  26651. * crop threshold, the series data is cropped to only contain points that
  26652. * fall within the plot area. The advantage of cropping away invisible
  26653. * points is to increase performance on large series.
  26654. */
  26655. cropThreshold?: number;
  26656. /**
  26657. * (Highstock) You can set the cursor to "pointer" if you have click events
  26658. * attached to the series, to signal to the user that the points and lines
  26659. * can be clicked.
  26660. *
  26661. * In styled mode, the series cursor can be set with the same classes as
  26662. * listed under series.color.
  26663. */
  26664. cursor?: (string|CursorValue);
  26665. /**
  26666. * (Highstock) A reserved subspace to store options and values for
  26667. * customized functionality. Here you can add additional data for your own
  26668. * event callbacks and formatter callbacks.
  26669. */
  26670. custom?: Dictionary<any>;
  26671. /**
  26672. * (Highstock) Name of the dash style to use for the graph, or for some
  26673. * series types the outline of each shape.
  26674. *
  26675. * In styled mode, the stroke dash-array can be set with the same classes as
  26676. * listed under series.color.
  26677. */
  26678. dashStyle?: DashStyleValue;
  26679. /**
  26680. * (Highstock) Data grouping is the concept of sampling the data values into
  26681. * larger blocks in order to ease readability and increase performance of
  26682. * the JavaScript charts. Highcharts Stock by default applies data grouping
  26683. * when the points become closer than a certain pixel value, determined by
  26684. * the `groupPixelWidth` option.
  26685. *
  26686. * If data grouping is applied, the grouping information of grouped points
  26687. * can be read from the Point.dataGroup. If point options other than the
  26688. * data itself are set, for example `name` or `color` or custom properties,
  26689. * the grouping logic doesn't know how to group it. In this case the options
  26690. * of the first point instance are copied over to the group point. This can
  26691. * be altered through a custom `approximation` callback function.
  26692. */
  26693. dataGrouping?: DataGroupingOptionsObject;
  26694. /**
  26695. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  26696. * labels, appearing next to each data point.
  26697. *
  26698. * Since v6.2.0, multiple data labels can be applied to each single point by
  26699. * defining them as an array of configs.
  26700. *
  26701. * In styled mode, the data labels can be styled with the
  26702. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  26703. * (see example).
  26704. */
  26705. dataLabels?: (PlotBbDataLabelsOptions|Array<PlotBbDataLabelsOptions>);
  26706. /**
  26707. * (Highcharts, Highstock) Options for the series data sorting.
  26708. */
  26709. dataSorting?: (DataSortingOptionsObject|PlotBbDataSortingOptions);
  26710. /**
  26711. * (Highstock) A description of the series to add to the screen reader
  26712. * information about the series.
  26713. */
  26714. description?: string;
  26715. /**
  26716. * (Highstock) Enable or disable the mouse tracking for a specific series.
  26717. * This includes point tooltips and click events on graphs and points. For
  26718. * large datasets it improves performance.
  26719. */
  26720. enableMouseTracking?: boolean;
  26721. /**
  26722. * (Highstock) General event handlers for the series items. These event
  26723. * hooks can also be attached to the series at run time using the
  26724. * `Highcharts.addEvent` function.
  26725. */
  26726. events?: SeriesEventsOptionsObject;
  26727. /**
  26728. * (Highstock) Determines whether the series should look for the nearest
  26729. * point in both dimensions or just the x-dimension when hovering the
  26730. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  26731. * series. If the data has duplicate x-values, it is recommended to set this
  26732. * to `'xy'` to allow hovering over all points.
  26733. *
  26734. * Applies only to series types using nearest neighbor search (not direct
  26735. * hover) for tooltip.
  26736. */
  26737. findNearestPointBy?: OptionsFindNearestPointByValue;
  26738. /**
  26739. * (Highstock) Defines when to display a gap in the graph, together with the
  26740. * gapUnit option.
  26741. *
  26742. * In case when `dataGrouping` is enabled, points can be grouped into a
  26743. * larger time span. This can make the grouped points to have a greater
  26744. * distance than the absolute value of `gapSize` property, which will result
  26745. * in disappearing graph completely. To prevent this situation the mentioned
  26746. * distance between grouped points is used instead of previously defined
  26747. * `gapSize`.
  26748. *
  26749. * In practice, this option is most often used to visualize gaps in time
  26750. * series. In a stock chart, intraday data is available for daytime hours,
  26751. * while gaps will appear in nights and weekends.
  26752. */
  26753. gapSize?: number;
  26754. /**
  26755. * (Highstock) Together with gapSize, this option defines where to draw gaps
  26756. * in the graph.
  26757. *
  26758. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  26759. * if the distance between two points is greater than 5 times that of the
  26760. * two closest points, the graph will be broken.
  26761. *
  26762. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  26763. * values, which on a datetime axis is milliseconds. This also applies to
  26764. * the navigator series that inherits gap options from the base series.
  26765. */
  26766. gapUnit?: OptionsGapUnitValue;
  26767. /**
  26768. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  26769. * chart width or only the zoomed area when zooming in on parts of the X
  26770. * axis. By default, the Y axis adjusts to the min and max of the visible
  26771. * data. Cartesian series only.
  26772. */
  26773. getExtremesFromAll?: boolean;
  26774. /**
  26775. * (Highstock) When set to `false` will prevent the series data from being
  26776. * included in any form of data export.
  26777. *
  26778. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  26779. * `includeInCSVExport`.
  26780. */
  26781. includeInDataExport?: boolean;
  26782. /**
  26783. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  26784. * series as possible in a natural way, seeking to avoid other series. The
  26785. * goal of this feature is to make the chart more easily readable, like if a
  26786. * human designer placed the labels in the optimal position.
  26787. *
  26788. * The series labels currently work with series types having a `graph` or an
  26789. * `area`.
  26790. */
  26791. label?: SeriesLabelOptionsObject;
  26792. /**
  26793. * (Highstock) The line marks the last price from all points.
  26794. */
  26795. lastPrice?: SeriesLastPriceOptionsObject;
  26796. /**
  26797. * (Highstock) The line marks the last price from visible range of points.
  26798. */
  26799. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  26800. /**
  26801. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  26802. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  26803. * the ends and bends.
  26804. */
  26805. linecap?: SeriesLinecapValue;
  26806. /**
  26807. * (Highcharts, Highstock) Pixel width of the graph line.
  26808. */
  26809. lineWidth?: number;
  26810. /**
  26811. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  26812. * based on. Required for this indicator.
  26813. */
  26814. linkedTo?: string;
  26815. /**
  26816. * (Highstock) Options for the point markers of line-like series. Properties
  26817. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  26818. * appearance of the markers. Other series types, like column series, don't
  26819. * have markers, but have visual options on the series level instead.
  26820. *
  26821. * In styled mode, the markers can be styled with the `.highcharts-point`,
  26822. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  26823. */
  26824. marker?: PointMarkerOptionsObject;
  26825. /**
  26826. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  26827. * If not set, it will be based on a technical indicator type and default
  26828. * params.
  26829. */
  26830. name?: string;
  26831. /**
  26832. * (Highstock) The color for the parts of the graph or points that are below
  26833. * the threshold. Note that `zones` takes precedence over the negative
  26834. * color. Using `negativeColor` is equivalent to applying a zone with value
  26835. * of 0.
  26836. */
  26837. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  26838. /**
  26839. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  26840. * dataLabels.
  26841. */
  26842. opacity?: number;
  26843. /**
  26844. * (Highstock) Paramters used in calculation of regression series' points.
  26845. */
  26846. params?: PlotBbParamsOptions;
  26847. /**
  26848. * (Highstock) Properties for each single point.
  26849. */
  26850. point?: PlotSeriesPointOptions;
  26851. /**
  26852. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  26853. * individual series. Overrides the chart wide configuration.
  26854. */
  26855. pointDescriptionFormatter?: Function;
  26856. /**
  26857. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  26858. * true, the checkbox next to the series name in the legend will be checked
  26859. * for a selected series.
  26860. */
  26861. selected?: boolean;
  26862. /**
  26863. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  26864. * the shadow can be an object configuration containing `color`, `offsetX`,
  26865. * `offsetY`, `opacity` and `width`.
  26866. */
  26867. shadow?: (boolean|ShadowOptionsObject);
  26868. /**
  26869. * (Highstock) If true, a checkbox is displayed next to the legend item to
  26870. * allow selecting the series. The state of the checkbox is determined by
  26871. * the `selected` option.
  26872. */
  26873. showCheckbox?: boolean;
  26874. /**
  26875. * (Highstock) Whether to display this particular series or series type in
  26876. * the legend. Standalone series are shown in legend by default, and linked
  26877. * series are not. Since v7.2.0 it is possible to show series that use
  26878. * colorAxis by setting this option to `true`.
  26879. */
  26880. showInLegend?: boolean;
  26881. /**
  26882. * (Highstock) If set to `true`, the accessibility module will skip past the
  26883. * points in this series for keyboard navigation.
  26884. */
  26885. skipKeyboardNavigation?: boolean;
  26886. /**
  26887. * (Highcharts, Highstock) When this is true, the series will not cause the
  26888. * Y axis to cross the zero plane (or threshold option) unless the data
  26889. * actually crosses the plane.
  26890. *
  26891. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  26892. * make the Y axis show negative values according to the `minPadding`
  26893. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  26894. */
  26895. softThreshold?: boolean;
  26896. states?: SeriesStatesOptionsObject;
  26897. /**
  26898. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  26899. * values are `left`, `center` and `right`.
  26900. */
  26901. step?: OptionsStepValue;
  26902. /**
  26903. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  26904. * event on a series isn't triggered until the mouse moves over another
  26905. * series, or out of the plot area. When false, the `mouseOut` event on a
  26906. * series is triggered when the mouse leaves the area around the series'
  26907. * graph or markers. This also implies the tooltip when not shared. When
  26908. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  26909. * be hidden when moving the mouse between series. Defaults to true for line
  26910. * and area type series, but to false for columns, pies etc.
  26911. *
  26912. * **Note:** The boost module will force this option because of technical
  26913. * limitations.
  26914. */
  26915. stickyTracking?: boolean;
  26916. /**
  26917. * (Highcharts, Highstock) The threshold, also called zero level or base
  26918. * level. For line type series this is only used in conjunction with
  26919. * negativeColor.
  26920. */
  26921. threshold?: (number|null);
  26922. /**
  26923. * (Highstock) A configuration object for the tooltip rendering of each
  26924. * single series. Properties are inherited from tooltip, but only the
  26925. * following properties can be defined on a series level.
  26926. */
  26927. tooltip?: SeriesTooltipOptionsObject;
  26928. /**
  26929. * (Highstock) Top line options.
  26930. */
  26931. topLine?: PlotBbTopLineOptions;
  26932. /**
  26933. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  26934. * is longer than this, only one dimensional arrays of numbers, or two
  26935. * dimensional arrays with x and y values are allowed. Also, only the first
  26936. * point is tested, and the rest are assumed to be the same format. This
  26937. * saves expensive data checking and indexing in long series. Set it to `0`
  26938. * disable.
  26939. *
  26940. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  26941. * two dimensional arrays are allowed.
  26942. */
  26943. turboThreshold?: number;
  26944. /**
  26945. * (Highstock) Set the initial visibility of the series.
  26946. */
  26947. visible?: boolean;
  26948. /**
  26949. * (Highmaps) Define the z index of the series.
  26950. */
  26951. zIndex?: number;
  26952. /**
  26953. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  26954. */
  26955. zoneAxis?: string;
  26956. /**
  26957. * (Highcharts, Highstock) An array defining zones within a series. Zones
  26958. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  26959. * the `zoneAxis` option. The zone definitions have to be in ascending order
  26960. * regarding to the value.
  26961. *
  26962. * In styled mode, the color zones are styled with the
  26963. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  26964. * option (view live demo).
  26965. */
  26966. zones?: Array<SeriesZonesOptionsObject>;
  26967. }
  26968. /**
  26969. * (Highstock) Paramters used in calculation of regression series' points.
  26970. */
  26971. export interface PlotBbParamsOptions {
  26972. /**
  26973. * (Highstock) The point index which indicator calculations will base. For
  26974. * example using OHLC data, index=2 means the indicator will be calculated
  26975. * using Low values.
  26976. */
  26977. index?: number;
  26978. /**
  26979. * (Highstock) The base period for indicator calculations. This is the
  26980. * number of data points which are taken into account for the indicator
  26981. * calculations.
  26982. */
  26983. period?: number;
  26984. /**
  26985. * (Highstock) Standard deviation for top and bottom bands.
  26986. */
  26987. standardDeviation?: number;
  26988. }
  26989. /**
  26990. * (Highstock) Top line options.
  26991. */
  26992. export interface PlotBbTopLineOptions {
  26993. /**
  26994. * (Highstock) Styles for a bottom line.
  26995. */
  26996. styles?: PlotBbTopLineStylesOptions;
  26997. }
  26998. /**
  26999. * (Highstock) Styles for a bottom line.
  27000. */
  27001. export interface PlotBbTopLineStylesOptions {
  27002. /**
  27003. * (Highstock) Color of the line. If not set, it's inherited from
  27004. * plotOptions.bb.color.
  27005. */
  27006. lineColor?: ColorString;
  27007. /**
  27008. * (Highstock) Pixel width of the line.
  27009. */
  27010. lineWidth?: number;
  27011. }
  27012. /**
  27013. * (Highcharts) Enable or disable the initial animation when a series is
  27014. * displayed. The animation can also be set as a configuration object. Please
  27015. * note that this option only applies to the initial animation of the series
  27016. * itself. For other animations, see chart.animation and the animation parameter
  27017. * under the API methods. The following properties are supported:
  27018. *
  27019. * - `defer`: The animation delay time in milliseconds.
  27020. *
  27021. * - `duration`: The duration of the animation in milliseconds.
  27022. *
  27023. * - `easing`: Can be a string reference to an easing function set on the `Math`
  27024. * object or a function. See the _Custom easing function_ demo below.
  27025. *
  27026. * Due to poor performance, animation is disabled in old IE browsers for several
  27027. * chart types.
  27028. */
  27029. export interface PlotBellcurveAnimationOptions {
  27030. defer?: number;
  27031. }
  27032. /**
  27033. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  27034. * animation when a series is displayed for the `dataLabels`. The animation can
  27035. * also be set as a configuration object. Please note that this option only
  27036. * applies to the initial animation. For other animations, see chart.animation
  27037. * and the animation parameter under the API methods. The following properties
  27038. * are supported:
  27039. *
  27040. * - `defer`: The animation delay time in milliseconds.
  27041. */
  27042. export interface PlotBellcurveDataLabelsAnimationOptions {
  27043. /**
  27044. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  27045. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  27046. * inherits defer time from the series.animation.defer.
  27047. */
  27048. defer?: number;
  27049. }
  27050. /**
  27051. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  27052. * appearing next to each data point.
  27053. *
  27054. * Since v6.2.0, multiple data labels can be applied to each single point by
  27055. * defining them as an array of configs.
  27056. *
  27057. * In styled mode, the data labels can be styled with the
  27058. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  27059. * example).
  27060. */
  27061. export interface PlotBellcurveDataLabelsOptions {
  27062. /**
  27063. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  27064. * compared to the point. If `right`, the right side of the label should be
  27065. * touching the point. For points with an extent, like columns, the
  27066. * alignments also dictates how to align it inside the box, as given with
  27067. * the inside option. Can be one of `left`, `center` or `right`.
  27068. */
  27069. align?: (AlignValue|null);
  27070. /**
  27071. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  27072. * overlap. To make the labels less sensitive for overlapping, the
  27073. * dataLabels.padding can be set to 0.
  27074. */
  27075. allowOverlap?: boolean;
  27076. /**
  27077. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  27078. * animation when a series is displayed for the `dataLabels`. The animation
  27079. * can also be set as a configuration object. Please note that this option
  27080. * only applies to the initial animation. For other animations, see
  27081. * chart.animation and the animation parameter under the API methods. The
  27082. * following properties are supported:
  27083. *
  27084. * - `defer`: The animation delay time in milliseconds.
  27085. */
  27086. animation?: (boolean|PlotBellcurveDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  27087. /**
  27088. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  27089. * for the data label.
  27090. */
  27091. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  27092. /**
  27093. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  27094. * label. Defaults to `undefined`.
  27095. */
  27096. borderColor?: (ColorString|GradientColorObject|PatternObject);
  27097. /**
  27098. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  27099. * the data label.
  27100. */
  27101. borderRadius?: number;
  27102. /**
  27103. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  27104. * the data label.
  27105. */
  27106. borderWidth?: number;
  27107. /**
  27108. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  27109. * Particularly in styled mode, this can be used to give each series' or
  27110. * point's data label unique styling. In addition to this option, a default
  27111. * color class name is added so that we can give the labels a contrast text
  27112. * shadow.
  27113. */
  27114. className?: string;
  27115. /**
  27116. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  27117. * labels. Defaults to `undefined`. For certain series types, like column or
  27118. * map, the data labels can be drawn inside the points. In this case the
  27119. * data label will be drawn with maximum contrast by default. Additionally,
  27120. * it will be given a `text-outline` style with the opposite color, to
  27121. * further increase the contrast. This can be overridden by setting the
  27122. * `text-outline` style to `none` in the `dataLabels.style` option.
  27123. */
  27124. color?: (ColorString|GradientColorObject|PatternObject);
  27125. /**
  27126. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  27127. * are outside the plot area. By default, the data label is moved inside the
  27128. * plot area according to the overflow option.
  27129. */
  27130. crop?: boolean;
  27131. /**
  27132. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  27133. * labels until the initial series animation has finished. Setting to
  27134. * `false` renders the data label immediately. If set to `true` inherits the
  27135. * defer time set in plotOptions.series.animation. If set to a number, a
  27136. * defer time is specified in milliseconds.
  27137. */
  27138. defer?: (boolean|number);
  27139. /**
  27140. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  27141. * labels.
  27142. */
  27143. enabled?: boolean;
  27144. /**
  27145. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  27146. * of which data labels to display. The declarative filter is designed for
  27147. * use when callback functions are not available, like when the chart
  27148. * options require a pure JSON structure or for use with graphical editors.
  27149. * For programmatic control, use the `formatter` instead, and return
  27150. * `undefined` to disable a single data label.
  27151. */
  27152. filter?: DataLabelsFilterOptionsObject;
  27153. /**
  27154. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  27155. * label. Available variables are the same as for `formatter`.
  27156. */
  27157. format?: string;
  27158. /**
  27159. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  27160. * format the data label. Note that if a `format` is defined, the format
  27161. * takes precedence and the formatter is ignored.
  27162. */
  27163. formatter?: DataLabelsFormatterCallbackFunction;
  27164. /**
  27165. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  27166. * columns or map areas, whether to align the data label inside the box or
  27167. * to the actual value point. Defaults to `false` in most cases, `true` in
  27168. * stacked columns.
  27169. */
  27170. inside?: boolean;
  27171. /**
  27172. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  27173. * of null. Works analogously to format. `nullFormat` can be applied only to
  27174. * series which support displaying null points.
  27175. */
  27176. nullFormat?: (boolean|string);
  27177. /**
  27178. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  27179. * that defines formatting for points with the value of null. Works
  27180. * analogously to formatter. `nullPointFormatter` can be applied only to
  27181. * series which support displaying null points.
  27182. */
  27183. nullFormatter?: DataLabelsFormatterCallbackFunction;
  27184. /**
  27185. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  27186. * flow outside the plot area. The default is `"justify"`, which aligns them
  27187. * inside the plot area. For columns and bars, this means it will be moved
  27188. * inside the bar. To display data labels outside the plot area, set `crop`
  27189. * to `false` and `overflow` to `"allow"`.
  27190. */
  27191. overflow?: DataLabelsOverflowValue;
  27192. /**
  27193. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  27194. * the `backgroundColor` is set, this is the padding within the box.
  27195. */
  27196. padding?: number;
  27197. /**
  27198. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  27199. * points. If `center` alignment is not possible, it defaults to `right`.
  27200. */
  27201. position?: AlignValue;
  27202. /**
  27203. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  27204. * that due to a more complex structure, backgrounds, borders and padding
  27205. * will be lost on a rotated data label.
  27206. */
  27207. rotation?: number;
  27208. /**
  27209. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  27210. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  27211. * an object configuration containing `color`, `offsetX`, `offsetY`,
  27212. * `opacity` and `width`.
  27213. */
  27214. shadow?: (boolean|ShadowOptionsObject);
  27215. /**
  27216. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  27217. * the border around the label. Symbols are predefined functions on the
  27218. * Renderer object.
  27219. */
  27220. shape?: string;
  27221. /**
  27222. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  27223. * default `color` setting is `"contrast"`, which is a pseudo color that
  27224. * Highcharts picks up and applies the maximum contrast to the underlying
  27225. * point item, for example the bar in a bar chart.
  27226. *
  27227. * The `textOutline` is a pseudo property that applies an outline of the
  27228. * given width with the given color, which by default is the maximum
  27229. * contrast to the text. So a bright text color will result in a black text
  27230. * outline for maximum readability on a mixed background. In some cases,
  27231. * especially with grayscale text, the text outline doesn't work well, in
  27232. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  27233. * is true, the `textOutline` will not be picked up. In this, case, the same
  27234. * effect can be acheived through the `text-shadow` CSS property.
  27235. *
  27236. * For some series types, where each point has an extent, like for example
  27237. * tree maps, the data label may overflow the point. There are two
  27238. * strategies for handling overflow. By default, the text will wrap to
  27239. * multiple lines. The other strategy is to set `style.textOverflow` to
  27240. * `ellipsis`, which will keep the text on one line plus it will break
  27241. * inside long words.
  27242. */
  27243. style?: CSSObject;
  27244. /**
  27245. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  27246. * should follow marker's shape. Border and background are disabled for a
  27247. * label that follows a path.
  27248. *
  27249. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  27250. * to true will disable this option.
  27251. */
  27252. textPath?: DataLabelsTextPathOptionsObject;
  27253. /**
  27254. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  27255. * the labels.
  27256. */
  27257. useHTML?: boolean;
  27258. /**
  27259. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  27260. * label. Can be one of `top`, `middle` or `bottom`. The default value
  27261. * depends on the data, for instance in a column chart, the label is above
  27262. * positive values and below negative values.
  27263. */
  27264. verticalAlign?: (VerticalAlignValue|null);
  27265. /**
  27266. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  27267. * label relative to the point in pixels.
  27268. */
  27269. x?: number;
  27270. /**
  27271. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  27272. * label relative to the point in pixels.
  27273. */
  27274. y?: number;
  27275. /**
  27276. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  27277. * The default Z index puts it above the series. Use a Z index of 2 to
  27278. * display it behind the series.
  27279. */
  27280. z?: number;
  27281. }
  27282. /**
  27283. * (Highcharts, Highstock) Options for the series data sorting.
  27284. */
  27285. export interface PlotBellcurveDataSortingOptions {
  27286. /**
  27287. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  27288. * Use xAxis.reversed to change the sorting order.
  27289. */
  27290. enabled?: boolean;
  27291. /**
  27292. * (Highcharts, Highstock) Whether to allow matching points by name in an
  27293. * update. If this option is disabled, points will be matched by order.
  27294. */
  27295. matchByName?: boolean;
  27296. /**
  27297. * (Highcharts, Highstock) Determines what data value should be used to sort
  27298. * by.
  27299. */
  27300. sortKey?: string;
  27301. }
  27302. /**
  27303. * (Highcharts) A bell curve is an areaspline series which represents the
  27304. * probability density function of the normal distribution. It calculates mean
  27305. * and standard deviation of the base series data and plots the curve according
  27306. * to the calculated parameters.
  27307. *
  27308. * In TypeScript the type option must always be set.
  27309. *
  27310. * Configuration options for the series are given in three levels:
  27311. *
  27312. * 1. Options for all series in a chart are defined in the plotOptions.series
  27313. * object.
  27314. *
  27315. * 2. Options for all `bellcurve` series are defined in plotOptions.bellcurve.
  27316. *
  27317. * 3. Options for one single series are given in the series instance array. (see
  27318. * online documentation for example)
  27319. */
  27320. export interface PlotBellcurveOptions {
  27321. /**
  27322. * (Highcharts) Accessibility options for a series.
  27323. */
  27324. accessibility?: SeriesAccessibilityOptionsObject;
  27325. /**
  27326. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  27327. * rendered. If `true`, areas which don't correspond to a data point, are
  27328. * rendered as `null` points. If `false`, those areas are skipped.
  27329. */
  27330. allAreas?: boolean;
  27331. /**
  27332. * (Highcharts) Allow this series' points to be selected by clicking on the
  27333. * graphic (columns, point markers, pie slices, map areas etc).
  27334. *
  27335. * The selected points can be handled by point select and unselect events,
  27336. * or collectively by the getSelectedPoints function.
  27337. *
  27338. * And alternative way of selecting points is through dragging.
  27339. */
  27340. allowPointSelect?: boolean;
  27341. /**
  27342. * (Highcharts) Enable or disable the initial animation when a series is
  27343. * displayed. The animation can also be set as a configuration object.
  27344. * Please note that this option only applies to the initial animation of the
  27345. * series itself. For other animations, see chart.animation and the
  27346. * animation parameter under the API methods. The following properties are
  27347. * supported:
  27348. *
  27349. * - `defer`: The animation delay time in milliseconds.
  27350. *
  27351. * - `duration`: The duration of the animation in milliseconds.
  27352. *
  27353. * - `easing`: Can be a string reference to an easing function set on the
  27354. * `Math` object or a function. See the _Custom easing function_ demo below.
  27355. *
  27356. * Due to poor performance, animation is disabled in old IE browsers for
  27357. * several chart types.
  27358. */
  27359. animation?: (boolean|PlotBellcurveAnimationOptions|Partial<AnimationOptionsObject>);
  27360. /**
  27361. * (Highcharts) For some series, there is a limit that shuts down initial
  27362. * animation by default when the total number of points in the chart is too
  27363. * high. For example, for a column chart and its derivatives, animation does
  27364. * not run if there is more than 250 points totally. To disable this cap,
  27365. * set `animationLimit` to `Infinity`.
  27366. */
  27367. animationLimit?: number;
  27368. /**
  27369. * (Highmaps) The border color of the map areas.
  27370. *
  27371. * In styled mode, the border stroke is given in the `.highcharts-point`
  27372. * class.
  27373. */
  27374. borderColor?: (ColorString|GradientColorObject|PatternObject);
  27375. /**
  27376. * (Highmaps) The border width of each map area.
  27377. *
  27378. * In styled mode, the border stroke width is given in the
  27379. * `.highcharts-point` class.
  27380. */
  27381. borderWidth?: number;
  27382. /**
  27383. * (Highcharts) An additional class name to apply to the series' graphical
  27384. * elements. This option does not replace default class names of the
  27385. * graphical element.
  27386. */
  27387. className?: string;
  27388. /**
  27389. * (Highcharts) Disable this option to allow series rendering in the whole
  27390. * plotting area.
  27391. *
  27392. * **Note:** Clipping should be always enabled when chart.zoomType is set
  27393. */
  27394. clip?: boolean;
  27395. /**
  27396. * (Highcharts) The main color of the series. In line type series it applies
  27397. * to the line and the point markers unless otherwise specified. In bar type
  27398. * series it applies to the bars unless a color is specified per point. The
  27399. * default value is pulled from the `options.colors` array.
  27400. *
  27401. * In styled mode, the color can be defined by the colorIndex option. Also,
  27402. * the series color can be set with the `.highcharts-series`,
  27403. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  27404. * `.highcharts-series-{n}` class, or individual classes given by the
  27405. * `className` option.
  27406. */
  27407. color?: (ColorString|GradientColorObject|PatternObject);
  27408. /**
  27409. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  27410. * this number defines which colorAxis the particular series is connected
  27411. * to. It refers to either the axis id or the index of the axis in the
  27412. * colorAxis array, with 0 being the first. Set this option to false to
  27413. * prevent a series from connecting to the default color axis.
  27414. *
  27415. * Since v7.2.0 the option can also be an axis id or an axis index instead
  27416. * of a boolean flag.
  27417. */
  27418. colorAxis?: (boolean|number|string);
  27419. /**
  27420. * (Highcharts) Styled mode only. A specific color index to use for the
  27421. * series, so its graphic representations are given the class name
  27422. * `highcharts-color-{n}`.
  27423. */
  27424. colorIndex?: number;
  27425. /**
  27426. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  27427. * used to calculate point color if `colorAxis` is used. Requires to set
  27428. * `min` and `max` if some custom point property is used or if approximation
  27429. * for data grouping is set to `'sum'`.
  27430. */
  27431. colorKey?: string;
  27432. /**
  27433. * (Highstock) Compare the values of the series against the first non-null,
  27434. * non- zero value in the visible range. The y axis will show percentage or
  27435. * absolute change depending on whether `compare` is set to `"percent"` or
  27436. * `"value"`. When this is applied to multiple series, it allows comparing
  27437. * the development of the series against each other. Adds a `change` field
  27438. * to every point object.
  27439. */
  27440. compare?: string;
  27441. /**
  27442. * (Highstock) When compare is `percent`, this option dictates whether to
  27443. * use 0 or 100 as the base of comparison.
  27444. */
  27445. compareBase?: (0|100);
  27446. /**
  27447. * (Highstock) Defines if comparison should start from the first point
  27448. * within the visible range or should start from the first point **before**
  27449. * the range.
  27450. *
  27451. * In other words, this flag determines if first point within the visible
  27452. * range will have 0% (`compareStart=true`) or should have been already
  27453. * calculated according to the previous point (`compareStart=false`).
  27454. */
  27455. compareStart?: boolean;
  27456. /**
  27457. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  27458. * series plot across the extremes.
  27459. */
  27460. connectEnds?: boolean;
  27461. /**
  27462. * (Gantt) Override Pathfinder connector options for a series. Requires
  27463. * Highcharts Gantt to be loaded.
  27464. */
  27465. connectors?: SeriesConnectorsOptionsObject;
  27466. /**
  27467. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  27468. * rounded to its nearest pixel in order to render sharp on screen. In some
  27469. * cases, when there are a lot of densely packed columns, this leads to
  27470. * visible difference in column widths or distance between columns. In these
  27471. * cases, setting `crisp` to `false` may look better, even though each
  27472. * column is rendered blurry.
  27473. */
  27474. crisp?: boolean;
  27475. /**
  27476. * (Highcharts, Highstock) When the series contains less points than the
  27477. * crop threshold, all points are drawn, even if the points fall outside the
  27478. * visible plot area at the current zoom. The advantage of drawing all
  27479. * points (including markers and columns), is that animation is performed on
  27480. * updates. On the other hand, when the series contains more points than the
  27481. * crop threshold, the series data is cropped to only contain points that
  27482. * fall within the plot area. The advantage of cropping away invisible
  27483. * points is to increase performance on large series.
  27484. */
  27485. cropThreshold?: number;
  27486. /**
  27487. * (Highcharts) You can set the cursor to "pointer" if you have click events
  27488. * attached to the series, to signal to the user that the points and lines
  27489. * can be clicked.
  27490. *
  27491. * In styled mode, the series cursor can be set with the same classes as
  27492. * listed under series.color.
  27493. */
  27494. cursor?: (string|CursorValue);
  27495. /**
  27496. * (Highcharts) A reserved subspace to store options and values for
  27497. * customized functionality. Here you can add additional data for your own
  27498. * event callbacks and formatter callbacks.
  27499. */
  27500. custom?: Dictionary<any>;
  27501. /**
  27502. * (Highcharts) Name of the dash style to use for the graph, or for some
  27503. * series types the outline of each shape.
  27504. *
  27505. * In styled mode, the stroke dash-array can be set with the same classes as
  27506. * listed under series.color.
  27507. */
  27508. dashStyle?: DashStyleValue;
  27509. /**
  27510. * (Highstock) Data grouping is the concept of sampling the data values into
  27511. * larger blocks in order to ease readability and increase performance of
  27512. * the JavaScript charts. Highcharts Stock by default applies data grouping
  27513. * when the points become closer than a certain pixel value, determined by
  27514. * the `groupPixelWidth` option.
  27515. *
  27516. * If data grouping is applied, the grouping information of grouped points
  27517. * can be read from the Point.dataGroup. If point options other than the
  27518. * data itself are set, for example `name` or `color` or custom properties,
  27519. * the grouping logic doesn't know how to group it. In this case the options
  27520. * of the first point instance are copied over to the group point. This can
  27521. * be altered through a custom `approximation` callback function.
  27522. */
  27523. dataGrouping?: DataGroupingOptionsObject;
  27524. /**
  27525. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  27526. * labels, appearing next to each data point.
  27527. *
  27528. * Since v6.2.0, multiple data labels can be applied to each single point by
  27529. * defining them as an array of configs.
  27530. *
  27531. * In styled mode, the data labels can be styled with the
  27532. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  27533. * (see example).
  27534. */
  27535. dataLabels?: (PlotBellcurveDataLabelsOptions|Array<PlotBellcurveDataLabelsOptions>);
  27536. /**
  27537. * (Highcharts, Highstock) Options for the series data sorting.
  27538. */
  27539. dataSorting?: (DataSortingOptionsObject|PlotBellcurveDataSortingOptions);
  27540. /**
  27541. * (Highcharts) A description of the series to add to the screen reader
  27542. * information about the series.
  27543. */
  27544. description?: string;
  27545. /**
  27546. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  27547. * This includes point tooltips and click events on graphs and points. For
  27548. * large datasets it improves performance.
  27549. */
  27550. enableMouseTracking?: boolean;
  27551. /**
  27552. * (Highcharts) General event handlers for the series items. These event
  27553. * hooks can also be attached to the series at run time using the
  27554. * `Highcharts.addEvent` function.
  27555. */
  27556. events?: SeriesEventsOptionsObject;
  27557. /**
  27558. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  27559. * the series' `color` is used with the series' `fillOpacity`.
  27560. *
  27561. * In styled mode, the fill color can be set with the `.highcharts-area`
  27562. * class name.
  27563. */
  27564. fillColor?: (ColorString|GradientColorObject|PatternObject);
  27565. /**
  27566. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  27567. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  27568. * should define the opacity in the `fillColor` with an rgba color
  27569. * definition. The `fillOpacity` setting, also the default setting,
  27570. * overrides the alpha component of the `color` setting.
  27571. *
  27572. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  27573. * class name.
  27574. */
  27575. fillOpacity?: number;
  27576. /**
  27577. * (Highcharts) Determines whether the series should look for the nearest
  27578. * point in both dimensions or just the x-dimension when hovering the
  27579. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  27580. * series. If the data has duplicate x-values, it is recommended to set this
  27581. * to `'xy'` to allow hovering over all points.
  27582. *
  27583. * Applies only to series types using nearest neighbor search (not direct
  27584. * hover) for tooltip.
  27585. */
  27586. findNearestPointBy?: OptionsFindNearestPointByValue;
  27587. /**
  27588. * (Highstock) Defines when to display a gap in the graph, together with the
  27589. * gapUnit option.
  27590. *
  27591. * In case when `dataGrouping` is enabled, points can be grouped into a
  27592. * larger time span. This can make the grouped points to have a greater
  27593. * distance than the absolute value of `gapSize` property, which will result
  27594. * in disappearing graph completely. To prevent this situation the mentioned
  27595. * distance between grouped points is used instead of previously defined
  27596. * `gapSize`.
  27597. *
  27598. * In practice, this option is most often used to visualize gaps in time
  27599. * series. In a stock chart, intraday data is available for daytime hours,
  27600. * while gaps will appear in nights and weekends.
  27601. */
  27602. gapSize?: number;
  27603. /**
  27604. * (Highstock) Together with gapSize, this option defines where to draw gaps
  27605. * in the graph.
  27606. *
  27607. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  27608. * if the distance between two points is greater than 5 times that of the
  27609. * two closest points, the graph will be broken.
  27610. *
  27611. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  27612. * values, which on a datetime axis is milliseconds. This also applies to
  27613. * the navigator series that inherits gap options from the base series.
  27614. */
  27615. gapUnit?: OptionsGapUnitValue;
  27616. /**
  27617. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  27618. * chart width or only the zoomed area when zooming in on parts of the X
  27619. * axis. By default, the Y axis adjusts to the min and max of the visible
  27620. * data. Cartesian series only.
  27621. */
  27622. getExtremesFromAll?: boolean;
  27623. /**
  27624. * (Highcharts) When set to `false` will prevent the series data from being
  27625. * included in any form of data export.
  27626. *
  27627. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  27628. * `includeInCSVExport`.
  27629. */
  27630. includeInDataExport?: boolean;
  27631. /**
  27632. * (Highcharts) This option allows to define the length of the bell curve. A
  27633. * unit of the length of the bell curve is standard deviation.
  27634. */
  27635. intervals?: number;
  27636. /**
  27637. * (Highmaps) What property to join the `mapData` to the value data. For
  27638. * example, if joinBy is "code", the mapData items with a specific code is
  27639. * merged into the data with the same code. For maps loaded from GeoJSON,
  27640. * the keys may be held in each point's `properties` object.
  27641. *
  27642. * The joinBy option can also be an array of two values, where the first
  27643. * points to a key in the `mapData`, and the second points to another key in
  27644. * the `data`.
  27645. *
  27646. * When joinBy is `null`, the map items are joined by their position in the
  27647. * array, which performs much better in maps with many data points. This is
  27648. * the recommended option if you are printing more than a thousand data
  27649. * points and have a backend that can preprocess the data into a parallel
  27650. * array of the mapData.
  27651. */
  27652. joinBy?: (string|Array<string>);
  27653. /**
  27654. * (Highcharts) An array specifying which option maps to which key in the
  27655. * data point array. This makes it convenient to work with unstructured data
  27656. * arrays from different sources.
  27657. */
  27658. keys?: Array<string>;
  27659. /**
  27660. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  27661. * series as possible in a natural way, seeking to avoid other series. The
  27662. * goal of this feature is to make the chart more easily readable, like if a
  27663. * human designer placed the labels in the optimal position.
  27664. *
  27665. * The series labels currently work with series types having a `graph` or an
  27666. * `area`.
  27667. */
  27668. label?: SeriesLabelOptionsObject;
  27669. /**
  27670. * (Highstock) The line marks the last price from all points.
  27671. */
  27672. lastPrice?: SeriesLastPriceOptionsObject;
  27673. /**
  27674. * (Highstock) The line marks the last price from visible range of points.
  27675. */
  27676. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  27677. /**
  27678. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  27679. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  27680. * the ends and bends.
  27681. */
  27682. linecap?: SeriesLinecapValue;
  27683. /**
  27684. * (Highcharts, Highstock) A separate color for the graph line. By default
  27685. * the line takes the `color` of the series, but the lineColor setting
  27686. * allows setting a separate color for the line without altering the
  27687. * `fillColor`.
  27688. *
  27689. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  27690. * class name.
  27691. */
  27692. lineColor?: (ColorString|GradientColorObject|PatternObject);
  27693. /**
  27694. * (Highcharts, Highstock) Pixel width of the graph line.
  27695. */
  27696. lineWidth?: number;
  27697. /**
  27698. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  27699. * Additionally, the value can be ":previous" to link to the previous
  27700. * series. When two series are linked, only the first one appears in the
  27701. * legend. Toggling the visibility of this also toggles the linked series.
  27702. *
  27703. * If master series uses data sorting and linked series does not have its
  27704. * own sorting definition, the linked series will be sorted in the same
  27705. * order as the master one.
  27706. */
  27707. linkedTo?: string;
  27708. /**
  27709. * (Highcharts) Options for the point markers of line-like series.
  27710. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  27711. * visual appearance of the markers. Other series types, like column series,
  27712. * don't have markers, but have visual options on the series level instead.
  27713. *
  27714. * In styled mode, the markers can be styled with the `.highcharts-point`,
  27715. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  27716. */
  27717. marker?: PointMarkerOptionsObject;
  27718. /**
  27719. * (Highstock) Options for the corresponding navigator series if
  27720. * `showInNavigator` is `true` for this series. Available options are the
  27721. * same as any series, documented at plotOptions and series.
  27722. *
  27723. * These options are merged with options in navigator.series, and will take
  27724. * precedence if the same option is defined both places.
  27725. */
  27726. navigatorOptions?: PlotSeriesOptions;
  27727. /**
  27728. * (Highcharts) The color for the parts of the graph or points that are
  27729. * below the threshold. Note that `zones` takes precedence over the negative
  27730. * color. Using `negativeColor` is equivalent to applying a zone with value
  27731. * of 0.
  27732. */
  27733. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  27734. /**
  27735. * (Highcharts) A separate color for the negative part of the area.
  27736. *
  27737. * In styled mode, a negative color is set with the `.highcharts-negative`
  27738. * class name.
  27739. */
  27740. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  27741. /**
  27742. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  27743. * dataLabels.
  27744. */
  27745. opacity?: number;
  27746. /**
  27747. * (Highcharts) Properties for each single point.
  27748. */
  27749. point?: PlotSeriesPointOptions;
  27750. /**
  27751. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  27752. * individual series. Overrides the chart wide configuration.
  27753. */
  27754. pointDescriptionFormatter?: Function;
  27755. /**
  27756. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  27757. * `number`.
  27758. *
  27759. * In a column chart, when pointPlacement is `"on"`, the point will not
  27760. * create any padding of the X axis. In a polar column chart this means that
  27761. * the first column points directly north. If the pointPlacement is
  27762. * `"between"`, the columns will be laid out between ticks. This is useful
  27763. * for example for visualising an amount between two points in time or in a
  27764. * certain sector of a polar chart.
  27765. *
  27766. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  27767. * is on the axis value, -0.5 is between this value and the previous, and
  27768. * 0.5 is between this value and the next. Unlike the textual options,
  27769. * numeric point placement options won't affect axis padding.
  27770. *
  27771. * Note that pointPlacement needs a pointRange to work. For column series
  27772. * this is computed, but for line-type series it needs to be set.
  27773. *
  27774. * For the `xrange` series type and gantt charts, if the Y axis is a
  27775. * category axis, the `pointPlacement` applies to the Y axis rather than the
  27776. * (typically datetime) X axis.
  27777. *
  27778. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  27779. */
  27780. pointPlacement?: (number|string);
  27781. /**
  27782. * (Highstock) The width of each point on the x axis. For example in a
  27783. * column chart with one value each day, the pointRange would be 1 day (= 24
  27784. * * 3600
  27785. *
  27786. * * 1000 milliseconds). This is normally computed automatically, but this
  27787. * option can be used to override the automatic value.
  27788. */
  27789. pointRange?: number;
  27790. /**
  27791. * (Highcharts) Defines how many points should be plotted within 1 interval.
  27792. * See `plotOptions.bellcurve.intervals`.
  27793. */
  27794. pointsInInterval?: number;
  27795. /**
  27796. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  27797. * a series, pointStart defines on what value to start. For example, if a
  27798. * series contains one yearly value starting from 1945, set pointStart to
  27799. * 1945.
  27800. */
  27801. pointStart?: number;
  27802. /**
  27803. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  27804. * true, the checkbox next to the series name in the legend will be checked
  27805. * for a selected series.
  27806. */
  27807. selected?: boolean;
  27808. /**
  27809. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  27810. * the shadow can be an object configuration containing `color`, `offsetX`,
  27811. * `offsetY`, `opacity` and `width`.
  27812. */
  27813. shadow?: (boolean|ShadowOptionsObject);
  27814. /**
  27815. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  27816. * allow selecting the series. The state of the checkbox is determined by
  27817. * the `selected` option.
  27818. */
  27819. showCheckbox?: boolean;
  27820. /**
  27821. * (Highcharts) Whether to display this particular series or series type in
  27822. * the legend. Standalone series are shown in legend by default, and linked
  27823. * series are not. Since v7.2.0 it is possible to show series that use
  27824. * colorAxis by setting this option to `true`.
  27825. */
  27826. showInLegend?: boolean;
  27827. /**
  27828. * (Highstock) Whether or not to show the series in the navigator. Takes
  27829. * precedence over navigator.baseSeries if defined.
  27830. */
  27831. showInNavigator?: boolean;
  27832. /**
  27833. * (Highcharts) If set to `true`, the accessibility module will skip past
  27834. * the points in this series for keyboard navigation.
  27835. */
  27836. skipKeyboardNavigation?: boolean;
  27837. /**
  27838. * (Highcharts, Highstock) When this is true, the series will not cause the
  27839. * Y axis to cross the zero plane (or threshold option) unless the data
  27840. * actually crosses the plane.
  27841. *
  27842. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  27843. * make the Y axis show negative values according to the `minPadding`
  27844. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  27845. */
  27846. softThreshold?: boolean;
  27847. states?: SeriesStatesOptionsObject;
  27848. /**
  27849. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  27850. * event on a series isn't triggered until the mouse moves over another
  27851. * series, or out of the plot area. When false, the `mouseOut` event on a
  27852. * series is triggered when the mouse leaves the area around the series'
  27853. * graph or markers. This also implies the tooltip when not shared. When
  27854. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  27855. * be hidden when moving the mouse between series. Defaults to true for line
  27856. * and area type series, but to false for columns, pies etc.
  27857. *
  27858. * **Note:** The boost module will force this option because of technical
  27859. * limitations.
  27860. */
  27861. stickyTracking?: boolean;
  27862. /**
  27863. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  27864. * area, for distinguishing between values above and below a threshold. The
  27865. * area between the graph and the threshold is filled.
  27866. *
  27867. * * If a number is given, the Y axis will scale to the threshold.
  27868. *
  27869. * * If `null`, the scaling behaves like a line series with fill between the
  27870. * graph and the Y axis minimum.
  27871. *
  27872. * * If `Infinity` or `-Infinity`, the area between the graph and the
  27873. * corresponding Y axis extreme is filled (since v6.1.0).
  27874. */
  27875. threshold?: (number|null);
  27876. /**
  27877. * (Highcharts) A configuration object for the tooltip rendering of each
  27878. * single series. Properties are inherited from tooltip, but only the
  27879. * following properties can be defined on a series level.
  27880. */
  27881. tooltip?: SeriesTooltipOptionsObject;
  27882. /**
  27883. * (Highcharts, Highstock) Whether the whole area or just the line should
  27884. * respond to mouseover tooltips and other mouse or touch events.
  27885. */
  27886. trackByArea?: boolean;
  27887. /**
  27888. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  27889. * is longer than this, only one dimensional arrays of numbers, or two
  27890. * dimensional arrays with x and y values are allowed. Also, only the first
  27891. * point is tested, and the rest are assumed to be the same format. This
  27892. * saves expensive data checking and indexing in long series. Set it to `0`
  27893. * disable.
  27894. *
  27895. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  27896. * two dimensional arrays are allowed.
  27897. */
  27898. turboThreshold?: number;
  27899. /**
  27900. * (Highcharts) Set the initial visibility of the series.
  27901. */
  27902. visible?: boolean;
  27903. /**
  27904. * (Highmaps) Define the z index of the series.
  27905. */
  27906. zIndex?: number;
  27907. /**
  27908. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  27909. */
  27910. zoneAxis?: string;
  27911. /**
  27912. * (Highcharts, Highstock) An array defining zones within a series. Zones
  27913. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  27914. * the `zoneAxis` option. The zone definitions have to be in ascending order
  27915. * regarding to the value.
  27916. *
  27917. * In styled mode, the color zones are styled with the
  27918. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  27919. * option (view live demo).
  27920. */
  27921. zones?: Array<SeriesZonesOptionsObject>;
  27922. }
  27923. /**
  27924. * (Highcharts) Enable or disable the initial animation when a series is
  27925. * displayed. The animation can also be set as a configuration object. Please
  27926. * note that this option only applies to the initial animation of the series
  27927. * itself. For other animations, see chart.animation and the animation parameter
  27928. * under the API methods. The following properties are supported:
  27929. *
  27930. * - `defer`: The animation delay time in milliseconds.
  27931. *
  27932. * - `duration`: The duration of the animation in milliseconds.
  27933. *
  27934. * - `easing`: Can be a string reference to an easing function set on the `Math`
  27935. * object or a function. See the _Custom easing function_ demo below.
  27936. *
  27937. * Due to poor performance, animation is disabled in old IE browsers for several
  27938. * chart types.
  27939. */
  27940. export interface PlotBoxplotAnimationOptions {
  27941. defer?: number;
  27942. }
  27943. /**
  27944. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  27945. * animation when a series is displayed for the `dataLabels`. The animation can
  27946. * also be set as a configuration object. Please note that this option only
  27947. * applies to the initial animation. For other animations, see chart.animation
  27948. * and the animation parameter under the API methods. The following properties
  27949. * are supported:
  27950. *
  27951. * - `defer`: The animation delay time in milliseconds.
  27952. */
  27953. export interface PlotBoxplotDataLabelsAnimationOptions {
  27954. /**
  27955. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  27956. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  27957. * inherits defer time from the series.animation.defer.
  27958. */
  27959. defer?: number;
  27960. }
  27961. /**
  27962. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  27963. * appearing next to each data point.
  27964. *
  27965. * Since v6.2.0, multiple data labels can be applied to each single point by
  27966. * defining them as an array of configs.
  27967. *
  27968. * In styled mode, the data labels can be styled with the
  27969. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  27970. * example).
  27971. */
  27972. export interface PlotBoxplotDataLabelsOptions {
  27973. /**
  27974. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  27975. * compared to the point. If `right`, the right side of the label should be
  27976. * touching the point. For points with an extent, like columns, the
  27977. * alignments also dictates how to align it inside the box, as given with
  27978. * the inside option. Can be one of `left`, `center` or `right`.
  27979. */
  27980. align?: string;
  27981. /**
  27982. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  27983. * overlap. To make the labels less sensitive for overlapping, the
  27984. * dataLabels.padding can be set to 0.
  27985. */
  27986. allowOverlap?: boolean;
  27987. /**
  27988. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  27989. * animation when a series is displayed for the `dataLabels`. The animation
  27990. * can also be set as a configuration object. Please note that this option
  27991. * only applies to the initial animation. For other animations, see
  27992. * chart.animation and the animation parameter under the API methods. The
  27993. * following properties are supported:
  27994. *
  27995. * - `defer`: The animation delay time in milliseconds.
  27996. */
  27997. animation?: (boolean|PlotBoxplotDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  27998. /**
  27999. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  28000. * for the data label.
  28001. */
  28002. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  28003. /**
  28004. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  28005. * label. Defaults to `undefined`.
  28006. */
  28007. borderColor?: (ColorString|GradientColorObject|PatternObject);
  28008. /**
  28009. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  28010. * the data label.
  28011. */
  28012. borderRadius?: number;
  28013. /**
  28014. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  28015. * the data label.
  28016. */
  28017. borderWidth?: number;
  28018. /**
  28019. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  28020. * Particularly in styled mode, this can be used to give each series' or
  28021. * point's data label unique styling. In addition to this option, a default
  28022. * color class name is added so that we can give the labels a contrast text
  28023. * shadow.
  28024. */
  28025. className?: string;
  28026. /**
  28027. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  28028. * labels. Defaults to `undefined`. For certain series types, like column or
  28029. * map, the data labels can be drawn inside the points. In this case the
  28030. * data label will be drawn with maximum contrast by default. Additionally,
  28031. * it will be given a `text-outline` style with the opposite color, to
  28032. * further increase the contrast. This can be overridden by setting the
  28033. * `text-outline` style to `none` in the `dataLabels.style` option.
  28034. */
  28035. color?: (ColorString|GradientColorObject|PatternObject);
  28036. /**
  28037. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  28038. * are outside the plot area. By default, the data label is moved inside the
  28039. * plot area according to the overflow option.
  28040. */
  28041. crop?: boolean;
  28042. /**
  28043. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  28044. * labels until the initial series animation has finished. Setting to
  28045. * `false` renders the data label immediately. If set to `true` inherits the
  28046. * defer time set in plotOptions.series.animation. If set to a number, a
  28047. * defer time is specified in milliseconds.
  28048. */
  28049. defer?: (boolean|number);
  28050. /**
  28051. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  28052. * labels.
  28053. */
  28054. enabled?: boolean;
  28055. /**
  28056. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  28057. * of which data labels to display. The declarative filter is designed for
  28058. * use when callback functions are not available, like when the chart
  28059. * options require a pure JSON structure or for use with graphical editors.
  28060. * For programmatic control, use the `formatter` instead, and return
  28061. * `undefined` to disable a single data label.
  28062. */
  28063. filter?: DataLabelsFilterOptionsObject;
  28064. /**
  28065. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  28066. * label. Available variables are the same as for `formatter`.
  28067. */
  28068. format?: string;
  28069. /**
  28070. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  28071. * format the data label. Note that if a `format` is defined, the format
  28072. * takes precedence and the formatter is ignored.
  28073. */
  28074. formatter?: DataLabelsFormatterCallbackFunction;
  28075. /**
  28076. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  28077. * columns or map areas, whether to align the data label inside the box or
  28078. * to the actual value point. Defaults to `false` in most cases, `true` in
  28079. * stacked columns.
  28080. */
  28081. inside?: boolean;
  28082. /**
  28083. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  28084. * of null. Works analogously to format. `nullFormat` can be applied only to
  28085. * series which support displaying null points.
  28086. */
  28087. nullFormat?: (boolean|string);
  28088. /**
  28089. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  28090. * that defines formatting for points with the value of null. Works
  28091. * analogously to formatter. `nullPointFormatter` can be applied only to
  28092. * series which support displaying null points.
  28093. */
  28094. nullFormatter?: DataLabelsFormatterCallbackFunction;
  28095. /**
  28096. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  28097. * flow outside the plot area. The default is `"justify"`, which aligns them
  28098. * inside the plot area. For columns and bars, this means it will be moved
  28099. * inside the bar. To display data labels outside the plot area, set `crop`
  28100. * to `false` and `overflow` to `"allow"`.
  28101. */
  28102. overflow?: DataLabelsOverflowValue;
  28103. /**
  28104. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  28105. * the `backgroundColor` is set, this is the padding within the box.
  28106. */
  28107. padding?: number;
  28108. /**
  28109. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  28110. * points. If `center` alignment is not possible, it defaults to `right`.
  28111. */
  28112. position?: AlignValue;
  28113. /**
  28114. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  28115. * that due to a more complex structure, backgrounds, borders and padding
  28116. * will be lost on a rotated data label.
  28117. */
  28118. rotation?: number;
  28119. /**
  28120. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  28121. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  28122. * an object configuration containing `color`, `offsetX`, `offsetY`,
  28123. * `opacity` and `width`.
  28124. */
  28125. shadow?: (boolean|ShadowOptionsObject);
  28126. /**
  28127. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  28128. * the border around the label. Symbols are predefined functions on the
  28129. * Renderer object.
  28130. */
  28131. shape?: string;
  28132. /**
  28133. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  28134. * default `color` setting is `"contrast"`, which is a pseudo color that
  28135. * Highcharts picks up and applies the maximum contrast to the underlying
  28136. * point item, for example the bar in a bar chart.
  28137. *
  28138. * The `textOutline` is a pseudo property that applies an outline of the
  28139. * given width with the given color, which by default is the maximum
  28140. * contrast to the text. So a bright text color will result in a black text
  28141. * outline for maximum readability on a mixed background. In some cases,
  28142. * especially with grayscale text, the text outline doesn't work well, in
  28143. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  28144. * is true, the `textOutline` will not be picked up. In this, case, the same
  28145. * effect can be acheived through the `text-shadow` CSS property.
  28146. *
  28147. * For some series types, where each point has an extent, like for example
  28148. * tree maps, the data label may overflow the point. There are two
  28149. * strategies for handling overflow. By default, the text will wrap to
  28150. * multiple lines. The other strategy is to set `style.textOverflow` to
  28151. * `ellipsis`, which will keep the text on one line plus it will break
  28152. * inside long words.
  28153. */
  28154. style?: CSSObject;
  28155. /**
  28156. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  28157. * should follow marker's shape. Border and background are disabled for a
  28158. * label that follows a path.
  28159. *
  28160. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  28161. * to true will disable this option.
  28162. */
  28163. textPath?: DataLabelsTextPathOptionsObject;
  28164. /**
  28165. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  28166. * the labels.
  28167. */
  28168. useHTML?: boolean;
  28169. /**
  28170. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  28171. * label. Can be one of `top`, `middle` or `bottom`. The default value
  28172. * depends on the data, for instance in a column chart, the label is above
  28173. * positive values and below negative values.
  28174. */
  28175. verticalAlign?: string;
  28176. /**
  28177. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  28178. * label relative to the point in pixels.
  28179. */
  28180. x?: number;
  28181. /**
  28182. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  28183. * label relative to the point in pixels.
  28184. */
  28185. y?: number;
  28186. /**
  28187. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  28188. * The default Z index puts it above the series. Use a Z index of 2 to
  28189. * display it behind the series.
  28190. */
  28191. z?: number;
  28192. }
  28193. /**
  28194. * (Highcharts, Highstock) Options for the series data sorting.
  28195. */
  28196. export interface PlotBoxplotDataSortingOptions {
  28197. /**
  28198. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  28199. * Use xAxis.reversed to change the sorting order.
  28200. */
  28201. enabled?: boolean;
  28202. /**
  28203. * (Highcharts, Highstock) Whether to allow matching points by name in an
  28204. * update. If this option is disabled, points will be matched by order.
  28205. */
  28206. matchByName?: boolean;
  28207. /**
  28208. * (Highcharts, Highstock) Determines what data value should be used to sort
  28209. * by.
  28210. */
  28211. sortKey?: string;
  28212. }
  28213. /**
  28214. * (Highcharts) Style options for the guide box. The guide box has one state by
  28215. * default, the `default` state.
  28216. */
  28217. export interface PlotBoxplotDragDropGuideBoxOptions {
  28218. /**
  28219. * (Highcharts) Style options for the guide box default state.
  28220. */
  28221. default?: DragDropGuideBoxOptionsObject;
  28222. }
  28223. /**
  28224. * (Highcharts) A box plot is a convenient way of depicting groups of data
  28225. * through their five-number summaries: the smallest observation (sample
  28226. * minimum), lower quartile (Q1), median (Q2), upper quartile (Q3), and largest
  28227. * observation (sample maximum).
  28228. *
  28229. * In TypeScript the type option must always be set.
  28230. *
  28231. * Configuration options for the series are given in three levels:
  28232. *
  28233. * 1. Options for all series in a chart are defined in the plotOptions.series
  28234. * object.
  28235. *
  28236. * 2. Options for all `boxplot` series are defined in plotOptions.boxplot.
  28237. *
  28238. * 3. Options for one single series are given in the series instance array. (see
  28239. * online documentation for example)
  28240. */
  28241. export interface PlotBoxplotOptions {
  28242. /**
  28243. * (Highcharts) Accessibility options for a series.
  28244. */
  28245. accessibility?: SeriesAccessibilityOptionsObject;
  28246. /**
  28247. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  28248. * rendered. If `true`, areas which don't correspond to a data point, are
  28249. * rendered as `null` points. If `false`, those areas are skipped.
  28250. */
  28251. allAreas?: boolean;
  28252. /**
  28253. * (Highcharts) Allow this series' points to be selected by clicking on the
  28254. * graphic (columns, point markers, pie slices, map areas etc).
  28255. *
  28256. * The selected points can be handled by point select and unselect events,
  28257. * or collectively by the getSelectedPoints function.
  28258. *
  28259. * And alternative way of selecting points is through dragging.
  28260. */
  28261. allowPointSelect?: boolean;
  28262. /**
  28263. * (Highcharts) Enable or disable the initial animation when a series is
  28264. * displayed. The animation can also be set as a configuration object.
  28265. * Please note that this option only applies to the initial animation of the
  28266. * series itself. For other animations, see chart.animation and the
  28267. * animation parameter under the API methods. The following properties are
  28268. * supported:
  28269. *
  28270. * - `defer`: The animation delay time in milliseconds.
  28271. *
  28272. * - `duration`: The duration of the animation in milliseconds.
  28273. *
  28274. * - `easing`: Can be a string reference to an easing function set on the
  28275. * `Math` object or a function. See the _Custom easing function_ demo below.
  28276. *
  28277. * Due to poor performance, animation is disabled in old IE browsers for
  28278. * several chart types.
  28279. */
  28280. animation?: (boolean|PlotBoxplotAnimationOptions|Partial<AnimationOptionsObject>);
  28281. /**
  28282. * (Highcharts) For some series, there is a limit that shuts down initial
  28283. * animation by default when the total number of points in the chart is too
  28284. * high. For example, for a column chart and its derivatives, animation does
  28285. * not run if there is more than 250 points totally. To disable this cap,
  28286. * set `animationLimit` to `Infinity`.
  28287. */
  28288. animationLimit?: number;
  28289. /**
  28290. * (Highcharts) The dash style of the box.
  28291. */
  28292. boxDashStyle?: DashStyleValue;
  28293. /**
  28294. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  28295. * the category, ignoring null or missing points. When `false`, space will
  28296. * be reserved for null or missing points.
  28297. */
  28298. centerInCategory?: boolean;
  28299. /**
  28300. * (Highcharts) An additional class name to apply to the series' graphical
  28301. * elements. This option does not replace default class names of the
  28302. * graphical element.
  28303. */
  28304. className?: string;
  28305. /**
  28306. * (Highcharts) Disable this option to allow series rendering in the whole
  28307. * plotting area.
  28308. *
  28309. * **Note:** Clipping should be always enabled when chart.zoomType is set
  28310. */
  28311. clip?: boolean;
  28312. /**
  28313. * (Highcharts) The main color of the series. In line type series it applies
  28314. * to the line and the point markers unless otherwise specified. In bar type
  28315. * series it applies to the bars unless a color is specified per point. The
  28316. * default value is pulled from the `options.colors` array.
  28317. *
  28318. * In styled mode, the color can be defined by the colorIndex option. Also,
  28319. * the series color can be set with the `.highcharts-series`,
  28320. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  28321. * `.highcharts-series-{n}` class, or individual classes given by the
  28322. * `className` option.
  28323. */
  28324. color?: (ColorString|GradientColorObject|PatternObject);
  28325. /**
  28326. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  28327. * this number defines which colorAxis the particular series is connected
  28328. * to. It refers to either the axis id or the index of the axis in the
  28329. * colorAxis array, with 0 being the first. Set this option to false to
  28330. * prevent a series from connecting to the default color axis.
  28331. *
  28332. * Since v7.2.0 the option can also be an axis id or an axis index instead
  28333. * of a boolean flag.
  28334. */
  28335. colorAxis?: (boolean|number|string);
  28336. /**
  28337. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  28338. * from the global colors or series-specific plotOptions.column.colors
  28339. * collections, this option determines whether the chart should receive one
  28340. * color per series or one color per point.
  28341. *
  28342. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  28343. * and instead this option gives the points individual color class names on
  28344. * the form `highcharts-color-{n}`.
  28345. */
  28346. colorByPoint?: boolean;
  28347. /**
  28348. * (Highcharts) Styled mode only. A specific color index to use for the
  28349. * series, so its graphic representations are given the class name
  28350. * `highcharts-color-{n}`.
  28351. */
  28352. colorIndex?: number;
  28353. /**
  28354. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  28355. * used to calculate point color if `colorAxis` is used. Requires to set
  28356. * `min` and `max` if some custom point property is used or if approximation
  28357. * for data grouping is set to `'sum'`.
  28358. */
  28359. colorKey?: string;
  28360. /**
  28361. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  28362. * color set to apply instead of the global colors when colorByPoint is
  28363. * true.
  28364. */
  28365. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  28366. /**
  28367. * (Highstock) Compare the values of the series against the first non-null,
  28368. * non- zero value in the visible range. The y axis will show percentage or
  28369. * absolute change depending on whether `compare` is set to `"percent"` or
  28370. * `"value"`. When this is applied to multiple series, it allows comparing
  28371. * the development of the series against each other. Adds a `change` field
  28372. * to every point object.
  28373. */
  28374. compare?: string;
  28375. /**
  28376. * (Highstock) When compare is `percent`, this option dictates whether to
  28377. * use 0 or 100 as the base of comparison.
  28378. */
  28379. compareBase?: (0|100);
  28380. /**
  28381. * (Highstock) Defines if comparison should start from the first point
  28382. * within the visible range or should start from the first point **before**
  28383. * the range.
  28384. *
  28385. * In other words, this flag determines if first point within the visible
  28386. * range will have 0% (`compareStart=true`) or should have been already
  28387. * calculated according to the previous point (`compareStart=false`).
  28388. */
  28389. compareStart?: boolean;
  28390. /**
  28391. * (Gantt) Override Pathfinder connector options for a series. Requires
  28392. * Highcharts Gantt to be loaded.
  28393. */
  28394. connectors?: SeriesConnectorsOptionsObject;
  28395. /**
  28396. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  28397. * rounded to its nearest pixel in order to render sharp on screen. In some
  28398. * cases, when there are a lot of densely packed columns, this leads to
  28399. * visible difference in column widths or distance between columns. In these
  28400. * cases, setting `crisp` to `false` may look better, even though each
  28401. * column is rendered blurry.
  28402. */
  28403. crisp?: boolean;
  28404. /**
  28405. * (Highcharts, Highstock, Gantt) When the series contains less points than
  28406. * the crop threshold, all points are drawn, event if the points fall
  28407. * outside the visible plot area at the current zoom. The advantage of
  28408. * drawing all points (including markers and columns), is that animation is
  28409. * performed on updates. On the other hand, when the series contains more
  28410. * points than the crop threshold, the series data is cropped to only
  28411. * contain points that fall within the plot area. The advantage of cropping
  28412. * away invisible points is to increase performance on large series.
  28413. */
  28414. cropThreshold?: number;
  28415. /**
  28416. * (Highcharts) You can set the cursor to "pointer" if you have click events
  28417. * attached to the series, to signal to the user that the points and lines
  28418. * can be clicked.
  28419. *
  28420. * In styled mode, the series cursor can be set with the same classes as
  28421. * listed under series.color.
  28422. */
  28423. cursor?: (string|CursorValue);
  28424. /**
  28425. * (Highcharts) A reserved subspace to store options and values for
  28426. * customized functionality. Here you can add additional data for your own
  28427. * event callbacks and formatter callbacks.
  28428. */
  28429. custom?: Dictionary<any>;
  28430. /**
  28431. * (Highcharts) Name of the dash style to use for the graph, or for some
  28432. * series types the outline of each shape.
  28433. *
  28434. * In styled mode, the stroke dash-array can be set with the same classes as
  28435. * listed under series.color.
  28436. */
  28437. dashStyle?: DashStyleValue;
  28438. /**
  28439. * (Highstock) Data grouping is the concept of sampling the data values into
  28440. * larger blocks in order to ease readability and increase performance of
  28441. * the JavaScript charts. Highcharts Stock by default applies data grouping
  28442. * when the points become closer than a certain pixel value, determined by
  28443. * the `groupPixelWidth` option.
  28444. *
  28445. * If data grouping is applied, the grouping information of grouped points
  28446. * can be read from the Point.dataGroup. If point options other than the
  28447. * data itself are set, for example `name` or `color` or custom properties,
  28448. * the grouping logic doesn't know how to group it. In this case the options
  28449. * of the first point instance are copied over to the group point. This can
  28450. * be altered through a custom `approximation` callback function.
  28451. */
  28452. dataGrouping?: DataGroupingOptionsObject;
  28453. /**
  28454. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  28455. * labels, appearing next to each data point.
  28456. *
  28457. * Since v6.2.0, multiple data labels can be applied to each single point by
  28458. * defining them as an array of configs.
  28459. *
  28460. * In styled mode, the data labels can be styled with the
  28461. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  28462. * (see example).
  28463. */
  28464. dataLabels?: (PlotBoxplotDataLabelsOptions|Array<PlotBoxplotDataLabelsOptions>);
  28465. /**
  28466. * (Highcharts, Highstock) Options for the series data sorting.
  28467. */
  28468. dataSorting?: (DataSortingOptionsObject|PlotBoxplotDataSortingOptions);
  28469. /**
  28470. * (Highcharts) Depth of the columns in a 3D column chart.
  28471. */
  28472. depth?: number;
  28473. /**
  28474. * (Highcharts) A description of the series to add to the screen reader
  28475. * information about the series.
  28476. */
  28477. description?: string;
  28478. /**
  28479. * (Highcharts) The draggable-points module allows points to be moved around
  28480. * or modified in the chart. In addition to the options mentioned under the
  28481. * `dragDrop` API structure, the module fires three events, point.dragStart,
  28482. * point.drag and point.drop.
  28483. */
  28484. dragDrop?: SeriesDragDropOptionsObject;
  28485. /**
  28486. * (Highcharts) 3D columns only. The color of the edges. Similar to
  28487. * `borderColor`, except it defaults to the same color as the column.
  28488. */
  28489. edgeColor?: ColorString;
  28490. /**
  28491. * (Highcharts) 3D columns only. The width of the colored edges.
  28492. */
  28493. edgeWidth?: number;
  28494. /**
  28495. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  28496. * This includes point tooltips and click events on graphs and points. For
  28497. * large datasets it improves performance.
  28498. */
  28499. enableMouseTracking?: boolean;
  28500. /**
  28501. * (Highcharts) General event handlers for the series items. These event
  28502. * hooks can also be attached to the series at run time using the
  28503. * `Highcharts.addEvent` function.
  28504. */
  28505. events?: SeriesEventsOptionsObject;
  28506. /**
  28507. * (Highcharts) The fill color of the box.
  28508. *
  28509. * In styled mode, the fill color can be set with the
  28510. * `.highcharts-boxplot-box` class.
  28511. */
  28512. fillColor?: (ColorString|GradientColorObject|PatternObject);
  28513. /**
  28514. * (Highcharts) Determines whether the series should look for the nearest
  28515. * point in both dimensions or just the x-dimension when hovering the
  28516. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  28517. * series. If the data has duplicate x-values, it is recommended to set this
  28518. * to `'xy'` to allow hovering over all points.
  28519. *
  28520. * Applies only to series types using nearest neighbor search (not direct
  28521. * hover) for tooltip.
  28522. */
  28523. findNearestPointBy?: OptionsFindNearestPointByValue;
  28524. /**
  28525. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  28526. * chart width or only the zoomed area when zooming in on parts of the X
  28527. * axis. By default, the Y axis adjusts to the min and max of the visible
  28528. * data. Cartesian series only.
  28529. */
  28530. getExtremesFromAll?: boolean;
  28531. /**
  28532. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  28533. * let them render independent of each other. Non-grouped columns will be
  28534. * laid out individually and overlap each other.
  28535. */
  28536. grouping?: boolean;
  28537. /**
  28538. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  28539. * axis units.
  28540. */
  28541. groupPadding?: number;
  28542. /**
  28543. * (Highcharts) When set to `false` will prevent the series data from being
  28544. * included in any form of data export.
  28545. *
  28546. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  28547. * `includeInCSVExport`.
  28548. */
  28549. includeInDataExport?: boolean;
  28550. /**
  28551. * (Highmaps) What property to join the `mapData` to the value data. For
  28552. * example, if joinBy is "code", the mapData items with a specific code is
  28553. * merged into the data with the same code. For maps loaded from GeoJSON,
  28554. * the keys may be held in each point's `properties` object.
  28555. *
  28556. * The joinBy option can also be an array of two values, where the first
  28557. * points to a key in the `mapData`, and the second points to another key in
  28558. * the `data`.
  28559. *
  28560. * When joinBy is `null`, the map items are joined by their position in the
  28561. * array, which performs much better in maps with many data points. This is
  28562. * the recommended option if you are printing more than a thousand data
  28563. * points and have a backend that can preprocess the data into a parallel
  28564. * array of the mapData.
  28565. */
  28566. joinBy?: (string|Array<string>);
  28567. /**
  28568. * (Highcharts) An array specifying which option maps to which key in the
  28569. * data point array. This makes it convenient to work with unstructured data
  28570. * arrays from different sources.
  28571. */
  28572. keys?: Array<string>;
  28573. /**
  28574. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  28575. * series as possible in a natural way, seeking to avoid other series. The
  28576. * goal of this feature is to make the chart more easily readable, like if a
  28577. * human designer placed the labels in the optimal position.
  28578. *
  28579. * The series labels currently work with series types having a `graph` or an
  28580. * `area`.
  28581. */
  28582. label?: SeriesLabelOptionsObject;
  28583. /**
  28584. * (Highstock) The line marks the last price from all points.
  28585. */
  28586. lastPrice?: SeriesLastPriceOptionsObject;
  28587. /**
  28588. * (Highstock) The line marks the last price from visible range of points.
  28589. */
  28590. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  28591. /**
  28592. * (Highcharts) The width of the line surrounding the box. If any of
  28593. * stemWidth, medianWidth or whiskerWidth are `null`, the lineWidth also
  28594. * applies to these lines.
  28595. */
  28596. lineWidth?: number;
  28597. /**
  28598. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  28599. * Additionally, the value can be ":previous" to link to the previous
  28600. * series. When two series are linked, only the first one appears in the
  28601. * legend. Toggling the visibility of this also toggles the linked series.
  28602. *
  28603. * If master series uses data sorting and linked series does not have its
  28604. * own sorting definition, the linked series will be sorted in the same
  28605. * order as the master one.
  28606. */
  28607. linkedTo?: string;
  28608. /**
  28609. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  28610. * column, translated to the height of a bar in a bar chart. This prevents
  28611. * the columns from becoming too wide when there is a small number of points
  28612. * in the chart.
  28613. */
  28614. maxPointWidth?: number;
  28615. /**
  28616. * (Highcharts) The color of the median line. If `undefined`, the general
  28617. * series color applies.
  28618. *
  28619. * In styled mode, the median stroke width can be set with the
  28620. * `.highcharts-boxplot-median` class.
  28621. */
  28622. medianColor?: (ColorString|GradientColorObject);
  28623. /**
  28624. * (Highcharts) The dash style of the median.
  28625. */
  28626. medianDashStyle?: DashStyleValue;
  28627. /**
  28628. * (Highcharts) The pixel width of the median line. If `null`, the lineWidth
  28629. * is used.
  28630. *
  28631. * In styled mode, the median stroke width can be set with the
  28632. * `.highcharts-boxplot-median` class.
  28633. */
  28634. medianWidth?: (number|null);
  28635. /**
  28636. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  28637. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  28638. * to zero) point, set the minimal point length to a pixel value like 3\. In
  28639. * stacked column charts, minPointLength might not be respected for tightly
  28640. * packed values.
  28641. */
  28642. minPointLength?: number;
  28643. /**
  28644. * (Highstock) Options for the corresponding navigator series if
  28645. * `showInNavigator` is `true` for this series. Available options are the
  28646. * same as any series, documented at plotOptions and series.
  28647. *
  28648. * These options are merged with options in navigator.series, and will take
  28649. * precedence if the same option is defined both places.
  28650. */
  28651. navigatorOptions?: PlotSeriesOptions;
  28652. /**
  28653. * (Highcharts) The color for the parts of the graph or points that are
  28654. * below the threshold. Note that `zones` takes precedence over the negative
  28655. * color. Using `negativeColor` is equivalent to applying a zone with value
  28656. * of 0.
  28657. */
  28658. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  28659. /**
  28660. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  28661. * dataLabels.
  28662. */
  28663. opacity?: number;
  28664. /**
  28665. * (Highcharts) Properties for each single point.
  28666. */
  28667. point?: PlotSeriesPointOptions;
  28668. /**
  28669. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  28670. * individual series. Overrides the chart wide configuration.
  28671. */
  28672. pointDescriptionFormatter?: Function;
  28673. /**
  28674. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  28675. * a series, `pointInterval` defines the interval of the x values. For
  28676. * example, if a series contains one value every decade starting from year
  28677. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  28678. * `pointInterval` is set in milliseconds.
  28679. *
  28680. * It can be also be combined with `pointIntervalUnit` to draw irregular
  28681. * time intervals.
  28682. *
  28683. * Please note that this options applies to the _series data_, not the
  28684. * interval of the axis ticks, which is independent.
  28685. */
  28686. pointInterval?: number;
  28687. /**
  28688. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  28689. * setting the pointInterval to irregular time units, `day`, `month` and
  28690. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  28691. * also takes the DST crossover into consideration when dealing with local
  28692. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  28693. * months, 10 years etc.
  28694. *
  28695. * Please note that this options applies to the _series data_, not the
  28696. * interval of the axis ticks, which is independent.
  28697. */
  28698. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  28699. /**
  28700. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  28701. * axis units.
  28702. */
  28703. pointPadding?: number;
  28704. /**
  28705. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  28706. * `number`.
  28707. *
  28708. * In a column chart, when pointPlacement is `"on"`, the point will not
  28709. * create any padding of the X axis. In a polar column chart this means that
  28710. * the first column points directly north. If the pointPlacement is
  28711. * `"between"`, the columns will be laid out between ticks. This is useful
  28712. * for example for visualising an amount between two points in time or in a
  28713. * certain sector of a polar chart.
  28714. *
  28715. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  28716. * is on the axis value, -0.5 is between this value and the previous, and
  28717. * 0.5 is between this value and the next. Unlike the textual options,
  28718. * numeric point placement options won't affect axis padding.
  28719. *
  28720. * Note that pointPlacement needs a pointRange to work. For column series
  28721. * this is computed, but for line-type series it needs to be set.
  28722. *
  28723. * For the `xrange` series type and gantt charts, if the Y axis is a
  28724. * category axis, the `pointPlacement` applies to the Y axis rather than the
  28725. * (typically datetime) X axis.
  28726. *
  28727. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  28728. */
  28729. pointPlacement?: (number|string);
  28730. /**
  28731. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  28732. * for. This determines the width of the column. On a categorized axis, the
  28733. * range will be 1 by default (one category unit). On linear and datetime
  28734. * axes, the range will be computed as the distance between the two closest
  28735. * data points.
  28736. *
  28737. * The default `null` means it is computed automatically, but this option
  28738. * can be used to override the automatic value.
  28739. *
  28740. * This option is set by default to 1 if data sorting is enabled.
  28741. */
  28742. pointRange?: (number|null);
  28743. /**
  28744. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  28745. * a series, pointStart defines on what value to start. For example, if a
  28746. * series contains one yearly value starting from 1945, set pointStart to
  28747. * 1945.
  28748. */
  28749. pointStart?: number;
  28750. /**
  28751. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  28752. * each column or bar point. When set to `undefined`, the width is
  28753. * calculated from the `pointPadding` and `groupPadding`. The width effects
  28754. * the dimension that is not based on the point value. For column series it
  28755. * is the hoizontal length and for bar series it is the vertical length.
  28756. */
  28757. pointWidth?: number;
  28758. /**
  28759. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  28760. * true, the checkbox next to the series name in the legend will be checked
  28761. * for a selected series.
  28762. */
  28763. selected?: boolean;
  28764. /**
  28765. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  28766. * the shadow can be an object configuration containing `color`, `offsetX`,
  28767. * `offsetY`, `opacity` and `width`.
  28768. */
  28769. shadow?: (boolean|ShadowOptionsObject);
  28770. /**
  28771. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  28772. * allow selecting the series. The state of the checkbox is determined by
  28773. * the `selected` option.
  28774. */
  28775. showCheckbox?: boolean;
  28776. /**
  28777. * (Highcharts) Whether to display this particular series or series type in
  28778. * the legend. Standalone series are shown in legend by default, and linked
  28779. * series are not. Since v7.2.0 it is possible to show series that use
  28780. * colorAxis by setting this option to `true`.
  28781. */
  28782. showInLegend?: boolean;
  28783. /**
  28784. * (Highstock) Whether or not to show the series in the navigator. Takes
  28785. * precedence over navigator.baseSeries if defined.
  28786. */
  28787. showInNavigator?: boolean;
  28788. /**
  28789. * (Highcharts) If set to `true`, the accessibility module will skip past
  28790. * the points in this series for keyboard navigation.
  28791. */
  28792. skipKeyboardNavigation?: boolean;
  28793. /**
  28794. * (Highcharts, Highstock) When this is true, the series will not cause the
  28795. * Y axis to cross the zero plane (or threshold option) unless the data
  28796. * actually crosses the plane.
  28797. *
  28798. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  28799. * make the Y axis show negative values according to the `minPadding`
  28800. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  28801. */
  28802. softThreshold?: boolean;
  28803. /**
  28804. * (Highcharts, Highstock) Whether to stack the values of each series on top
  28805. * of each other. Possible values are `undefined` to disable, `"normal"` to
  28806. * stack by value or `"percent"`.
  28807. *
  28808. * When stacking is enabled, data must be sorted in ascending X order.
  28809. *
  28810. * Some stacking options are related to specific series types. In the
  28811. * streamgraph series type, the stacking option is set to `"stream"`. The
  28812. * second one is `"overlap"`, which only applies to waterfall series.
  28813. */
  28814. stacking?: OptionsStackingValue;
  28815. /**
  28816. * (Highcharts) The dash style of the stem, the vertical line extending from
  28817. * the box to the whiskers.
  28818. */
  28819. stemDashStyle?: DashStyleValue;
  28820. /**
  28821. * (Highcharts) The width of the stem, the vertical line extending from the
  28822. * box to the whiskers. If `undefined`, the width is inherited from the
  28823. * lineWidth option.
  28824. *
  28825. * In styled mode, the stem stroke width can be set with the
  28826. * `.highcharts-boxplot-stem` class.
  28827. */
  28828. stemWidth?: number;
  28829. /**
  28830. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  28831. * event on a series isn't triggered until the mouse moves over another
  28832. * series, or out of the plot area. When false, the `mouseOut` event on a
  28833. * series is triggered when the mouse leaves the area around the series'
  28834. * graph or markers. This also implies the tooltip when not shared. When
  28835. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  28836. * be hidden when moving the mouse between series. Defaults to true for line
  28837. * and area type series, but to false for columns, pies etc.
  28838. *
  28839. * **Note:** The boost module will force this option because of technical
  28840. * limitations.
  28841. */
  28842. stickyTracking?: boolean;
  28843. /**
  28844. * (Highcharts) The Y axis value to serve as the base for the columns, for
  28845. * distinguishing between values above and below a threshold. If `null`, the
  28846. * columns extend from the padding Y axis minimum.
  28847. */
  28848. threshold?: (number|null);
  28849. /**
  28850. * (Highcharts) A configuration object for the tooltip rendering of each
  28851. * single series. Properties are inherited from tooltip, but only the
  28852. * following properties can be defined on a series level.
  28853. */
  28854. tooltip?: SeriesTooltipOptionsObject;
  28855. /**
  28856. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  28857. * is longer than this, only one dimensional arrays of numbers, or two
  28858. * dimensional arrays with x and y values are allowed. Also, only the first
  28859. * point is tested, and the rest are assumed to be the same format. This
  28860. * saves expensive data checking and indexing in long series. Set it to `0`
  28861. * disable.
  28862. *
  28863. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  28864. * two dimensional arrays are allowed.
  28865. */
  28866. turboThreshold?: number;
  28867. /**
  28868. * (Highcharts) Set the initial visibility of the series.
  28869. */
  28870. visible?: boolean;
  28871. /**
  28872. * (Highcharts) The color of the whiskers, the horizontal lines marking low
  28873. * and high values. When `undefined`, the general series color is used.
  28874. *
  28875. * In styled mode, the whisker stroke can be set with the
  28876. * `.highcharts-boxplot-whisker` class .
  28877. */
  28878. whiskerColor?: (ColorString|GradientColorObject|PatternObject);
  28879. /**
  28880. * (Highcharts) The dash style of the whiskers.
  28881. */
  28882. whiskerDashStyle?: DashStyleValue;
  28883. /**
  28884. * (Highcharts) The length of the whiskers, the horizontal lines marking low
  28885. * and high values. It can be a numerical pixel value, or a percentage value
  28886. * of the box width. Set `0` to disable whiskers.
  28887. */
  28888. whiskerLength?: (number|string);
  28889. /**
  28890. * (Highcharts) The line width of the whiskers, the horizontal lines marking
  28891. * low and high values. When `undefined`, the general lineWidth applies.
  28892. *
  28893. * In styled mode, the whisker stroke width can be set with the
  28894. * `.highcharts-boxplot-whisker` class.
  28895. */
  28896. whiskerWidth?: number;
  28897. /**
  28898. * (Highmaps) Define the z index of the series.
  28899. */
  28900. zIndex?: number;
  28901. /**
  28902. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  28903. */
  28904. zoneAxis?: string;
  28905. /**
  28906. * (Highcharts, Highstock) An array defining zones within a series. Zones
  28907. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  28908. * the `zoneAxis` option. The zone definitions have to be in ascending order
  28909. * regarding to the value.
  28910. *
  28911. * In styled mode, the color zones are styled with the
  28912. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  28913. * option (view live demo).
  28914. */
  28915. zones?: Array<SeriesZonesOptionsObject>;
  28916. }
  28917. /**
  28918. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  28919. * is displayed. The animation can also be set as a configuration object. Please
  28920. * note that this option only applies to the initial animation of the series
  28921. * itself. For other animations, see chart.animation and the animation parameter
  28922. * under the API methods. The following properties are supported:
  28923. *
  28924. * - `defer`: The animation delay time in milliseconds.
  28925. *
  28926. * - `duration`: The duration of the animation in milliseconds.
  28927. *
  28928. * - `easing`: Can be a string reference to an easing function set on the `Math`
  28929. * object or a function. See the _Custom easing function_ demo below.
  28930. *
  28931. * Due to poor performance, animation is disabled in old IE browsers for several
  28932. * chart types.
  28933. */
  28934. export interface PlotBubbleAnimationOptions {
  28935. defer?: number;
  28936. }
  28937. /**
  28938. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  28939. * animation when a series is displayed for the `dataLabels`. The animation can
  28940. * also be set as a configuration object. Please note that this option only
  28941. * applies to the initial animation. For other animations, see chart.animation
  28942. * and the animation parameter under the API methods. The following properties
  28943. * are supported:
  28944. *
  28945. * - `defer`: The animation delay time in milliseconds.
  28946. */
  28947. export interface PlotBubbleDataLabelsAnimationOptions {
  28948. /**
  28949. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  28950. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  28951. * inherits defer time from the series.animation.defer.
  28952. */
  28953. defer?: number;
  28954. }
  28955. /**
  28956. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  28957. * appearing next to each data point.
  28958. *
  28959. * Since v6.2.0, multiple data labels can be applied to each single point by
  28960. * defining them as an array of configs.
  28961. *
  28962. * In styled mode, the data labels can be styled with the
  28963. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  28964. * example).
  28965. */
  28966. export interface PlotBubbleDataLabelsOptions {
  28967. /**
  28968. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  28969. * compared to the point. If `right`, the right side of the label should be
  28970. * touching the point. For points with an extent, like columns, the
  28971. * alignments also dictates how to align it inside the box, as given with
  28972. * the inside option. Can be one of `left`, `center` or `right`.
  28973. */
  28974. align?: (AlignValue|null);
  28975. /**
  28976. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  28977. * overlap. To make the labels less sensitive for overlapping, the
  28978. * dataLabels.padding can be set to 0.
  28979. */
  28980. allowOverlap?: boolean;
  28981. /**
  28982. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  28983. * animation when a series is displayed for the `dataLabels`. The animation
  28984. * can also be set as a configuration object. Please note that this option
  28985. * only applies to the initial animation. For other animations, see
  28986. * chart.animation and the animation parameter under the API methods. The
  28987. * following properties are supported:
  28988. *
  28989. * - `defer`: The animation delay time in milliseconds.
  28990. */
  28991. animation?: (boolean|PlotBubbleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  28992. /**
  28993. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  28994. * for the data label.
  28995. */
  28996. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  28997. /**
  28998. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  28999. * label. Defaults to `undefined`.
  29000. */
  29001. borderColor?: (ColorString|GradientColorObject|PatternObject);
  29002. /**
  29003. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  29004. * the data label.
  29005. */
  29006. borderRadius?: number;
  29007. /**
  29008. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  29009. * the data label.
  29010. */
  29011. borderWidth?: number;
  29012. /**
  29013. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  29014. * Particularly in styled mode, this can be used to give each series' or
  29015. * point's data label unique styling. In addition to this option, a default
  29016. * color class name is added so that we can give the labels a contrast text
  29017. * shadow.
  29018. */
  29019. className?: string;
  29020. /**
  29021. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  29022. * labels. Defaults to `undefined`. For certain series types, like column or
  29023. * map, the data labels can be drawn inside the points. In this case the
  29024. * data label will be drawn with maximum contrast by default. Additionally,
  29025. * it will be given a `text-outline` style with the opposite color, to
  29026. * further increase the contrast. This can be overridden by setting the
  29027. * `text-outline` style to `none` in the `dataLabels.style` option.
  29028. */
  29029. color?: (ColorString|GradientColorObject|PatternObject);
  29030. /**
  29031. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  29032. * are outside the plot area. By default, the data label is moved inside the
  29033. * plot area according to the overflow option.
  29034. */
  29035. crop?: boolean;
  29036. /**
  29037. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  29038. * labels until the initial series animation has finished. Setting to
  29039. * `false` renders the data label immediately. If set to `true` inherits the
  29040. * defer time set in plotOptions.series.animation. If set to a number, a
  29041. * defer time is specified in milliseconds.
  29042. */
  29043. defer?: (boolean|number);
  29044. /**
  29045. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  29046. * labels.
  29047. */
  29048. enabled?: boolean;
  29049. /**
  29050. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  29051. * of which data labels to display. The declarative filter is designed for
  29052. * use when callback functions are not available, like when the chart
  29053. * options require a pure JSON structure or for use with graphical editors.
  29054. * For programmatic control, use the `formatter` instead, and return
  29055. * `undefined` to disable a single data label.
  29056. */
  29057. filter?: DataLabelsFilterOptionsObject;
  29058. /**
  29059. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  29060. * label. Available variables are the same as for `formatter`.
  29061. */
  29062. format?: string;
  29063. /**
  29064. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  29065. * format the data label. Note that if a `format` is defined, the format
  29066. * takes precedence and the formatter is ignored.
  29067. */
  29068. formatter?: DataLabelsFormatterCallbackFunction;
  29069. /**
  29070. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  29071. * columns or map areas, whether to align the data label inside the box or
  29072. * to the actual value point. Defaults to `false` in most cases, `true` in
  29073. * stacked columns.
  29074. */
  29075. inside?: boolean;
  29076. /**
  29077. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  29078. * of null. Works analogously to format. `nullFormat` can be applied only to
  29079. * series which support displaying null points.
  29080. */
  29081. nullFormat?: (boolean|string);
  29082. /**
  29083. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  29084. * that defines formatting for points with the value of null. Works
  29085. * analogously to formatter. `nullPointFormatter` can be applied only to
  29086. * series which support displaying null points.
  29087. */
  29088. nullFormatter?: DataLabelsFormatterCallbackFunction;
  29089. /**
  29090. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  29091. * flow outside the plot area. The default is `"justify"`, which aligns them
  29092. * inside the plot area. For columns and bars, this means it will be moved
  29093. * inside the bar. To display data labels outside the plot area, set `crop`
  29094. * to `false` and `overflow` to `"allow"`.
  29095. */
  29096. overflow?: DataLabelsOverflowValue;
  29097. /**
  29098. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  29099. * the `backgroundColor` is set, this is the padding within the box.
  29100. */
  29101. padding?: number;
  29102. /**
  29103. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  29104. * points. If `center` alignment is not possible, it defaults to `right`.
  29105. */
  29106. position?: AlignValue;
  29107. /**
  29108. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  29109. * that due to a more complex structure, backgrounds, borders and padding
  29110. * will be lost on a rotated data label.
  29111. */
  29112. rotation?: number;
  29113. /**
  29114. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  29115. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  29116. * an object configuration containing `color`, `offsetX`, `offsetY`,
  29117. * `opacity` and `width`.
  29118. */
  29119. shadow?: (boolean|ShadowOptionsObject);
  29120. /**
  29121. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  29122. * the border around the label. Symbols are predefined functions on the
  29123. * Renderer object.
  29124. */
  29125. shape?: string;
  29126. /**
  29127. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  29128. * default `color` setting is `"contrast"`, which is a pseudo color that
  29129. * Highcharts picks up and applies the maximum contrast to the underlying
  29130. * point item, for example the bar in a bar chart.
  29131. *
  29132. * The `textOutline` is a pseudo property that applies an outline of the
  29133. * given width with the given color, which by default is the maximum
  29134. * contrast to the text. So a bright text color will result in a black text
  29135. * outline for maximum readability on a mixed background. In some cases,
  29136. * especially with grayscale text, the text outline doesn't work well, in
  29137. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  29138. * is true, the `textOutline` will not be picked up. In this, case, the same
  29139. * effect can be acheived through the `text-shadow` CSS property.
  29140. *
  29141. * For some series types, where each point has an extent, like for example
  29142. * tree maps, the data label may overflow the point. There are two
  29143. * strategies for handling overflow. By default, the text will wrap to
  29144. * multiple lines. The other strategy is to set `style.textOverflow` to
  29145. * `ellipsis`, which will keep the text on one line plus it will break
  29146. * inside long words.
  29147. */
  29148. style?: CSSObject;
  29149. /**
  29150. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  29151. * should follow marker's shape. Border and background are disabled for a
  29152. * label that follows a path.
  29153. *
  29154. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  29155. * to true will disable this option.
  29156. */
  29157. textPath?: DataLabelsTextPathOptionsObject;
  29158. /**
  29159. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  29160. * the labels.
  29161. */
  29162. useHTML?: boolean;
  29163. /**
  29164. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  29165. * label. Can be one of `top`, `middle` or `bottom`. The default value
  29166. * depends on the data, for instance in a column chart, the label is above
  29167. * positive values and below negative values.
  29168. */
  29169. verticalAlign?: string;
  29170. /**
  29171. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  29172. * label relative to the point in pixels.
  29173. */
  29174. x?: number;
  29175. /**
  29176. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  29177. * label relative to the point in pixels.
  29178. */
  29179. y?: number;
  29180. /**
  29181. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  29182. * The default Z index puts it above the series. Use a Z index of 2 to
  29183. * display it behind the series.
  29184. */
  29185. z?: number;
  29186. }
  29187. /**
  29188. * (Highcharts, Highstock) Options for the series data sorting.
  29189. */
  29190. export interface PlotBubbleDataSortingOptions {
  29191. /**
  29192. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  29193. * Use xAxis.reversed to change the sorting order.
  29194. */
  29195. enabled?: boolean;
  29196. /**
  29197. * (Highcharts, Highstock) Whether to allow matching points by name in an
  29198. * update. If this option is disabled, points will be matched by order.
  29199. */
  29200. matchByName?: boolean;
  29201. /**
  29202. * (Highcharts, Highstock) Determines what data value should be used to sort
  29203. * by.
  29204. */
  29205. sortKey?: string;
  29206. }
  29207. /**
  29208. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  29209. * one state by default, the `default` state.
  29210. */
  29211. export interface PlotBubbleDragDropGuideBoxOptions {
  29212. /**
  29213. * (Highcharts, Highstock) Style options for the guide box default state.
  29214. */
  29215. default?: DragDropGuideBoxOptionsObject;
  29216. }
  29217. /**
  29218. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  29219. * plotting discrete values, a little random noise may help telling the points
  29220. * apart. The jitter setting applies a random displacement of up to `n` axis
  29221. * units in either direction. So for example on a horizontal X axis, setting the
  29222. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  29223. * units to the left and 0.24 units to the right of the true axis position. On a
  29224. * category axis, setting it to 0.5 will fill up the bin and make the data
  29225. * appear continuous.
  29226. *
  29227. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  29228. * will correspond to the underlying series' default groupPadding and
  29229. * pointPadding settings.
  29230. */
  29231. export interface PlotBubbleJitterOptions {
  29232. /**
  29233. * (Highcharts, Highstock) The maximal X offset for the random jitter
  29234. * effect.
  29235. */
  29236. x?: number;
  29237. /**
  29238. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  29239. * effect.
  29240. */
  29241. y?: number;
  29242. }
  29243. /**
  29244. * (Highcharts, Highstock) A bubble series is a three dimensional series type
  29245. * where each point renders an X, Y and Z value. Each points is drawn as a
  29246. * bubble where the position along the X and Y axes mark the X and Y values, and
  29247. * the size of the bubble relates to the Z value.
  29248. *
  29249. * In TypeScript the type option must always be set.
  29250. *
  29251. * Configuration options for the series are given in three levels:
  29252. *
  29253. * 1. Options for all series in a chart are defined in the plotOptions.series
  29254. * object.
  29255. *
  29256. * 2. Options for all `bubble` series are defined in plotOptions.bubble.
  29257. *
  29258. * 3. Options for one single series are given in the series instance array. (see
  29259. * online documentation for example)
  29260. */
  29261. export interface PlotBubbleOptions {
  29262. /**
  29263. * (Highcharts, Highstock) Accessibility options for a series.
  29264. */
  29265. accessibility?: SeriesAccessibilityOptionsObject;
  29266. /**
  29267. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  29268. * rendered. If `true`, areas which don't correspond to a data point, are
  29269. * rendered as `null` points. If `false`, those areas are skipped.
  29270. */
  29271. allAreas?: boolean;
  29272. /**
  29273. * (Highcharts, Highstock) Allow this series' points to be selected by
  29274. * clicking on the graphic (columns, point markers, pie slices, map areas
  29275. * etc).
  29276. *
  29277. * The selected points can be handled by point select and unselect events,
  29278. * or collectively by the getSelectedPoints function.
  29279. *
  29280. * And alternative way of selecting points is through dragging.
  29281. */
  29282. allowPointSelect?: boolean;
  29283. /**
  29284. * (Highcharts, Highstock) Enable or disable the initial animation when a
  29285. * series is displayed. The animation can also be set as a configuration
  29286. * object. Please note that this option only applies to the initial
  29287. * animation of the series itself. For other animations, see chart.animation
  29288. * and the animation parameter under the API methods. The following
  29289. * properties are supported:
  29290. *
  29291. * - `defer`: The animation delay time in milliseconds.
  29292. *
  29293. * - `duration`: The duration of the animation in milliseconds.
  29294. *
  29295. * - `easing`: Can be a string reference to an easing function set on the
  29296. * `Math` object or a function. See the _Custom easing function_ demo below.
  29297. *
  29298. * Due to poor performance, animation is disabled in old IE browsers for
  29299. * several chart types.
  29300. */
  29301. animation?: (boolean|PlotBubbleAnimationOptions|Partial<AnimationOptionsObject>);
  29302. /**
  29303. * (Highcharts, Highstock) If there are more points in the series than the
  29304. * `animationLimit`, the animation won't run. Animation affects overall
  29305. * performance and doesn't work well with heavy data series.
  29306. */
  29307. animationLimit?: number;
  29308. /**
  29309. * (Highcharts, Highstock) Sets the color blending in the boost module.
  29310. */
  29311. boostBlending?: OptionsBoostBlendingValue;
  29312. /**
  29313. * (Highcharts, Highstock) Set the point threshold for when a series should
  29314. * enter boost mode.
  29315. *
  29316. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  29317. * there are 2000 or more points in the series.
  29318. *
  29319. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  29320. * it to 1 will force boosting.
  29321. *
  29322. * Note that the cropThreshold also affects this setting. When zooming in on
  29323. * a series that has fewer points than the `cropThreshold`, all points are
  29324. * rendered although outside the visible plot area, and the `boostThreshold`
  29325. * won't take effect.
  29326. */
  29327. boostThreshold?: number;
  29328. /**
  29329. * (Highmaps) The border color of the map areas.
  29330. *
  29331. * In styled mode, the border stroke is given in the `.highcharts-point`
  29332. * class.
  29333. */
  29334. borderColor?: (ColorString|GradientColorObject|PatternObject);
  29335. /**
  29336. * (Highmaps) The border width of each map area.
  29337. *
  29338. * In styled mode, the border stroke width is given in the
  29339. * `.highcharts-point` class.
  29340. */
  29341. borderWidth?: number;
  29342. /**
  29343. * (Highcharts, Highstock) An additional class name to apply to the series'
  29344. * graphical elements. This option does not replace default class names of
  29345. * the graphical element.
  29346. */
  29347. className?: string;
  29348. /**
  29349. * (Highcharts, Highstock) Disable this option to allow series rendering in
  29350. * the whole plotting area.
  29351. *
  29352. * **Note:** Clipping should be always enabled when chart.zoomType is set
  29353. */
  29354. clip?: boolean;
  29355. /**
  29356. * (Highcharts, Highstock) The main color of the series. In line type series
  29357. * it applies to the line and the point markers unless otherwise specified.
  29358. * In bar type series it applies to the bars unless a color is specified per
  29359. * point. The default value is pulled from the `options.colors` array.
  29360. *
  29361. * In styled mode, the color can be defined by the colorIndex option. Also,
  29362. * the series color can be set with the `.highcharts-series`,
  29363. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  29364. * `.highcharts-series-{n}` class, or individual classes given by the
  29365. * `className` option.
  29366. */
  29367. color?: (ColorString|GradientColorObject|PatternObject);
  29368. /**
  29369. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  29370. * this number defines which colorAxis the particular series is connected
  29371. * to. It refers to either the axis id or the index of the axis in the
  29372. * colorAxis array, with 0 being the first. Set this option to false to
  29373. * prevent a series from connecting to the default color axis.
  29374. *
  29375. * Since v7.2.0 the option can also be an axis id or an axis index instead
  29376. * of a boolean flag.
  29377. */
  29378. colorAxis?: (boolean|number|string);
  29379. /**
  29380. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  29381. * for the series, so its graphic representations are given the class name
  29382. * `highcharts-color-{n}`.
  29383. */
  29384. colorIndex?: number;
  29385. /**
  29386. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  29387. * used to calculate point color if `colorAxis` is used. Requires to set
  29388. * `min` and `max` if some custom point property is used or if approximation
  29389. * for data grouping is set to `'sum'`.
  29390. */
  29391. colorKey?: string;
  29392. /**
  29393. * (Highstock) Compare the values of the series against the first non-null,
  29394. * non- zero value in the visible range. The y axis will show percentage or
  29395. * absolute change depending on whether `compare` is set to `"percent"` or
  29396. * `"value"`. When this is applied to multiple series, it allows comparing
  29397. * the development of the series against each other. Adds a `change` field
  29398. * to every point object.
  29399. */
  29400. compare?: string;
  29401. /**
  29402. * (Highstock) When compare is `percent`, this option dictates whether to
  29403. * use 0 or 100 as the base of comparison.
  29404. */
  29405. compareBase?: (0|100);
  29406. /**
  29407. * (Highstock) Defines if comparison should start from the first point
  29408. * within the visible range or should start from the first point **before**
  29409. * the range.
  29410. *
  29411. * In other words, this flag determines if first point within the visible
  29412. * range will have 0% (`compareStart=true`) or should have been already
  29413. * calculated according to the previous point (`compareStart=false`).
  29414. */
  29415. compareStart?: boolean;
  29416. /**
  29417. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  29418. * series plot across the extremes.
  29419. */
  29420. connectEnds?: boolean;
  29421. /**
  29422. * (Highcharts, Highstock) Whether to connect a graph line across null
  29423. * points, or render a gap between the two points on either side of the
  29424. * null.
  29425. */
  29426. connectNulls?: boolean;
  29427. /**
  29428. * (Gantt) Override Pathfinder connector options for a series. Requires
  29429. * Highcharts Gantt to be loaded.
  29430. */
  29431. connectors?: SeriesConnectorsOptionsObject;
  29432. /**
  29433. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  29434. * rounded to its nearest pixel in order to render sharp on screen. In some
  29435. * cases, when there are a lot of densely packed columns, this leads to
  29436. * visible difference in column widths or distance between columns. In these
  29437. * cases, setting `crisp` to `false` may look better, even though each
  29438. * column is rendered blurry.
  29439. */
  29440. crisp?: boolean;
  29441. /**
  29442. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  29443. * click events attached to the series, to signal to the user that the
  29444. * points and lines can be clicked.
  29445. *
  29446. * In styled mode, the series cursor can be set with the same classes as
  29447. * listed under series.color.
  29448. */
  29449. cursor?: (string|CursorValue);
  29450. /**
  29451. * (Highcharts, Highstock) A reserved subspace to store options and values
  29452. * for customized functionality. Here you can add additional data for your
  29453. * own event callbacks and formatter callbacks.
  29454. */
  29455. custom?: Dictionary<any>;
  29456. /**
  29457. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  29458. * for some series types the outline of each shape.
  29459. *
  29460. * In styled mode, the stroke dash-array can be set with the same classes as
  29461. * listed under series.color.
  29462. */
  29463. dashStyle?: DashStyleValue;
  29464. /**
  29465. * (Highstock) Data grouping is the concept of sampling the data values into
  29466. * larger blocks in order to ease readability and increase performance of
  29467. * the JavaScript charts. Highcharts Stock by default applies data grouping
  29468. * when the points become closer than a certain pixel value, determined by
  29469. * the `groupPixelWidth` option.
  29470. *
  29471. * If data grouping is applied, the grouping information of grouped points
  29472. * can be read from the Point.dataGroup. If point options other than the
  29473. * data itself are set, for example `name` or `color` or custom properties,
  29474. * the grouping logic doesn't know how to group it. In this case the options
  29475. * of the first point instance are copied over to the group point. This can
  29476. * be altered through a custom `approximation` callback function.
  29477. */
  29478. dataGrouping?: DataGroupingOptionsObject;
  29479. /**
  29480. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  29481. * labels, appearing next to each data point.
  29482. *
  29483. * Since v6.2.0, multiple data labels can be applied to each single point by
  29484. * defining them as an array of configs.
  29485. *
  29486. * In styled mode, the data labels can be styled with the
  29487. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  29488. * (see example).
  29489. */
  29490. dataLabels?: (PlotBubbleDataLabelsOptions|Array<PlotBubbleDataLabelsOptions>);
  29491. /**
  29492. * (Highcharts, Highstock) Options for the series data sorting.
  29493. */
  29494. dataSorting?: (DataSortingOptionsObject|PlotBubbleDataSortingOptions);
  29495. /**
  29496. * (Highcharts, Highstock) A description of the series to add to the screen
  29497. * reader information about the series.
  29498. */
  29499. description?: string;
  29500. /**
  29501. * (Highcharts, Highstock) Whether to display negative sized bubbles. The
  29502. * threshold is given by the zThreshold option, and negative bubbles can be
  29503. * visualized by setting negativeColor.
  29504. */
  29505. displayNegative?: boolean;
  29506. /**
  29507. * (Highcharts, Highstock) The draggable-points module allows points to be
  29508. * moved around or modified in the chart. In addition to the options
  29509. * mentioned under the `dragDrop` API structure, the module fires three
  29510. * events, point.dragStart, point.drag and point.drop.
  29511. */
  29512. dragDrop?: SeriesDragDropOptionsObject;
  29513. /**
  29514. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  29515. * specific series. This includes point tooltips and click events on graphs
  29516. * and points. For large datasets it improves performance.
  29517. */
  29518. enableMouseTracking?: boolean;
  29519. /**
  29520. * (Highcharts, Highstock) General event handlers for the series items.
  29521. * These event hooks can also be attached to the series at run time using
  29522. * the `Highcharts.addEvent` function.
  29523. */
  29524. events?: SeriesEventsOptionsObject;
  29525. /**
  29526. * (Highcharts, Highstock) Determines whether the series should look for the
  29527. * nearest point in both dimensions or just the x-dimension when hovering
  29528. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  29529. * other series. If the data has duplicate x-values, it is recommended to
  29530. * set this to `'xy'` to allow hovering over all points.
  29531. *
  29532. * Applies only to series types using nearest neighbor search (not direct
  29533. * hover) for tooltip.
  29534. */
  29535. findNearestPointBy?: OptionsFindNearestPointByValue;
  29536. /**
  29537. * (Highstock) Defines when to display a gap in the graph, together with the
  29538. * gapUnit option.
  29539. *
  29540. * In case when `dataGrouping` is enabled, points can be grouped into a
  29541. * larger time span. This can make the grouped points to have a greater
  29542. * distance than the absolute value of `gapSize` property, which will result
  29543. * in disappearing graph completely. To prevent this situation the mentioned
  29544. * distance between grouped points is used instead of previously defined
  29545. * `gapSize`.
  29546. *
  29547. * In practice, this option is most often used to visualize gaps in time
  29548. * series. In a stock chart, intraday data is available for daytime hours,
  29549. * while gaps will appear in nights and weekends.
  29550. */
  29551. gapSize?: number;
  29552. /**
  29553. * (Highstock) Together with gapSize, this option defines where to draw gaps
  29554. * in the graph.
  29555. *
  29556. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  29557. * if the distance between two points is greater than 5 times that of the
  29558. * two closest points, the graph will be broken.
  29559. *
  29560. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  29561. * values, which on a datetime axis is milliseconds. This also applies to
  29562. * the navigator series that inherits gap options from the base series.
  29563. */
  29564. gapUnit?: OptionsGapUnitValue;
  29565. /**
  29566. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  29567. * chart width or only the zoomed area when zooming in on parts of the X
  29568. * axis. By default, the Y axis adjusts to the min and max of the visible
  29569. * data. Cartesian series only.
  29570. */
  29571. getExtremesFromAll?: boolean;
  29572. /**
  29573. * (Highcharts, Highstock) When set to `false` will prevent the series data
  29574. * from being included in any form of data export.
  29575. *
  29576. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  29577. * `includeInCSVExport`.
  29578. */
  29579. includeInDataExport?: boolean;
  29580. /**
  29581. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  29582. * When plotting discrete values, a little random noise may help telling the
  29583. * points apart. The jitter setting applies a random displacement of up to
  29584. * `n` axis units in either direction. So for example on a horizontal X
  29585. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  29586. * position between 0.24 units to the left and 0.24 units to the right of
  29587. * the true axis position. On a category axis, setting it to 0.5 will fill
  29588. * up the bin and make the data appear continuous.
  29589. *
  29590. * When rendered on top of a box plot or a column series, a jitter value of
  29591. * 0.24 will correspond to the underlying series' default groupPadding and
  29592. * pointPadding settings.
  29593. */
  29594. jitter?: PlotBubbleJitterOptions;
  29595. /**
  29596. * (Highmaps) What property to join the `mapData` to the value data. For
  29597. * example, if joinBy is "code", the mapData items with a specific code is
  29598. * merged into the data with the same code. For maps loaded from GeoJSON,
  29599. * the keys may be held in each point's `properties` object.
  29600. *
  29601. * The joinBy option can also be an array of two values, where the first
  29602. * points to a key in the `mapData`, and the second points to another key in
  29603. * the `data`.
  29604. *
  29605. * When joinBy is `null`, the map items are joined by their position in the
  29606. * array, which performs much better in maps with many data points. This is
  29607. * the recommended option if you are printing more than a thousand data
  29608. * points and have a backend that can preprocess the data into a parallel
  29609. * array of the mapData.
  29610. */
  29611. joinBy?: (string|Array<string>);
  29612. /**
  29613. * (Highcharts, Highstock) An array specifying which option maps to which
  29614. * key in the data point array. This makes it convenient to work with
  29615. * unstructured data arrays from different sources.
  29616. */
  29617. keys?: Array<string>;
  29618. /**
  29619. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  29620. * series as possible in a natural way, seeking to avoid other series. The
  29621. * goal of this feature is to make the chart more easily readable, like if a
  29622. * human designer placed the labels in the optimal position.
  29623. *
  29624. * The series labels currently work with series types having a `graph` or an
  29625. * `area`.
  29626. */
  29627. label?: SeriesLabelOptionsObject;
  29628. /**
  29629. * (Highstock) The line marks the last price from all points.
  29630. */
  29631. lastPrice?: SeriesLastPriceOptionsObject;
  29632. /**
  29633. * (Highstock) The line marks the last price from visible range of points.
  29634. */
  29635. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  29636. /**
  29637. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  29638. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  29639. * the ends and bends.
  29640. */
  29641. linecap?: SeriesLinecapValue;
  29642. /**
  29643. * (Highcharts, Highstock) The width of the line connecting the data points.
  29644. */
  29645. lineWidth?: number;
  29646. /**
  29647. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  29648. * Additionally, the value can be ":previous" to link to the previous
  29649. * series. When two series are linked, only the first one appears in the
  29650. * legend. Toggling the visibility of this also toggles the linked series.
  29651. *
  29652. * If master series uses data sorting and linked series does not have its
  29653. * own sorting definition, the linked series will be sorted in the same
  29654. * order as the master one.
  29655. */
  29656. linkedTo?: string;
  29657. /**
  29658. * (Highcharts, Highstock) Options for the point markers of line-like
  29659. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  29660. * the visual appearance of the markers. Other series types, like column
  29661. * series, don't have markers, but have visual options on the series level
  29662. * instead.
  29663. *
  29664. * In styled mode, the markers can be styled with the `.highcharts-point`,
  29665. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  29666. */
  29667. marker?: PointMarkerOptionsObject;
  29668. /**
  29669. * (Highcharts, Highstock) Maximum bubble size. Bubbles will automatically
  29670. * size between the `minSize` and `maxSize` to reflect the `z` value of each
  29671. * bubble. Can be either pixels (when no unit is given), or a percentage of
  29672. * the smallest one of the plot width and height.
  29673. */
  29674. maxSize?: (number|string);
  29675. /**
  29676. * (Highcharts, Highstock) Minimum bubble size. Bubbles will automatically
  29677. * size between the `minSize` and `maxSize` to reflect the `z` value of each
  29678. * bubble. Can be either pixels (when no unit is given), or a percentage of
  29679. * the smallest one of the plot width and height.
  29680. */
  29681. minSize?: (number|string);
  29682. /**
  29683. * (Highstock) Options for the corresponding navigator series if
  29684. * `showInNavigator` is `true` for this series. Available options are the
  29685. * same as any series, documented at plotOptions and series.
  29686. *
  29687. * These options are merged with options in navigator.series, and will take
  29688. * precedence if the same option is defined both places.
  29689. */
  29690. navigatorOptions?: PlotSeriesOptions;
  29691. /**
  29692. * (Highcharts) When a point's Z value is below the zThreshold setting, this
  29693. * color is used.
  29694. */
  29695. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  29696. /**
  29697. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  29698. * and dataLabels.
  29699. */
  29700. opacity?: number;
  29701. /**
  29702. * (Highcharts, Highstock) Properties for each single point.
  29703. */
  29704. point?: PlotSeriesPointOptions;
  29705. /**
  29706. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  29707. * but for an individual series. Overrides the chart wide configuration.
  29708. */
  29709. pointDescriptionFormatter?: Function;
  29710. /**
  29711. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  29712. * a series, `pointInterval` defines the interval of the x values. For
  29713. * example, if a series contains one value every decade starting from year
  29714. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  29715. * `pointInterval` is set in milliseconds.
  29716. *
  29717. * It can be also be combined with `pointIntervalUnit` to draw irregular
  29718. * time intervals.
  29719. *
  29720. * Please note that this options applies to the _series data_, not the
  29721. * interval of the axis ticks, which is independent.
  29722. */
  29723. pointInterval?: number;
  29724. /**
  29725. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  29726. * setting the pointInterval to irregular time units, `day`, `month` and
  29727. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  29728. * also takes the DST crossover into consideration when dealing with local
  29729. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  29730. * months, 10 years etc.
  29731. *
  29732. * Please note that this options applies to the _series data_, not the
  29733. * interval of the axis ticks, which is independent.
  29734. */
  29735. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  29736. /**
  29737. * (Highstock) The width of each point on the x axis. For example in a
  29738. * column chart with one value each day, the pointRange would be 1 day (= 24
  29739. * * 3600
  29740. *
  29741. * * 1000 milliseconds). This is normally computed automatically, but this
  29742. * option can be used to override the automatic value.
  29743. */
  29744. pointRange?: number;
  29745. /**
  29746. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  29747. * a series, pointStart defines on what value to start. For example, if a
  29748. * series contains one yearly value starting from 1945, set pointStart to
  29749. * 1945.
  29750. */
  29751. pointStart?: number;
  29752. /**
  29753. * (Highcharts, Highstock) Whether to select the series initially. If
  29754. * `showCheckbox` is true, the checkbox next to the series name in the
  29755. * legend will be checked for a selected series.
  29756. */
  29757. selected?: boolean;
  29758. /**
  29759. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  29760. * legend item to allow selecting the series. The state of the checkbox is
  29761. * determined by the `selected` option.
  29762. */
  29763. showCheckbox?: boolean;
  29764. /**
  29765. * (Highcharts, Highstock) Whether to display this particular series or
  29766. * series type in the legend. Standalone series are shown in legend by
  29767. * default, and linked series are not. Since v7.2.0 it is possible to show
  29768. * series that use colorAxis by setting this option to `true`.
  29769. */
  29770. showInLegend?: boolean;
  29771. /**
  29772. * (Highstock) Whether or not to show the series in the navigator. Takes
  29773. * precedence over navigator.baseSeries if defined.
  29774. */
  29775. showInNavigator?: boolean;
  29776. /**
  29777. * (Highcharts, Highstock) Whether the bubble's value should be represented
  29778. * by the area or the width of the bubble. The default, `area`, corresponds
  29779. * best to the human perception of the size of each bubble.
  29780. */
  29781. sizeBy?: BubbleSizeByValue;
  29782. /**
  29783. * (Highcharts) When this is true, the absolute value of z determines the
  29784. * size of the bubble. This means that with the default `zThreshold` of 0, a
  29785. * bubble of value -1 will have the same size as a bubble of value 1, while
  29786. * a bubble of value 0 will have a smaller size according to `minSize`.
  29787. */
  29788. sizeByAbsoluteValue?: boolean;
  29789. /**
  29790. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  29791. * skip past the points in this series for keyboard navigation.
  29792. */
  29793. skipKeyboardNavigation?: boolean;
  29794. /**
  29795. * (Highcharts) When this is true, the series will not cause the Y axis to
  29796. * cross the zero plane (or threshold option) unless the data actually
  29797. * crosses the plane.
  29798. *
  29799. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  29800. * make the Y axis show negative values according to the `minPadding`
  29801. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  29802. */
  29803. softThreshold?: boolean;
  29804. /**
  29805. * (Highcharts, Highstock) Whether to stack the values of each series on top
  29806. * of each other. Possible values are `undefined` to disable, `"normal"` to
  29807. * stack by value or `"percent"`.
  29808. *
  29809. * When stacking is enabled, data must be sorted in ascending X order.
  29810. *
  29811. * Some stacking options are related to specific series types. In the
  29812. * streamgraph series type, the stacking option is set to `"stream"`. The
  29813. * second one is `"overlap"`, which only applies to waterfall series.
  29814. */
  29815. stacking?: OptionsStackingValue;
  29816. states?: SeriesStatesOptionsObject;
  29817. /**
  29818. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  29819. * values are `left`, `center` and `right`.
  29820. */
  29821. step?: OptionsStepValue;
  29822. /**
  29823. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  29824. * `mouseOut` event on a series isn't triggered until the mouse moves over
  29825. * another series, or out of the plot area. When false, the `mouseOut` event
  29826. * on a series is triggered when the mouse leaves the area around the
  29827. * series' graph or markers. This also implies the tooltip. When
  29828. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  29829. * be hidden when moving the mouse between series.
  29830. */
  29831. stickyTracking?: boolean;
  29832. /**
  29833. * (Highcharts, Highstock) The threshold, also called zero level or base
  29834. * level. For line type series this is only used in conjunction with
  29835. * negativeColor.
  29836. */
  29837. threshold?: (number|null);
  29838. /**
  29839. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  29840. * of each single series. Properties are inherited from tooltip. Overridable
  29841. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  29842. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  29843. * series.name by default shows in the headerFormat and point.x and point.y
  29844. * in the pointFormat.
  29845. */
  29846. tooltip?: SeriesTooltipOptionsObject;
  29847. /**
  29848. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  29849. * is longer than this, only one dimensional arrays of numbers, or two
  29850. * dimensional arrays with x and y values are allowed. Also, only the first
  29851. * point is tested, and the rest are assumed to be the same format. This
  29852. * saves expensive data checking and indexing in long series. Set it to `0`
  29853. * disable.
  29854. *
  29855. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  29856. * two dimensional arrays are allowed.
  29857. */
  29858. turboThreshold?: number;
  29859. /**
  29860. * (Highcharts, Highstock) Set the initial visibility of the series.
  29861. */
  29862. visible?: boolean;
  29863. /**
  29864. * (Highmaps) Define the z index of the series.
  29865. */
  29866. zIndex?: number;
  29867. /**
  29868. * (Highcharts) The minimum for the Z value range. Defaults to the highest Z
  29869. * value in the data.
  29870. */
  29871. zMax?: number;
  29872. /**
  29873. * (Highcharts) The minimum for the Z value range. Defaults to the lowest Z
  29874. * value in the data.
  29875. */
  29876. zMin?: number;
  29877. /**
  29878. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  29879. */
  29880. zoneAxis?: string;
  29881. /**
  29882. * (Highcharts, Highstock) An array defining zones within a series. Zones
  29883. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  29884. * the `zoneAxis` option. The zone definitions have to be in ascending order
  29885. * regarding to the value.
  29886. *
  29887. * In styled mode, the color zones are styled with the
  29888. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  29889. * option (view live demo).
  29890. */
  29891. zones?: Array<SeriesZonesOptionsObject>;
  29892. /**
  29893. * (Highcharts) When displayNegative is `false`, bubbles with lower Z values
  29894. * are skipped. When `displayNegative` is `true` and a negativeColor is
  29895. * given, points with lower Z is colored.
  29896. */
  29897. zThreshold?: number;
  29898. }
  29899. /**
  29900. * (Highcharts) Enable or disable the initial animation when a series is
  29901. * displayed. The animation can also be set as a configuration object. Please
  29902. * note that this option only applies to the initial animation of the series
  29903. * itself. For other animations, see chart.animation and the animation parameter
  29904. * under the API methods. The following properties are supported:
  29905. *
  29906. * - `defer`: The animation delay time in milliseconds.
  29907. *
  29908. * - `duration`: The duration of the animation in milliseconds.
  29909. *
  29910. * - `easing`: Can be a string reference to an easing function set on the `Math`
  29911. * object or a function. See the _Custom easing function_ demo below.
  29912. *
  29913. * Due to poor performance, animation is disabled in old IE browsers for several
  29914. * chart types.
  29915. */
  29916. export interface PlotBulletAnimationOptions {
  29917. defer?: number;
  29918. }
  29919. /**
  29920. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  29921. * animation when a series is displayed for the `dataLabels`. The animation can
  29922. * also be set as a configuration object. Please note that this option only
  29923. * applies to the initial animation. For other animations, see chart.animation
  29924. * and the animation parameter under the API methods. The following properties
  29925. * are supported:
  29926. *
  29927. * - `defer`: The animation delay time in milliseconds.
  29928. */
  29929. export interface PlotBulletDataLabelsAnimationOptions {
  29930. /**
  29931. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  29932. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  29933. * inherits defer time from the series.animation.defer.
  29934. */
  29935. defer?: number;
  29936. }
  29937. /**
  29938. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  29939. * appearing next to each data point.
  29940. *
  29941. * Since v6.2.0, multiple data labels can be applied to each single point by
  29942. * defining them as an array of configs.
  29943. *
  29944. * In styled mode, the data labels can be styled with the
  29945. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  29946. * example).
  29947. */
  29948. export interface PlotBulletDataLabelsOptions {
  29949. /**
  29950. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  29951. * compared to the point. If `right`, the right side of the label should be
  29952. * touching the point. For points with an extent, like columns, the
  29953. * alignments also dictates how to align it inside the box, as given with
  29954. * the inside option. Can be one of `left`, `center` or `right`.
  29955. */
  29956. align?: string;
  29957. /**
  29958. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  29959. * overlap. To make the labels less sensitive for overlapping, the
  29960. * dataLabels.padding can be set to 0.
  29961. */
  29962. allowOverlap?: boolean;
  29963. /**
  29964. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  29965. * animation when a series is displayed for the `dataLabels`. The animation
  29966. * can also be set as a configuration object. Please note that this option
  29967. * only applies to the initial animation. For other animations, see
  29968. * chart.animation and the animation parameter under the API methods. The
  29969. * following properties are supported:
  29970. *
  29971. * - `defer`: The animation delay time in milliseconds.
  29972. */
  29973. animation?: (boolean|PlotBulletDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  29974. /**
  29975. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  29976. * for the data label.
  29977. */
  29978. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  29979. /**
  29980. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  29981. * label. Defaults to `undefined`.
  29982. */
  29983. borderColor?: (ColorString|GradientColorObject|PatternObject);
  29984. /**
  29985. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  29986. * the data label.
  29987. */
  29988. borderRadius?: number;
  29989. /**
  29990. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  29991. * the data label.
  29992. */
  29993. borderWidth?: number;
  29994. /**
  29995. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  29996. * Particularly in styled mode, this can be used to give each series' or
  29997. * point's data label unique styling. In addition to this option, a default
  29998. * color class name is added so that we can give the labels a contrast text
  29999. * shadow.
  30000. */
  30001. className?: string;
  30002. /**
  30003. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  30004. * labels. Defaults to `undefined`. For certain series types, like column or
  30005. * map, the data labels can be drawn inside the points. In this case the
  30006. * data label will be drawn with maximum contrast by default. Additionally,
  30007. * it will be given a `text-outline` style with the opposite color, to
  30008. * further increase the contrast. This can be overridden by setting the
  30009. * `text-outline` style to `none` in the `dataLabels.style` option.
  30010. */
  30011. color?: (ColorString|GradientColorObject|PatternObject);
  30012. /**
  30013. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  30014. * are outside the plot area. By default, the data label is moved inside the
  30015. * plot area according to the overflow option.
  30016. */
  30017. crop?: boolean;
  30018. /**
  30019. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  30020. * labels until the initial series animation has finished. Setting to
  30021. * `false` renders the data label immediately. If set to `true` inherits the
  30022. * defer time set in plotOptions.series.animation. If set to a number, a
  30023. * defer time is specified in milliseconds.
  30024. */
  30025. defer?: (boolean|number);
  30026. /**
  30027. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  30028. * labels.
  30029. */
  30030. enabled?: boolean;
  30031. /**
  30032. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  30033. * of which data labels to display. The declarative filter is designed for
  30034. * use when callback functions are not available, like when the chart
  30035. * options require a pure JSON structure or for use with graphical editors.
  30036. * For programmatic control, use the `formatter` instead, and return
  30037. * `undefined` to disable a single data label.
  30038. */
  30039. filter?: DataLabelsFilterOptionsObject;
  30040. /**
  30041. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  30042. * label. Available variables are the same as for `formatter`.
  30043. */
  30044. format?: string;
  30045. /**
  30046. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  30047. * format the data label. Note that if a `format` is defined, the format
  30048. * takes precedence and the formatter is ignored.
  30049. */
  30050. formatter?: DataLabelsFormatterCallbackFunction;
  30051. /**
  30052. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  30053. * columns or map areas, whether to align the data label inside the box or
  30054. * to the actual value point. Defaults to `false` in most cases, `true` in
  30055. * stacked columns.
  30056. */
  30057. inside?: boolean;
  30058. /**
  30059. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  30060. * of null. Works analogously to format. `nullFormat` can be applied only to
  30061. * series which support displaying null points.
  30062. */
  30063. nullFormat?: (boolean|string);
  30064. /**
  30065. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  30066. * that defines formatting for points with the value of null. Works
  30067. * analogously to formatter. `nullPointFormatter` can be applied only to
  30068. * series which support displaying null points.
  30069. */
  30070. nullFormatter?: DataLabelsFormatterCallbackFunction;
  30071. /**
  30072. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  30073. * flow outside the plot area. The default is `"justify"`, which aligns them
  30074. * inside the plot area. For columns and bars, this means it will be moved
  30075. * inside the bar. To display data labels outside the plot area, set `crop`
  30076. * to `false` and `overflow` to `"allow"`.
  30077. */
  30078. overflow?: DataLabelsOverflowValue;
  30079. /**
  30080. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  30081. * the `backgroundColor` is set, this is the padding within the box.
  30082. */
  30083. padding?: number;
  30084. /**
  30085. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  30086. * points. If `center` alignment is not possible, it defaults to `right`.
  30087. */
  30088. position?: AlignValue;
  30089. /**
  30090. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  30091. * that due to a more complex structure, backgrounds, borders and padding
  30092. * will be lost on a rotated data label.
  30093. */
  30094. rotation?: number;
  30095. /**
  30096. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  30097. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  30098. * an object configuration containing `color`, `offsetX`, `offsetY`,
  30099. * `opacity` and `width`.
  30100. */
  30101. shadow?: (boolean|ShadowOptionsObject);
  30102. /**
  30103. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  30104. * the border around the label. Symbols are predefined functions on the
  30105. * Renderer object.
  30106. */
  30107. shape?: string;
  30108. /**
  30109. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  30110. * default `color` setting is `"contrast"`, which is a pseudo color that
  30111. * Highcharts picks up and applies the maximum contrast to the underlying
  30112. * point item, for example the bar in a bar chart.
  30113. *
  30114. * The `textOutline` is a pseudo property that applies an outline of the
  30115. * given width with the given color, which by default is the maximum
  30116. * contrast to the text. So a bright text color will result in a black text
  30117. * outline for maximum readability on a mixed background. In some cases,
  30118. * especially with grayscale text, the text outline doesn't work well, in
  30119. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  30120. * is true, the `textOutline` will not be picked up. In this, case, the same
  30121. * effect can be acheived through the `text-shadow` CSS property.
  30122. *
  30123. * For some series types, where each point has an extent, like for example
  30124. * tree maps, the data label may overflow the point. There are two
  30125. * strategies for handling overflow. By default, the text will wrap to
  30126. * multiple lines. The other strategy is to set `style.textOverflow` to
  30127. * `ellipsis`, which will keep the text on one line plus it will break
  30128. * inside long words.
  30129. */
  30130. style?: CSSObject;
  30131. /**
  30132. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  30133. * should follow marker's shape. Border and background are disabled for a
  30134. * label that follows a path.
  30135. *
  30136. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  30137. * to true will disable this option.
  30138. */
  30139. textPath?: DataLabelsTextPathOptionsObject;
  30140. /**
  30141. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  30142. * the labels.
  30143. */
  30144. useHTML?: boolean;
  30145. /**
  30146. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  30147. * label. Can be one of `top`, `middle` or `bottom`. The default value
  30148. * depends on the data, for instance in a column chart, the label is above
  30149. * positive values and below negative values.
  30150. */
  30151. verticalAlign?: string;
  30152. /**
  30153. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  30154. * label relative to the point in pixels.
  30155. */
  30156. x?: number;
  30157. /**
  30158. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  30159. * label relative to the point in pixels.
  30160. */
  30161. y?: number;
  30162. /**
  30163. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  30164. * The default Z index puts it above the series. Use a Z index of 2 to
  30165. * display it behind the series.
  30166. */
  30167. z?: number;
  30168. }
  30169. /**
  30170. * (Highcharts) Style options for the guide box. The guide box has one state by
  30171. * default, the `default` state.
  30172. */
  30173. export interface PlotBulletDragDropGuideBoxOptions {
  30174. /**
  30175. * (Highcharts) Style options for the guide box default state.
  30176. */
  30177. default?: DragDropGuideBoxOptionsObject;
  30178. }
  30179. /**
  30180. * (Highcharts) A bullet graph is a variation of a bar graph. The bullet graph
  30181. * features a single measure, compares it to a target, and displays it in the
  30182. * context of qualitative ranges of performance that could be set using
  30183. * plotBands on yAxis.
  30184. *
  30185. * In TypeScript the type option must always be set.
  30186. *
  30187. * Configuration options for the series are given in three levels:
  30188. *
  30189. * 1. Options for all series in a chart are defined in the plotOptions.series
  30190. * object.
  30191. *
  30192. * 2. Options for all `bullet` series are defined in plotOptions.bullet.
  30193. *
  30194. * 3. Options for one single series are given in the series instance array. (see
  30195. * online documentation for example)
  30196. */
  30197. export interface PlotBulletOptions {
  30198. /**
  30199. * (Highcharts) Accessibility options for a series.
  30200. */
  30201. accessibility?: SeriesAccessibilityOptionsObject;
  30202. /**
  30203. * (Highcharts) Allow this series' points to be selected by clicking on the
  30204. * graphic (columns, point markers, pie slices, map areas etc).
  30205. *
  30206. * The selected points can be handled by point select and unselect events,
  30207. * or collectively by the getSelectedPoints function.
  30208. *
  30209. * And alternative way of selecting points is through dragging.
  30210. */
  30211. allowPointSelect?: boolean;
  30212. /**
  30213. * (Highcharts) Enable or disable the initial animation when a series is
  30214. * displayed. The animation can also be set as a configuration object.
  30215. * Please note that this option only applies to the initial animation of the
  30216. * series itself. For other animations, see chart.animation and the
  30217. * animation parameter under the API methods. The following properties are
  30218. * supported:
  30219. *
  30220. * - `defer`: The animation delay time in milliseconds.
  30221. *
  30222. * - `duration`: The duration of the animation in milliseconds.
  30223. *
  30224. * - `easing`: Can be a string reference to an easing function set on the
  30225. * `Math` object or a function. See the _Custom easing function_ demo below.
  30226. *
  30227. * Due to poor performance, animation is disabled in old IE browsers for
  30228. * several chart types.
  30229. */
  30230. animation?: (boolean|PlotBulletAnimationOptions|Partial<AnimationOptionsObject>);
  30231. /**
  30232. * (Highcharts) For some series, there is a limit that shuts down initial
  30233. * animation by default when the total number of points in the chart is too
  30234. * high. For example, for a column chart and its derivatives, animation does
  30235. * not run if there is more than 250 points totally. To disable this cap,
  30236. * set `animationLimit` to `Infinity`.
  30237. */
  30238. animationLimit?: number;
  30239. /**
  30240. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  30241. * column or bar.
  30242. *
  30243. * In styled mode, the border stroke can be set with the `.highcharts-point`
  30244. * rule.
  30245. */
  30246. borderColor?: (ColorString|GradientColorObject|PatternObject);
  30247. /**
  30248. * (Highcharts, Highstock, Gantt) The corner radius of the border
  30249. * surrounding each column or bar.
  30250. */
  30251. borderRadius?: number;
  30252. /**
  30253. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  30254. * column or bar. Defaults to `1` when there is room for a border, but to
  30255. * `0` when the columns are so dense that a border would cover the next
  30256. * column.
  30257. *
  30258. * In styled mode, the stroke width can be set with the `.highcharts-point`
  30259. * rule.
  30260. */
  30261. borderWidth?: number;
  30262. /**
  30263. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  30264. * the category, ignoring null or missing points. When `false`, space will
  30265. * be reserved for null or missing points.
  30266. */
  30267. centerInCategory?: boolean;
  30268. /**
  30269. * (Highcharts) An additional class name to apply to the series' graphical
  30270. * elements. This option does not replace default class names of the
  30271. * graphical element.
  30272. */
  30273. className?: string;
  30274. /**
  30275. * (Highcharts) Disable this option to allow series rendering in the whole
  30276. * plotting area.
  30277. *
  30278. * **Note:** Clipping should be always enabled when chart.zoomType is set
  30279. */
  30280. clip?: boolean;
  30281. /**
  30282. * (Highcharts) The main color of the series. In line type series it applies
  30283. * to the line and the point markers unless otherwise specified. In bar type
  30284. * series it applies to the bars unless a color is specified per point. The
  30285. * default value is pulled from the `options.colors` array.
  30286. *
  30287. * In styled mode, the color can be defined by the colorIndex option. Also,
  30288. * the series color can be set with the `.highcharts-series`,
  30289. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  30290. * `.highcharts-series-{n}` class, or individual classes given by the
  30291. * `className` option.
  30292. */
  30293. color?: (ColorString|GradientColorObject|PatternObject);
  30294. /**
  30295. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  30296. * from the global colors or series-specific plotOptions.column.colors
  30297. * collections, this option determines whether the chart should receive one
  30298. * color per series or one color per point.
  30299. *
  30300. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  30301. * and instead this option gives the points individual color class names on
  30302. * the form `highcharts-color-{n}`.
  30303. */
  30304. colorByPoint?: boolean;
  30305. /**
  30306. * (Highcharts) Styled mode only. A specific color index to use for the
  30307. * series, so its graphic representations are given the class name
  30308. * `highcharts-color-{n}`.
  30309. */
  30310. colorIndex?: number;
  30311. /**
  30312. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  30313. * used to calculate point color if `colorAxis` is used. Requires to set
  30314. * `min` and `max` if some custom point property is used or if approximation
  30315. * for data grouping is set to `'sum'`.
  30316. */
  30317. colorKey?: string;
  30318. /**
  30319. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  30320. * color set to apply instead of the global colors when colorByPoint is
  30321. * true.
  30322. */
  30323. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  30324. /**
  30325. * (Highstock) Defines if comparison should start from the first point
  30326. * within the visible range or should start from the first point **before**
  30327. * the range.
  30328. *
  30329. * In other words, this flag determines if first point within the visible
  30330. * range will have 0% (`compareStart=true`) or should have been already
  30331. * calculated according to the previous point (`compareStart=false`).
  30332. */
  30333. compareStart?: boolean;
  30334. /**
  30335. * (Gantt) Override Pathfinder connector options for a series. Requires
  30336. * Highcharts Gantt to be loaded.
  30337. */
  30338. connectors?: SeriesConnectorsOptionsObject;
  30339. /**
  30340. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  30341. * rounded to its nearest pixel in order to render sharp on screen. In some
  30342. * cases, when there are a lot of densely packed columns, this leads to
  30343. * visible difference in column widths or distance between columns. In these
  30344. * cases, setting `crisp` to `false` may look better, even though each
  30345. * column is rendered blurry.
  30346. */
  30347. crisp?: boolean;
  30348. /**
  30349. * (Highcharts, Highstock, Gantt) When the series contains less points than
  30350. * the crop threshold, all points are drawn, event if the points fall
  30351. * outside the visible plot area at the current zoom. The advantage of
  30352. * drawing all points (including markers and columns), is that animation is
  30353. * performed on updates. On the other hand, when the series contains more
  30354. * points than the crop threshold, the series data is cropped to only
  30355. * contain points that fall within the plot area. The advantage of cropping
  30356. * away invisible points is to increase performance on large series.
  30357. */
  30358. cropThreshold?: number;
  30359. /**
  30360. * (Highcharts) You can set the cursor to "pointer" if you have click events
  30361. * attached to the series, to signal to the user that the points and lines
  30362. * can be clicked.
  30363. *
  30364. * In styled mode, the series cursor can be set with the same classes as
  30365. * listed under series.color.
  30366. */
  30367. cursor?: (string|CursorValue);
  30368. /**
  30369. * (Highcharts) A reserved subspace to store options and values for
  30370. * customized functionality. Here you can add additional data for your own
  30371. * event callbacks and formatter callbacks.
  30372. */
  30373. custom?: Dictionary<any>;
  30374. /**
  30375. * (Highcharts) Name of the dash style to use for the graph, or for some
  30376. * series types the outline of each shape.
  30377. *
  30378. * In styled mode, the stroke dash-array can be set with the same classes as
  30379. * listed under series.color.
  30380. */
  30381. dashStyle?: DashStyleValue;
  30382. /**
  30383. * (Highstock) Data grouping is the concept of sampling the data values into
  30384. * larger blocks in order to ease readability and increase performance of
  30385. * the JavaScript charts. Highcharts Stock by default applies data grouping
  30386. * when the points become closer than a certain pixel value, determined by
  30387. * the `groupPixelWidth` option.
  30388. *
  30389. * If data grouping is applied, the grouping information of grouped points
  30390. * can be read from the Point.dataGroup. If point options other than the
  30391. * data itself are set, for example `name` or `color` or custom properties,
  30392. * the grouping logic doesn't know how to group it. In this case the options
  30393. * of the first point instance are copied over to the group point. This can
  30394. * be altered through a custom `approximation` callback function.
  30395. */
  30396. dataGrouping?: DataGroupingOptionsObject;
  30397. /**
  30398. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  30399. * labels, appearing next to each data point.
  30400. *
  30401. * Since v6.2.0, multiple data labels can be applied to each single point by
  30402. * defining them as an array of configs.
  30403. *
  30404. * In styled mode, the data labels can be styled with the
  30405. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  30406. * (see example).
  30407. */
  30408. dataLabels?: (PlotBulletDataLabelsOptions|Array<PlotBulletDataLabelsOptions>);
  30409. /**
  30410. * (Highcharts) Depth of the columns in a 3D column chart.
  30411. */
  30412. depth?: number;
  30413. /**
  30414. * (Highcharts) A description of the series to add to the screen reader
  30415. * information about the series.
  30416. */
  30417. description?: string;
  30418. /**
  30419. * (Highcharts) The draggable-points module allows points to be moved around
  30420. * or modified in the chart. In addition to the options mentioned under the
  30421. * `dragDrop` API structure, the module fires three events, point.dragStart,
  30422. * point.drag and point.drop.
  30423. */
  30424. dragDrop?: SeriesDragDropOptionsObject;
  30425. /**
  30426. * (Highcharts) 3D columns only. The color of the edges. Similar to
  30427. * `borderColor`, except it defaults to the same color as the column.
  30428. */
  30429. edgeColor?: ColorString;
  30430. /**
  30431. * (Highcharts) 3D columns only. The width of the colored edges.
  30432. */
  30433. edgeWidth?: number;
  30434. /**
  30435. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  30436. * This includes point tooltips and click events on graphs and points. For
  30437. * large datasets it improves performance.
  30438. */
  30439. enableMouseTracking?: boolean;
  30440. /**
  30441. * (Highcharts) General event handlers for the series items. These event
  30442. * hooks can also be attached to the series at run time using the
  30443. * `Highcharts.addEvent` function.
  30444. */
  30445. events?: SeriesEventsOptionsObject;
  30446. /**
  30447. * (Highcharts) Determines whether the series should look for the nearest
  30448. * point in both dimensions or just the x-dimension when hovering the
  30449. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  30450. * series. If the data has duplicate x-values, it is recommended to set this
  30451. * to `'xy'` to allow hovering over all points.
  30452. *
  30453. * Applies only to series types using nearest neighbor search (not direct
  30454. * hover) for tooltip.
  30455. */
  30456. findNearestPointBy?: OptionsFindNearestPointByValue;
  30457. /**
  30458. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  30459. * chart width or only the zoomed area when zooming in on parts of the X
  30460. * axis. By default, the Y axis adjusts to the min and max of the visible
  30461. * data. Cartesian series only.
  30462. */
  30463. getExtremesFromAll?: boolean;
  30464. /**
  30465. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  30466. * let them render independent of each other. Non-grouped columns will be
  30467. * laid out individually and overlap each other.
  30468. */
  30469. grouping?: boolean;
  30470. /**
  30471. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  30472. * axis units.
  30473. */
  30474. groupPadding?: number;
  30475. /**
  30476. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  30477. */
  30478. groupZPadding?: number;
  30479. /**
  30480. * (Highcharts) When set to `false` will prevent the series data from being
  30481. * included in any form of data export.
  30482. *
  30483. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  30484. * `includeInCSVExport`.
  30485. */
  30486. includeInDataExport?: boolean;
  30487. /**
  30488. * (Highmaps) What property to join the `mapData` to the value data. For
  30489. * example, if joinBy is "code", the mapData items with a specific code is
  30490. * merged into the data with the same code. For maps loaded from GeoJSON,
  30491. * the keys may be held in each point's `properties` object.
  30492. *
  30493. * The joinBy option can also be an array of two values, where the first
  30494. * points to a key in the `mapData`, and the second points to another key in
  30495. * the `data`.
  30496. *
  30497. * When joinBy is `null`, the map items are joined by their position in the
  30498. * array, which performs much better in maps with many data points. This is
  30499. * the recommended option if you are printing more than a thousand data
  30500. * points and have a backend that can preprocess the data into a parallel
  30501. * array of the mapData.
  30502. */
  30503. joinBy?: (string|Array<string>);
  30504. /**
  30505. * (Highcharts) An array specifying which option maps to which key in the
  30506. * data point array. This makes it convenient to work with unstructured data
  30507. * arrays from different sources.
  30508. */
  30509. keys?: Array<string>;
  30510. /**
  30511. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  30512. * series as possible in a natural way, seeking to avoid other series. The
  30513. * goal of this feature is to make the chart more easily readable, like if a
  30514. * human designer placed the labels in the optimal position.
  30515. *
  30516. * The series labels currently work with series types having a `graph` or an
  30517. * `area`.
  30518. */
  30519. label?: SeriesLabelOptionsObject;
  30520. /**
  30521. * (Highstock) The line marks the last price from all points.
  30522. */
  30523. lastPrice?: SeriesLastPriceOptionsObject;
  30524. /**
  30525. * (Highstock) The line marks the last price from visible range of points.
  30526. */
  30527. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  30528. /**
  30529. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  30530. * Additionally, the value can be ":previous" to link to the previous
  30531. * series. When two series are linked, only the first one appears in the
  30532. * legend. Toggling the visibility of this also toggles the linked series.
  30533. *
  30534. * If master series uses data sorting and linked series does not have its
  30535. * own sorting definition, the linked series will be sorted in the same
  30536. * order as the master one.
  30537. */
  30538. linkedTo?: string;
  30539. /**
  30540. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  30541. * column, translated to the height of a bar in a bar chart. This prevents
  30542. * the columns from becoming too wide when there is a small number of points
  30543. * in the chart.
  30544. */
  30545. maxPointWidth?: number;
  30546. /**
  30547. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  30548. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  30549. * to zero) point, set the minimal point length to a pixel value like 3\. In
  30550. * stacked column charts, minPointLength might not be respected for tightly
  30551. * packed values.
  30552. */
  30553. minPointLength?: number;
  30554. /**
  30555. * (Highstock) Options for the corresponding navigator series if
  30556. * `showInNavigator` is `true` for this series. Available options are the
  30557. * same as any series, documented at plotOptions and series.
  30558. *
  30559. * These options are merged with options in navigator.series, and will take
  30560. * precedence if the same option is defined both places.
  30561. */
  30562. navigatorOptions?: PlotSeriesOptions;
  30563. /**
  30564. * (Highcharts) The color for the parts of the graph or points that are
  30565. * below the threshold. Note that `zones` takes precedence over the negative
  30566. * color. Using `negativeColor` is equivalent to applying a zone with value
  30567. * of 0.
  30568. */
  30569. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  30570. /**
  30571. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  30572. * dataLabels.
  30573. */
  30574. opacity?: number;
  30575. /**
  30576. * (Highcharts) Properties for each single point.
  30577. */
  30578. point?: PlotSeriesPointOptions;
  30579. /**
  30580. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  30581. * individual series. Overrides the chart wide configuration.
  30582. */
  30583. pointDescriptionFormatter?: Function;
  30584. /**
  30585. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  30586. * a series, `pointInterval` defines the interval of the x values. For
  30587. * example, if a series contains one value every decade starting from year
  30588. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  30589. * `pointInterval` is set in milliseconds.
  30590. *
  30591. * It can be also be combined with `pointIntervalUnit` to draw irregular
  30592. * time intervals.
  30593. *
  30594. * Please note that this options applies to the _series data_, not the
  30595. * interval of the axis ticks, which is independent.
  30596. */
  30597. pointInterval?: number;
  30598. /**
  30599. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  30600. * setting the pointInterval to irregular time units, `day`, `month` and
  30601. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  30602. * also takes the DST crossover into consideration when dealing with local
  30603. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  30604. * months, 10 years etc.
  30605. *
  30606. * Please note that this options applies to the _series data_, not the
  30607. * interval of the axis ticks, which is independent.
  30608. */
  30609. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  30610. /**
  30611. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  30612. * axis units.
  30613. */
  30614. pointPadding?: number;
  30615. /**
  30616. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  30617. * `number`.
  30618. *
  30619. * In a column chart, when pointPlacement is `"on"`, the point will not
  30620. * create any padding of the X axis. In a polar column chart this means that
  30621. * the first column points directly north. If the pointPlacement is
  30622. * `"between"`, the columns will be laid out between ticks. This is useful
  30623. * for example for visualising an amount between two points in time or in a
  30624. * certain sector of a polar chart.
  30625. *
  30626. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  30627. * is on the axis value, -0.5 is between this value and the previous, and
  30628. * 0.5 is between this value and the next. Unlike the textual options,
  30629. * numeric point placement options won't affect axis padding.
  30630. *
  30631. * Note that pointPlacement needs a pointRange to work. For column series
  30632. * this is computed, but for line-type series it needs to be set.
  30633. *
  30634. * For the `xrange` series type and gantt charts, if the Y axis is a
  30635. * category axis, the `pointPlacement` applies to the Y axis rather than the
  30636. * (typically datetime) X axis.
  30637. *
  30638. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  30639. */
  30640. pointPlacement?: (number|string);
  30641. /**
  30642. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  30643. * for. This determines the width of the column. On a categorized axis, the
  30644. * range will be 1 by default (one category unit). On linear and datetime
  30645. * axes, the range will be computed as the distance between the two closest
  30646. * data points.
  30647. *
  30648. * The default `null` means it is computed automatically, but this option
  30649. * can be used to override the automatic value.
  30650. *
  30651. * This option is set by default to 1 if data sorting is enabled.
  30652. */
  30653. pointRange?: (number|null);
  30654. /**
  30655. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  30656. * a series, pointStart defines on what value to start. For example, if a
  30657. * series contains one yearly value starting from 1945, set pointStart to
  30658. * 1945.
  30659. */
  30660. pointStart?: number;
  30661. /**
  30662. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  30663. * each column or bar point. When set to `undefined`, the width is
  30664. * calculated from the `pointPadding` and `groupPadding`. The width effects
  30665. * the dimension that is not based on the point value. For column series it
  30666. * is the hoizontal length and for bar series it is the vertical length.
  30667. */
  30668. pointWidth?: number;
  30669. /**
  30670. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  30671. * true, the checkbox next to the series name in the legend will be checked
  30672. * for a selected series.
  30673. */
  30674. selected?: boolean;
  30675. /**
  30676. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  30677. * the shadow can be an object configuration containing `color`, `offsetX`,
  30678. * `offsetY`, `opacity` and `width`.
  30679. */
  30680. shadow?: (boolean|ShadowOptionsObject);
  30681. /**
  30682. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  30683. * allow selecting the series. The state of the checkbox is determined by
  30684. * the `selected` option.
  30685. */
  30686. showCheckbox?: boolean;
  30687. /**
  30688. * (Highcharts) Whether to display this particular series or series type in
  30689. * the legend. Standalone series are shown in legend by default, and linked
  30690. * series are not. Since v7.2.0 it is possible to show series that use
  30691. * colorAxis by setting this option to `true`.
  30692. */
  30693. showInLegend?: boolean;
  30694. /**
  30695. * (Highstock) Whether or not to show the series in the navigator. Takes
  30696. * precedence over navigator.baseSeries if defined.
  30697. */
  30698. showInNavigator?: boolean;
  30699. /**
  30700. * (Highcharts) If set to `true`, the accessibility module will skip past
  30701. * the points in this series for keyboard navigation.
  30702. */
  30703. skipKeyboardNavigation?: boolean;
  30704. /**
  30705. * (Highcharts, Highstock) When this is true, the series will not cause the
  30706. * Y axis to cross the zero plane (or threshold option) unless the data
  30707. * actually crosses the plane.
  30708. *
  30709. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  30710. * make the Y axis show negative values according to the `minPadding`
  30711. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  30712. */
  30713. softThreshold?: boolean;
  30714. /**
  30715. * (Highcharts, Highstock) Whether to stack the values of each series on top
  30716. * of each other. Possible values are `undefined` to disable, `"normal"` to
  30717. * stack by value or `"percent"`.
  30718. *
  30719. * When stacking is enabled, data must be sorted in ascending X order.
  30720. *
  30721. * Some stacking options are related to specific series types. In the
  30722. * streamgraph series type, the stacking option is set to `"stream"`. The
  30723. * second one is `"overlap"`, which only applies to waterfall series.
  30724. */
  30725. stacking?: OptionsStackingValue;
  30726. states?: SeriesStatesOptionsObject;
  30727. /**
  30728. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  30729. * event on a series isn't triggered until the mouse moves over another
  30730. * series, or out of the plot area. When false, the `mouseOut` event on a
  30731. * series is triggered when the mouse leaves the area around the series'
  30732. * graph or markers. This also implies the tooltip when not shared. When
  30733. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  30734. * be hidden when moving the mouse between series. Defaults to true for line
  30735. * and area type series, but to false for columns, pies etc.
  30736. *
  30737. * **Note:** The boost module will force this option because of technical
  30738. * limitations.
  30739. */
  30740. stickyTracking?: boolean;
  30741. /**
  30742. * (Highcharts) All options related with look and positiong of targets.
  30743. */
  30744. targetOptions?: PlotBulletTargetOptions;
  30745. /**
  30746. * (Highcharts) The Y axis value to serve as the base for the columns, for
  30747. * distinguishing between values above and below a threshold. If `null`, the
  30748. * columns extend from the padding Y axis minimum.
  30749. */
  30750. threshold?: (number|null);
  30751. /**
  30752. * (Highcharts) A configuration object for the tooltip rendering of each
  30753. * single series. Properties are inherited from tooltip, but only the
  30754. * following properties can be defined on a series level.
  30755. */
  30756. tooltip?: SeriesTooltipOptionsObject;
  30757. /**
  30758. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  30759. * is longer than this, only one dimensional arrays of numbers, or two
  30760. * dimensional arrays with x and y values are allowed. Also, only the first
  30761. * point is tested, and the rest are assumed to be the same format. This
  30762. * saves expensive data checking and indexing in long series. Set it to `0`
  30763. * disable.
  30764. *
  30765. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  30766. * two dimensional arrays are allowed.
  30767. */
  30768. turboThreshold?: number;
  30769. /**
  30770. * (Highcharts) Set the initial visibility of the series.
  30771. */
  30772. visible?: boolean;
  30773. /**
  30774. * (Highmaps) Define the z index of the series.
  30775. */
  30776. zIndex?: number;
  30777. /**
  30778. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  30779. */
  30780. zoneAxis?: string;
  30781. /**
  30782. * (Highcharts, Highstock) An array defining zones within a series. Zones
  30783. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  30784. * the `zoneAxis` option. The zone definitions have to be in ascending order
  30785. * regarding to the value.
  30786. *
  30787. * In styled mode, the color zones are styled with the
  30788. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  30789. * option (view live demo).
  30790. */
  30791. zones?: Array<SeriesZonesOptionsObject>;
  30792. }
  30793. /**
  30794. * (Highcharts) All options related with look and positiong of targets.
  30795. */
  30796. export interface PlotBulletTargetOptions {
  30797. /**
  30798. * (Highcharts) The border color of the rectangle representing the target.
  30799. * When not set, the point's border color is used.
  30800. *
  30801. * In styled mode, use class `highcharts-bullet-target` instead.
  30802. */
  30803. borderColor?: ColorString;
  30804. /**
  30805. * (Highcharts) The border width of the rectangle representing the target.
  30806. *
  30807. * In styled mode, use class `highcharts-bullet-target` instead.
  30808. */
  30809. borderWidth?: number;
  30810. /**
  30811. * (Highcharts) The color of the rectangle representing the target. When not
  30812. * set, point's color (if set in point's options - `color`) or zone of the
  30813. * target value (if `zones` or `negativeColor` are set) or the same color as
  30814. * the point has is used.
  30815. *
  30816. * In styled mode, use class `highcharts-bullet-target` instead.
  30817. */
  30818. color?: (ColorString|GradientColorObject|PatternObject);
  30819. /**
  30820. * (Highcharts) The height of the rectangle representing the target.
  30821. */
  30822. height?: number;
  30823. /**
  30824. * (Highcharts) The width of the rectangle representing the target. Could be
  30825. * set as a pixel value or as a percentage of a column width.
  30826. */
  30827. width?: (number|string);
  30828. }
  30829. /**
  30830. * (Highstock) Enable or disable the initial animation when a series is
  30831. * displayed. The animation can also be set as a configuration object. Please
  30832. * note that this option only applies to the initial animation of the series
  30833. * itself. For other animations, see chart.animation and the animation parameter
  30834. * under the API methods. The following properties are supported:
  30835. *
  30836. * - `defer`: The animation delay time in milliseconds.
  30837. *
  30838. * - `duration`: The duration of the animation in milliseconds.
  30839. *
  30840. * - `easing`: Can be a string reference to an easing function set on the `Math`
  30841. * object or a function. See the _Custom easing function_ demo below.
  30842. *
  30843. * Due to poor performance, animation is disabled in old IE browsers for several
  30844. * chart types.
  30845. */
  30846. export interface PlotCandlestickAnimationOptions {
  30847. defer?: number;
  30848. }
  30849. /**
  30850. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  30851. * animation when a series is displayed for the `dataLabels`. The animation can
  30852. * also be set as a configuration object. Please note that this option only
  30853. * applies to the initial animation. For other animations, see chart.animation
  30854. * and the animation parameter under the API methods. The following properties
  30855. * are supported:
  30856. *
  30857. * - `defer`: The animation delay time in milliseconds.
  30858. */
  30859. export interface PlotCandlestickDataLabelsAnimationOptions {
  30860. /**
  30861. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  30862. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  30863. * inherits defer time from the series.animation.defer.
  30864. */
  30865. defer?: number;
  30866. }
  30867. /**
  30868. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  30869. * appearing next to each data point.
  30870. *
  30871. * Since v6.2.0, multiple data labels can be applied to each single point by
  30872. * defining them as an array of configs.
  30873. *
  30874. * In styled mode, the data labels can be styled with the
  30875. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  30876. * example).
  30877. */
  30878. export interface PlotCandlestickDataLabelsOptions {
  30879. /**
  30880. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  30881. * compared to the point. If `right`, the right side of the label should be
  30882. * touching the point. For points with an extent, like columns, the
  30883. * alignments also dictates how to align it inside the box, as given with
  30884. * the inside option. Can be one of `left`, `center` or `right`.
  30885. */
  30886. align?: string;
  30887. /**
  30888. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  30889. * overlap. To make the labels less sensitive for overlapping, the
  30890. * dataLabels.padding can be set to 0.
  30891. */
  30892. allowOverlap?: boolean;
  30893. /**
  30894. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  30895. * animation when a series is displayed for the `dataLabels`. The animation
  30896. * can also be set as a configuration object. Please note that this option
  30897. * only applies to the initial animation. For other animations, see
  30898. * chart.animation and the animation parameter under the API methods. The
  30899. * following properties are supported:
  30900. *
  30901. * - `defer`: The animation delay time in milliseconds.
  30902. */
  30903. animation?: (boolean|PlotCandlestickDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  30904. /**
  30905. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  30906. * for the data label.
  30907. */
  30908. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  30909. /**
  30910. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  30911. * label. Defaults to `undefined`.
  30912. */
  30913. borderColor?: (ColorString|GradientColorObject|PatternObject);
  30914. /**
  30915. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  30916. * the data label.
  30917. */
  30918. borderRadius?: number;
  30919. /**
  30920. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  30921. * the data label.
  30922. */
  30923. borderWidth?: number;
  30924. /**
  30925. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  30926. * Particularly in styled mode, this can be used to give each series' or
  30927. * point's data label unique styling. In addition to this option, a default
  30928. * color class name is added so that we can give the labels a contrast text
  30929. * shadow.
  30930. */
  30931. className?: string;
  30932. /**
  30933. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  30934. * labels. Defaults to `undefined`. For certain series types, like column or
  30935. * map, the data labels can be drawn inside the points. In this case the
  30936. * data label will be drawn with maximum contrast by default. Additionally,
  30937. * it will be given a `text-outline` style with the opposite color, to
  30938. * further increase the contrast. This can be overridden by setting the
  30939. * `text-outline` style to `none` in the `dataLabels.style` option.
  30940. */
  30941. color?: (ColorString|GradientColorObject|PatternObject);
  30942. /**
  30943. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  30944. * are outside the plot area. By default, the data label is moved inside the
  30945. * plot area according to the overflow option.
  30946. */
  30947. crop?: boolean;
  30948. /**
  30949. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  30950. * labels until the initial series animation has finished. Setting to
  30951. * `false` renders the data label immediately. If set to `true` inherits the
  30952. * defer time set in plotOptions.series.animation. If set to a number, a
  30953. * defer time is specified in milliseconds.
  30954. */
  30955. defer?: (boolean|number);
  30956. /**
  30957. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  30958. * labels.
  30959. */
  30960. enabled?: boolean;
  30961. /**
  30962. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  30963. * of which data labels to display. The declarative filter is designed for
  30964. * use when callback functions are not available, like when the chart
  30965. * options require a pure JSON structure or for use with graphical editors.
  30966. * For programmatic control, use the `formatter` instead, and return
  30967. * `undefined` to disable a single data label.
  30968. */
  30969. filter?: DataLabelsFilterOptionsObject;
  30970. /**
  30971. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  30972. * label. Available variables are the same as for `formatter`.
  30973. */
  30974. format?: string;
  30975. /**
  30976. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  30977. * format the data label. Note that if a `format` is defined, the format
  30978. * takes precedence and the formatter is ignored.
  30979. */
  30980. formatter?: DataLabelsFormatterCallbackFunction;
  30981. /**
  30982. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  30983. * columns or map areas, whether to align the data label inside the box or
  30984. * to the actual value point. Defaults to `false` in most cases, `true` in
  30985. * stacked columns.
  30986. */
  30987. inside?: boolean;
  30988. /**
  30989. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  30990. * of null. Works analogously to format. `nullFormat` can be applied only to
  30991. * series which support displaying null points.
  30992. */
  30993. nullFormat?: (boolean|string);
  30994. /**
  30995. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  30996. * that defines formatting for points with the value of null. Works
  30997. * analogously to formatter. `nullPointFormatter` can be applied only to
  30998. * series which support displaying null points.
  30999. */
  31000. nullFormatter?: DataLabelsFormatterCallbackFunction;
  31001. /**
  31002. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  31003. * flow outside the plot area. The default is `"justify"`, which aligns them
  31004. * inside the plot area. For columns and bars, this means it will be moved
  31005. * inside the bar. To display data labels outside the plot area, set `crop`
  31006. * to `false` and `overflow` to `"allow"`.
  31007. */
  31008. overflow?: DataLabelsOverflowValue;
  31009. /**
  31010. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  31011. * the `backgroundColor` is set, this is the padding within the box.
  31012. */
  31013. padding?: number;
  31014. /**
  31015. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  31016. * points. If `center` alignment is not possible, it defaults to `right`.
  31017. */
  31018. position?: AlignValue;
  31019. /**
  31020. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  31021. * that due to a more complex structure, backgrounds, borders and padding
  31022. * will be lost on a rotated data label.
  31023. */
  31024. rotation?: number;
  31025. /**
  31026. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  31027. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  31028. * an object configuration containing `color`, `offsetX`, `offsetY`,
  31029. * `opacity` and `width`.
  31030. */
  31031. shadow?: (boolean|ShadowOptionsObject);
  31032. /**
  31033. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  31034. * the border around the label. Symbols are predefined functions on the
  31035. * Renderer object.
  31036. */
  31037. shape?: string;
  31038. /**
  31039. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  31040. * default `color` setting is `"contrast"`, which is a pseudo color that
  31041. * Highcharts picks up and applies the maximum contrast to the underlying
  31042. * point item, for example the bar in a bar chart.
  31043. *
  31044. * The `textOutline` is a pseudo property that applies an outline of the
  31045. * given width with the given color, which by default is the maximum
  31046. * contrast to the text. So a bright text color will result in a black text
  31047. * outline for maximum readability on a mixed background. In some cases,
  31048. * especially with grayscale text, the text outline doesn't work well, in
  31049. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  31050. * is true, the `textOutline` will not be picked up. In this, case, the same
  31051. * effect can be acheived through the `text-shadow` CSS property.
  31052. *
  31053. * For some series types, where each point has an extent, like for example
  31054. * tree maps, the data label may overflow the point. There are two
  31055. * strategies for handling overflow. By default, the text will wrap to
  31056. * multiple lines. The other strategy is to set `style.textOverflow` to
  31057. * `ellipsis`, which will keep the text on one line plus it will break
  31058. * inside long words.
  31059. */
  31060. style?: CSSObject;
  31061. /**
  31062. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  31063. * should follow marker's shape. Border and background are disabled for a
  31064. * label that follows a path.
  31065. *
  31066. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  31067. * to true will disable this option.
  31068. */
  31069. textPath?: DataLabelsTextPathOptionsObject;
  31070. /**
  31071. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  31072. * the labels.
  31073. */
  31074. useHTML?: boolean;
  31075. /**
  31076. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  31077. * label. Can be one of `top`, `middle` or `bottom`. The default value
  31078. * depends on the data, for instance in a column chart, the label is above
  31079. * positive values and below negative values.
  31080. */
  31081. verticalAlign?: string;
  31082. /**
  31083. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  31084. * label relative to the point in pixels.
  31085. */
  31086. x?: number;
  31087. /**
  31088. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  31089. * label relative to the point in pixels.
  31090. */
  31091. y?: number;
  31092. /**
  31093. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  31094. * The default Z index puts it above the series. Use a Z index of 2 to
  31095. * display it behind the series.
  31096. */
  31097. z?: number;
  31098. }
  31099. /**
  31100. * (Highcharts, Highstock) Options for the series data sorting.
  31101. */
  31102. export interface PlotCandlestickDataSortingOptions {
  31103. /**
  31104. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  31105. * Use xAxis.reversed to change the sorting order.
  31106. */
  31107. enabled?: boolean;
  31108. /**
  31109. * (Highcharts, Highstock) Whether to allow matching points by name in an
  31110. * update. If this option is disabled, points will be matched by order.
  31111. */
  31112. matchByName?: boolean;
  31113. /**
  31114. * (Highcharts, Highstock) Determines what data value should be used to sort
  31115. * by.
  31116. */
  31117. sortKey?: string;
  31118. }
  31119. /**
  31120. * (Highstock) Style options for the guide box. The guide box has one state by
  31121. * default, the `default` state.
  31122. */
  31123. export interface PlotCandlestickDragDropGuideBoxOptions {
  31124. /**
  31125. * (Highstock) Style options for the guide box default state.
  31126. */
  31127. default?: DragDropGuideBoxOptionsObject;
  31128. }
  31129. /**
  31130. * (Highstock) A candlestick chart is a style of financial chart used to
  31131. * describe price movements over time.
  31132. *
  31133. * In TypeScript the type option must always be set.
  31134. *
  31135. * Configuration options for the series are given in three levels:
  31136. *
  31137. * 1. Options for all series in a chart are defined in the plotOptions.series
  31138. * object.
  31139. *
  31140. * 2. Options for all `candlestick` series are defined in
  31141. * plotOptions.candlestick.
  31142. *
  31143. * 3. Options for one single series are given in the series instance array. (see
  31144. * online documentation for example)
  31145. */
  31146. export interface PlotCandlestickOptions {
  31147. /**
  31148. * (Highstock) Accessibility options for a series.
  31149. */
  31150. accessibility?: SeriesAccessibilityOptionsObject;
  31151. /**
  31152. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  31153. * rendered. If `true`, areas which don't correspond to a data point, are
  31154. * rendered as `null` points. If `false`, those areas are skipped.
  31155. */
  31156. allAreas?: boolean;
  31157. /**
  31158. * (Highstock) Allow this series' points to be selected by clicking on the
  31159. * graphic (columns, point markers, pie slices, map areas etc).
  31160. *
  31161. * The selected points can be handled by point select and unselect events,
  31162. * or collectively by the getSelectedPoints function.
  31163. *
  31164. * And alternative way of selecting points is through dragging.
  31165. */
  31166. allowPointSelect?: boolean;
  31167. /**
  31168. * (Highstock) Enable or disable the initial animation when a series is
  31169. * displayed. The animation can also be set as a configuration object.
  31170. * Please note that this option only applies to the initial animation of the
  31171. * series itself. For other animations, see chart.animation and the
  31172. * animation parameter under the API methods. The following properties are
  31173. * supported:
  31174. *
  31175. * - `defer`: The animation delay time in milliseconds.
  31176. *
  31177. * - `duration`: The duration of the animation in milliseconds.
  31178. *
  31179. * - `easing`: Can be a string reference to an easing function set on the
  31180. * `Math` object or a function. See the _Custom easing function_ demo below.
  31181. *
  31182. * Due to poor performance, animation is disabled in old IE browsers for
  31183. * several chart types.
  31184. */
  31185. animation?: (boolean|PlotCandlestickAnimationOptions|Partial<AnimationOptionsObject>);
  31186. /**
  31187. * (Highstock) For some series, there is a limit that shuts down initial
  31188. * animation by default when the total number of points in the chart is too
  31189. * high. For example, for a column chart and its derivatives, animation does
  31190. * not run if there is more than 250 points totally. To disable this cap,
  31191. * set `animationLimit` to `Infinity`.
  31192. */
  31193. animationLimit?: number;
  31194. /**
  31195. * (Highstock) Sets the color blending in the boost module.
  31196. */
  31197. boostBlending?: OptionsBoostBlendingValue;
  31198. /**
  31199. * (Highstock) Set the point threshold for when a series should enter boost
  31200. * mode.
  31201. *
  31202. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  31203. * there are 2000 or more points in the series.
  31204. *
  31205. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  31206. * it to 1 will force boosting.
  31207. *
  31208. * Note that the cropThreshold also affects this setting. When zooming in on
  31209. * a series that has fewer points than the `cropThreshold`, all points are
  31210. * rendered although outside the visible plot area, and the `boostThreshold`
  31211. * won't take effect.
  31212. */
  31213. boostThreshold?: number;
  31214. /**
  31215. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  31216. * the category, ignoring null or missing points. When `false`, space will
  31217. * be reserved for null or missing points.
  31218. */
  31219. centerInCategory?: boolean;
  31220. /**
  31221. * (Highstock) An additional class name to apply to the series' graphical
  31222. * elements. This option does not replace default class names of the
  31223. * graphical element.
  31224. */
  31225. className?: string;
  31226. /**
  31227. * (Highstock) Disable this option to allow series rendering in the whole
  31228. * plotting area.
  31229. *
  31230. * **Note:** Clipping should be always enabled when chart.zoomType is set
  31231. */
  31232. clip?: boolean;
  31233. /**
  31234. * (Highstock) The main color of the series. In line type series it applies
  31235. * to the line and the point markers unless otherwise specified. In bar type
  31236. * series it applies to the bars unless a color is specified per point. The
  31237. * default value is pulled from the `options.colors` array.
  31238. *
  31239. * In styled mode, the color can be defined by the colorIndex option. Also,
  31240. * the series color can be set with the `.highcharts-series`,
  31241. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  31242. * `.highcharts-series-{n}` class, or individual classes given by the
  31243. * `className` option.
  31244. */
  31245. color?: (ColorString|GradientColorObject|PatternObject);
  31246. /**
  31247. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  31248. * this number defines which colorAxis the particular series is connected
  31249. * to. It refers to either the axis id or the index of the axis in the
  31250. * colorAxis array, with 0 being the first. Set this option to false to
  31251. * prevent a series from connecting to the default color axis.
  31252. *
  31253. * Since v7.2.0 the option can also be an axis id or an axis index instead
  31254. * of a boolean flag.
  31255. */
  31256. colorAxis?: (boolean|number|string);
  31257. /**
  31258. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  31259. * from the global colors or series-specific plotOptions.column.colors
  31260. * collections, this option determines whether the chart should receive one
  31261. * color per series or one color per point.
  31262. *
  31263. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  31264. * and instead this option gives the points individual color class names on
  31265. * the form `highcharts-color-{n}`.
  31266. */
  31267. colorByPoint?: boolean;
  31268. /**
  31269. * (Highstock) Styled mode only. A specific color index to use for the
  31270. * series, so its graphic representations are given the class name
  31271. * `highcharts-color-{n}`.
  31272. */
  31273. colorIndex?: number;
  31274. /**
  31275. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  31276. * used to calculate point color if `colorAxis` is used. Requires to set
  31277. * `min` and `max` if some custom point property is used or if approximation
  31278. * for data grouping is set to `'sum'`.
  31279. */
  31280. colorKey?: string;
  31281. /**
  31282. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  31283. * color set to apply instead of the global colors when colorByPoint is
  31284. * true.
  31285. */
  31286. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  31287. /**
  31288. * (Highstock) Compare the values of the series against the first non-null,
  31289. * non- zero value in the visible range. The y axis will show percentage or
  31290. * absolute change depending on whether `compare` is set to `"percent"` or
  31291. * `"value"`. When this is applied to multiple series, it allows comparing
  31292. * the development of the series against each other. Adds a `change` field
  31293. * to every point object.
  31294. */
  31295. compare?: string;
  31296. /**
  31297. * (Highstock) When compare is `percent`, this option dictates whether to
  31298. * use 0 or 100 as the base of comparison.
  31299. */
  31300. compareBase?: (0|100);
  31301. /**
  31302. * (Highstock) Defines if comparison should start from the first point
  31303. * within the visible range or should start from the first point **before**
  31304. * the range.
  31305. *
  31306. * In other words, this flag determines if first point within the visible
  31307. * range will have 0% (`compareStart=true`) or should have been already
  31308. * calculated according to the previous point (`compareStart=false`).
  31309. */
  31310. compareStart?: boolean;
  31311. /**
  31312. * (Gantt) Override Pathfinder connector options for a series. Requires
  31313. * Highcharts Gantt to be loaded.
  31314. */
  31315. connectors?: SeriesConnectorsOptionsObject;
  31316. /**
  31317. * (Highcharts, Highstock, Gantt) When the series contains less points than
  31318. * the crop threshold, all points are drawn, event if the points fall
  31319. * outside the visible plot area at the current zoom. The advantage of
  31320. * drawing all points (including markers and columns), is that animation is
  31321. * performed on updates. On the other hand, when the series contains more
  31322. * points than the crop threshold, the series data is cropped to only
  31323. * contain points that fall within the plot area. The advantage of cropping
  31324. * away invisible points is to increase performance on large series.
  31325. */
  31326. cropThreshold?: number;
  31327. /**
  31328. * (Highstock) You can set the cursor to "pointer" if you have click events
  31329. * attached to the series, to signal to the user that the points and lines
  31330. * can be clicked.
  31331. *
  31332. * In styled mode, the series cursor can be set with the same classes as
  31333. * listed under series.color.
  31334. */
  31335. cursor?: (string|CursorValue);
  31336. /**
  31337. * (Highstock) A reserved subspace to store options and values for
  31338. * customized functionality. Here you can add additional data for your own
  31339. * event callbacks and formatter callbacks.
  31340. */
  31341. custom?: Dictionary<any>;
  31342. /**
  31343. * (Highstock) Name of the dash style to use for the graph, or for some
  31344. * series types the outline of each shape.
  31345. *
  31346. * In styled mode, the stroke dash-array can be set with the same classes as
  31347. * listed under series.color.
  31348. */
  31349. dashStyle?: DashStyleValue;
  31350. /**
  31351. * (Highstock) Data grouping is the concept of sampling the data values into
  31352. * larger blocks in order to ease readability and increase performance of
  31353. * the JavaScript charts. Highcharts Stock by default applies data grouping
  31354. * when the points become closer than a certain pixel value, determined by
  31355. * the `groupPixelWidth` option.
  31356. *
  31357. * If data grouping is applied, the grouping information of grouped points
  31358. * can be read from the Point.dataGroup. If point options other than the
  31359. * data itself are set, for example `name` or `color` or custom properties,
  31360. * the grouping logic doesn't know how to group it. In this case the options
  31361. * of the first point instance are copied over to the group point. This can
  31362. * be altered through a custom `approximation` callback function.
  31363. */
  31364. dataGrouping?: DataGroupingOptionsObject;
  31365. /**
  31366. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  31367. * labels, appearing next to each data point.
  31368. *
  31369. * Since v6.2.0, multiple data labels can be applied to each single point by
  31370. * defining them as an array of configs.
  31371. *
  31372. * In styled mode, the data labels can be styled with the
  31373. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  31374. * (see example).
  31375. */
  31376. dataLabels?: (PlotCandlestickDataLabelsOptions|Array<PlotCandlestickDataLabelsOptions>);
  31377. /**
  31378. * (Highcharts, Highstock) Options for the series data sorting.
  31379. */
  31380. dataSorting?: (DataSortingOptionsObject|PlotCandlestickDataSortingOptions);
  31381. /**
  31382. * (Highcharts) Depth of the columns in a 3D column chart.
  31383. */
  31384. depth?: number;
  31385. /**
  31386. * (Highstock) A description of the series to add to the screen reader
  31387. * information about the series.
  31388. */
  31389. description?: string;
  31390. /**
  31391. * (Highstock) The draggable-points module allows points to be moved around
  31392. * or modified in the chart. In addition to the options mentioned under the
  31393. * `dragDrop` API structure, the module fires three events, point.dragStart,
  31394. * point.drag and point.drop.
  31395. */
  31396. dragDrop?: SeriesDragDropOptionsObject;
  31397. /**
  31398. * (Highcharts) 3D columns only. The color of the edges. Similar to
  31399. * `borderColor`, except it defaults to the same color as the column.
  31400. */
  31401. edgeColor?: ColorString;
  31402. /**
  31403. * (Highcharts) 3D columns only. The width of the colored edges.
  31404. */
  31405. edgeWidth?: number;
  31406. /**
  31407. * (Highstock) Enable or disable the mouse tracking for a specific series.
  31408. * This includes point tooltips and click events on graphs and points. For
  31409. * large datasets it improves performance.
  31410. */
  31411. enableMouseTracking?: boolean;
  31412. /**
  31413. * (Highstock) General event handlers for the series items. These event
  31414. * hooks can also be attached to the series at run time using the
  31415. * `Highcharts.addEvent` function.
  31416. */
  31417. events?: SeriesEventsOptionsObject;
  31418. /**
  31419. * (Highstock) Determines whether the series should look for the nearest
  31420. * point in both dimensions or just the x-dimension when hovering the
  31421. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  31422. * series. If the data has duplicate x-values, it is recommended to set this
  31423. * to `'xy'` to allow hovering over all points.
  31424. *
  31425. * Applies only to series types using nearest neighbor search (not direct
  31426. * hover) for tooltip.
  31427. */
  31428. findNearestPointBy?: OptionsFindNearestPointByValue;
  31429. /**
  31430. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  31431. * chart width or only the zoomed area when zooming in on parts of the X
  31432. * axis. By default, the Y axis adjusts to the min and max of the visible
  31433. * data. Cartesian series only.
  31434. */
  31435. getExtremesFromAll?: boolean;
  31436. /**
  31437. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  31438. * let them render independent of each other. Non-grouped columns will be
  31439. * laid out individually and overlap each other.
  31440. */
  31441. grouping?: boolean;
  31442. /**
  31443. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  31444. * axis units.
  31445. */
  31446. groupPadding?: number;
  31447. /**
  31448. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  31449. */
  31450. groupZPadding?: number;
  31451. /**
  31452. * (Highstock) When set to `false` will prevent the series data from being
  31453. * included in any form of data export.
  31454. *
  31455. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  31456. * `includeInCSVExport`.
  31457. */
  31458. includeInDataExport?: boolean;
  31459. /**
  31460. * (Highmaps) What property to join the `mapData` to the value data. For
  31461. * example, if joinBy is "code", the mapData items with a specific code is
  31462. * merged into the data with the same code. For maps loaded from GeoJSON,
  31463. * the keys may be held in each point's `properties` object.
  31464. *
  31465. * The joinBy option can also be an array of two values, where the first
  31466. * points to a key in the `mapData`, and the second points to another key in
  31467. * the `data`.
  31468. *
  31469. * When joinBy is `null`, the map items are joined by their position in the
  31470. * array, which performs much better in maps with many data points. This is
  31471. * the recommended option if you are printing more than a thousand data
  31472. * points and have a backend that can preprocess the data into a parallel
  31473. * array of the mapData.
  31474. */
  31475. joinBy?: (string|Array<string>);
  31476. /**
  31477. * (Highstock) An array specifying which option maps to which key in the
  31478. * data point array. This makes it convenient to work with unstructured data
  31479. * arrays from different sources.
  31480. */
  31481. keys?: Array<string>;
  31482. /**
  31483. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  31484. * series as possible in a natural way, seeking to avoid other series. The
  31485. * goal of this feature is to make the chart more easily readable, like if a
  31486. * human designer placed the labels in the optimal position.
  31487. *
  31488. * The series labels currently work with series types having a `graph` or an
  31489. * `area`.
  31490. */
  31491. label?: SeriesLabelOptionsObject;
  31492. /**
  31493. * (Highstock) The line marks the last price from all points.
  31494. */
  31495. lastPrice?: SeriesLastPriceOptionsObject;
  31496. /**
  31497. * (Highstock) The line marks the last price from visible range of points.
  31498. */
  31499. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  31500. /**
  31501. * (Highstock) The color of the line/border of the candlestick.
  31502. *
  31503. * In styled mode, the line stroke can be set with the
  31504. * `.highcharts-candlestick-series .highcahrts-point` rule.
  31505. */
  31506. lineColor?: (ColorString|GradientColorObject|PatternObject);
  31507. /**
  31508. * (Highstock) The pixel width of the candlestick line/border. Defaults to
  31509. * `1`.
  31510. *
  31511. * In styled mode, the line stroke width can be set with the
  31512. * `.highcharts-candlestick-series .highcahrts-point` rule.
  31513. */
  31514. lineWidth?: number;
  31515. /**
  31516. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  31517. * Additionally, the value can be ":previous" to link to the previous
  31518. * series. When two series are linked, only the first one appears in the
  31519. * legend. Toggling the visibility of this also toggles the linked series.
  31520. *
  31521. * If master series uses data sorting and linked series does not have its
  31522. * own sorting definition, the linked series will be sorted in the same
  31523. * order as the master one.
  31524. */
  31525. linkedTo?: string;
  31526. /**
  31527. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  31528. * column, translated to the height of a bar in a bar chart. This prevents
  31529. * the columns from becoming too wide when there is a small number of points
  31530. * in the chart.
  31531. */
  31532. maxPointWidth?: number;
  31533. /**
  31534. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  31535. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  31536. * to zero) point, set the minimal point length to a pixel value like 3\. In
  31537. * stacked column charts, minPointLength might not be respected for tightly
  31538. * packed values.
  31539. */
  31540. minPointLength?: number;
  31541. /**
  31542. * (Highstock) Options for the corresponding navigator series if
  31543. * `showInNavigator` is `true` for this series. Available options are the
  31544. * same as any series, documented at plotOptions and series.
  31545. *
  31546. * These options are merged with options in navigator.series, and will take
  31547. * precedence if the same option is defined both places.
  31548. */
  31549. navigatorOptions?: PlotSeriesOptions;
  31550. /**
  31551. * (Highstock) The color for the parts of the graph or points that are below
  31552. * the threshold. Note that `zones` takes precedence over the negative
  31553. * color. Using `negativeColor` is equivalent to applying a zone with value
  31554. * of 0.
  31555. */
  31556. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  31557. /**
  31558. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  31559. * dataLabels.
  31560. */
  31561. opacity?: number;
  31562. /**
  31563. * (Highstock) Properties for each single point.
  31564. */
  31565. point?: PlotSeriesPointOptions;
  31566. /**
  31567. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  31568. * individual series. Overrides the chart wide configuration.
  31569. */
  31570. pointDescriptionFormatter?: Function;
  31571. /**
  31572. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  31573. * a series, `pointInterval` defines the interval of the x values. For
  31574. * example, if a series contains one value every decade starting from year
  31575. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  31576. * `pointInterval` is set in milliseconds.
  31577. *
  31578. * It can be also be combined with `pointIntervalUnit` to draw irregular
  31579. * time intervals.
  31580. *
  31581. * Please note that this options applies to the _series data_, not the
  31582. * interval of the axis ticks, which is independent.
  31583. */
  31584. pointInterval?: number;
  31585. /**
  31586. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  31587. * setting the pointInterval to irregular time units, `day`, `month` and
  31588. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  31589. * also takes the DST crossover into consideration when dealing with local
  31590. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  31591. * months, 10 years etc.
  31592. *
  31593. * Please note that this options applies to the _series data_, not the
  31594. * interval of the axis ticks, which is independent.
  31595. */
  31596. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  31597. /**
  31598. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  31599. * axis units.
  31600. */
  31601. pointPadding?: number;
  31602. /**
  31603. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  31604. * `number`.
  31605. *
  31606. * In a column chart, when pointPlacement is `"on"`, the point will not
  31607. * create any padding of the X axis. In a polar column chart this means that
  31608. * the first column points directly north. If the pointPlacement is
  31609. * `"between"`, the columns will be laid out between ticks. This is useful
  31610. * for example for visualising an amount between two points in time or in a
  31611. * certain sector of a polar chart.
  31612. *
  31613. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  31614. * is on the axis value, -0.5 is between this value and the previous, and
  31615. * 0.5 is between this value and the next. Unlike the textual options,
  31616. * numeric point placement options won't affect axis padding.
  31617. *
  31618. * Note that pointPlacement needs a pointRange to work. For column series
  31619. * this is computed, but for line-type series it needs to be set.
  31620. *
  31621. * For the `xrange` series type and gantt charts, if the Y axis is a
  31622. * category axis, the `pointPlacement` applies to the Y axis rather than the
  31623. * (typically datetime) X axis.
  31624. *
  31625. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  31626. */
  31627. pointPlacement?: (number|string);
  31628. /**
  31629. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  31630. * for. This determines the width of the column. On a categorized axis, the
  31631. * range will be 1 by default (one category unit). On linear and datetime
  31632. * axes, the range will be computed as the distance between the two closest
  31633. * data points.
  31634. *
  31635. * The default `null` means it is computed automatically, but this option
  31636. * can be used to override the automatic value.
  31637. *
  31638. * This option is set by default to 1 if data sorting is enabled.
  31639. */
  31640. pointRange?: (number|null);
  31641. /**
  31642. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  31643. * a series, pointStart defines on what value to start. For example, if a
  31644. * series contains one yearly value starting from 1945, set pointStart to
  31645. * 1945.
  31646. */
  31647. pointStart?: number;
  31648. /**
  31649. * (Highstock) Determines which one of `open`, `high`, `low`, `close` values
  31650. * should be represented as `point.y`, which is later used to set dataLabel
  31651. * position and compare.
  31652. */
  31653. pointValKey?: OptionsPointValKeyValue;
  31654. /**
  31655. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  31656. * each column or bar point. When set to `undefined`, the width is
  31657. * calculated from the `pointPadding` and `groupPadding`. The width effects
  31658. * the dimension that is not based on the point value. For column series it
  31659. * is the hoizontal length and for bar series it is the vertical length.
  31660. */
  31661. pointWidth?: number;
  31662. /**
  31663. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  31664. * true, the checkbox next to the series name in the legend will be checked
  31665. * for a selected series.
  31666. */
  31667. selected?: boolean;
  31668. /**
  31669. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  31670. * the shadow can be an object configuration containing `color`, `offsetX`,
  31671. * `offsetY`, `opacity` and `width`.
  31672. */
  31673. shadow?: (boolean|ShadowOptionsObject);
  31674. /**
  31675. * (Highstock) If true, a checkbox is displayed next to the legend item to
  31676. * allow selecting the series. The state of the checkbox is determined by
  31677. * the `selected` option.
  31678. */
  31679. showCheckbox?: boolean;
  31680. /**
  31681. * (Highstock) Whether to display this particular series or series type in
  31682. * the legend. Standalone series are shown in legend by default, and linked
  31683. * series are not. Since v7.2.0 it is possible to show series that use
  31684. * colorAxis by setting this option to `true`.
  31685. */
  31686. showInLegend?: boolean;
  31687. /**
  31688. * (Highstock) Whether or not to show the series in the navigator. Takes
  31689. * precedence over navigator.baseSeries if defined.
  31690. */
  31691. showInNavigator?: boolean;
  31692. /**
  31693. * (Highstock) If set to `true`, the accessibility module will skip past the
  31694. * points in this series for keyboard navigation.
  31695. */
  31696. skipKeyboardNavigation?: boolean;
  31697. /**
  31698. * (Highcharts, Highstock) When this is true, the series will not cause the
  31699. * Y axis to cross the zero plane (or threshold option) unless the data
  31700. * actually crosses the plane.
  31701. *
  31702. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  31703. * make the Y axis show negative values according to the `minPadding`
  31704. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  31705. */
  31706. softThreshold?: boolean;
  31707. states?: SeriesStatesOptionsObject;
  31708. /**
  31709. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  31710. * event on a series isn't triggered until the mouse moves over another
  31711. * series, or out of the plot area. When false, the `mouseOut` event on a
  31712. * series is triggered when the mouse leaves the area around the series'
  31713. * graph or markers. This also implies the tooltip when not shared. When
  31714. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  31715. * be hidden when moving the mouse between series. Defaults to true for line
  31716. * and area type series, but to false for columns, pies etc.
  31717. *
  31718. * **Note:** The boost module will force this option because of technical
  31719. * limitations.
  31720. */
  31721. stickyTracking?: boolean;
  31722. /**
  31723. * (Highstock) The Y axis value to serve as the base for the columns, for
  31724. * distinguishing between values above and below a threshold. If `null`, the
  31725. * columns extend from the padding Y axis minimum.
  31726. */
  31727. threshold?: (number|null);
  31728. /**
  31729. * (Highstock) A configuration object for the tooltip rendering of each
  31730. * single series. Properties are inherited from tooltip, but only the
  31731. * following properties can be defined on a series level.
  31732. */
  31733. tooltip?: SeriesTooltipOptionsObject;
  31734. /**
  31735. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  31736. * is longer than this, only one dimensional arrays of numbers, or two
  31737. * dimensional arrays with x and y values are allowed. Also, only the first
  31738. * point is tested, and the rest are assumed to be the same format. This
  31739. * saves expensive data checking and indexing in long series. Set it to `0`
  31740. * disable.
  31741. *
  31742. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  31743. * two dimensional arrays are allowed.
  31744. */
  31745. turboThreshold?: number;
  31746. /**
  31747. * (Highstock) The fill color of the candlestick when values are rising.
  31748. *
  31749. * In styled mode, the up color can be set with the
  31750. * `.highcharts-candlestick-series .highcharts-point-up` rule.
  31751. */
  31752. upColor?: (ColorString|GradientColorObject|PatternObject);
  31753. /**
  31754. * (Highstock) The specific line color for up candle sticks. The default is
  31755. * to inherit the general `lineColor` setting.
  31756. */
  31757. upLineColor?: (ColorString|GradientColorObject|PatternObject);
  31758. /**
  31759. * (Highstock) Set the initial visibility of the series.
  31760. */
  31761. visible?: boolean;
  31762. /**
  31763. * (Highmaps) Define the z index of the series.
  31764. */
  31765. zIndex?: number;
  31766. /**
  31767. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  31768. */
  31769. zoneAxis?: string;
  31770. /**
  31771. * (Highcharts, Highstock) An array defining zones within a series. Zones
  31772. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  31773. * the `zoneAxis` option. The zone definitions have to be in ascending order
  31774. * regarding to the value.
  31775. *
  31776. * In styled mode, the color zones are styled with the
  31777. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  31778. * option (view live demo).
  31779. */
  31780. zones?: Array<SeriesZonesOptionsObject>;
  31781. }
  31782. /**
  31783. * (Highstock) Enable or disable the initial animation when a series is
  31784. * displayed. The animation can also be set as a configuration object. Please
  31785. * note that this option only applies to the initial animation of the series
  31786. * itself. For other animations, see chart.animation and the animation parameter
  31787. * under the API methods. The following properties are supported:
  31788. *
  31789. * - `defer`: The animation delay time in milliseconds.
  31790. *
  31791. * - `duration`: The duration of the animation in milliseconds.
  31792. *
  31793. * - `easing`: Can be a string reference to an easing function set on the `Math`
  31794. * object or a function. See the _Custom easing function_ demo below.
  31795. *
  31796. * Due to poor performance, animation is disabled in old IE browsers for several
  31797. * chart types.
  31798. */
  31799. export interface PlotCciAnimationOptions {
  31800. defer?: number;
  31801. }
  31802. /**
  31803. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  31804. * animation when a series is displayed for the `dataLabels`. The animation can
  31805. * also be set as a configuration object. Please note that this option only
  31806. * applies to the initial animation. For other animations, see chart.animation
  31807. * and the animation parameter under the API methods. The following properties
  31808. * are supported:
  31809. *
  31810. * - `defer`: The animation delay time in milliseconds.
  31811. */
  31812. export interface PlotCciDataLabelsAnimationOptions {
  31813. /**
  31814. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  31815. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  31816. * inherits defer time from the series.animation.defer.
  31817. */
  31818. defer?: number;
  31819. }
  31820. /**
  31821. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  31822. * appearing next to each data point.
  31823. *
  31824. * Since v6.2.0, multiple data labels can be applied to each single point by
  31825. * defining them as an array of configs.
  31826. *
  31827. * In styled mode, the data labels can be styled with the
  31828. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  31829. * example).
  31830. */
  31831. export interface PlotCciDataLabelsOptions {
  31832. /**
  31833. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  31834. * compared to the point. If `right`, the right side of the label should be
  31835. * touching the point. For points with an extent, like columns, the
  31836. * alignments also dictates how to align it inside the box, as given with
  31837. * the inside option. Can be one of `left`, `center` or `right`.
  31838. */
  31839. align?: (AlignValue|null);
  31840. /**
  31841. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  31842. * overlap. To make the labels less sensitive for overlapping, the
  31843. * dataLabels.padding can be set to 0.
  31844. */
  31845. allowOverlap?: boolean;
  31846. /**
  31847. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  31848. * animation when a series is displayed for the `dataLabels`. The animation
  31849. * can also be set as a configuration object. Please note that this option
  31850. * only applies to the initial animation. For other animations, see
  31851. * chart.animation and the animation parameter under the API methods. The
  31852. * following properties are supported:
  31853. *
  31854. * - `defer`: The animation delay time in milliseconds.
  31855. */
  31856. animation?: (boolean|PlotCciDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  31857. /**
  31858. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  31859. * for the data label.
  31860. */
  31861. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  31862. /**
  31863. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  31864. * label. Defaults to `undefined`.
  31865. */
  31866. borderColor?: (ColorString|GradientColorObject|PatternObject);
  31867. /**
  31868. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  31869. * the data label.
  31870. */
  31871. borderRadius?: number;
  31872. /**
  31873. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  31874. * the data label.
  31875. */
  31876. borderWidth?: number;
  31877. /**
  31878. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  31879. * Particularly in styled mode, this can be used to give each series' or
  31880. * point's data label unique styling. In addition to this option, a default
  31881. * color class name is added so that we can give the labels a contrast text
  31882. * shadow.
  31883. */
  31884. className?: string;
  31885. /**
  31886. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  31887. * labels. Defaults to `undefined`. For certain series types, like column or
  31888. * map, the data labels can be drawn inside the points. In this case the
  31889. * data label will be drawn with maximum contrast by default. Additionally,
  31890. * it will be given a `text-outline` style with the opposite color, to
  31891. * further increase the contrast. This can be overridden by setting the
  31892. * `text-outline` style to `none` in the `dataLabels.style` option.
  31893. */
  31894. color?: (ColorString|GradientColorObject|PatternObject);
  31895. /**
  31896. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  31897. * are outside the plot area. By default, the data label is moved inside the
  31898. * plot area according to the overflow option.
  31899. */
  31900. crop?: boolean;
  31901. /**
  31902. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  31903. * labels until the initial series animation has finished. Setting to
  31904. * `false` renders the data label immediately. If set to `true` inherits the
  31905. * defer time set in plotOptions.series.animation. If set to a number, a
  31906. * defer time is specified in milliseconds.
  31907. */
  31908. defer?: (boolean|number);
  31909. /**
  31910. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  31911. * labels.
  31912. */
  31913. enabled?: boolean;
  31914. /**
  31915. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  31916. * of which data labels to display. The declarative filter is designed for
  31917. * use when callback functions are not available, like when the chart
  31918. * options require a pure JSON structure or for use with graphical editors.
  31919. * For programmatic control, use the `formatter` instead, and return
  31920. * `undefined` to disable a single data label.
  31921. */
  31922. filter?: DataLabelsFilterOptionsObject;
  31923. /**
  31924. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  31925. * label. Available variables are the same as for `formatter`.
  31926. */
  31927. format?: string;
  31928. /**
  31929. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  31930. * format the data label. Note that if a `format` is defined, the format
  31931. * takes precedence and the formatter is ignored.
  31932. */
  31933. formatter?: DataLabelsFormatterCallbackFunction;
  31934. /**
  31935. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  31936. * columns or map areas, whether to align the data label inside the box or
  31937. * to the actual value point. Defaults to `false` in most cases, `true` in
  31938. * stacked columns.
  31939. */
  31940. inside?: boolean;
  31941. /**
  31942. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  31943. * of null. Works analogously to format. `nullFormat` can be applied only to
  31944. * series which support displaying null points.
  31945. */
  31946. nullFormat?: (boolean|string);
  31947. /**
  31948. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  31949. * that defines formatting for points with the value of null. Works
  31950. * analogously to formatter. `nullPointFormatter` can be applied only to
  31951. * series which support displaying null points.
  31952. */
  31953. nullFormatter?: DataLabelsFormatterCallbackFunction;
  31954. /**
  31955. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  31956. * flow outside the plot area. The default is `"justify"`, which aligns them
  31957. * inside the plot area. For columns and bars, this means it will be moved
  31958. * inside the bar. To display data labels outside the plot area, set `crop`
  31959. * to `false` and `overflow` to `"allow"`.
  31960. */
  31961. overflow?: DataLabelsOverflowValue;
  31962. /**
  31963. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  31964. * the `backgroundColor` is set, this is the padding within the box.
  31965. */
  31966. padding?: number;
  31967. /**
  31968. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  31969. * points. If `center` alignment is not possible, it defaults to `right`.
  31970. */
  31971. position?: AlignValue;
  31972. /**
  31973. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  31974. * that due to a more complex structure, backgrounds, borders and padding
  31975. * will be lost on a rotated data label.
  31976. */
  31977. rotation?: number;
  31978. /**
  31979. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  31980. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  31981. * an object configuration containing `color`, `offsetX`, `offsetY`,
  31982. * `opacity` and `width`.
  31983. */
  31984. shadow?: (boolean|ShadowOptionsObject);
  31985. /**
  31986. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  31987. * the border around the label. Symbols are predefined functions on the
  31988. * Renderer object.
  31989. */
  31990. shape?: string;
  31991. /**
  31992. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  31993. * default `color` setting is `"contrast"`, which is a pseudo color that
  31994. * Highcharts picks up and applies the maximum contrast to the underlying
  31995. * point item, for example the bar in a bar chart.
  31996. *
  31997. * The `textOutline` is a pseudo property that applies an outline of the
  31998. * given width with the given color, which by default is the maximum
  31999. * contrast to the text. So a bright text color will result in a black text
  32000. * outline for maximum readability on a mixed background. In some cases,
  32001. * especially with grayscale text, the text outline doesn't work well, in
  32002. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  32003. * is true, the `textOutline` will not be picked up. In this, case, the same
  32004. * effect can be acheived through the `text-shadow` CSS property.
  32005. *
  32006. * For some series types, where each point has an extent, like for example
  32007. * tree maps, the data label may overflow the point. There are two
  32008. * strategies for handling overflow. By default, the text will wrap to
  32009. * multiple lines. The other strategy is to set `style.textOverflow` to
  32010. * `ellipsis`, which will keep the text on one line plus it will break
  32011. * inside long words.
  32012. */
  32013. style?: CSSObject;
  32014. /**
  32015. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  32016. * should follow marker's shape. Border and background are disabled for a
  32017. * label that follows a path.
  32018. *
  32019. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  32020. * to true will disable this option.
  32021. */
  32022. textPath?: DataLabelsTextPathOptionsObject;
  32023. /**
  32024. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  32025. * the labels.
  32026. */
  32027. useHTML?: boolean;
  32028. /**
  32029. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  32030. * label. Can be one of `top`, `middle` or `bottom`. The default value
  32031. * depends on the data, for instance in a column chart, the label is above
  32032. * positive values and below negative values.
  32033. */
  32034. verticalAlign?: (VerticalAlignValue|null);
  32035. /**
  32036. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  32037. * label relative to the point in pixels.
  32038. */
  32039. x?: number;
  32040. /**
  32041. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  32042. * label relative to the point in pixels.
  32043. */
  32044. y?: number;
  32045. /**
  32046. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  32047. * The default Z index puts it above the series. Use a Z index of 2 to
  32048. * display it behind the series.
  32049. */
  32050. z?: number;
  32051. }
  32052. /**
  32053. * (Highcharts, Highstock) Options for the series data sorting.
  32054. */
  32055. export interface PlotCciDataSortingOptions {
  32056. /**
  32057. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  32058. * Use xAxis.reversed to change the sorting order.
  32059. */
  32060. enabled?: boolean;
  32061. /**
  32062. * (Highcharts, Highstock) Whether to allow matching points by name in an
  32063. * update. If this option is disabled, points will be matched by order.
  32064. */
  32065. matchByName?: boolean;
  32066. /**
  32067. * (Highcharts, Highstock) Determines what data value should be used to sort
  32068. * by.
  32069. */
  32070. sortKey?: string;
  32071. }
  32072. /**
  32073. * (Highstock) Commodity Channel Index (CCI). This series requires `linkedTo`
  32074. * option to be set.
  32075. *
  32076. * In TypeScript the type option must always be set.
  32077. *
  32078. * Configuration options for the series are given in three levels:
  32079. *
  32080. * 1. Options for all series in a chart are defined in the plotOptions.series
  32081. * object.
  32082. *
  32083. * 2. Options for all `cci` series are defined in plotOptions.cci.
  32084. *
  32085. * 3. Options for one single series are given in the series instance array. (see
  32086. * online documentation for example)
  32087. */
  32088. export interface PlotCciOptions {
  32089. /**
  32090. * (Highstock) Accessibility options for a series.
  32091. */
  32092. accessibility?: SeriesAccessibilityOptionsObject;
  32093. /**
  32094. * (Highstock) Allow this series' points to be selected by clicking on the
  32095. * graphic (columns, point markers, pie slices, map areas etc).
  32096. *
  32097. * The selected points can be handled by point select and unselect events,
  32098. * or collectively by the getSelectedPoints function.
  32099. *
  32100. * And alternative way of selecting points is through dragging.
  32101. */
  32102. allowPointSelect?: boolean;
  32103. /**
  32104. * (Highstock) Enable or disable the initial animation when a series is
  32105. * displayed. The animation can also be set as a configuration object.
  32106. * Please note that this option only applies to the initial animation of the
  32107. * series itself. For other animations, see chart.animation and the
  32108. * animation parameter under the API methods. The following properties are
  32109. * supported:
  32110. *
  32111. * - `defer`: The animation delay time in milliseconds.
  32112. *
  32113. * - `duration`: The duration of the animation in milliseconds.
  32114. *
  32115. * - `easing`: Can be a string reference to an easing function set on the
  32116. * `Math` object or a function. See the _Custom easing function_ demo below.
  32117. *
  32118. * Due to poor performance, animation is disabled in old IE browsers for
  32119. * several chart types.
  32120. */
  32121. animation?: (boolean|PlotCciAnimationOptions|Partial<AnimationOptionsObject>);
  32122. /**
  32123. * (Highstock) For some series, there is a limit that shuts down initial
  32124. * animation by default when the total number of points in the chart is too
  32125. * high. For example, for a column chart and its derivatives, animation does
  32126. * not run if there is more than 250 points totally. To disable this cap,
  32127. * set `animationLimit` to `Infinity`.
  32128. */
  32129. animationLimit?: number;
  32130. /**
  32131. * (Highstock) Sets the color blending in the boost module.
  32132. */
  32133. boostBlending?: OptionsBoostBlendingValue;
  32134. /**
  32135. * (Highstock) Set the point threshold for when a series should enter boost
  32136. * mode.
  32137. *
  32138. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  32139. * there are 2000 or more points in the series.
  32140. *
  32141. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  32142. * it to 1 will force boosting.
  32143. *
  32144. * Note that the cropThreshold also affects this setting. When zooming in on
  32145. * a series that has fewer points than the `cropThreshold`, all points are
  32146. * rendered although outside the visible plot area, and the `boostThreshold`
  32147. * won't take effect.
  32148. */
  32149. boostThreshold?: number;
  32150. /**
  32151. * (Highmaps) The border color of the map areas.
  32152. *
  32153. * In styled mode, the border stroke is given in the `.highcharts-point`
  32154. * class.
  32155. */
  32156. borderColor?: (ColorString|GradientColorObject|PatternObject);
  32157. /**
  32158. * (Highmaps) The border width of each map area.
  32159. *
  32160. * In styled mode, the border stroke width is given in the
  32161. * `.highcharts-point` class.
  32162. */
  32163. borderWidth?: number;
  32164. /**
  32165. * (Highstock) An additional class name to apply to the series' graphical
  32166. * elements. This option does not replace default class names of the
  32167. * graphical element.
  32168. */
  32169. className?: string;
  32170. /**
  32171. * (Highstock) Disable this option to allow series rendering in the whole
  32172. * plotting area.
  32173. *
  32174. * **Note:** Clipping should be always enabled when chart.zoomType is set
  32175. */
  32176. clip?: boolean;
  32177. /**
  32178. * (Highstock) The main color of the series. In line type series it applies
  32179. * to the line and the point markers unless otherwise specified. In bar type
  32180. * series it applies to the bars unless a color is specified per point. The
  32181. * default value is pulled from the `options.colors` array.
  32182. *
  32183. * In styled mode, the color can be defined by the colorIndex option. Also,
  32184. * the series color can be set with the `.highcharts-series`,
  32185. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  32186. * `.highcharts-series-{n}` class, or individual classes given by the
  32187. * `className` option.
  32188. */
  32189. color?: (ColorString|GradientColorObject|PatternObject);
  32190. /**
  32191. * (Highstock) Styled mode only. A specific color index to use for the
  32192. * series, so its graphic representations are given the class name
  32193. * `highcharts-color-{n}`.
  32194. */
  32195. colorIndex?: number;
  32196. /**
  32197. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  32198. * used to calculate point color if `colorAxis` is used. Requires to set
  32199. * `min` and `max` if some custom point property is used or if approximation
  32200. * for data grouping is set to `'sum'`.
  32201. */
  32202. colorKey?: string;
  32203. /**
  32204. * (Highstock) Compare the values of the series against the first non-null,
  32205. * non- zero value in the visible range. The y axis will show percentage or
  32206. * absolute change depending on whether `compare` is set to `"percent"` or
  32207. * `"value"`. When this is applied to multiple series, it allows comparing
  32208. * the development of the series against each other. Adds a `change` field
  32209. * to every point object.
  32210. */
  32211. compare?: string;
  32212. /**
  32213. * (Highstock) When compare is `percent`, this option dictates whether to
  32214. * use 0 or 100 as the base of comparison.
  32215. */
  32216. compareBase?: (0|100);
  32217. /**
  32218. * (Highstock) Defines if comparison should start from the first point
  32219. * within the visible range or should start from the first point **before**
  32220. * the range.
  32221. *
  32222. * In other words, this flag determines if first point within the visible
  32223. * range will have 0% (`compareStart=true`) or should have been already
  32224. * calculated according to the previous point (`compareStart=false`).
  32225. */
  32226. compareStart?: boolean;
  32227. /**
  32228. * (Highstock) Whether to compare indicator to the main series values or
  32229. * indicator values.
  32230. */
  32231. compareToMain?: boolean;
  32232. /**
  32233. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  32234. * series plot across the extremes.
  32235. */
  32236. connectEnds?: boolean;
  32237. /**
  32238. * (Highcharts, Highstock) Whether to connect a graph line across null
  32239. * points, or render a gap between the two points on either side of the
  32240. * null.
  32241. */
  32242. connectNulls?: boolean;
  32243. /**
  32244. * (Gantt) Override Pathfinder connector options for a series. Requires
  32245. * Highcharts Gantt to be loaded.
  32246. */
  32247. connectors?: SeriesConnectorsOptionsObject;
  32248. /**
  32249. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  32250. * rounded to its nearest pixel in order to render sharp on screen. In some
  32251. * cases, when there are a lot of densely packed columns, this leads to
  32252. * visible difference in column widths or distance between columns. In these
  32253. * cases, setting `crisp` to `false` may look better, even though each
  32254. * column is rendered blurry.
  32255. */
  32256. crisp?: boolean;
  32257. /**
  32258. * (Highcharts, Highstock) When the series contains less points than the
  32259. * crop threshold, all points are drawn, even if the points fall outside the
  32260. * visible plot area at the current zoom. The advantage of drawing all
  32261. * points (including markers and columns), is that animation is performed on
  32262. * updates. On the other hand, when the series contains more points than the
  32263. * crop threshold, the series data is cropped to only contain points that
  32264. * fall within the plot area. The advantage of cropping away invisible
  32265. * points is to increase performance on large series.
  32266. */
  32267. cropThreshold?: number;
  32268. /**
  32269. * (Highstock) You can set the cursor to "pointer" if you have click events
  32270. * attached to the series, to signal to the user that the points and lines
  32271. * can be clicked.
  32272. *
  32273. * In styled mode, the series cursor can be set with the same classes as
  32274. * listed under series.color.
  32275. */
  32276. cursor?: (string|CursorValue);
  32277. /**
  32278. * (Highstock) A reserved subspace to store options and values for
  32279. * customized functionality. Here you can add additional data for your own
  32280. * event callbacks and formatter callbacks.
  32281. */
  32282. custom?: Dictionary<any>;
  32283. /**
  32284. * (Highstock) Name of the dash style to use for the graph, or for some
  32285. * series types the outline of each shape.
  32286. *
  32287. * In styled mode, the stroke dash-array can be set with the same classes as
  32288. * listed under series.color.
  32289. */
  32290. dashStyle?: DashStyleValue;
  32291. /**
  32292. * (Highstock) Data grouping is the concept of sampling the data values into
  32293. * larger blocks in order to ease readability and increase performance of
  32294. * the JavaScript charts. Highcharts Stock by default applies data grouping
  32295. * when the points become closer than a certain pixel value, determined by
  32296. * the `groupPixelWidth` option.
  32297. *
  32298. * If data grouping is applied, the grouping information of grouped points
  32299. * can be read from the Point.dataGroup. If point options other than the
  32300. * data itself are set, for example `name` or `color` or custom properties,
  32301. * the grouping logic doesn't know how to group it. In this case the options
  32302. * of the first point instance are copied over to the group point. This can
  32303. * be altered through a custom `approximation` callback function.
  32304. */
  32305. dataGrouping?: DataGroupingOptionsObject;
  32306. /**
  32307. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  32308. * labels, appearing next to each data point.
  32309. *
  32310. * Since v6.2.0, multiple data labels can be applied to each single point by
  32311. * defining them as an array of configs.
  32312. *
  32313. * In styled mode, the data labels can be styled with the
  32314. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  32315. * (see example).
  32316. */
  32317. dataLabels?: (PlotCciDataLabelsOptions|Array<PlotCciDataLabelsOptions>);
  32318. /**
  32319. * (Highcharts, Highstock) Options for the series data sorting.
  32320. */
  32321. dataSorting?: (DataSortingOptionsObject|PlotCciDataSortingOptions);
  32322. /**
  32323. * (Highstock) A description of the series to add to the screen reader
  32324. * information about the series.
  32325. */
  32326. description?: string;
  32327. /**
  32328. * (Highstock) Enable or disable the mouse tracking for a specific series.
  32329. * This includes point tooltips and click events on graphs and points. For
  32330. * large datasets it improves performance.
  32331. */
  32332. enableMouseTracking?: boolean;
  32333. /**
  32334. * (Highstock) General event handlers for the series items. These event
  32335. * hooks can also be attached to the series at run time using the
  32336. * `Highcharts.addEvent` function.
  32337. */
  32338. events?: SeriesEventsOptionsObject;
  32339. /**
  32340. * (Highstock) Determines whether the series should look for the nearest
  32341. * point in both dimensions or just the x-dimension when hovering the
  32342. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  32343. * series. If the data has duplicate x-values, it is recommended to set this
  32344. * to `'xy'` to allow hovering over all points.
  32345. *
  32346. * Applies only to series types using nearest neighbor search (not direct
  32347. * hover) for tooltip.
  32348. */
  32349. findNearestPointBy?: OptionsFindNearestPointByValue;
  32350. /**
  32351. * (Highstock) Defines when to display a gap in the graph, together with the
  32352. * gapUnit option.
  32353. *
  32354. * In case when `dataGrouping` is enabled, points can be grouped into a
  32355. * larger time span. This can make the grouped points to have a greater
  32356. * distance than the absolute value of `gapSize` property, which will result
  32357. * in disappearing graph completely. To prevent this situation the mentioned
  32358. * distance between grouped points is used instead of previously defined
  32359. * `gapSize`.
  32360. *
  32361. * In practice, this option is most often used to visualize gaps in time
  32362. * series. In a stock chart, intraday data is available for daytime hours,
  32363. * while gaps will appear in nights and weekends.
  32364. */
  32365. gapSize?: number;
  32366. /**
  32367. * (Highstock) Together with gapSize, this option defines where to draw gaps
  32368. * in the graph.
  32369. *
  32370. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  32371. * if the distance between two points is greater than 5 times that of the
  32372. * two closest points, the graph will be broken.
  32373. *
  32374. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  32375. * values, which on a datetime axis is milliseconds. This also applies to
  32376. * the navigator series that inherits gap options from the base series.
  32377. */
  32378. gapUnit?: OptionsGapUnitValue;
  32379. /**
  32380. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  32381. * chart width or only the zoomed area when zooming in on parts of the X
  32382. * axis. By default, the Y axis adjusts to the min and max of the visible
  32383. * data. Cartesian series only.
  32384. */
  32385. getExtremesFromAll?: boolean;
  32386. /**
  32387. * (Highstock) When set to `false` will prevent the series data from being
  32388. * included in any form of data export.
  32389. *
  32390. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  32391. * `includeInCSVExport`.
  32392. */
  32393. includeInDataExport?: boolean;
  32394. /**
  32395. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  32396. * series as possible in a natural way, seeking to avoid other series. The
  32397. * goal of this feature is to make the chart more easily readable, like if a
  32398. * human designer placed the labels in the optimal position.
  32399. *
  32400. * The series labels currently work with series types having a `graph` or an
  32401. * `area`.
  32402. */
  32403. label?: SeriesLabelOptionsObject;
  32404. /**
  32405. * (Highstock) The line marks the last price from all points.
  32406. */
  32407. lastPrice?: SeriesLastPriceOptionsObject;
  32408. /**
  32409. * (Highstock) The line marks the last price from visible range of points.
  32410. */
  32411. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  32412. /**
  32413. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  32414. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  32415. * the ends and bends.
  32416. */
  32417. linecap?: SeriesLinecapValue;
  32418. /**
  32419. * (Highcharts, Highstock) Pixel width of the graph line.
  32420. */
  32421. lineWidth?: number;
  32422. /**
  32423. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  32424. * based on. Required for this indicator.
  32425. */
  32426. linkedTo?: string;
  32427. /**
  32428. * (Highstock) Options for the point markers of line-like series. Properties
  32429. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  32430. * appearance of the markers. Other series types, like column series, don't
  32431. * have markers, but have visual options on the series level instead.
  32432. *
  32433. * In styled mode, the markers can be styled with the `.highcharts-point`,
  32434. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  32435. */
  32436. marker?: PointMarkerOptionsObject;
  32437. /**
  32438. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  32439. * If not set, it will be based on a technical indicator type and default
  32440. * params.
  32441. */
  32442. name?: string;
  32443. /**
  32444. * (Highstock) The color for the parts of the graph or points that are below
  32445. * the threshold. Note that `zones` takes precedence over the negative
  32446. * color. Using `negativeColor` is equivalent to applying a zone with value
  32447. * of 0.
  32448. */
  32449. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  32450. /**
  32451. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  32452. * dataLabels.
  32453. */
  32454. opacity?: number;
  32455. /**
  32456. * (Highstock) Paramters used in calculation of regression series' points.
  32457. */
  32458. params?: PlotCciParamsOptions;
  32459. /**
  32460. * (Highstock) Properties for each single point.
  32461. */
  32462. point?: PlotSeriesPointOptions;
  32463. /**
  32464. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  32465. * individual series. Overrides the chart wide configuration.
  32466. */
  32467. pointDescriptionFormatter?: Function;
  32468. /**
  32469. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  32470. * true, the checkbox next to the series name in the legend will be checked
  32471. * for a selected series.
  32472. */
  32473. selected?: boolean;
  32474. /**
  32475. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  32476. * the shadow can be an object configuration containing `color`, `offsetX`,
  32477. * `offsetY`, `opacity` and `width`.
  32478. */
  32479. shadow?: (boolean|ShadowOptionsObject);
  32480. /**
  32481. * (Highstock) If true, a checkbox is displayed next to the legend item to
  32482. * allow selecting the series. The state of the checkbox is determined by
  32483. * the `selected` option.
  32484. */
  32485. showCheckbox?: boolean;
  32486. /**
  32487. * (Highstock) Whether to display this particular series or series type in
  32488. * the legend. Standalone series are shown in legend by default, and linked
  32489. * series are not. Since v7.2.0 it is possible to show series that use
  32490. * colorAxis by setting this option to `true`.
  32491. */
  32492. showInLegend?: boolean;
  32493. /**
  32494. * (Highstock) If set to `true`, the accessibility module will skip past the
  32495. * points in this series for keyboard navigation.
  32496. */
  32497. skipKeyboardNavigation?: boolean;
  32498. /**
  32499. * (Highcharts, Highstock) When this is true, the series will not cause the
  32500. * Y axis to cross the zero plane (or threshold option) unless the data
  32501. * actually crosses the plane.
  32502. *
  32503. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  32504. * make the Y axis show negative values according to the `minPadding`
  32505. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  32506. */
  32507. softThreshold?: boolean;
  32508. states?: SeriesStatesOptionsObject;
  32509. /**
  32510. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  32511. * values are `left`, `center` and `right`.
  32512. */
  32513. step?: OptionsStepValue;
  32514. /**
  32515. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  32516. * event on a series isn't triggered until the mouse moves over another
  32517. * series, or out of the plot area. When false, the `mouseOut` event on a
  32518. * series is triggered when the mouse leaves the area around the series'
  32519. * graph or markers. This also implies the tooltip when not shared. When
  32520. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  32521. * be hidden when moving the mouse between series. Defaults to true for line
  32522. * and area type series, but to false for columns, pies etc.
  32523. *
  32524. * **Note:** The boost module will force this option because of technical
  32525. * limitations.
  32526. */
  32527. stickyTracking?: boolean;
  32528. /**
  32529. * (Highcharts, Highstock) The threshold, also called zero level or base
  32530. * level. For line type series this is only used in conjunction with
  32531. * negativeColor.
  32532. */
  32533. threshold?: (number|null);
  32534. /**
  32535. * (Highstock) A configuration object for the tooltip rendering of each
  32536. * single series. Properties are inherited from tooltip, but only the
  32537. * following properties can be defined on a series level.
  32538. */
  32539. tooltip?: SeriesTooltipOptionsObject;
  32540. /**
  32541. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  32542. * is longer than this, only one dimensional arrays of numbers, or two
  32543. * dimensional arrays with x and y values are allowed. Also, only the first
  32544. * point is tested, and the rest are assumed to be the same format. This
  32545. * saves expensive data checking and indexing in long series. Set it to `0`
  32546. * disable.
  32547. *
  32548. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  32549. * two dimensional arrays are allowed.
  32550. */
  32551. turboThreshold?: number;
  32552. /**
  32553. * (Highstock) Set the initial visibility of the series.
  32554. */
  32555. visible?: boolean;
  32556. /**
  32557. * (Highmaps) Define the z index of the series.
  32558. */
  32559. zIndex?: number;
  32560. /**
  32561. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  32562. */
  32563. zoneAxis?: string;
  32564. /**
  32565. * (Highcharts, Highstock) An array defining zones within a series. Zones
  32566. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  32567. * the `zoneAxis` option. The zone definitions have to be in ascending order
  32568. * regarding to the value.
  32569. *
  32570. * In styled mode, the color zones are styled with the
  32571. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  32572. * option (view live demo).
  32573. */
  32574. zones?: Array<SeriesZonesOptionsObject>;
  32575. }
  32576. /**
  32577. * (Highstock) Paramters used in calculation of regression series' points.
  32578. */
  32579. export interface PlotCciParamsOptions {
  32580. index?: string;
  32581. /**
  32582. * (Highstock) The base period for indicator calculations. This is the
  32583. * number of data points which are taken into account for the indicator
  32584. * calculations.
  32585. */
  32586. period?: number;
  32587. }
  32588. /**
  32589. * (Highstock) Enable or disable the initial animation when a series is
  32590. * displayed. The animation can also be set as a configuration object. Please
  32591. * note that this option only applies to the initial animation of the series
  32592. * itself. For other animations, see chart.animation and the animation parameter
  32593. * under the API methods. The following properties are supported:
  32594. *
  32595. * - `defer`: The animation delay time in milliseconds.
  32596. *
  32597. * - `duration`: The duration of the animation in milliseconds.
  32598. *
  32599. * - `easing`: Can be a string reference to an easing function set on the `Math`
  32600. * object or a function. See the _Custom easing function_ demo below.
  32601. *
  32602. * Due to poor performance, animation is disabled in old IE browsers for several
  32603. * chart types.
  32604. */
  32605. export interface PlotChaikinAnimationOptions {
  32606. defer?: number;
  32607. }
  32608. /**
  32609. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  32610. * animation when a series is displayed for the `dataLabels`. The animation can
  32611. * also be set as a configuration object. Please note that this option only
  32612. * applies to the initial animation. For other animations, see chart.animation
  32613. * and the animation parameter under the API methods. The following properties
  32614. * are supported:
  32615. *
  32616. * - `defer`: The animation delay time in milliseconds.
  32617. */
  32618. export interface PlotChaikinDataLabelsAnimationOptions {
  32619. /**
  32620. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  32621. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  32622. * inherits defer time from the series.animation.defer.
  32623. */
  32624. defer?: number;
  32625. }
  32626. /**
  32627. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  32628. * appearing next to each data point.
  32629. *
  32630. * Since v6.2.0, multiple data labels can be applied to each single point by
  32631. * defining them as an array of configs.
  32632. *
  32633. * In styled mode, the data labels can be styled with the
  32634. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  32635. * example).
  32636. */
  32637. export interface PlotChaikinDataLabelsOptions {
  32638. /**
  32639. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  32640. * compared to the point. If `right`, the right side of the label should be
  32641. * touching the point. For points with an extent, like columns, the
  32642. * alignments also dictates how to align it inside the box, as given with
  32643. * the inside option. Can be one of `left`, `center` or `right`.
  32644. */
  32645. align?: (AlignValue|null);
  32646. /**
  32647. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  32648. * overlap. To make the labels less sensitive for overlapping, the
  32649. * dataLabels.padding can be set to 0.
  32650. */
  32651. allowOverlap?: boolean;
  32652. /**
  32653. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  32654. * animation when a series is displayed for the `dataLabels`. The animation
  32655. * can also be set as a configuration object. Please note that this option
  32656. * only applies to the initial animation. For other animations, see
  32657. * chart.animation and the animation parameter under the API methods. The
  32658. * following properties are supported:
  32659. *
  32660. * - `defer`: The animation delay time in milliseconds.
  32661. */
  32662. animation?: (boolean|PlotChaikinDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  32663. /**
  32664. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  32665. * for the data label.
  32666. */
  32667. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  32668. /**
  32669. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  32670. * label. Defaults to `undefined`.
  32671. */
  32672. borderColor?: (ColorString|GradientColorObject|PatternObject);
  32673. /**
  32674. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  32675. * the data label.
  32676. */
  32677. borderRadius?: number;
  32678. /**
  32679. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  32680. * the data label.
  32681. */
  32682. borderWidth?: number;
  32683. /**
  32684. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  32685. * Particularly in styled mode, this can be used to give each series' or
  32686. * point's data label unique styling. In addition to this option, a default
  32687. * color class name is added so that we can give the labels a contrast text
  32688. * shadow.
  32689. */
  32690. className?: string;
  32691. /**
  32692. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  32693. * labels. Defaults to `undefined`. For certain series types, like column or
  32694. * map, the data labels can be drawn inside the points. In this case the
  32695. * data label will be drawn with maximum contrast by default. Additionally,
  32696. * it will be given a `text-outline` style with the opposite color, to
  32697. * further increase the contrast. This can be overridden by setting the
  32698. * `text-outline` style to `none` in the `dataLabels.style` option.
  32699. */
  32700. color?: (ColorString|GradientColorObject|PatternObject);
  32701. /**
  32702. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  32703. * are outside the plot area. By default, the data label is moved inside the
  32704. * plot area according to the overflow option.
  32705. */
  32706. crop?: boolean;
  32707. /**
  32708. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  32709. * labels until the initial series animation has finished. Setting to
  32710. * `false` renders the data label immediately. If set to `true` inherits the
  32711. * defer time set in plotOptions.series.animation. If set to a number, a
  32712. * defer time is specified in milliseconds.
  32713. */
  32714. defer?: (boolean|number);
  32715. /**
  32716. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  32717. * labels.
  32718. */
  32719. enabled?: boolean;
  32720. /**
  32721. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  32722. * of which data labels to display. The declarative filter is designed for
  32723. * use when callback functions are not available, like when the chart
  32724. * options require a pure JSON structure or for use with graphical editors.
  32725. * For programmatic control, use the `formatter` instead, and return
  32726. * `undefined` to disable a single data label.
  32727. */
  32728. filter?: DataLabelsFilterOptionsObject;
  32729. /**
  32730. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  32731. * label. Available variables are the same as for `formatter`.
  32732. */
  32733. format?: string;
  32734. /**
  32735. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  32736. * format the data label. Note that if a `format` is defined, the format
  32737. * takes precedence and the formatter is ignored.
  32738. */
  32739. formatter?: DataLabelsFormatterCallbackFunction;
  32740. /**
  32741. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  32742. * columns or map areas, whether to align the data label inside the box or
  32743. * to the actual value point. Defaults to `false` in most cases, `true` in
  32744. * stacked columns.
  32745. */
  32746. inside?: boolean;
  32747. /**
  32748. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  32749. * of null. Works analogously to format. `nullFormat` can be applied only to
  32750. * series which support displaying null points.
  32751. */
  32752. nullFormat?: (boolean|string);
  32753. /**
  32754. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  32755. * that defines formatting for points with the value of null. Works
  32756. * analogously to formatter. `nullPointFormatter` can be applied only to
  32757. * series which support displaying null points.
  32758. */
  32759. nullFormatter?: DataLabelsFormatterCallbackFunction;
  32760. /**
  32761. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  32762. * flow outside the plot area. The default is `"justify"`, which aligns them
  32763. * inside the plot area. For columns and bars, this means it will be moved
  32764. * inside the bar. To display data labels outside the plot area, set `crop`
  32765. * to `false` and `overflow` to `"allow"`.
  32766. */
  32767. overflow?: DataLabelsOverflowValue;
  32768. /**
  32769. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  32770. * the `backgroundColor` is set, this is the padding within the box.
  32771. */
  32772. padding?: number;
  32773. /**
  32774. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  32775. * points. If `center` alignment is not possible, it defaults to `right`.
  32776. */
  32777. position?: AlignValue;
  32778. /**
  32779. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  32780. * that due to a more complex structure, backgrounds, borders and padding
  32781. * will be lost on a rotated data label.
  32782. */
  32783. rotation?: number;
  32784. /**
  32785. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  32786. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  32787. * an object configuration containing `color`, `offsetX`, `offsetY`,
  32788. * `opacity` and `width`.
  32789. */
  32790. shadow?: (boolean|ShadowOptionsObject);
  32791. /**
  32792. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  32793. * the border around the label. Symbols are predefined functions on the
  32794. * Renderer object.
  32795. */
  32796. shape?: string;
  32797. /**
  32798. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  32799. * default `color` setting is `"contrast"`, which is a pseudo color that
  32800. * Highcharts picks up and applies the maximum contrast to the underlying
  32801. * point item, for example the bar in a bar chart.
  32802. *
  32803. * The `textOutline` is a pseudo property that applies an outline of the
  32804. * given width with the given color, which by default is the maximum
  32805. * contrast to the text. So a bright text color will result in a black text
  32806. * outline for maximum readability on a mixed background. In some cases,
  32807. * especially with grayscale text, the text outline doesn't work well, in
  32808. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  32809. * is true, the `textOutline` will not be picked up. In this, case, the same
  32810. * effect can be acheived through the `text-shadow` CSS property.
  32811. *
  32812. * For some series types, where each point has an extent, like for example
  32813. * tree maps, the data label may overflow the point. There are two
  32814. * strategies for handling overflow. By default, the text will wrap to
  32815. * multiple lines. The other strategy is to set `style.textOverflow` to
  32816. * `ellipsis`, which will keep the text on one line plus it will break
  32817. * inside long words.
  32818. */
  32819. style?: CSSObject;
  32820. /**
  32821. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  32822. * should follow marker's shape. Border and background are disabled for a
  32823. * label that follows a path.
  32824. *
  32825. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  32826. * to true will disable this option.
  32827. */
  32828. textPath?: DataLabelsTextPathOptionsObject;
  32829. /**
  32830. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  32831. * the labels.
  32832. */
  32833. useHTML?: boolean;
  32834. /**
  32835. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  32836. * label. Can be one of `top`, `middle` or `bottom`. The default value
  32837. * depends on the data, for instance in a column chart, the label is above
  32838. * positive values and below negative values.
  32839. */
  32840. verticalAlign?: (VerticalAlignValue|null);
  32841. /**
  32842. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  32843. * label relative to the point in pixels.
  32844. */
  32845. x?: number;
  32846. /**
  32847. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  32848. * label relative to the point in pixels.
  32849. */
  32850. y?: number;
  32851. /**
  32852. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  32853. * The default Z index puts it above the series. Use a Z index of 2 to
  32854. * display it behind the series.
  32855. */
  32856. z?: number;
  32857. }
  32858. /**
  32859. * (Highcharts, Highstock) Options for the series data sorting.
  32860. */
  32861. export interface PlotChaikinDataSortingOptions {
  32862. /**
  32863. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  32864. * Use xAxis.reversed to change the sorting order.
  32865. */
  32866. enabled?: boolean;
  32867. /**
  32868. * (Highcharts, Highstock) Whether to allow matching points by name in an
  32869. * update. If this option is disabled, points will be matched by order.
  32870. */
  32871. matchByName?: boolean;
  32872. /**
  32873. * (Highcharts, Highstock) Determines what data value should be used to sort
  32874. * by.
  32875. */
  32876. sortKey?: string;
  32877. }
  32878. /**
  32879. * (Highstock) Chaikin Oscillator. This series requires the `linkedTo` option to
  32880. * be set and should be loaded after the `stock/indicators/indicators.js` and
  32881. * `stock/indicators/ema.js`.
  32882. *
  32883. * In TypeScript the type option must always be set.
  32884. *
  32885. * Configuration options for the series are given in three levels:
  32886. *
  32887. * 1. Options for all series in a chart are defined in the plotOptions.series
  32888. * object.
  32889. *
  32890. * 2. Options for all `chaikin` series are defined in plotOptions.chaikin.
  32891. *
  32892. * 3. Options for one single series are given in the series instance array. (see
  32893. * online documentation for example)
  32894. */
  32895. export interface PlotChaikinOptions {
  32896. /**
  32897. * (Highstock) Accessibility options for a series.
  32898. */
  32899. accessibility?: SeriesAccessibilityOptionsObject;
  32900. /**
  32901. * (Highstock) Allow this series' points to be selected by clicking on the
  32902. * graphic (columns, point markers, pie slices, map areas etc).
  32903. *
  32904. * The selected points can be handled by point select and unselect events,
  32905. * or collectively by the getSelectedPoints function.
  32906. *
  32907. * And alternative way of selecting points is through dragging.
  32908. */
  32909. allowPointSelect?: boolean;
  32910. /**
  32911. * (Highstock) Enable or disable the initial animation when a series is
  32912. * displayed. The animation can also be set as a configuration object.
  32913. * Please note that this option only applies to the initial animation of the
  32914. * series itself. For other animations, see chart.animation and the
  32915. * animation parameter under the API methods. The following properties are
  32916. * supported:
  32917. *
  32918. * - `defer`: The animation delay time in milliseconds.
  32919. *
  32920. * - `duration`: The duration of the animation in milliseconds.
  32921. *
  32922. * - `easing`: Can be a string reference to an easing function set on the
  32923. * `Math` object or a function. See the _Custom easing function_ demo below.
  32924. *
  32925. * Due to poor performance, animation is disabled in old IE browsers for
  32926. * several chart types.
  32927. */
  32928. animation?: (boolean|PlotChaikinAnimationOptions|Partial<AnimationOptionsObject>);
  32929. /**
  32930. * (Highstock) For some series, there is a limit that shuts down initial
  32931. * animation by default when the total number of points in the chart is too
  32932. * high. For example, for a column chart and its derivatives, animation does
  32933. * not run if there is more than 250 points totally. To disable this cap,
  32934. * set `animationLimit` to `Infinity`.
  32935. */
  32936. animationLimit?: number;
  32937. /**
  32938. * (Highstock) Sets the color blending in the boost module.
  32939. */
  32940. boostBlending?: OptionsBoostBlendingValue;
  32941. /**
  32942. * (Highstock) Set the point threshold for when a series should enter boost
  32943. * mode.
  32944. *
  32945. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  32946. * there are 2000 or more points in the series.
  32947. *
  32948. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  32949. * it to 1 will force boosting.
  32950. *
  32951. * Note that the cropThreshold also affects this setting. When zooming in on
  32952. * a series that has fewer points than the `cropThreshold`, all points are
  32953. * rendered although outside the visible plot area, and the `boostThreshold`
  32954. * won't take effect.
  32955. */
  32956. boostThreshold?: number;
  32957. /**
  32958. * (Highmaps) The border color of the map areas.
  32959. *
  32960. * In styled mode, the border stroke is given in the `.highcharts-point`
  32961. * class.
  32962. */
  32963. borderColor?: (ColorString|GradientColorObject|PatternObject);
  32964. /**
  32965. * (Highmaps) The border width of each map area.
  32966. *
  32967. * In styled mode, the border stroke width is given in the
  32968. * `.highcharts-point` class.
  32969. */
  32970. borderWidth?: number;
  32971. /**
  32972. * (Highstock) An additional class name to apply to the series' graphical
  32973. * elements. This option does not replace default class names of the
  32974. * graphical element.
  32975. */
  32976. className?: string;
  32977. /**
  32978. * (Highstock) Disable this option to allow series rendering in the whole
  32979. * plotting area.
  32980. *
  32981. * **Note:** Clipping should be always enabled when chart.zoomType is set
  32982. */
  32983. clip?: boolean;
  32984. /**
  32985. * (Highstock) The main color of the series. In line type series it applies
  32986. * to the line and the point markers unless otherwise specified. In bar type
  32987. * series it applies to the bars unless a color is specified per point. The
  32988. * default value is pulled from the `options.colors` array.
  32989. *
  32990. * In styled mode, the color can be defined by the colorIndex option. Also,
  32991. * the series color can be set with the `.highcharts-series`,
  32992. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  32993. * `.highcharts-series-{n}` class, or individual classes given by the
  32994. * `className` option.
  32995. */
  32996. color?: (ColorString|GradientColorObject|PatternObject);
  32997. /**
  32998. * (Highstock) Styled mode only. A specific color index to use for the
  32999. * series, so its graphic representations are given the class name
  33000. * `highcharts-color-{n}`.
  33001. */
  33002. colorIndex?: number;
  33003. /**
  33004. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  33005. * used to calculate point color if `colorAxis` is used. Requires to set
  33006. * `min` and `max` if some custom point property is used or if approximation
  33007. * for data grouping is set to `'sum'`.
  33008. */
  33009. colorKey?: string;
  33010. /**
  33011. * (Highstock) Compare the values of the series against the first non-null,
  33012. * non- zero value in the visible range. The y axis will show percentage or
  33013. * absolute change depending on whether `compare` is set to `"percent"` or
  33014. * `"value"`. When this is applied to multiple series, it allows comparing
  33015. * the development of the series against each other. Adds a `change` field
  33016. * to every point object.
  33017. */
  33018. compare?: string;
  33019. /**
  33020. * (Highstock) When compare is `percent`, this option dictates whether to
  33021. * use 0 or 100 as the base of comparison.
  33022. */
  33023. compareBase?: (0|100);
  33024. /**
  33025. * (Highstock) Defines if comparison should start from the first point
  33026. * within the visible range or should start from the first point **before**
  33027. * the range.
  33028. *
  33029. * In other words, this flag determines if first point within the visible
  33030. * range will have 0% (`compareStart=true`) or should have been already
  33031. * calculated according to the previous point (`compareStart=false`).
  33032. */
  33033. compareStart?: boolean;
  33034. /**
  33035. * (Highstock) Whether to compare indicator to the main series values or
  33036. * indicator values.
  33037. */
  33038. compareToMain?: boolean;
  33039. /**
  33040. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  33041. * series plot across the extremes.
  33042. */
  33043. connectEnds?: boolean;
  33044. /**
  33045. * (Highcharts, Highstock) Whether to connect a graph line across null
  33046. * points, or render a gap between the two points on either side of the
  33047. * null.
  33048. */
  33049. connectNulls?: boolean;
  33050. /**
  33051. * (Gantt) Override Pathfinder connector options for a series. Requires
  33052. * Highcharts Gantt to be loaded.
  33053. */
  33054. connectors?: SeriesConnectorsOptionsObject;
  33055. /**
  33056. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  33057. * rounded to its nearest pixel in order to render sharp on screen. In some
  33058. * cases, when there are a lot of densely packed columns, this leads to
  33059. * visible difference in column widths or distance between columns. In these
  33060. * cases, setting `crisp` to `false` may look better, even though each
  33061. * column is rendered blurry.
  33062. */
  33063. crisp?: boolean;
  33064. /**
  33065. * (Highcharts, Highstock) When the series contains less points than the
  33066. * crop threshold, all points are drawn, even if the points fall outside the
  33067. * visible plot area at the current zoom. The advantage of drawing all
  33068. * points (including markers and columns), is that animation is performed on
  33069. * updates. On the other hand, when the series contains more points than the
  33070. * crop threshold, the series data is cropped to only contain points that
  33071. * fall within the plot area. The advantage of cropping away invisible
  33072. * points is to increase performance on large series.
  33073. */
  33074. cropThreshold?: number;
  33075. /**
  33076. * (Highstock) You can set the cursor to "pointer" if you have click events
  33077. * attached to the series, to signal to the user that the points and lines
  33078. * can be clicked.
  33079. *
  33080. * In styled mode, the series cursor can be set with the same classes as
  33081. * listed under series.color.
  33082. */
  33083. cursor?: (string|CursorValue);
  33084. /**
  33085. * (Highstock) A reserved subspace to store options and values for
  33086. * customized functionality. Here you can add additional data for your own
  33087. * event callbacks and formatter callbacks.
  33088. */
  33089. custom?: Dictionary<any>;
  33090. /**
  33091. * (Highstock) Name of the dash style to use for the graph, or for some
  33092. * series types the outline of each shape.
  33093. *
  33094. * In styled mode, the stroke dash-array can be set with the same classes as
  33095. * listed under series.color.
  33096. */
  33097. dashStyle?: DashStyleValue;
  33098. /**
  33099. * (Highstock) Data grouping is the concept of sampling the data values into
  33100. * larger blocks in order to ease readability and increase performance of
  33101. * the JavaScript charts. Highcharts Stock by default applies data grouping
  33102. * when the points become closer than a certain pixel value, determined by
  33103. * the `groupPixelWidth` option.
  33104. *
  33105. * If data grouping is applied, the grouping information of grouped points
  33106. * can be read from the Point.dataGroup. If point options other than the
  33107. * data itself are set, for example `name` or `color` or custom properties,
  33108. * the grouping logic doesn't know how to group it. In this case the options
  33109. * of the first point instance are copied over to the group point. This can
  33110. * be altered through a custom `approximation` callback function.
  33111. */
  33112. dataGrouping?: DataGroupingOptionsObject;
  33113. /**
  33114. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  33115. * labels, appearing next to each data point.
  33116. *
  33117. * Since v6.2.0, multiple data labels can be applied to each single point by
  33118. * defining them as an array of configs.
  33119. *
  33120. * In styled mode, the data labels can be styled with the
  33121. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  33122. * (see example).
  33123. */
  33124. dataLabels?: (PlotChaikinDataLabelsOptions|Array<PlotChaikinDataLabelsOptions>);
  33125. /**
  33126. * (Highcharts, Highstock) Options for the series data sorting.
  33127. */
  33128. dataSorting?: (DataSortingOptionsObject|PlotChaikinDataSortingOptions);
  33129. /**
  33130. * (Highstock) A description of the series to add to the screen reader
  33131. * information about the series.
  33132. */
  33133. description?: string;
  33134. /**
  33135. * (Highstock) Enable or disable the mouse tracking for a specific series.
  33136. * This includes point tooltips and click events on graphs and points. For
  33137. * large datasets it improves performance.
  33138. */
  33139. enableMouseTracking?: boolean;
  33140. /**
  33141. * (Highstock) General event handlers for the series items. These event
  33142. * hooks can also be attached to the series at run time using the
  33143. * `Highcharts.addEvent` function.
  33144. */
  33145. events?: SeriesEventsOptionsObject;
  33146. /**
  33147. * (Highstock) Determines whether the series should look for the nearest
  33148. * point in both dimensions or just the x-dimension when hovering the
  33149. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  33150. * series. If the data has duplicate x-values, it is recommended to set this
  33151. * to `'xy'` to allow hovering over all points.
  33152. *
  33153. * Applies only to series types using nearest neighbor search (not direct
  33154. * hover) for tooltip.
  33155. */
  33156. findNearestPointBy?: OptionsFindNearestPointByValue;
  33157. /**
  33158. * (Highstock) Defines when to display a gap in the graph, together with the
  33159. * gapUnit option.
  33160. *
  33161. * In case when `dataGrouping` is enabled, points can be grouped into a
  33162. * larger time span. This can make the grouped points to have a greater
  33163. * distance than the absolute value of `gapSize` property, which will result
  33164. * in disappearing graph completely. To prevent this situation the mentioned
  33165. * distance between grouped points is used instead of previously defined
  33166. * `gapSize`.
  33167. *
  33168. * In practice, this option is most often used to visualize gaps in time
  33169. * series. In a stock chart, intraday data is available for daytime hours,
  33170. * while gaps will appear in nights and weekends.
  33171. */
  33172. gapSize?: number;
  33173. /**
  33174. * (Highstock) Together with gapSize, this option defines where to draw gaps
  33175. * in the graph.
  33176. *
  33177. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  33178. * if the distance between two points is greater than 5 times that of the
  33179. * two closest points, the graph will be broken.
  33180. *
  33181. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  33182. * values, which on a datetime axis is milliseconds. This also applies to
  33183. * the navigator series that inherits gap options from the base series.
  33184. */
  33185. gapUnit?: OptionsGapUnitValue;
  33186. /**
  33187. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  33188. * chart width or only the zoomed area when zooming in on parts of the X
  33189. * axis. By default, the Y axis adjusts to the min and max of the visible
  33190. * data. Cartesian series only.
  33191. */
  33192. getExtremesFromAll?: boolean;
  33193. /**
  33194. * (Highstock) When set to `false` will prevent the series data from being
  33195. * included in any form of data export.
  33196. *
  33197. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  33198. * `includeInCSVExport`.
  33199. */
  33200. includeInDataExport?: boolean;
  33201. /**
  33202. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  33203. * series as possible in a natural way, seeking to avoid other series. The
  33204. * goal of this feature is to make the chart more easily readable, like if a
  33205. * human designer placed the labels in the optimal position.
  33206. *
  33207. * The series labels currently work with series types having a `graph` or an
  33208. * `area`.
  33209. */
  33210. label?: SeriesLabelOptionsObject;
  33211. /**
  33212. * (Highstock) The line marks the last price from all points.
  33213. */
  33214. lastPrice?: SeriesLastPriceOptionsObject;
  33215. /**
  33216. * (Highstock) The line marks the last price from visible range of points.
  33217. */
  33218. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  33219. /**
  33220. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  33221. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  33222. * the ends and bends.
  33223. */
  33224. linecap?: SeriesLinecapValue;
  33225. /**
  33226. * (Highcharts, Highstock) Pixel width of the graph line.
  33227. */
  33228. lineWidth?: number;
  33229. /**
  33230. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  33231. * based on. Required for this indicator.
  33232. */
  33233. linkedTo?: string;
  33234. /**
  33235. * (Highstock) Options for the point markers of line-like series. Properties
  33236. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  33237. * appearance of the markers. Other series types, like column series, don't
  33238. * have markers, but have visual options on the series level instead.
  33239. *
  33240. * In styled mode, the markers can be styled with the `.highcharts-point`,
  33241. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  33242. */
  33243. marker?: PointMarkerOptionsObject;
  33244. /**
  33245. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  33246. * If not set, it will be based on a technical indicator type and default
  33247. * params.
  33248. */
  33249. name?: string;
  33250. /**
  33251. * (Highstock) The color for the parts of the graph or points that are below
  33252. * the threshold. Note that `zones` takes precedence over the negative
  33253. * color. Using `negativeColor` is equivalent to applying a zone with value
  33254. * of 0.
  33255. */
  33256. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  33257. /**
  33258. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  33259. * dataLabels.
  33260. */
  33261. opacity?: number;
  33262. /**
  33263. * (Highstock) Paramters used in calculation of Chaikin Oscillator series
  33264. * points.
  33265. */
  33266. params?: PlotChaikinParamsOptions;
  33267. /**
  33268. * (Highstock) Properties for each single point.
  33269. */
  33270. point?: PlotSeriesPointOptions;
  33271. /**
  33272. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  33273. * individual series. Overrides the chart wide configuration.
  33274. */
  33275. pointDescriptionFormatter?: Function;
  33276. /**
  33277. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  33278. * true, the checkbox next to the series name in the legend will be checked
  33279. * for a selected series.
  33280. */
  33281. selected?: boolean;
  33282. /**
  33283. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  33284. * the shadow can be an object configuration containing `color`, `offsetX`,
  33285. * `offsetY`, `opacity` and `width`.
  33286. */
  33287. shadow?: (boolean|ShadowOptionsObject);
  33288. /**
  33289. * (Highstock) If true, a checkbox is displayed next to the legend item to
  33290. * allow selecting the series. The state of the checkbox is determined by
  33291. * the `selected` option.
  33292. */
  33293. showCheckbox?: boolean;
  33294. /**
  33295. * (Highstock) Whether to display this particular series or series type in
  33296. * the legend. Standalone series are shown in legend by default, and linked
  33297. * series are not. Since v7.2.0 it is possible to show series that use
  33298. * colorAxis by setting this option to `true`.
  33299. */
  33300. showInLegend?: boolean;
  33301. /**
  33302. * (Highstock) If set to `true`, the accessibility module will skip past the
  33303. * points in this series for keyboard navigation.
  33304. */
  33305. skipKeyboardNavigation?: boolean;
  33306. /**
  33307. * (Highcharts, Highstock) When this is true, the series will not cause the
  33308. * Y axis to cross the zero plane (or threshold option) unless the data
  33309. * actually crosses the plane.
  33310. *
  33311. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  33312. * make the Y axis show negative values according to the `minPadding`
  33313. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  33314. */
  33315. softThreshold?: boolean;
  33316. states?: SeriesStatesOptionsObject;
  33317. /**
  33318. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  33319. * values are `left`, `center` and `right`.
  33320. */
  33321. step?: OptionsStepValue;
  33322. /**
  33323. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  33324. * event on a series isn't triggered until the mouse moves over another
  33325. * series, or out of the plot area. When false, the `mouseOut` event on a
  33326. * series is triggered when the mouse leaves the area around the series'
  33327. * graph or markers. This also implies the tooltip when not shared. When
  33328. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  33329. * be hidden when moving the mouse between series. Defaults to true for line
  33330. * and area type series, but to false for columns, pies etc.
  33331. *
  33332. * **Note:** The boost module will force this option because of technical
  33333. * limitations.
  33334. */
  33335. stickyTracking?: boolean;
  33336. /**
  33337. * (Highcharts, Highstock) The threshold, also called zero level or base
  33338. * level. For line type series this is only used in conjunction with
  33339. * negativeColor.
  33340. */
  33341. threshold?: (number|null);
  33342. /**
  33343. * (Highstock) A configuration object for the tooltip rendering of each
  33344. * single series. Properties are inherited from tooltip, but only the
  33345. * following properties can be defined on a series level.
  33346. */
  33347. tooltip?: SeriesTooltipOptionsObject;
  33348. /**
  33349. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  33350. * is longer than this, only one dimensional arrays of numbers, or two
  33351. * dimensional arrays with x and y values are allowed. Also, only the first
  33352. * point is tested, and the rest are assumed to be the same format. This
  33353. * saves expensive data checking and indexing in long series. Set it to `0`
  33354. * disable.
  33355. *
  33356. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  33357. * two dimensional arrays are allowed.
  33358. */
  33359. turboThreshold?: number;
  33360. /**
  33361. * (Highstock) Set the initial visibility of the series.
  33362. */
  33363. visible?: boolean;
  33364. /**
  33365. * (Highmaps) Define the z index of the series.
  33366. */
  33367. zIndex?: number;
  33368. /**
  33369. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  33370. */
  33371. zoneAxis?: string;
  33372. /**
  33373. * (Highcharts, Highstock) An array defining zones within a series. Zones
  33374. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  33375. * the `zoneAxis` option. The zone definitions have to be in ascending order
  33376. * regarding to the value.
  33377. *
  33378. * In styled mode, the color zones are styled with the
  33379. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  33380. * option (view live demo).
  33381. */
  33382. zones?: Array<SeriesZonesOptionsObject>;
  33383. }
  33384. /**
  33385. * (Highstock) Paramters used in calculation of Chaikin Oscillator series
  33386. * points.
  33387. */
  33388. export interface PlotChaikinParamsOptions {
  33389. index?: string;
  33390. /**
  33391. * (Highstock) Parameter used indirectly for calculating the `AD` indicator.
  33392. * Decides about the number of data points that are taken into account for
  33393. * the indicator calculations.
  33394. */
  33395. period?: number;
  33396. /**
  33397. * (Highstock) Periods for Chaikin Oscillator calculations.
  33398. */
  33399. periods?: Array<number>;
  33400. /**
  33401. * (Highstock) The id of volume series which is mandatory. For example using
  33402. * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
  33403. * using OHLC and volume values.
  33404. */
  33405. volumeSeriesID?: string;
  33406. }
  33407. /**
  33408. * (Highstock) Enable or disable the initial animation when a series is
  33409. * displayed. The animation can also be set as a configuration object. Please
  33410. * note that this option only applies to the initial animation of the series
  33411. * itself. For other animations, see chart.animation and the animation parameter
  33412. * under the API methods. The following properties are supported:
  33413. *
  33414. * - `defer`: The animation delay time in milliseconds.
  33415. *
  33416. * - `duration`: The duration of the animation in milliseconds.
  33417. *
  33418. * - `easing`: Can be a string reference to an easing function set on the `Math`
  33419. * object or a function. See the _Custom easing function_ demo below.
  33420. *
  33421. * Due to poor performance, animation is disabled in old IE browsers for several
  33422. * chart types.
  33423. */
  33424. export interface PlotCmfAnimationOptions {
  33425. defer?: number;
  33426. }
  33427. /**
  33428. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  33429. * animation when a series is displayed for the `dataLabels`. The animation can
  33430. * also be set as a configuration object. Please note that this option only
  33431. * applies to the initial animation. For other animations, see chart.animation
  33432. * and the animation parameter under the API methods. The following properties
  33433. * are supported:
  33434. *
  33435. * - `defer`: The animation delay time in milliseconds.
  33436. */
  33437. export interface PlotCmfDataLabelsAnimationOptions {
  33438. /**
  33439. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  33440. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  33441. * inherits defer time from the series.animation.defer.
  33442. */
  33443. defer?: number;
  33444. }
  33445. /**
  33446. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  33447. * appearing next to each data point.
  33448. *
  33449. * Since v6.2.0, multiple data labels can be applied to each single point by
  33450. * defining them as an array of configs.
  33451. *
  33452. * In styled mode, the data labels can be styled with the
  33453. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  33454. * example).
  33455. */
  33456. export interface PlotCmfDataLabelsOptions {
  33457. /**
  33458. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  33459. * compared to the point. If `right`, the right side of the label should be
  33460. * touching the point. For points with an extent, like columns, the
  33461. * alignments also dictates how to align it inside the box, as given with
  33462. * the inside option. Can be one of `left`, `center` or `right`.
  33463. */
  33464. align?: (AlignValue|null);
  33465. /**
  33466. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  33467. * overlap. To make the labels less sensitive for overlapping, the
  33468. * dataLabels.padding can be set to 0.
  33469. */
  33470. allowOverlap?: boolean;
  33471. /**
  33472. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  33473. * animation when a series is displayed for the `dataLabels`. The animation
  33474. * can also be set as a configuration object. Please note that this option
  33475. * only applies to the initial animation. For other animations, see
  33476. * chart.animation and the animation parameter under the API methods. The
  33477. * following properties are supported:
  33478. *
  33479. * - `defer`: The animation delay time in milliseconds.
  33480. */
  33481. animation?: (boolean|PlotCmfDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  33482. /**
  33483. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  33484. * for the data label.
  33485. */
  33486. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  33487. /**
  33488. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  33489. * label. Defaults to `undefined`.
  33490. */
  33491. borderColor?: (ColorString|GradientColorObject|PatternObject);
  33492. /**
  33493. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  33494. * the data label.
  33495. */
  33496. borderRadius?: number;
  33497. /**
  33498. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  33499. * the data label.
  33500. */
  33501. borderWidth?: number;
  33502. /**
  33503. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  33504. * Particularly in styled mode, this can be used to give each series' or
  33505. * point's data label unique styling. In addition to this option, a default
  33506. * color class name is added so that we can give the labels a contrast text
  33507. * shadow.
  33508. */
  33509. className?: string;
  33510. /**
  33511. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  33512. * labels. Defaults to `undefined`. For certain series types, like column or
  33513. * map, the data labels can be drawn inside the points. In this case the
  33514. * data label will be drawn with maximum contrast by default. Additionally,
  33515. * it will be given a `text-outline` style with the opposite color, to
  33516. * further increase the contrast. This can be overridden by setting the
  33517. * `text-outline` style to `none` in the `dataLabels.style` option.
  33518. */
  33519. color?: (ColorString|GradientColorObject|PatternObject);
  33520. /**
  33521. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  33522. * are outside the plot area. By default, the data label is moved inside the
  33523. * plot area according to the overflow option.
  33524. */
  33525. crop?: boolean;
  33526. /**
  33527. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  33528. * labels until the initial series animation has finished. Setting to
  33529. * `false` renders the data label immediately. If set to `true` inherits the
  33530. * defer time set in plotOptions.series.animation. If set to a number, a
  33531. * defer time is specified in milliseconds.
  33532. */
  33533. defer?: (boolean|number);
  33534. /**
  33535. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  33536. * labels.
  33537. */
  33538. enabled?: boolean;
  33539. /**
  33540. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  33541. * of which data labels to display. The declarative filter is designed for
  33542. * use when callback functions are not available, like when the chart
  33543. * options require a pure JSON structure or for use with graphical editors.
  33544. * For programmatic control, use the `formatter` instead, and return
  33545. * `undefined` to disable a single data label.
  33546. */
  33547. filter?: DataLabelsFilterOptionsObject;
  33548. /**
  33549. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  33550. * label. Available variables are the same as for `formatter`.
  33551. */
  33552. format?: string;
  33553. /**
  33554. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  33555. * format the data label. Note that if a `format` is defined, the format
  33556. * takes precedence and the formatter is ignored.
  33557. */
  33558. formatter?: DataLabelsFormatterCallbackFunction;
  33559. /**
  33560. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  33561. * columns or map areas, whether to align the data label inside the box or
  33562. * to the actual value point. Defaults to `false` in most cases, `true` in
  33563. * stacked columns.
  33564. */
  33565. inside?: boolean;
  33566. /**
  33567. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  33568. * of null. Works analogously to format. `nullFormat` can be applied only to
  33569. * series which support displaying null points.
  33570. */
  33571. nullFormat?: (boolean|string);
  33572. /**
  33573. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  33574. * that defines formatting for points with the value of null. Works
  33575. * analogously to formatter. `nullPointFormatter` can be applied only to
  33576. * series which support displaying null points.
  33577. */
  33578. nullFormatter?: DataLabelsFormatterCallbackFunction;
  33579. /**
  33580. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  33581. * flow outside the plot area. The default is `"justify"`, which aligns them
  33582. * inside the plot area. For columns and bars, this means it will be moved
  33583. * inside the bar. To display data labels outside the plot area, set `crop`
  33584. * to `false` and `overflow` to `"allow"`.
  33585. */
  33586. overflow?: DataLabelsOverflowValue;
  33587. /**
  33588. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  33589. * the `backgroundColor` is set, this is the padding within the box.
  33590. */
  33591. padding?: number;
  33592. /**
  33593. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  33594. * points. If `center` alignment is not possible, it defaults to `right`.
  33595. */
  33596. position?: AlignValue;
  33597. /**
  33598. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  33599. * that due to a more complex structure, backgrounds, borders and padding
  33600. * will be lost on a rotated data label.
  33601. */
  33602. rotation?: number;
  33603. /**
  33604. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  33605. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  33606. * an object configuration containing `color`, `offsetX`, `offsetY`,
  33607. * `opacity` and `width`.
  33608. */
  33609. shadow?: (boolean|ShadowOptionsObject);
  33610. /**
  33611. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  33612. * the border around the label. Symbols are predefined functions on the
  33613. * Renderer object.
  33614. */
  33615. shape?: string;
  33616. /**
  33617. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  33618. * default `color` setting is `"contrast"`, which is a pseudo color that
  33619. * Highcharts picks up and applies the maximum contrast to the underlying
  33620. * point item, for example the bar in a bar chart.
  33621. *
  33622. * The `textOutline` is a pseudo property that applies an outline of the
  33623. * given width with the given color, which by default is the maximum
  33624. * contrast to the text. So a bright text color will result in a black text
  33625. * outline for maximum readability on a mixed background. In some cases,
  33626. * especially with grayscale text, the text outline doesn't work well, in
  33627. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  33628. * is true, the `textOutline` will not be picked up. In this, case, the same
  33629. * effect can be acheived through the `text-shadow` CSS property.
  33630. *
  33631. * For some series types, where each point has an extent, like for example
  33632. * tree maps, the data label may overflow the point. There are two
  33633. * strategies for handling overflow. By default, the text will wrap to
  33634. * multiple lines. The other strategy is to set `style.textOverflow` to
  33635. * `ellipsis`, which will keep the text on one line plus it will break
  33636. * inside long words.
  33637. */
  33638. style?: CSSObject;
  33639. /**
  33640. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  33641. * should follow marker's shape. Border and background are disabled for a
  33642. * label that follows a path.
  33643. *
  33644. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  33645. * to true will disable this option.
  33646. */
  33647. textPath?: DataLabelsTextPathOptionsObject;
  33648. /**
  33649. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  33650. * the labels.
  33651. */
  33652. useHTML?: boolean;
  33653. /**
  33654. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  33655. * label. Can be one of `top`, `middle` or `bottom`. The default value
  33656. * depends on the data, for instance in a column chart, the label is above
  33657. * positive values and below negative values.
  33658. */
  33659. verticalAlign?: (VerticalAlignValue|null);
  33660. /**
  33661. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  33662. * label relative to the point in pixels.
  33663. */
  33664. x?: number;
  33665. /**
  33666. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  33667. * label relative to the point in pixels.
  33668. */
  33669. y?: number;
  33670. /**
  33671. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  33672. * The default Z index puts it above the series. Use a Z index of 2 to
  33673. * display it behind the series.
  33674. */
  33675. z?: number;
  33676. }
  33677. /**
  33678. * (Highcharts, Highstock) Options for the series data sorting.
  33679. */
  33680. export interface PlotCmfDataSortingOptions {
  33681. /**
  33682. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  33683. * Use xAxis.reversed to change the sorting order.
  33684. */
  33685. enabled?: boolean;
  33686. /**
  33687. * (Highcharts, Highstock) Whether to allow matching points by name in an
  33688. * update. If this option is disabled, points will be matched by order.
  33689. */
  33690. matchByName?: boolean;
  33691. /**
  33692. * (Highcharts, Highstock) Determines what data value should be used to sort
  33693. * by.
  33694. */
  33695. sortKey?: string;
  33696. }
  33697. /**
  33698. * (Highstock) Chaikin Money Flow indicator (cmf).
  33699. *
  33700. * In TypeScript the type option must always be set.
  33701. *
  33702. * Configuration options for the series are given in three levels:
  33703. *
  33704. * 1. Options for all series in a chart are defined in the plotOptions.series
  33705. * object.
  33706. *
  33707. * 2. Options for all `cmf` series are defined in plotOptions.cmf.
  33708. *
  33709. * 3. Options for one single series are given in the series instance array. (see
  33710. * online documentation for example)
  33711. */
  33712. export interface PlotCmfOptions {
  33713. /**
  33714. * (Highstock) Accessibility options for a series.
  33715. */
  33716. accessibility?: SeriesAccessibilityOptionsObject;
  33717. /**
  33718. * (Highstock) Allow this series' points to be selected by clicking on the
  33719. * graphic (columns, point markers, pie slices, map areas etc).
  33720. *
  33721. * The selected points can be handled by point select and unselect events,
  33722. * or collectively by the getSelectedPoints function.
  33723. *
  33724. * And alternative way of selecting points is through dragging.
  33725. */
  33726. allowPointSelect?: boolean;
  33727. /**
  33728. * (Highstock) Enable or disable the initial animation when a series is
  33729. * displayed. The animation can also be set as a configuration object.
  33730. * Please note that this option only applies to the initial animation of the
  33731. * series itself. For other animations, see chart.animation and the
  33732. * animation parameter under the API methods. The following properties are
  33733. * supported:
  33734. *
  33735. * - `defer`: The animation delay time in milliseconds.
  33736. *
  33737. * - `duration`: The duration of the animation in milliseconds.
  33738. *
  33739. * - `easing`: Can be a string reference to an easing function set on the
  33740. * `Math` object or a function. See the _Custom easing function_ demo below.
  33741. *
  33742. * Due to poor performance, animation is disabled in old IE browsers for
  33743. * several chart types.
  33744. */
  33745. animation?: (boolean|PlotCmfAnimationOptions|Partial<AnimationOptionsObject>);
  33746. /**
  33747. * (Highstock) Sets the color blending in the boost module.
  33748. */
  33749. boostBlending?: OptionsBoostBlendingValue;
  33750. /**
  33751. * (Highstock) Set the point threshold for when a series should enter boost
  33752. * mode.
  33753. *
  33754. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  33755. * there are 2000 or more points in the series.
  33756. *
  33757. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  33758. * it to 1 will force boosting.
  33759. *
  33760. * Note that the cropThreshold also affects this setting. When zooming in on
  33761. * a series that has fewer points than the `cropThreshold`, all points are
  33762. * rendered although outside the visible plot area, and the `boostThreshold`
  33763. * won't take effect.
  33764. */
  33765. boostThreshold?: number;
  33766. /**
  33767. * (Highmaps) The border color of the map areas.
  33768. *
  33769. * In styled mode, the border stroke is given in the `.highcharts-point`
  33770. * class.
  33771. */
  33772. borderColor?: (ColorString|GradientColorObject|PatternObject);
  33773. /**
  33774. * (Highmaps) The border width of each map area.
  33775. *
  33776. * In styled mode, the border stroke width is given in the
  33777. * `.highcharts-point` class.
  33778. */
  33779. borderWidth?: number;
  33780. /**
  33781. * (Highstock) An additional class name to apply to the series' graphical
  33782. * elements. This option does not replace default class names of the
  33783. * graphical element.
  33784. */
  33785. className?: string;
  33786. /**
  33787. * (Highstock) Disable this option to allow series rendering in the whole
  33788. * plotting area.
  33789. *
  33790. * **Note:** Clipping should be always enabled when chart.zoomType is set
  33791. */
  33792. clip?: boolean;
  33793. /**
  33794. * (Highstock) The main color of the series. In line type series it applies
  33795. * to the line and the point markers unless otherwise specified. In bar type
  33796. * series it applies to the bars unless a color is specified per point. The
  33797. * default value is pulled from the `options.colors` array.
  33798. *
  33799. * In styled mode, the color can be defined by the colorIndex option. Also,
  33800. * the series color can be set with the `.highcharts-series`,
  33801. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  33802. * `.highcharts-series-{n}` class, or individual classes given by the
  33803. * `className` option.
  33804. */
  33805. color?: (ColorString|GradientColorObject|PatternObject);
  33806. /**
  33807. * (Highstock) Styled mode only. A specific color index to use for the
  33808. * series, so its graphic representations are given the class name
  33809. * `highcharts-color-{n}`.
  33810. */
  33811. colorIndex?: number;
  33812. /**
  33813. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  33814. * used to calculate point color if `colorAxis` is used. Requires to set
  33815. * `min` and `max` if some custom point property is used or if approximation
  33816. * for data grouping is set to `'sum'`.
  33817. */
  33818. colorKey?: string;
  33819. /**
  33820. * (Highstock) Compare the values of the series against the first non-null,
  33821. * non- zero value in the visible range. The y axis will show percentage or
  33822. * absolute change depending on whether `compare` is set to `"percent"` or
  33823. * `"value"`. When this is applied to multiple series, it allows comparing
  33824. * the development of the series against each other. Adds a `change` field
  33825. * to every point object.
  33826. */
  33827. compare?: string;
  33828. /**
  33829. * (Highstock) When compare is `percent`, this option dictates whether to
  33830. * use 0 or 100 as the base of comparison.
  33831. */
  33832. compareBase?: (0|100);
  33833. /**
  33834. * (Highstock) Defines if comparison should start from the first point
  33835. * within the visible range or should start from the first point **before**
  33836. * the range.
  33837. *
  33838. * In other words, this flag determines if first point within the visible
  33839. * range will have 0% (`compareStart=true`) or should have been already
  33840. * calculated according to the previous point (`compareStart=false`).
  33841. */
  33842. compareStart?: boolean;
  33843. /**
  33844. * (Highstock) Whether to compare indicator to the main series values or
  33845. * indicator values.
  33846. */
  33847. compareToMain?: boolean;
  33848. /**
  33849. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  33850. * series plot across the extremes.
  33851. */
  33852. connectEnds?: boolean;
  33853. /**
  33854. * (Highcharts, Highstock) Whether to connect a graph line across null
  33855. * points, or render a gap between the two points on either side of the
  33856. * null.
  33857. */
  33858. connectNulls?: boolean;
  33859. /**
  33860. * (Gantt) Override Pathfinder connector options for a series. Requires
  33861. * Highcharts Gantt to be loaded.
  33862. */
  33863. connectors?: SeriesConnectorsOptionsObject;
  33864. /**
  33865. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  33866. * rounded to its nearest pixel in order to render sharp on screen. In some
  33867. * cases, when there are a lot of densely packed columns, this leads to
  33868. * visible difference in column widths or distance between columns. In these
  33869. * cases, setting `crisp` to `false` may look better, even though each
  33870. * column is rendered blurry.
  33871. */
  33872. crisp?: boolean;
  33873. /**
  33874. * (Highcharts, Highstock) When the series contains less points than the
  33875. * crop threshold, all points are drawn, even if the points fall outside the
  33876. * visible plot area at the current zoom. The advantage of drawing all
  33877. * points (including markers and columns), is that animation is performed on
  33878. * updates. On the other hand, when the series contains more points than the
  33879. * crop threshold, the series data is cropped to only contain points that
  33880. * fall within the plot area. The advantage of cropping away invisible
  33881. * points is to increase performance on large series.
  33882. */
  33883. cropThreshold?: number;
  33884. /**
  33885. * (Highstock) You can set the cursor to "pointer" if you have click events
  33886. * attached to the series, to signal to the user that the points and lines
  33887. * can be clicked.
  33888. *
  33889. * In styled mode, the series cursor can be set with the same classes as
  33890. * listed under series.color.
  33891. */
  33892. cursor?: (string|CursorValue);
  33893. /**
  33894. * (Highstock) A reserved subspace to store options and values for
  33895. * customized functionality. Here you can add additional data for your own
  33896. * event callbacks and formatter callbacks.
  33897. */
  33898. custom?: Dictionary<any>;
  33899. /**
  33900. * (Highstock) Name of the dash style to use for the graph, or for some
  33901. * series types the outline of each shape.
  33902. *
  33903. * In styled mode, the stroke dash-array can be set with the same classes as
  33904. * listed under series.color.
  33905. */
  33906. dashStyle?: DashStyleValue;
  33907. /**
  33908. * (Highstock) Data grouping is the concept of sampling the data values into
  33909. * larger blocks in order to ease readability and increase performance of
  33910. * the JavaScript charts. Highcharts Stock by default applies data grouping
  33911. * when the points become closer than a certain pixel value, determined by
  33912. * the `groupPixelWidth` option.
  33913. *
  33914. * If data grouping is applied, the grouping information of grouped points
  33915. * can be read from the Point.dataGroup. If point options other than the
  33916. * data itself are set, for example `name` or `color` or custom properties,
  33917. * the grouping logic doesn't know how to group it. In this case the options
  33918. * of the first point instance are copied over to the group point. This can
  33919. * be altered through a custom `approximation` callback function.
  33920. */
  33921. dataGrouping?: DataGroupingOptionsObject;
  33922. /**
  33923. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  33924. * labels, appearing next to each data point.
  33925. *
  33926. * Since v6.2.0, multiple data labels can be applied to each single point by
  33927. * defining them as an array of configs.
  33928. *
  33929. * In styled mode, the data labels can be styled with the
  33930. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  33931. * (see example).
  33932. */
  33933. dataLabels?: (PlotCmfDataLabelsOptions|Array<PlotCmfDataLabelsOptions>);
  33934. /**
  33935. * (Highcharts, Highstock) Options for the series data sorting.
  33936. */
  33937. dataSorting?: (DataSortingOptionsObject|PlotCmfDataSortingOptions);
  33938. /**
  33939. * (Highstock) A description of the series to add to the screen reader
  33940. * information about the series.
  33941. */
  33942. description?: string;
  33943. /**
  33944. * (Highstock) Enable or disable the mouse tracking for a specific series.
  33945. * This includes point tooltips and click events on graphs and points. For
  33946. * large datasets it improves performance.
  33947. */
  33948. enableMouseTracking?: boolean;
  33949. /**
  33950. * (Highstock) General event handlers for the series items. These event
  33951. * hooks can also be attached to the series at run time using the
  33952. * `Highcharts.addEvent` function.
  33953. */
  33954. events?: SeriesEventsOptionsObject;
  33955. /**
  33956. * (Highstock) Determines whether the series should look for the nearest
  33957. * point in both dimensions or just the x-dimension when hovering the
  33958. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  33959. * series. If the data has duplicate x-values, it is recommended to set this
  33960. * to `'xy'` to allow hovering over all points.
  33961. *
  33962. * Applies only to series types using nearest neighbor search (not direct
  33963. * hover) for tooltip.
  33964. */
  33965. findNearestPointBy?: OptionsFindNearestPointByValue;
  33966. /**
  33967. * (Highstock) Defines when to display a gap in the graph, together with the
  33968. * gapUnit option.
  33969. *
  33970. * In case when `dataGrouping` is enabled, points can be grouped into a
  33971. * larger time span. This can make the grouped points to have a greater
  33972. * distance than the absolute value of `gapSize` property, which will result
  33973. * in disappearing graph completely. To prevent this situation the mentioned
  33974. * distance between grouped points is used instead of previously defined
  33975. * `gapSize`.
  33976. *
  33977. * In practice, this option is most often used to visualize gaps in time
  33978. * series. In a stock chart, intraday data is available for daytime hours,
  33979. * while gaps will appear in nights and weekends.
  33980. */
  33981. gapSize?: number;
  33982. /**
  33983. * (Highstock) Together with gapSize, this option defines where to draw gaps
  33984. * in the graph.
  33985. *
  33986. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  33987. * if the distance between two points is greater than 5 times that of the
  33988. * two closest points, the graph will be broken.
  33989. *
  33990. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  33991. * values, which on a datetime axis is milliseconds. This also applies to
  33992. * the navigator series that inherits gap options from the base series.
  33993. */
  33994. gapUnit?: OptionsGapUnitValue;
  33995. /**
  33996. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  33997. * chart width or only the zoomed area when zooming in on parts of the X
  33998. * axis. By default, the Y axis adjusts to the min and max of the visible
  33999. * data. Cartesian series only.
  34000. */
  34001. getExtremesFromAll?: boolean;
  34002. /**
  34003. * (Highstock) When set to `false` will prevent the series data from being
  34004. * included in any form of data export.
  34005. *
  34006. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  34007. * `includeInCSVExport`.
  34008. */
  34009. includeInDataExport?: boolean;
  34010. /**
  34011. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  34012. * series as possible in a natural way, seeking to avoid other series. The
  34013. * goal of this feature is to make the chart more easily readable, like if a
  34014. * human designer placed the labels in the optimal position.
  34015. *
  34016. * The series labels currently work with series types having a `graph` or an
  34017. * `area`.
  34018. */
  34019. label?: SeriesLabelOptionsObject;
  34020. /**
  34021. * (Highstock) The line marks the last price from all points.
  34022. */
  34023. lastPrice?: SeriesLastPriceOptionsObject;
  34024. /**
  34025. * (Highstock) The line marks the last price from visible range of points.
  34026. */
  34027. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  34028. /**
  34029. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  34030. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  34031. * the ends and bends.
  34032. */
  34033. linecap?: SeriesLinecapValue;
  34034. /**
  34035. * (Highcharts, Highstock) Pixel width of the graph line.
  34036. */
  34037. lineWidth?: number;
  34038. /**
  34039. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  34040. * based on. Required for this indicator.
  34041. */
  34042. linkedTo?: string;
  34043. /**
  34044. * (Highstock) Options for the point markers of line-like series. Properties
  34045. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  34046. * appearance of the markers. Other series types, like column series, don't
  34047. * have markers, but have visual options on the series level instead.
  34048. *
  34049. * In styled mode, the markers can be styled with the `.highcharts-point`,
  34050. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  34051. */
  34052. marker?: PointMarkerOptionsObject;
  34053. /**
  34054. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  34055. * If not set, it will be based on a technical indicator type and default
  34056. * params.
  34057. */
  34058. name?: string;
  34059. /**
  34060. * (Highstock) The color for the parts of the graph or points that are below
  34061. * the threshold. Note that `zones` takes precedence over the negative
  34062. * color. Using `negativeColor` is equivalent to applying a zone with value
  34063. * of 0.
  34064. */
  34065. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  34066. /**
  34067. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  34068. * dataLabels.
  34069. */
  34070. opacity?: number;
  34071. /**
  34072. * (Highstock) Paramters used in calculation of regression series' points.
  34073. */
  34074. params?: PlotCmfParamsOptions;
  34075. /**
  34076. * (Highstock) Properties for each single point.
  34077. */
  34078. point?: PlotSeriesPointOptions;
  34079. /**
  34080. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  34081. * individual series. Overrides the chart wide configuration.
  34082. */
  34083. pointDescriptionFormatter?: Function;
  34084. /**
  34085. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  34086. * true, the checkbox next to the series name in the legend will be checked
  34087. * for a selected series.
  34088. */
  34089. selected?: boolean;
  34090. /**
  34091. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  34092. * the shadow can be an object configuration containing `color`, `offsetX`,
  34093. * `offsetY`, `opacity` and `width`.
  34094. */
  34095. shadow?: (boolean|ShadowOptionsObject);
  34096. /**
  34097. * (Highstock) If true, a checkbox is displayed next to the legend item to
  34098. * allow selecting the series. The state of the checkbox is determined by
  34099. * the `selected` option.
  34100. */
  34101. showCheckbox?: boolean;
  34102. /**
  34103. * (Highstock) Whether to display this particular series or series type in
  34104. * the legend. Standalone series are shown in legend by default, and linked
  34105. * series are not. Since v7.2.0 it is possible to show series that use
  34106. * colorAxis by setting this option to `true`.
  34107. */
  34108. showInLegend?: boolean;
  34109. /**
  34110. * (Highstock) If set to `true`, the accessibility module will skip past the
  34111. * points in this series for keyboard navigation.
  34112. */
  34113. skipKeyboardNavigation?: boolean;
  34114. /**
  34115. * (Highcharts, Highstock) When this is true, the series will not cause the
  34116. * Y axis to cross the zero plane (or threshold option) unless the data
  34117. * actually crosses the plane.
  34118. *
  34119. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  34120. * make the Y axis show negative values according to the `minPadding`
  34121. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  34122. */
  34123. softThreshold?: boolean;
  34124. states?: SeriesStatesOptionsObject;
  34125. /**
  34126. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  34127. * values are `left`, `center` and `right`.
  34128. */
  34129. step?: OptionsStepValue;
  34130. /**
  34131. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  34132. * event on a series isn't triggered until the mouse moves over another
  34133. * series, or out of the plot area. When false, the `mouseOut` event on a
  34134. * series is triggered when the mouse leaves the area around the series'
  34135. * graph or markers. This also implies the tooltip when not shared. When
  34136. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  34137. * be hidden when moving the mouse between series. Defaults to true for line
  34138. * and area type series, but to false for columns, pies etc.
  34139. *
  34140. * **Note:** The boost module will force this option because of technical
  34141. * limitations.
  34142. */
  34143. stickyTracking?: boolean;
  34144. /**
  34145. * (Highcharts, Highstock) The threshold, also called zero level or base
  34146. * level. For line type series this is only used in conjunction with
  34147. * negativeColor.
  34148. */
  34149. threshold?: (number|null);
  34150. /**
  34151. * (Highstock) A configuration object for the tooltip rendering of each
  34152. * single series. Properties are inherited from tooltip, but only the
  34153. * following properties can be defined on a series level.
  34154. */
  34155. tooltip?: SeriesTooltipOptionsObject;
  34156. /**
  34157. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  34158. * is longer than this, only one dimensional arrays of numbers, or two
  34159. * dimensional arrays with x and y values are allowed. Also, only the first
  34160. * point is tested, and the rest are assumed to be the same format. This
  34161. * saves expensive data checking and indexing in long series. Set it to `0`
  34162. * disable.
  34163. *
  34164. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  34165. * two dimensional arrays are allowed.
  34166. */
  34167. turboThreshold?: number;
  34168. /**
  34169. * (Highstock) Set the initial visibility of the series.
  34170. */
  34171. visible?: boolean;
  34172. /**
  34173. * (Highmaps) Define the z index of the series.
  34174. */
  34175. zIndex?: number;
  34176. /**
  34177. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  34178. */
  34179. zoneAxis?: string;
  34180. /**
  34181. * (Highcharts, Highstock) An array defining zones within a series. Zones
  34182. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  34183. * the `zoneAxis` option. The zone definitions have to be in ascending order
  34184. * regarding to the value.
  34185. *
  34186. * In styled mode, the color zones are styled with the
  34187. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  34188. * option (view live demo).
  34189. */
  34190. zones?: Array<SeriesZonesOptionsObject>;
  34191. }
  34192. /**
  34193. * (Highstock) Paramters used in calculation of regression series' points.
  34194. */
  34195. export interface PlotCmfParamsOptions {
  34196. index?: string;
  34197. /**
  34198. * (Highstock) The base period for indicator calculations. This is the
  34199. * number of data points which are taken into account for the indicator
  34200. * calculations.
  34201. */
  34202. period?: number;
  34203. /**
  34204. * (Highstock) The id of another series to use its data as volume data for
  34205. * the indiator calculation.
  34206. */
  34207. volumeSeriesID?: string;
  34208. }
  34209. /**
  34210. * (Highstock) Enable or disable the initial animation when a series is
  34211. * displayed. The animation can also be set as a configuration object. Please
  34212. * note that this option only applies to the initial animation of the series
  34213. * itself. For other animations, see chart.animation and the animation parameter
  34214. * under the API methods. The following properties are supported:
  34215. *
  34216. * - `defer`: The animation delay time in milliseconds.
  34217. *
  34218. * - `duration`: The duration of the animation in milliseconds.
  34219. *
  34220. * - `easing`: Can be a string reference to an easing function set on the `Math`
  34221. * object or a function. See the _Custom easing function_ demo below.
  34222. *
  34223. * Due to poor performance, animation is disabled in old IE browsers for several
  34224. * chart types.
  34225. */
  34226. export interface PlotCmoAnimationOptions {
  34227. defer?: number;
  34228. }
  34229. /**
  34230. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  34231. * animation when a series is displayed for the `dataLabels`. The animation can
  34232. * also be set as a configuration object. Please note that this option only
  34233. * applies to the initial animation. For other animations, see chart.animation
  34234. * and the animation parameter under the API methods. The following properties
  34235. * are supported:
  34236. *
  34237. * - `defer`: The animation delay time in milliseconds.
  34238. */
  34239. export interface PlotCmoDataLabelsAnimationOptions {
  34240. /**
  34241. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  34242. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  34243. * inherits defer time from the series.animation.defer.
  34244. */
  34245. defer?: number;
  34246. }
  34247. /**
  34248. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  34249. * appearing next to each data point.
  34250. *
  34251. * Since v6.2.0, multiple data labels can be applied to each single point by
  34252. * defining them as an array of configs.
  34253. *
  34254. * In styled mode, the data labels can be styled with the
  34255. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  34256. * example).
  34257. */
  34258. export interface PlotCmoDataLabelsOptions {
  34259. /**
  34260. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  34261. * compared to the point. If `right`, the right side of the label should be
  34262. * touching the point. For points with an extent, like columns, the
  34263. * alignments also dictates how to align it inside the box, as given with
  34264. * the inside option. Can be one of `left`, `center` or `right`.
  34265. */
  34266. align?: (AlignValue|null);
  34267. /**
  34268. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  34269. * overlap. To make the labels less sensitive for overlapping, the
  34270. * dataLabels.padding can be set to 0.
  34271. */
  34272. allowOverlap?: boolean;
  34273. /**
  34274. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  34275. * animation when a series is displayed for the `dataLabels`. The animation
  34276. * can also be set as a configuration object. Please note that this option
  34277. * only applies to the initial animation. For other animations, see
  34278. * chart.animation and the animation parameter under the API methods. The
  34279. * following properties are supported:
  34280. *
  34281. * - `defer`: The animation delay time in milliseconds.
  34282. */
  34283. animation?: (boolean|PlotCmoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  34284. /**
  34285. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  34286. * for the data label.
  34287. */
  34288. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  34289. /**
  34290. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  34291. * label. Defaults to `undefined`.
  34292. */
  34293. borderColor?: (ColorString|GradientColorObject|PatternObject);
  34294. /**
  34295. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  34296. * the data label.
  34297. */
  34298. borderRadius?: number;
  34299. /**
  34300. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  34301. * the data label.
  34302. */
  34303. borderWidth?: number;
  34304. /**
  34305. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  34306. * Particularly in styled mode, this can be used to give each series' or
  34307. * point's data label unique styling. In addition to this option, a default
  34308. * color class name is added so that we can give the labels a contrast text
  34309. * shadow.
  34310. */
  34311. className?: string;
  34312. /**
  34313. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  34314. * labels. Defaults to `undefined`. For certain series types, like column or
  34315. * map, the data labels can be drawn inside the points. In this case the
  34316. * data label will be drawn with maximum contrast by default. Additionally,
  34317. * it will be given a `text-outline` style with the opposite color, to
  34318. * further increase the contrast. This can be overridden by setting the
  34319. * `text-outline` style to `none` in the `dataLabels.style` option.
  34320. */
  34321. color?: (ColorString|GradientColorObject|PatternObject);
  34322. /**
  34323. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  34324. * are outside the plot area. By default, the data label is moved inside the
  34325. * plot area according to the overflow option.
  34326. */
  34327. crop?: boolean;
  34328. /**
  34329. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  34330. * labels until the initial series animation has finished. Setting to
  34331. * `false` renders the data label immediately. If set to `true` inherits the
  34332. * defer time set in plotOptions.series.animation. If set to a number, a
  34333. * defer time is specified in milliseconds.
  34334. */
  34335. defer?: (boolean|number);
  34336. /**
  34337. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  34338. * labels.
  34339. */
  34340. enabled?: boolean;
  34341. /**
  34342. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  34343. * of which data labels to display. The declarative filter is designed for
  34344. * use when callback functions are not available, like when the chart
  34345. * options require a pure JSON structure or for use with graphical editors.
  34346. * For programmatic control, use the `formatter` instead, and return
  34347. * `undefined` to disable a single data label.
  34348. */
  34349. filter?: DataLabelsFilterOptionsObject;
  34350. /**
  34351. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  34352. * label. Available variables are the same as for `formatter`.
  34353. */
  34354. format?: string;
  34355. /**
  34356. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  34357. * format the data label. Note that if a `format` is defined, the format
  34358. * takes precedence and the formatter is ignored.
  34359. */
  34360. formatter?: DataLabelsFormatterCallbackFunction;
  34361. /**
  34362. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  34363. * columns or map areas, whether to align the data label inside the box or
  34364. * to the actual value point. Defaults to `false` in most cases, `true` in
  34365. * stacked columns.
  34366. */
  34367. inside?: boolean;
  34368. /**
  34369. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  34370. * of null. Works analogously to format. `nullFormat` can be applied only to
  34371. * series which support displaying null points.
  34372. */
  34373. nullFormat?: (boolean|string);
  34374. /**
  34375. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  34376. * that defines formatting for points with the value of null. Works
  34377. * analogously to formatter. `nullPointFormatter` can be applied only to
  34378. * series which support displaying null points.
  34379. */
  34380. nullFormatter?: DataLabelsFormatterCallbackFunction;
  34381. /**
  34382. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  34383. * flow outside the plot area. The default is `"justify"`, which aligns them
  34384. * inside the plot area. For columns and bars, this means it will be moved
  34385. * inside the bar. To display data labels outside the plot area, set `crop`
  34386. * to `false` and `overflow` to `"allow"`.
  34387. */
  34388. overflow?: DataLabelsOverflowValue;
  34389. /**
  34390. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  34391. * the `backgroundColor` is set, this is the padding within the box.
  34392. */
  34393. padding?: number;
  34394. /**
  34395. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  34396. * points. If `center` alignment is not possible, it defaults to `right`.
  34397. */
  34398. position?: AlignValue;
  34399. /**
  34400. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  34401. * that due to a more complex structure, backgrounds, borders and padding
  34402. * will be lost on a rotated data label.
  34403. */
  34404. rotation?: number;
  34405. /**
  34406. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  34407. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  34408. * an object configuration containing `color`, `offsetX`, `offsetY`,
  34409. * `opacity` and `width`.
  34410. */
  34411. shadow?: (boolean|ShadowOptionsObject);
  34412. /**
  34413. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  34414. * the border around the label. Symbols are predefined functions on the
  34415. * Renderer object.
  34416. */
  34417. shape?: string;
  34418. /**
  34419. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  34420. * default `color` setting is `"contrast"`, which is a pseudo color that
  34421. * Highcharts picks up and applies the maximum contrast to the underlying
  34422. * point item, for example the bar in a bar chart.
  34423. *
  34424. * The `textOutline` is a pseudo property that applies an outline of the
  34425. * given width with the given color, which by default is the maximum
  34426. * contrast to the text. So a bright text color will result in a black text
  34427. * outline for maximum readability on a mixed background. In some cases,
  34428. * especially with grayscale text, the text outline doesn't work well, in
  34429. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  34430. * is true, the `textOutline` will not be picked up. In this, case, the same
  34431. * effect can be acheived through the `text-shadow` CSS property.
  34432. *
  34433. * For some series types, where each point has an extent, like for example
  34434. * tree maps, the data label may overflow the point. There are two
  34435. * strategies for handling overflow. By default, the text will wrap to
  34436. * multiple lines. The other strategy is to set `style.textOverflow` to
  34437. * `ellipsis`, which will keep the text on one line plus it will break
  34438. * inside long words.
  34439. */
  34440. style?: CSSObject;
  34441. /**
  34442. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  34443. * should follow marker's shape. Border and background are disabled for a
  34444. * label that follows a path.
  34445. *
  34446. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  34447. * to true will disable this option.
  34448. */
  34449. textPath?: DataLabelsTextPathOptionsObject;
  34450. /**
  34451. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  34452. * the labels.
  34453. */
  34454. useHTML?: boolean;
  34455. /**
  34456. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  34457. * label. Can be one of `top`, `middle` or `bottom`. The default value
  34458. * depends on the data, for instance in a column chart, the label is above
  34459. * positive values and below negative values.
  34460. */
  34461. verticalAlign?: (VerticalAlignValue|null);
  34462. /**
  34463. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  34464. * label relative to the point in pixels.
  34465. */
  34466. x?: number;
  34467. /**
  34468. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  34469. * label relative to the point in pixels.
  34470. */
  34471. y?: number;
  34472. /**
  34473. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  34474. * The default Z index puts it above the series. Use a Z index of 2 to
  34475. * display it behind the series.
  34476. */
  34477. z?: number;
  34478. }
  34479. /**
  34480. * (Highcharts, Highstock) Options for the series data sorting.
  34481. */
  34482. export interface PlotCmoDataSortingOptions {
  34483. /**
  34484. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  34485. * Use xAxis.reversed to change the sorting order.
  34486. */
  34487. enabled?: boolean;
  34488. /**
  34489. * (Highcharts, Highstock) Whether to allow matching points by name in an
  34490. * update. If this option is disabled, points will be matched by order.
  34491. */
  34492. matchByName?: boolean;
  34493. /**
  34494. * (Highcharts, Highstock) Determines what data value should be used to sort
  34495. * by.
  34496. */
  34497. sortKey?: string;
  34498. }
  34499. /**
  34500. * (Highstock) Chande Momentum Oscilator (CMO) technical indicator. This series
  34501. * requires the `linkedTo` option to be set and should be loaded after the
  34502. * `stock/indicators/indicators.js` file.
  34503. *
  34504. * In TypeScript the type option must always be set.
  34505. *
  34506. * Configuration options for the series are given in three levels:
  34507. *
  34508. * 1. Options for all series in a chart are defined in the plotOptions.series
  34509. * object.
  34510. *
  34511. * 2. Options for all `cmo` series are defined in plotOptions.cmo.
  34512. *
  34513. * 3. Options for one single series are given in the series instance array. (see
  34514. * online documentation for example)
  34515. */
  34516. export interface PlotCmoOptions {
  34517. /**
  34518. * (Highstock) Accessibility options for a series.
  34519. */
  34520. accessibility?: SeriesAccessibilityOptionsObject;
  34521. /**
  34522. * (Highstock) Allow this series' points to be selected by clicking on the
  34523. * graphic (columns, point markers, pie slices, map areas etc).
  34524. *
  34525. * The selected points can be handled by point select and unselect events,
  34526. * or collectively by the getSelectedPoints function.
  34527. *
  34528. * And alternative way of selecting points is through dragging.
  34529. */
  34530. allowPointSelect?: boolean;
  34531. /**
  34532. * (Highstock) Enable or disable the initial animation when a series is
  34533. * displayed. The animation can also be set as a configuration object.
  34534. * Please note that this option only applies to the initial animation of the
  34535. * series itself. For other animations, see chart.animation and the
  34536. * animation parameter under the API methods. The following properties are
  34537. * supported:
  34538. *
  34539. * - `defer`: The animation delay time in milliseconds.
  34540. *
  34541. * - `duration`: The duration of the animation in milliseconds.
  34542. *
  34543. * - `easing`: Can be a string reference to an easing function set on the
  34544. * `Math` object or a function. See the _Custom easing function_ demo below.
  34545. *
  34546. * Due to poor performance, animation is disabled in old IE browsers for
  34547. * several chart types.
  34548. */
  34549. animation?: (boolean|PlotCmoAnimationOptions|Partial<AnimationOptionsObject>);
  34550. /**
  34551. * (Highstock) For some series, there is a limit that shuts down initial
  34552. * animation by default when the total number of points in the chart is too
  34553. * high. For example, for a column chart and its derivatives, animation does
  34554. * not run if there is more than 250 points totally. To disable this cap,
  34555. * set `animationLimit` to `Infinity`.
  34556. */
  34557. animationLimit?: number;
  34558. /**
  34559. * (Highstock) Sets the color blending in the boost module.
  34560. */
  34561. boostBlending?: OptionsBoostBlendingValue;
  34562. /**
  34563. * (Highstock) Set the point threshold for when a series should enter boost
  34564. * mode.
  34565. *
  34566. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  34567. * there are 2000 or more points in the series.
  34568. *
  34569. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  34570. * it to 1 will force boosting.
  34571. *
  34572. * Note that the cropThreshold also affects this setting. When zooming in on
  34573. * a series that has fewer points than the `cropThreshold`, all points are
  34574. * rendered although outside the visible plot area, and the `boostThreshold`
  34575. * won't take effect.
  34576. */
  34577. boostThreshold?: number;
  34578. /**
  34579. * (Highmaps) The border color of the map areas.
  34580. *
  34581. * In styled mode, the border stroke is given in the `.highcharts-point`
  34582. * class.
  34583. */
  34584. borderColor?: (ColorString|GradientColorObject|PatternObject);
  34585. /**
  34586. * (Highmaps) The border width of each map area.
  34587. *
  34588. * In styled mode, the border stroke width is given in the
  34589. * `.highcharts-point` class.
  34590. */
  34591. borderWidth?: number;
  34592. /**
  34593. * (Highstock) An additional class name to apply to the series' graphical
  34594. * elements. This option does not replace default class names of the
  34595. * graphical element.
  34596. */
  34597. className?: string;
  34598. /**
  34599. * (Highstock) Disable this option to allow series rendering in the whole
  34600. * plotting area.
  34601. *
  34602. * **Note:** Clipping should be always enabled when chart.zoomType is set
  34603. */
  34604. clip?: boolean;
  34605. /**
  34606. * (Highstock) The main color of the series. In line type series it applies
  34607. * to the line and the point markers unless otherwise specified. In bar type
  34608. * series it applies to the bars unless a color is specified per point. The
  34609. * default value is pulled from the `options.colors` array.
  34610. *
  34611. * In styled mode, the color can be defined by the colorIndex option. Also,
  34612. * the series color can be set with the `.highcharts-series`,
  34613. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  34614. * `.highcharts-series-{n}` class, or individual classes given by the
  34615. * `className` option.
  34616. */
  34617. color?: (ColorString|GradientColorObject|PatternObject);
  34618. /**
  34619. * (Highstock) Styled mode only. A specific color index to use for the
  34620. * series, so its graphic representations are given the class name
  34621. * `highcharts-color-{n}`.
  34622. */
  34623. colorIndex?: number;
  34624. /**
  34625. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  34626. * used to calculate point color if `colorAxis` is used. Requires to set
  34627. * `min` and `max` if some custom point property is used or if approximation
  34628. * for data grouping is set to `'sum'`.
  34629. */
  34630. colorKey?: string;
  34631. /**
  34632. * (Highstock) Compare the values of the series against the first non-null,
  34633. * non- zero value in the visible range. The y axis will show percentage or
  34634. * absolute change depending on whether `compare` is set to `"percent"` or
  34635. * `"value"`. When this is applied to multiple series, it allows comparing
  34636. * the development of the series against each other. Adds a `change` field
  34637. * to every point object.
  34638. */
  34639. compare?: string;
  34640. /**
  34641. * (Highstock) When compare is `percent`, this option dictates whether to
  34642. * use 0 or 100 as the base of comparison.
  34643. */
  34644. compareBase?: (0|100);
  34645. /**
  34646. * (Highstock) Defines if comparison should start from the first point
  34647. * within the visible range or should start from the first point **before**
  34648. * the range.
  34649. *
  34650. * In other words, this flag determines if first point within the visible
  34651. * range will have 0% (`compareStart=true`) or should have been already
  34652. * calculated according to the previous point (`compareStart=false`).
  34653. */
  34654. compareStart?: boolean;
  34655. /**
  34656. * (Highstock) Whether to compare indicator to the main series values or
  34657. * indicator values.
  34658. */
  34659. compareToMain?: boolean;
  34660. /**
  34661. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  34662. * series plot across the extremes.
  34663. */
  34664. connectEnds?: boolean;
  34665. /**
  34666. * (Highcharts, Highstock) Whether to connect a graph line across null
  34667. * points, or render a gap between the two points on either side of the
  34668. * null.
  34669. */
  34670. connectNulls?: boolean;
  34671. /**
  34672. * (Gantt) Override Pathfinder connector options for a series. Requires
  34673. * Highcharts Gantt to be loaded.
  34674. */
  34675. connectors?: SeriesConnectorsOptionsObject;
  34676. /**
  34677. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  34678. * rounded to its nearest pixel in order to render sharp on screen. In some
  34679. * cases, when there are a lot of densely packed columns, this leads to
  34680. * visible difference in column widths or distance between columns. In these
  34681. * cases, setting `crisp` to `false` may look better, even though each
  34682. * column is rendered blurry.
  34683. */
  34684. crisp?: boolean;
  34685. /**
  34686. * (Highcharts, Highstock) When the series contains less points than the
  34687. * crop threshold, all points are drawn, even if the points fall outside the
  34688. * visible plot area at the current zoom. The advantage of drawing all
  34689. * points (including markers and columns), is that animation is performed on
  34690. * updates. On the other hand, when the series contains more points than the
  34691. * crop threshold, the series data is cropped to only contain points that
  34692. * fall within the plot area. The advantage of cropping away invisible
  34693. * points is to increase performance on large series.
  34694. */
  34695. cropThreshold?: number;
  34696. /**
  34697. * (Highstock) You can set the cursor to "pointer" if you have click events
  34698. * attached to the series, to signal to the user that the points and lines
  34699. * can be clicked.
  34700. *
  34701. * In styled mode, the series cursor can be set with the same classes as
  34702. * listed under series.color.
  34703. */
  34704. cursor?: (string|CursorValue);
  34705. /**
  34706. * (Highstock) A reserved subspace to store options and values for
  34707. * customized functionality. Here you can add additional data for your own
  34708. * event callbacks and formatter callbacks.
  34709. */
  34710. custom?: Dictionary<any>;
  34711. /**
  34712. * (Highstock) Name of the dash style to use for the graph, or for some
  34713. * series types the outline of each shape.
  34714. *
  34715. * In styled mode, the stroke dash-array can be set with the same classes as
  34716. * listed under series.color.
  34717. */
  34718. dashStyle?: DashStyleValue;
  34719. /**
  34720. * (Highstock) Data grouping is the concept of sampling the data values into
  34721. * larger blocks in order to ease readability and increase performance of
  34722. * the JavaScript charts. Highcharts Stock by default applies data grouping
  34723. * when the points become closer than a certain pixel value, determined by
  34724. * the `groupPixelWidth` option.
  34725. *
  34726. * If data grouping is applied, the grouping information of grouped points
  34727. * can be read from the Point.dataGroup. If point options other than the
  34728. * data itself are set, for example `name` or `color` or custom properties,
  34729. * the grouping logic doesn't know how to group it. In this case the options
  34730. * of the first point instance are copied over to the group point. This can
  34731. * be altered through a custom `approximation` callback function.
  34732. */
  34733. dataGrouping?: DataGroupingOptionsObject;
  34734. /**
  34735. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  34736. * labels, appearing next to each data point.
  34737. *
  34738. * Since v6.2.0, multiple data labels can be applied to each single point by
  34739. * defining them as an array of configs.
  34740. *
  34741. * In styled mode, the data labels can be styled with the
  34742. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  34743. * (see example).
  34744. */
  34745. dataLabels?: (PlotCmoDataLabelsOptions|Array<PlotCmoDataLabelsOptions>);
  34746. /**
  34747. * (Highcharts, Highstock) Options for the series data sorting.
  34748. */
  34749. dataSorting?: (DataSortingOptionsObject|PlotCmoDataSortingOptions);
  34750. /**
  34751. * (Highstock) A description of the series to add to the screen reader
  34752. * information about the series.
  34753. */
  34754. description?: string;
  34755. /**
  34756. * (Highstock) Enable or disable the mouse tracking for a specific series.
  34757. * This includes point tooltips and click events on graphs and points. For
  34758. * large datasets it improves performance.
  34759. */
  34760. enableMouseTracking?: boolean;
  34761. /**
  34762. * (Highstock) General event handlers for the series items. These event
  34763. * hooks can also be attached to the series at run time using the
  34764. * `Highcharts.addEvent` function.
  34765. */
  34766. events?: SeriesEventsOptionsObject;
  34767. /**
  34768. * (Highstock) Determines whether the series should look for the nearest
  34769. * point in both dimensions or just the x-dimension when hovering the
  34770. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  34771. * series. If the data has duplicate x-values, it is recommended to set this
  34772. * to `'xy'` to allow hovering over all points.
  34773. *
  34774. * Applies only to series types using nearest neighbor search (not direct
  34775. * hover) for tooltip.
  34776. */
  34777. findNearestPointBy?: OptionsFindNearestPointByValue;
  34778. /**
  34779. * (Highstock) Defines when to display a gap in the graph, together with the
  34780. * gapUnit option.
  34781. *
  34782. * In case when `dataGrouping` is enabled, points can be grouped into a
  34783. * larger time span. This can make the grouped points to have a greater
  34784. * distance than the absolute value of `gapSize` property, which will result
  34785. * in disappearing graph completely. To prevent this situation the mentioned
  34786. * distance between grouped points is used instead of previously defined
  34787. * `gapSize`.
  34788. *
  34789. * In practice, this option is most often used to visualize gaps in time
  34790. * series. In a stock chart, intraday data is available for daytime hours,
  34791. * while gaps will appear in nights and weekends.
  34792. */
  34793. gapSize?: number;
  34794. /**
  34795. * (Highstock) Together with gapSize, this option defines where to draw gaps
  34796. * in the graph.
  34797. *
  34798. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  34799. * if the distance between two points is greater than 5 times that of the
  34800. * two closest points, the graph will be broken.
  34801. *
  34802. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  34803. * values, which on a datetime axis is milliseconds. This also applies to
  34804. * the navigator series that inherits gap options from the base series.
  34805. */
  34806. gapUnit?: OptionsGapUnitValue;
  34807. /**
  34808. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  34809. * chart width or only the zoomed area when zooming in on parts of the X
  34810. * axis. By default, the Y axis adjusts to the min and max of the visible
  34811. * data. Cartesian series only.
  34812. */
  34813. getExtremesFromAll?: boolean;
  34814. /**
  34815. * (Highstock) When set to `false` will prevent the series data from being
  34816. * included in any form of data export.
  34817. *
  34818. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  34819. * `includeInCSVExport`.
  34820. */
  34821. includeInDataExport?: boolean;
  34822. /**
  34823. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  34824. * series as possible in a natural way, seeking to avoid other series. The
  34825. * goal of this feature is to make the chart more easily readable, like if a
  34826. * human designer placed the labels in the optimal position.
  34827. *
  34828. * The series labels currently work with series types having a `graph` or an
  34829. * `area`.
  34830. */
  34831. label?: SeriesLabelOptionsObject;
  34832. /**
  34833. * (Highstock) The line marks the last price from all points.
  34834. */
  34835. lastPrice?: SeriesLastPriceOptionsObject;
  34836. /**
  34837. * (Highstock) The line marks the last price from visible range of points.
  34838. */
  34839. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  34840. /**
  34841. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  34842. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  34843. * the ends and bends.
  34844. */
  34845. linecap?: SeriesLinecapValue;
  34846. /**
  34847. * (Highcharts, Highstock) Pixel width of the graph line.
  34848. */
  34849. lineWidth?: number;
  34850. /**
  34851. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  34852. * based on. Required for this indicator.
  34853. */
  34854. linkedTo?: string;
  34855. /**
  34856. * (Highstock) Options for the point markers of line-like series. Properties
  34857. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  34858. * appearance of the markers. Other series types, like column series, don't
  34859. * have markers, but have visual options on the series level instead.
  34860. *
  34861. * In styled mode, the markers can be styled with the `.highcharts-point`,
  34862. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  34863. */
  34864. marker?: PointMarkerOptionsObject;
  34865. /**
  34866. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  34867. * If not set, it will be based on a technical indicator type and default
  34868. * params.
  34869. */
  34870. name?: string;
  34871. /**
  34872. * (Highstock) The color for the parts of the graph or points that are below
  34873. * the threshold. Note that `zones` takes precedence over the negative
  34874. * color. Using `negativeColor` is equivalent to applying a zone with value
  34875. * of 0.
  34876. */
  34877. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  34878. /**
  34879. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  34880. * dataLabels.
  34881. */
  34882. opacity?: number;
  34883. /**
  34884. * (Highstock) Paramters used in calculation of regression series' points.
  34885. */
  34886. params?: PlotCmoParamsOptions;
  34887. /**
  34888. * (Highstock) Properties for each single point.
  34889. */
  34890. point?: PlotSeriesPointOptions;
  34891. /**
  34892. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  34893. * individual series. Overrides the chart wide configuration.
  34894. */
  34895. pointDescriptionFormatter?: Function;
  34896. /**
  34897. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  34898. * true, the checkbox next to the series name in the legend will be checked
  34899. * for a selected series.
  34900. */
  34901. selected?: boolean;
  34902. /**
  34903. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  34904. * the shadow can be an object configuration containing `color`, `offsetX`,
  34905. * `offsetY`, `opacity` and `width`.
  34906. */
  34907. shadow?: (boolean|ShadowOptionsObject);
  34908. /**
  34909. * (Highstock) If true, a checkbox is displayed next to the legend item to
  34910. * allow selecting the series. The state of the checkbox is determined by
  34911. * the `selected` option.
  34912. */
  34913. showCheckbox?: boolean;
  34914. /**
  34915. * (Highstock) Whether to display this particular series or series type in
  34916. * the legend. Standalone series are shown in legend by default, and linked
  34917. * series are not. Since v7.2.0 it is possible to show series that use
  34918. * colorAxis by setting this option to `true`.
  34919. */
  34920. showInLegend?: boolean;
  34921. /**
  34922. * (Highstock) If set to `true`, the accessibility module will skip past the
  34923. * points in this series for keyboard navigation.
  34924. */
  34925. skipKeyboardNavigation?: boolean;
  34926. /**
  34927. * (Highcharts, Highstock) When this is true, the series will not cause the
  34928. * Y axis to cross the zero plane (or threshold option) unless the data
  34929. * actually crosses the plane.
  34930. *
  34931. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  34932. * make the Y axis show negative values according to the `minPadding`
  34933. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  34934. */
  34935. softThreshold?: boolean;
  34936. states?: SeriesStatesOptionsObject;
  34937. /**
  34938. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  34939. * values are `left`, `center` and `right`.
  34940. */
  34941. step?: OptionsStepValue;
  34942. /**
  34943. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  34944. * event on a series isn't triggered until the mouse moves over another
  34945. * series, or out of the plot area. When false, the `mouseOut` event on a
  34946. * series is triggered when the mouse leaves the area around the series'
  34947. * graph or markers. This also implies the tooltip when not shared. When
  34948. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  34949. * be hidden when moving the mouse between series. Defaults to true for line
  34950. * and area type series, but to false for columns, pies etc.
  34951. *
  34952. * **Note:** The boost module will force this option because of technical
  34953. * limitations.
  34954. */
  34955. stickyTracking?: boolean;
  34956. /**
  34957. * (Highcharts, Highstock) The threshold, also called zero level or base
  34958. * level. For line type series this is only used in conjunction with
  34959. * negativeColor.
  34960. */
  34961. threshold?: (number|null);
  34962. /**
  34963. * (Highstock) A configuration object for the tooltip rendering of each
  34964. * single series. Properties are inherited from tooltip, but only the
  34965. * following properties can be defined on a series level.
  34966. */
  34967. tooltip?: SeriesTooltipOptionsObject;
  34968. /**
  34969. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  34970. * is longer than this, only one dimensional arrays of numbers, or two
  34971. * dimensional arrays with x and y values are allowed. Also, only the first
  34972. * point is tested, and the rest are assumed to be the same format. This
  34973. * saves expensive data checking and indexing in long series. Set it to `0`
  34974. * disable.
  34975. *
  34976. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  34977. * two dimensional arrays are allowed.
  34978. */
  34979. turboThreshold?: number;
  34980. /**
  34981. * (Highstock) Set the initial visibility of the series.
  34982. */
  34983. visible?: boolean;
  34984. /**
  34985. * (Highmaps) Define the z index of the series.
  34986. */
  34987. zIndex?: number;
  34988. /**
  34989. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  34990. */
  34991. zoneAxis?: string;
  34992. /**
  34993. * (Highcharts, Highstock) An array defining zones within a series. Zones
  34994. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  34995. * the `zoneAxis` option. The zone definitions have to be in ascending order
  34996. * regarding to the value.
  34997. *
  34998. * In styled mode, the color zones are styled with the
  34999. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  35000. * option (view live demo).
  35001. */
  35002. zones?: Array<SeriesZonesOptionsObject>;
  35003. }
  35004. /**
  35005. * (Highstock) Paramters used in calculation of regression series' points.
  35006. */
  35007. export interface PlotCmoParamsOptions {
  35008. /**
  35009. * (Highstock) The point index which indicator calculations will base. For
  35010. * example using OHLC data, index=2 means the indicator will be calculated
  35011. * using Low values.
  35012. */
  35013. index?: number;
  35014. /**
  35015. * (Highstock) The base period for indicator calculations. This is the
  35016. * number of data points which are taken into account for the indicator
  35017. * calculations.
  35018. */
  35019. period?: number;
  35020. }
  35021. /**
  35022. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  35023. * is displayed. The animation can also be set as a configuration object. Please
  35024. * note that this option only applies to the initial animation of the series
  35025. * itself. For other animations, see chart.animation and the animation parameter
  35026. * under the API methods. The following properties are supported:
  35027. *
  35028. * - `defer`: The animation delay time in milliseconds.
  35029. *
  35030. * - `duration`: The duration of the animation in milliseconds.
  35031. *
  35032. * - `easing`: Can be a string reference to an easing function set on the `Math`
  35033. * object or a function. See the _Custom easing function_ demo below.
  35034. *
  35035. * Due to poor performance, animation is disabled in old IE browsers for several
  35036. * chart types.
  35037. */
  35038. export interface PlotColumnAnimationOptions {
  35039. defer?: number;
  35040. }
  35041. /**
  35042. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  35043. * animation when a series is displayed for the `dataLabels`. The animation can
  35044. * also be set as a configuration object. Please note that this option only
  35045. * applies to the initial animation. For other animations, see chart.animation
  35046. * and the animation parameter under the API methods. The following properties
  35047. * are supported:
  35048. *
  35049. * - `defer`: The animation delay time in milliseconds.
  35050. */
  35051. export interface PlotColumnDataLabelsAnimationOptions {
  35052. /**
  35053. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  35054. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  35055. * inherits defer time from the series.animation.defer.
  35056. */
  35057. defer?: number;
  35058. }
  35059. /**
  35060. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  35061. * appearing next to each data point.
  35062. *
  35063. * Since v6.2.0, multiple data labels can be applied to each single point by
  35064. * defining them as an array of configs.
  35065. *
  35066. * In styled mode, the data labels can be styled with the
  35067. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  35068. * example).
  35069. */
  35070. export interface PlotColumnDataLabelsOptions {
  35071. /**
  35072. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  35073. * compared to the point. If `right`, the right side of the label should be
  35074. * touching the point. For points with an extent, like columns, the
  35075. * alignments also dictates how to align it inside the box, as given with
  35076. * the inside option. Can be one of `left`, `center` or `right`.
  35077. */
  35078. align?: string;
  35079. /**
  35080. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  35081. * overlap. To make the labels less sensitive for overlapping, the
  35082. * dataLabels.padding can be set to 0.
  35083. */
  35084. allowOverlap?: boolean;
  35085. /**
  35086. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  35087. * animation when a series is displayed for the `dataLabels`. The animation
  35088. * can also be set as a configuration object. Please note that this option
  35089. * only applies to the initial animation. For other animations, see
  35090. * chart.animation and the animation parameter under the API methods. The
  35091. * following properties are supported:
  35092. *
  35093. * - `defer`: The animation delay time in milliseconds.
  35094. */
  35095. animation?: (boolean|PlotColumnDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  35096. /**
  35097. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  35098. * for the data label.
  35099. */
  35100. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  35101. /**
  35102. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  35103. * label. Defaults to `undefined`.
  35104. */
  35105. borderColor?: (ColorString|GradientColorObject|PatternObject);
  35106. /**
  35107. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  35108. * the data label.
  35109. */
  35110. borderRadius?: number;
  35111. /**
  35112. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  35113. * the data label.
  35114. */
  35115. borderWidth?: number;
  35116. /**
  35117. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  35118. * Particularly in styled mode, this can be used to give each series' or
  35119. * point's data label unique styling. In addition to this option, a default
  35120. * color class name is added so that we can give the labels a contrast text
  35121. * shadow.
  35122. */
  35123. className?: string;
  35124. /**
  35125. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  35126. * labels. Defaults to `undefined`. For certain series types, like column or
  35127. * map, the data labels can be drawn inside the points. In this case the
  35128. * data label will be drawn with maximum contrast by default. Additionally,
  35129. * it will be given a `text-outline` style with the opposite color, to
  35130. * further increase the contrast. This can be overridden by setting the
  35131. * `text-outline` style to `none` in the `dataLabels.style` option.
  35132. */
  35133. color?: (ColorString|GradientColorObject|PatternObject);
  35134. /**
  35135. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  35136. * are outside the plot area. By default, the data label is moved inside the
  35137. * plot area according to the overflow option.
  35138. */
  35139. crop?: boolean;
  35140. /**
  35141. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  35142. * labels until the initial series animation has finished. Setting to
  35143. * `false` renders the data label immediately. If set to `true` inherits the
  35144. * defer time set in plotOptions.series.animation. If set to a number, a
  35145. * defer time is specified in milliseconds.
  35146. */
  35147. defer?: (boolean|number);
  35148. /**
  35149. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  35150. * labels.
  35151. */
  35152. enabled?: boolean;
  35153. /**
  35154. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  35155. * of which data labels to display. The declarative filter is designed for
  35156. * use when callback functions are not available, like when the chart
  35157. * options require a pure JSON structure or for use with graphical editors.
  35158. * For programmatic control, use the `formatter` instead, and return
  35159. * `undefined` to disable a single data label.
  35160. */
  35161. filter?: DataLabelsFilterOptionsObject;
  35162. /**
  35163. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  35164. * label. Available variables are the same as for `formatter`.
  35165. */
  35166. format?: string;
  35167. /**
  35168. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  35169. * format the data label. Note that if a `format` is defined, the format
  35170. * takes precedence and the formatter is ignored.
  35171. */
  35172. formatter?: DataLabelsFormatterCallbackFunction;
  35173. /**
  35174. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  35175. * columns or map areas, whether to align the data label inside the box or
  35176. * to the actual value point. Defaults to `false` in most cases, `true` in
  35177. * stacked columns.
  35178. */
  35179. inside?: boolean;
  35180. /**
  35181. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  35182. * of null. Works analogously to format. `nullFormat` can be applied only to
  35183. * series which support displaying null points.
  35184. */
  35185. nullFormat?: (boolean|string);
  35186. /**
  35187. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  35188. * that defines formatting for points with the value of null. Works
  35189. * analogously to formatter. `nullPointFormatter` can be applied only to
  35190. * series which support displaying null points.
  35191. */
  35192. nullFormatter?: DataLabelsFormatterCallbackFunction;
  35193. /**
  35194. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  35195. * flow outside the plot area. The default is `"justify"`, which aligns them
  35196. * inside the plot area. For columns and bars, this means it will be moved
  35197. * inside the bar. To display data labels outside the plot area, set `crop`
  35198. * to `false` and `overflow` to `"allow"`.
  35199. */
  35200. overflow?: DataLabelsOverflowValue;
  35201. /**
  35202. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  35203. * the `backgroundColor` is set, this is the padding within the box.
  35204. */
  35205. padding?: number;
  35206. /**
  35207. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  35208. * points. If `center` alignment is not possible, it defaults to `right`.
  35209. */
  35210. position?: AlignValue;
  35211. /**
  35212. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  35213. * that due to a more complex structure, backgrounds, borders and padding
  35214. * will be lost on a rotated data label.
  35215. */
  35216. rotation?: number;
  35217. /**
  35218. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  35219. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  35220. * an object configuration containing `color`, `offsetX`, `offsetY`,
  35221. * `opacity` and `width`.
  35222. */
  35223. shadow?: (boolean|ShadowOptionsObject);
  35224. /**
  35225. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  35226. * the border around the label. Symbols are predefined functions on the
  35227. * Renderer object.
  35228. */
  35229. shape?: string;
  35230. /**
  35231. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  35232. * default `color` setting is `"contrast"`, which is a pseudo color that
  35233. * Highcharts picks up and applies the maximum contrast to the underlying
  35234. * point item, for example the bar in a bar chart.
  35235. *
  35236. * The `textOutline` is a pseudo property that applies an outline of the
  35237. * given width with the given color, which by default is the maximum
  35238. * contrast to the text. So a bright text color will result in a black text
  35239. * outline for maximum readability on a mixed background. In some cases,
  35240. * especially with grayscale text, the text outline doesn't work well, in
  35241. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  35242. * is true, the `textOutline` will not be picked up. In this, case, the same
  35243. * effect can be acheived through the `text-shadow` CSS property.
  35244. *
  35245. * For some series types, where each point has an extent, like for example
  35246. * tree maps, the data label may overflow the point. There are two
  35247. * strategies for handling overflow. By default, the text will wrap to
  35248. * multiple lines. The other strategy is to set `style.textOverflow` to
  35249. * `ellipsis`, which will keep the text on one line plus it will break
  35250. * inside long words.
  35251. */
  35252. style?: CSSObject;
  35253. /**
  35254. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  35255. * should follow marker's shape. Border and background are disabled for a
  35256. * label that follows a path.
  35257. *
  35258. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  35259. * to true will disable this option.
  35260. */
  35261. textPath?: DataLabelsTextPathOptionsObject;
  35262. /**
  35263. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  35264. * the labels.
  35265. */
  35266. useHTML?: boolean;
  35267. /**
  35268. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  35269. * label. Can be one of `top`, `middle` or `bottom`. The default value
  35270. * depends on the data, for instance in a column chart, the label is above
  35271. * positive values and below negative values.
  35272. */
  35273. verticalAlign?: string;
  35274. /**
  35275. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  35276. * label relative to the point in pixels.
  35277. */
  35278. x?: number;
  35279. /**
  35280. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  35281. * label relative to the point in pixels.
  35282. */
  35283. y?: number;
  35284. /**
  35285. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  35286. * The default Z index puts it above the series. Use a Z index of 2 to
  35287. * display it behind the series.
  35288. */
  35289. z?: number;
  35290. }
  35291. /**
  35292. * (Highcharts, Highstock) Options for the series data sorting.
  35293. */
  35294. export interface PlotColumnDataSortingOptions {
  35295. /**
  35296. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  35297. * Use xAxis.reversed to change the sorting order.
  35298. */
  35299. enabled?: boolean;
  35300. /**
  35301. * (Highcharts, Highstock) Whether to allow matching points by name in an
  35302. * update. If this option is disabled, points will be matched by order.
  35303. */
  35304. matchByName?: boolean;
  35305. /**
  35306. * (Highcharts, Highstock) Determines what data value should be used to sort
  35307. * by.
  35308. */
  35309. sortKey?: string;
  35310. }
  35311. /**
  35312. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  35313. * one state by default, the `default` state.
  35314. */
  35315. export interface PlotColumnDragDropGuideBoxOptions {
  35316. /**
  35317. * (Highcharts, Highstock) Style options for the guide box default state.
  35318. */
  35319. default?: DragDropGuideBoxOptionsObject;
  35320. }
  35321. /**
  35322. * (Highcharts, Highstock) Column series display one column per value along an X
  35323. * axis.
  35324. *
  35325. * In TypeScript the type option must always be set.
  35326. *
  35327. * Configuration options for the series are given in three levels:
  35328. *
  35329. * 1. Options for all series in a chart are defined in the plotOptions.series
  35330. * object.
  35331. *
  35332. * 2. Options for all `column` series are defined in plotOptions.column.
  35333. *
  35334. * 3. Options for one single series are given in the series instance array. (see
  35335. * online documentation for example)
  35336. */
  35337. export interface PlotColumnOptions {
  35338. /**
  35339. * (Highcharts, Highstock) Accessibility options for a series.
  35340. */
  35341. accessibility?: SeriesAccessibilityOptionsObject;
  35342. /**
  35343. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  35344. * rendered. If `true`, areas which don't correspond to a data point, are
  35345. * rendered as `null` points. If `false`, those areas are skipped.
  35346. */
  35347. allAreas?: boolean;
  35348. /**
  35349. * (Highcharts, Highstock) Allow this series' points to be selected by
  35350. * clicking on the graphic (columns, point markers, pie slices, map areas
  35351. * etc).
  35352. *
  35353. * The selected points can be handled by point select and unselect events,
  35354. * or collectively by the getSelectedPoints function.
  35355. *
  35356. * And alternative way of selecting points is through dragging.
  35357. */
  35358. allowPointSelect?: boolean;
  35359. /**
  35360. * (Highcharts, Highstock) Enable or disable the initial animation when a
  35361. * series is displayed. The animation can also be set as a configuration
  35362. * object. Please note that this option only applies to the initial
  35363. * animation of the series itself. For other animations, see chart.animation
  35364. * and the animation parameter under the API methods. The following
  35365. * properties are supported:
  35366. *
  35367. * - `defer`: The animation delay time in milliseconds.
  35368. *
  35369. * - `duration`: The duration of the animation in milliseconds.
  35370. *
  35371. * - `easing`: Can be a string reference to an easing function set on the
  35372. * `Math` object or a function. See the _Custom easing function_ demo below.
  35373. *
  35374. * Due to poor performance, animation is disabled in old IE browsers for
  35375. * several chart types.
  35376. */
  35377. animation?: (boolean|PlotColumnAnimationOptions|Partial<AnimationOptionsObject>);
  35378. /**
  35379. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  35380. * initial animation by default when the total number of points in the chart
  35381. * is too high. For example, for a column chart and its derivatives,
  35382. * animation does not run if there is more than 250 points totally. To
  35383. * disable this cap, set `animationLimit` to `Infinity`.
  35384. */
  35385. animationLimit?: number;
  35386. /**
  35387. * (Highcharts, Highstock) Sets the color blending in the boost module.
  35388. */
  35389. boostBlending?: OptionsBoostBlendingValue;
  35390. /**
  35391. * (Highcharts, Highstock) Set the point threshold for when a series should
  35392. * enter boost mode.
  35393. *
  35394. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  35395. * there are 2000 or more points in the series.
  35396. *
  35397. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  35398. * it to 1 will force boosting.
  35399. *
  35400. * Note that the cropThreshold also affects this setting. When zooming in on
  35401. * a series that has fewer points than the `cropThreshold`, all points are
  35402. * rendered although outside the visible plot area, and the `boostThreshold`
  35403. * won't take effect.
  35404. */
  35405. boostThreshold?: number;
  35406. /**
  35407. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  35408. * column or bar.
  35409. *
  35410. * In styled mode, the border stroke can be set with the `.highcharts-point`
  35411. * rule.
  35412. */
  35413. borderColor?: (ColorString|GradientColorObject|PatternObject);
  35414. /**
  35415. * (Highcharts, Highstock, Gantt) The corner radius of the border
  35416. * surrounding each column or bar.
  35417. */
  35418. borderRadius?: number;
  35419. /**
  35420. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  35421. * column or bar. Defaults to `1` when there is room for a border, but to
  35422. * `0` when the columns are so dense that a border would cover the next
  35423. * column.
  35424. *
  35425. * In styled mode, the stroke width can be set with the `.highcharts-point`
  35426. * rule.
  35427. */
  35428. borderWidth?: number;
  35429. /**
  35430. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  35431. * the category, ignoring null or missing points. When `false`, space will
  35432. * be reserved for null or missing points.
  35433. */
  35434. centerInCategory?: boolean;
  35435. /**
  35436. * (Highcharts, Highstock) An additional class name to apply to the series'
  35437. * graphical elements. This option does not replace default class names of
  35438. * the graphical element.
  35439. */
  35440. className?: string;
  35441. /**
  35442. * (Highcharts, Highstock) Disable this option to allow series rendering in
  35443. * the whole plotting area.
  35444. *
  35445. * **Note:** Clipping should be always enabled when chart.zoomType is set
  35446. */
  35447. clip?: boolean;
  35448. /**
  35449. * (Highcharts, Highstock) The main color of the series. In line type series
  35450. * it applies to the line and the point markers unless otherwise specified.
  35451. * In bar type series it applies to the bars unless a color is specified per
  35452. * point. The default value is pulled from the `options.colors` array.
  35453. *
  35454. * In styled mode, the color can be defined by the colorIndex option. Also,
  35455. * the series color can be set with the `.highcharts-series`,
  35456. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  35457. * `.highcharts-series-{n}` class, or individual classes given by the
  35458. * `className` option.
  35459. */
  35460. color?: (ColorString|GradientColorObject|PatternObject);
  35461. /**
  35462. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  35463. * this number defines which colorAxis the particular series is connected
  35464. * to. It refers to either the axis id or the index of the axis in the
  35465. * colorAxis array, with 0 being the first. Set this option to false to
  35466. * prevent a series from connecting to the default color axis.
  35467. *
  35468. * Since v7.2.0 the option can also be an axis id or an axis index instead
  35469. * of a boolean flag.
  35470. */
  35471. colorAxis?: (boolean|number|string);
  35472. /**
  35473. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  35474. * from the global colors or series-specific plotOptions.column.colors
  35475. * collections, this option determines whether the chart should receive one
  35476. * color per series or one color per point.
  35477. *
  35478. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  35479. * and instead this option gives the points individual color class names on
  35480. * the form `highcharts-color-{n}`.
  35481. */
  35482. colorByPoint?: boolean;
  35483. /**
  35484. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  35485. * for the series, so its graphic representations are given the class name
  35486. * `highcharts-color-{n}`.
  35487. */
  35488. colorIndex?: number;
  35489. /**
  35490. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  35491. * used to calculate point color if `colorAxis` is used. Requires to set
  35492. * `min` and `max` if some custom point property is used or if approximation
  35493. * for data grouping is set to `'sum'`.
  35494. */
  35495. colorKey?: string;
  35496. /**
  35497. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  35498. * color set to apply instead of the global colors when colorByPoint is
  35499. * true.
  35500. */
  35501. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  35502. /**
  35503. * (Highstock) Compare the values of the series against the first non-null,
  35504. * non- zero value in the visible range. The y axis will show percentage or
  35505. * absolute change depending on whether `compare` is set to `"percent"` or
  35506. * `"value"`. When this is applied to multiple series, it allows comparing
  35507. * the development of the series against each other. Adds a `change` field
  35508. * to every point object.
  35509. */
  35510. compare?: string;
  35511. /**
  35512. * (Highstock) When compare is `percent`, this option dictates whether to
  35513. * use 0 or 100 as the base of comparison.
  35514. */
  35515. compareBase?: (0|100);
  35516. /**
  35517. * (Highstock) Defines if comparison should start from the first point
  35518. * within the visible range or should start from the first point **before**
  35519. * the range.
  35520. *
  35521. * In other words, this flag determines if first point within the visible
  35522. * range will have 0% (`compareStart=true`) or should have been already
  35523. * calculated according to the previous point (`compareStart=false`).
  35524. */
  35525. compareStart?: boolean;
  35526. /**
  35527. * (Gantt) Override Pathfinder connector options for a series. Requires
  35528. * Highcharts Gantt to be loaded.
  35529. */
  35530. connectors?: SeriesConnectorsOptionsObject;
  35531. /**
  35532. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  35533. * rounded to its nearest pixel in order to render sharp on screen. In some
  35534. * cases, when there are a lot of densely packed columns, this leads to
  35535. * visible difference in column widths or distance between columns. In these
  35536. * cases, setting `crisp` to `false` may look better, even though each
  35537. * column is rendered blurry.
  35538. */
  35539. crisp?: boolean;
  35540. /**
  35541. * (Highcharts, Highstock, Gantt) When the series contains less points than
  35542. * the crop threshold, all points are drawn, event if the points fall
  35543. * outside the visible plot area at the current zoom. The advantage of
  35544. * drawing all points (including markers and columns), is that animation is
  35545. * performed on updates. On the other hand, when the series contains more
  35546. * points than the crop threshold, the series data is cropped to only
  35547. * contain points that fall within the plot area. The advantage of cropping
  35548. * away invisible points is to increase performance on large series.
  35549. */
  35550. cropThreshold?: number;
  35551. /**
  35552. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  35553. * click events attached to the series, to signal to the user that the
  35554. * points and lines can be clicked.
  35555. *
  35556. * In styled mode, the series cursor can be set with the same classes as
  35557. * listed under series.color.
  35558. */
  35559. cursor?: (string|CursorValue);
  35560. /**
  35561. * (Highcharts, Highstock) A reserved subspace to store options and values
  35562. * for customized functionality. Here you can add additional data for your
  35563. * own event callbacks and formatter callbacks.
  35564. */
  35565. custom?: Dictionary<any>;
  35566. /**
  35567. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  35568. * for some series types the outline of each shape.
  35569. *
  35570. * In styled mode, the stroke dash-array can be set with the same classes as
  35571. * listed under series.color.
  35572. */
  35573. dashStyle?: DashStyleValue;
  35574. /**
  35575. * (Highstock) Data grouping is the concept of sampling the data values into
  35576. * larger blocks in order to ease readability and increase performance of
  35577. * the JavaScript charts. Highcharts Stock by default applies data grouping
  35578. * when the points become closer than a certain pixel value, determined by
  35579. * the `groupPixelWidth` option.
  35580. *
  35581. * If data grouping is applied, the grouping information of grouped points
  35582. * can be read from the Point.dataGroup. If point options other than the
  35583. * data itself are set, for example `name` or `color` or custom properties,
  35584. * the grouping logic doesn't know how to group it. In this case the options
  35585. * of the first point instance are copied over to the group point. This can
  35586. * be altered through a custom `approximation` callback function.
  35587. */
  35588. dataGrouping?: DataGroupingOptionsObject;
  35589. /**
  35590. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  35591. * labels, appearing next to each data point.
  35592. *
  35593. * Since v6.2.0, multiple data labels can be applied to each single point by
  35594. * defining them as an array of configs.
  35595. *
  35596. * In styled mode, the data labels can be styled with the
  35597. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  35598. * (see example).
  35599. */
  35600. dataLabels?: (PlotColumnDataLabelsOptions|Array<PlotColumnDataLabelsOptions>);
  35601. /**
  35602. * (Highcharts, Highstock) Options for the series data sorting.
  35603. */
  35604. dataSorting?: (DataSortingOptionsObject|PlotColumnDataSortingOptions);
  35605. /**
  35606. * (Highcharts) Depth of the columns in a 3D column chart.
  35607. */
  35608. depth?: number;
  35609. /**
  35610. * (Highcharts, Highstock) A description of the series to add to the screen
  35611. * reader information about the series.
  35612. */
  35613. description?: string;
  35614. /**
  35615. * (Highcharts, Highstock) The draggable-points module allows points to be
  35616. * moved around or modified in the chart. In addition to the options
  35617. * mentioned under the `dragDrop` API structure, the module fires three
  35618. * events, point.dragStart, point.drag and point.drop.
  35619. */
  35620. dragDrop?: SeriesDragDropOptionsObject;
  35621. /**
  35622. * (Highcharts) 3D columns only. The color of the edges. Similar to
  35623. * `borderColor`, except it defaults to the same color as the column.
  35624. */
  35625. edgeColor?: ColorString;
  35626. /**
  35627. * (Highcharts) 3D columns only. The width of the colored edges.
  35628. */
  35629. edgeWidth?: number;
  35630. /**
  35631. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  35632. * specific series. This includes point tooltips and click events on graphs
  35633. * and points. For large datasets it improves performance.
  35634. */
  35635. enableMouseTracking?: boolean;
  35636. /**
  35637. * (Highcharts, Highstock) General event handlers for the series items.
  35638. * These event hooks can also be attached to the series at run time using
  35639. * the `Highcharts.addEvent` function.
  35640. */
  35641. events?: SeriesEventsOptionsObject;
  35642. /**
  35643. * (Highcharts, Highstock) Determines whether the series should look for the
  35644. * nearest point in both dimensions or just the x-dimension when hovering
  35645. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  35646. * other series. If the data has duplicate x-values, it is recommended to
  35647. * set this to `'xy'` to allow hovering over all points.
  35648. *
  35649. * Applies only to series types using nearest neighbor search (not direct
  35650. * hover) for tooltip.
  35651. */
  35652. findNearestPointBy?: OptionsFindNearestPointByValue;
  35653. /**
  35654. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  35655. * chart width or only the zoomed area when zooming in on parts of the X
  35656. * axis. By default, the Y axis adjusts to the min and max of the visible
  35657. * data. Cartesian series only.
  35658. */
  35659. getExtremesFromAll?: boolean;
  35660. /**
  35661. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  35662. * let them render independent of each other. Non-grouped columns will be
  35663. * laid out individually and overlap each other.
  35664. */
  35665. grouping?: boolean;
  35666. /**
  35667. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  35668. * axis units.
  35669. */
  35670. groupPadding?: number;
  35671. /**
  35672. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  35673. */
  35674. groupZPadding?: number;
  35675. /**
  35676. * (Highcharts, Highstock) When set to `false` will prevent the series data
  35677. * from being included in any form of data export.
  35678. *
  35679. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  35680. * `includeInCSVExport`.
  35681. */
  35682. includeInDataExport?: boolean;
  35683. /**
  35684. * (Highmaps) What property to join the `mapData` to the value data. For
  35685. * example, if joinBy is "code", the mapData items with a specific code is
  35686. * merged into the data with the same code. For maps loaded from GeoJSON,
  35687. * the keys may be held in each point's `properties` object.
  35688. *
  35689. * The joinBy option can also be an array of two values, where the first
  35690. * points to a key in the `mapData`, and the second points to another key in
  35691. * the `data`.
  35692. *
  35693. * When joinBy is `null`, the map items are joined by their position in the
  35694. * array, which performs much better in maps with many data points. This is
  35695. * the recommended option if you are printing more than a thousand data
  35696. * points and have a backend that can preprocess the data into a parallel
  35697. * array of the mapData.
  35698. */
  35699. joinBy?: (string|Array<string>);
  35700. /**
  35701. * (Highcharts, Highstock) An array specifying which option maps to which
  35702. * key in the data point array. This makes it convenient to work with
  35703. * unstructured data arrays from different sources.
  35704. */
  35705. keys?: Array<string>;
  35706. /**
  35707. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  35708. * series as possible in a natural way, seeking to avoid other series. The
  35709. * goal of this feature is to make the chart more easily readable, like if a
  35710. * human designer placed the labels in the optimal position.
  35711. *
  35712. * The series labels currently work with series types having a `graph` or an
  35713. * `area`.
  35714. */
  35715. label?: SeriesLabelOptionsObject;
  35716. /**
  35717. * (Highstock) The line marks the last price from all points.
  35718. */
  35719. lastPrice?: SeriesLastPriceOptionsObject;
  35720. /**
  35721. * (Highstock) The line marks the last price from visible range of points.
  35722. */
  35723. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  35724. /**
  35725. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  35726. * Additionally, the value can be ":previous" to link to the previous
  35727. * series. When two series are linked, only the first one appears in the
  35728. * legend. Toggling the visibility of this also toggles the linked series.
  35729. *
  35730. * If master series uses data sorting and linked series does not have its
  35731. * own sorting definition, the linked series will be sorted in the same
  35732. * order as the master one.
  35733. */
  35734. linkedTo?: string;
  35735. /**
  35736. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  35737. * column, translated to the height of a bar in a bar chart. This prevents
  35738. * the columns from becoming too wide when there is a small number of points
  35739. * in the chart.
  35740. */
  35741. maxPointWidth?: number;
  35742. /**
  35743. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  35744. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  35745. * to zero) point, set the minimal point length to a pixel value like 3\. In
  35746. * stacked column charts, minPointLength might not be respected for tightly
  35747. * packed values.
  35748. */
  35749. minPointLength?: number;
  35750. /**
  35751. * (Highstock) Options for the corresponding navigator series if
  35752. * `showInNavigator` is `true` for this series. Available options are the
  35753. * same as any series, documented at plotOptions and series.
  35754. *
  35755. * These options are merged with options in navigator.series, and will take
  35756. * precedence if the same option is defined both places.
  35757. */
  35758. navigatorOptions?: PlotSeriesOptions;
  35759. /**
  35760. * (Highcharts, Highstock) The color for the parts of the graph or points
  35761. * that are below the threshold. Note that `zones` takes precedence over the
  35762. * negative color. Using `negativeColor` is equivalent to applying a zone
  35763. * with value of 0.
  35764. */
  35765. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  35766. /**
  35767. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  35768. * and dataLabels.
  35769. */
  35770. opacity?: number;
  35771. /**
  35772. * (Highcharts, Highstock) Properties for each single point.
  35773. */
  35774. point?: PlotSeriesPointOptions;
  35775. /**
  35776. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  35777. * but for an individual series. Overrides the chart wide configuration.
  35778. */
  35779. pointDescriptionFormatter?: Function;
  35780. /**
  35781. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  35782. * a series, `pointInterval` defines the interval of the x values. For
  35783. * example, if a series contains one value every decade starting from year
  35784. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  35785. * `pointInterval` is set in milliseconds.
  35786. *
  35787. * It can be also be combined with `pointIntervalUnit` to draw irregular
  35788. * time intervals.
  35789. *
  35790. * Please note that this options applies to the _series data_, not the
  35791. * interval of the axis ticks, which is independent.
  35792. */
  35793. pointInterval?: number;
  35794. /**
  35795. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  35796. * setting the pointInterval to irregular time units, `day`, `month` and
  35797. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  35798. * also takes the DST crossover into consideration when dealing with local
  35799. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  35800. * months, 10 years etc.
  35801. *
  35802. * Please note that this options applies to the _series data_, not the
  35803. * interval of the axis ticks, which is independent.
  35804. */
  35805. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  35806. /**
  35807. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  35808. * axis units.
  35809. */
  35810. pointPadding?: number;
  35811. /**
  35812. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  35813. * `number`.
  35814. *
  35815. * In a column chart, when pointPlacement is `"on"`, the point will not
  35816. * create any padding of the X axis. In a polar column chart this means that
  35817. * the first column points directly north. If the pointPlacement is
  35818. * `"between"`, the columns will be laid out between ticks. This is useful
  35819. * for example for visualising an amount between two points in time or in a
  35820. * certain sector of a polar chart.
  35821. *
  35822. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  35823. * is on the axis value, -0.5 is between this value and the previous, and
  35824. * 0.5 is between this value and the next. Unlike the textual options,
  35825. * numeric point placement options won't affect axis padding.
  35826. *
  35827. * Note that pointPlacement needs a pointRange to work. For column series
  35828. * this is computed, but for line-type series it needs to be set.
  35829. *
  35830. * For the `xrange` series type and gantt charts, if the Y axis is a
  35831. * category axis, the `pointPlacement` applies to the Y axis rather than the
  35832. * (typically datetime) X axis.
  35833. *
  35834. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  35835. */
  35836. pointPlacement?: (number|string);
  35837. /**
  35838. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  35839. * for. This determines the width of the column. On a categorized axis, the
  35840. * range will be 1 by default (one category unit). On linear and datetime
  35841. * axes, the range will be computed as the distance between the two closest
  35842. * data points.
  35843. *
  35844. * The default `null` means it is computed automatically, but this option
  35845. * can be used to override the automatic value.
  35846. *
  35847. * This option is set by default to 1 if data sorting is enabled.
  35848. */
  35849. pointRange?: (number|null);
  35850. /**
  35851. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  35852. * a series, pointStart defines on what value to start. For example, if a
  35853. * series contains one yearly value starting from 1945, set pointStart to
  35854. * 1945.
  35855. */
  35856. pointStart?: number;
  35857. /**
  35858. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  35859. * each column or bar point. When set to `undefined`, the width is
  35860. * calculated from the `pointPadding` and `groupPadding`. The width effects
  35861. * the dimension that is not based on the point value. For column series it
  35862. * is the hoizontal length and for bar series it is the vertical length.
  35863. */
  35864. pointWidth?: number;
  35865. /**
  35866. * (Highcharts, Highstock) Whether to select the series initially. If
  35867. * `showCheckbox` is true, the checkbox next to the series name in the
  35868. * legend will be checked for a selected series.
  35869. */
  35870. selected?: boolean;
  35871. /**
  35872. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  35873. * Since 2.3 the shadow can be an object configuration containing `color`,
  35874. * `offsetX`, `offsetY`, `opacity` and `width`.
  35875. */
  35876. shadow?: (boolean|ShadowOptionsObject);
  35877. /**
  35878. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  35879. * legend item to allow selecting the series. The state of the checkbox is
  35880. * determined by the `selected` option.
  35881. */
  35882. showCheckbox?: boolean;
  35883. /**
  35884. * (Highcharts, Highstock) Whether to display this particular series or
  35885. * series type in the legend. Standalone series are shown in legend by
  35886. * default, and linked series are not. Since v7.2.0 it is possible to show
  35887. * series that use colorAxis by setting this option to `true`.
  35888. */
  35889. showInLegend?: boolean;
  35890. /**
  35891. * (Highstock) Whether or not to show the series in the navigator. Takes
  35892. * precedence over navigator.baseSeries if defined.
  35893. */
  35894. showInNavigator?: boolean;
  35895. /**
  35896. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  35897. * skip past the points in this series for keyboard navigation.
  35898. */
  35899. skipKeyboardNavigation?: boolean;
  35900. /**
  35901. * (Highcharts, Highstock) When this is true, the series will not cause the
  35902. * Y axis to cross the zero plane (or threshold option) unless the data
  35903. * actually crosses the plane.
  35904. *
  35905. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  35906. * make the Y axis show negative values according to the `minPadding`
  35907. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  35908. */
  35909. softThreshold?: boolean;
  35910. /**
  35911. * (Highcharts, Highstock) Whether to stack the values of each series on top
  35912. * of each other. Possible values are `undefined` to disable, `"normal"` to
  35913. * stack by value or `"percent"`.
  35914. *
  35915. * When stacking is enabled, data must be sorted in ascending X order.
  35916. *
  35917. * Some stacking options are related to specific series types. In the
  35918. * streamgraph series type, the stacking option is set to `"stream"`. The
  35919. * second one is `"overlap"`, which only applies to waterfall series.
  35920. */
  35921. stacking?: OptionsStackingValue;
  35922. states?: SeriesStatesOptionsObject;
  35923. /**
  35924. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  35925. * `mouseOut` event on a series isn't triggered until the mouse moves over
  35926. * another series, or out of the plot area. When false, the `mouseOut` event
  35927. * on a series is triggered when the mouse leaves the area around the
  35928. * series' graph or markers. This also implies the tooltip when not shared.
  35929. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  35930. * will be hidden when moving the mouse between series. Defaults to true for
  35931. * line and area type series, but to false for columns, pies etc.
  35932. *
  35933. * **Note:** The boost module will force this option because of technical
  35934. * limitations.
  35935. */
  35936. stickyTracking?: boolean;
  35937. /**
  35938. * (Highcharts) The Y axis value to serve as the base for the columns, for
  35939. * distinguishing between values above and below a threshold. If `null`, the
  35940. * columns extend from the padding Y axis minimum.
  35941. */
  35942. threshold?: (number|null);
  35943. /**
  35944. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  35945. * of each single series. Properties are inherited from tooltip, but only
  35946. * the following properties can be defined on a series level.
  35947. */
  35948. tooltip?: SeriesTooltipOptionsObject;
  35949. /**
  35950. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  35951. * is longer than this, only one dimensional arrays of numbers, or two
  35952. * dimensional arrays with x and y values are allowed. Also, only the first
  35953. * point is tested, and the rest are assumed to be the same format. This
  35954. * saves expensive data checking and indexing in long series. Set it to `0`
  35955. * disable.
  35956. *
  35957. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  35958. * two dimensional arrays are allowed.
  35959. */
  35960. turboThreshold?: number;
  35961. /**
  35962. * (Highcharts, Highstock) Set the initial visibility of the series.
  35963. */
  35964. visible?: boolean;
  35965. /**
  35966. * (Highmaps) Define the z index of the series.
  35967. */
  35968. zIndex?: number;
  35969. /**
  35970. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  35971. */
  35972. zoneAxis?: string;
  35973. /**
  35974. * (Highcharts, Highstock) An array defining zones within a series. Zones
  35975. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  35976. * the `zoneAxis` option. The zone definitions have to be in ascending order
  35977. * regarding to the value.
  35978. *
  35979. * In styled mode, the color zones are styled with the
  35980. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  35981. * option (view live demo).
  35982. */
  35983. zones?: Array<SeriesZonesOptionsObject>;
  35984. }
  35985. /**
  35986. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  35987. * is displayed. The animation can also be set as a configuration object. Please
  35988. * note that this option only applies to the initial animation of the series
  35989. * itself. For other animations, see chart.animation and the animation parameter
  35990. * under the API methods. The following properties are supported:
  35991. *
  35992. * - `defer`: The animation delay time in milliseconds.
  35993. *
  35994. * - `duration`: The duration of the animation in milliseconds.
  35995. *
  35996. * - `easing`: Can be a string reference to an easing function set on the `Math`
  35997. * object or a function. See the _Custom easing function_ demo below.
  35998. *
  35999. * Due to poor performance, animation is disabled in old IE browsers for several
  36000. * chart types.
  36001. */
  36002. export interface PlotColumnpyramidAnimationOptions {
  36003. defer?: number;
  36004. }
  36005. /**
  36006. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  36007. * animation when a series is displayed for the `dataLabels`. The animation can
  36008. * also be set as a configuration object. Please note that this option only
  36009. * applies to the initial animation. For other animations, see chart.animation
  36010. * and the animation parameter under the API methods. The following properties
  36011. * are supported:
  36012. *
  36013. * - `defer`: The animation delay time in milliseconds.
  36014. */
  36015. export interface PlotColumnpyramidDataLabelsAnimationOptions {
  36016. /**
  36017. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  36018. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  36019. * inherits defer time from the series.animation.defer.
  36020. */
  36021. defer?: number;
  36022. }
  36023. /**
  36024. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  36025. * appearing next to each data point.
  36026. *
  36027. * Since v6.2.0, multiple data labels can be applied to each single point by
  36028. * defining them as an array of configs.
  36029. *
  36030. * In styled mode, the data labels can be styled with the
  36031. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  36032. * example).
  36033. */
  36034. export interface PlotColumnpyramidDataLabelsOptions {
  36035. /**
  36036. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  36037. * compared to the point. If `right`, the right side of the label should be
  36038. * touching the point. For points with an extent, like columns, the
  36039. * alignments also dictates how to align it inside the box, as given with
  36040. * the inside option. Can be one of `left`, `center` or `right`.
  36041. */
  36042. align?: string;
  36043. /**
  36044. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  36045. * overlap. To make the labels less sensitive for overlapping, the
  36046. * dataLabels.padding can be set to 0.
  36047. */
  36048. allowOverlap?: boolean;
  36049. /**
  36050. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  36051. * animation when a series is displayed for the `dataLabels`. The animation
  36052. * can also be set as a configuration object. Please note that this option
  36053. * only applies to the initial animation. For other animations, see
  36054. * chart.animation and the animation parameter under the API methods. The
  36055. * following properties are supported:
  36056. *
  36057. * - `defer`: The animation delay time in milliseconds.
  36058. */
  36059. animation?: (boolean|PlotColumnpyramidDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  36060. /**
  36061. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  36062. * for the data label.
  36063. */
  36064. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  36065. /**
  36066. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  36067. * label. Defaults to `undefined`.
  36068. */
  36069. borderColor?: (ColorString|GradientColorObject|PatternObject);
  36070. /**
  36071. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  36072. * the data label.
  36073. */
  36074. borderRadius?: number;
  36075. /**
  36076. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  36077. * the data label.
  36078. */
  36079. borderWidth?: number;
  36080. /**
  36081. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  36082. * Particularly in styled mode, this can be used to give each series' or
  36083. * point's data label unique styling. In addition to this option, a default
  36084. * color class name is added so that we can give the labels a contrast text
  36085. * shadow.
  36086. */
  36087. className?: string;
  36088. /**
  36089. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  36090. * labels. Defaults to `undefined`. For certain series types, like column or
  36091. * map, the data labels can be drawn inside the points. In this case the
  36092. * data label will be drawn with maximum contrast by default. Additionally,
  36093. * it will be given a `text-outline` style with the opposite color, to
  36094. * further increase the contrast. This can be overridden by setting the
  36095. * `text-outline` style to `none` in the `dataLabels.style` option.
  36096. */
  36097. color?: (ColorString|GradientColorObject|PatternObject);
  36098. /**
  36099. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  36100. * are outside the plot area. By default, the data label is moved inside the
  36101. * plot area according to the overflow option.
  36102. */
  36103. crop?: boolean;
  36104. /**
  36105. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  36106. * labels until the initial series animation has finished. Setting to
  36107. * `false` renders the data label immediately. If set to `true` inherits the
  36108. * defer time set in plotOptions.series.animation. If set to a number, a
  36109. * defer time is specified in milliseconds.
  36110. */
  36111. defer?: (boolean|number);
  36112. /**
  36113. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  36114. * labels.
  36115. */
  36116. enabled?: boolean;
  36117. /**
  36118. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  36119. * of which data labels to display. The declarative filter is designed for
  36120. * use when callback functions are not available, like when the chart
  36121. * options require a pure JSON structure or for use with graphical editors.
  36122. * For programmatic control, use the `formatter` instead, and return
  36123. * `undefined` to disable a single data label.
  36124. */
  36125. filter?: DataLabelsFilterOptionsObject;
  36126. /**
  36127. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  36128. * label. Available variables are the same as for `formatter`.
  36129. */
  36130. format?: string;
  36131. /**
  36132. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  36133. * format the data label. Note that if a `format` is defined, the format
  36134. * takes precedence and the formatter is ignored.
  36135. */
  36136. formatter?: DataLabelsFormatterCallbackFunction;
  36137. /**
  36138. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  36139. * columns or map areas, whether to align the data label inside the box or
  36140. * to the actual value point. Defaults to `false` in most cases, `true` in
  36141. * stacked columns.
  36142. */
  36143. inside?: boolean;
  36144. /**
  36145. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  36146. * of null. Works analogously to format. `nullFormat` can be applied only to
  36147. * series which support displaying null points.
  36148. */
  36149. nullFormat?: (boolean|string);
  36150. /**
  36151. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  36152. * that defines formatting for points with the value of null. Works
  36153. * analogously to formatter. `nullPointFormatter` can be applied only to
  36154. * series which support displaying null points.
  36155. */
  36156. nullFormatter?: DataLabelsFormatterCallbackFunction;
  36157. /**
  36158. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  36159. * flow outside the plot area. The default is `"justify"`, which aligns them
  36160. * inside the plot area. For columns and bars, this means it will be moved
  36161. * inside the bar. To display data labels outside the plot area, set `crop`
  36162. * to `false` and `overflow` to `"allow"`.
  36163. */
  36164. overflow?: DataLabelsOverflowValue;
  36165. /**
  36166. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  36167. * the `backgroundColor` is set, this is the padding within the box.
  36168. */
  36169. padding?: number;
  36170. /**
  36171. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  36172. * points. If `center` alignment is not possible, it defaults to `right`.
  36173. */
  36174. position?: AlignValue;
  36175. /**
  36176. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  36177. * that due to a more complex structure, backgrounds, borders and padding
  36178. * will be lost on a rotated data label.
  36179. */
  36180. rotation?: number;
  36181. /**
  36182. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  36183. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  36184. * an object configuration containing `color`, `offsetX`, `offsetY`,
  36185. * `opacity` and `width`.
  36186. */
  36187. shadow?: (boolean|ShadowOptionsObject);
  36188. /**
  36189. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  36190. * the border around the label. Symbols are predefined functions on the
  36191. * Renderer object.
  36192. */
  36193. shape?: string;
  36194. /**
  36195. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  36196. * default `color` setting is `"contrast"`, which is a pseudo color that
  36197. * Highcharts picks up and applies the maximum contrast to the underlying
  36198. * point item, for example the bar in a bar chart.
  36199. *
  36200. * The `textOutline` is a pseudo property that applies an outline of the
  36201. * given width with the given color, which by default is the maximum
  36202. * contrast to the text. So a bright text color will result in a black text
  36203. * outline for maximum readability on a mixed background. In some cases,
  36204. * especially with grayscale text, the text outline doesn't work well, in
  36205. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  36206. * is true, the `textOutline` will not be picked up. In this, case, the same
  36207. * effect can be acheived through the `text-shadow` CSS property.
  36208. *
  36209. * For some series types, where each point has an extent, like for example
  36210. * tree maps, the data label may overflow the point. There are two
  36211. * strategies for handling overflow. By default, the text will wrap to
  36212. * multiple lines. The other strategy is to set `style.textOverflow` to
  36213. * `ellipsis`, which will keep the text on one line plus it will break
  36214. * inside long words.
  36215. */
  36216. style?: CSSObject;
  36217. /**
  36218. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  36219. * should follow marker's shape. Border and background are disabled for a
  36220. * label that follows a path.
  36221. *
  36222. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  36223. * to true will disable this option.
  36224. */
  36225. textPath?: DataLabelsTextPathOptionsObject;
  36226. /**
  36227. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  36228. * the labels.
  36229. */
  36230. useHTML?: boolean;
  36231. /**
  36232. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  36233. * label. Can be one of `top`, `middle` or `bottom`. The default value
  36234. * depends on the data, for instance in a column chart, the label is above
  36235. * positive values and below negative values.
  36236. */
  36237. verticalAlign?: string;
  36238. /**
  36239. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  36240. * label relative to the point in pixels.
  36241. */
  36242. x?: number;
  36243. /**
  36244. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  36245. * label relative to the point in pixels.
  36246. */
  36247. y?: number;
  36248. /**
  36249. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  36250. * The default Z index puts it above the series. Use a Z index of 2 to
  36251. * display it behind the series.
  36252. */
  36253. z?: number;
  36254. }
  36255. /**
  36256. * (Highcharts, Highstock) Options for the series data sorting.
  36257. */
  36258. export interface PlotColumnpyramidDataSortingOptions {
  36259. /**
  36260. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  36261. * Use xAxis.reversed to change the sorting order.
  36262. */
  36263. enabled?: boolean;
  36264. /**
  36265. * (Highcharts, Highstock) Whether to allow matching points by name in an
  36266. * update. If this option is disabled, points will be matched by order.
  36267. */
  36268. matchByName?: boolean;
  36269. /**
  36270. * (Highcharts, Highstock) Determines what data value should be used to sort
  36271. * by.
  36272. */
  36273. sortKey?: string;
  36274. }
  36275. /**
  36276. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  36277. * one state by default, the `default` state.
  36278. */
  36279. export interface PlotColumnpyramidDragDropGuideBoxOptions {
  36280. /**
  36281. * (Highcharts, Highstock) Style options for the guide box default state.
  36282. */
  36283. default?: DragDropGuideBoxOptionsObject;
  36284. }
  36285. /**
  36286. * (Highcharts, Highstock) Column pyramid series display one pyramid per value
  36287. * along an X axis. To display horizontal pyramids, set chart.inverted to
  36288. * `true`.
  36289. *
  36290. * In TypeScript the type option must always be set.
  36291. *
  36292. * Configuration options for the series are given in three levels:
  36293. *
  36294. * 1. Options for all series in a chart are defined in the plotOptions.series
  36295. * object.
  36296. *
  36297. * 2. Options for all `columnpyramid` series are defined in
  36298. * plotOptions.columnpyramid.
  36299. *
  36300. * 3. Options for one single series are given in the series instance array. (see
  36301. * online documentation for example)
  36302. */
  36303. export interface PlotColumnpyramidOptions {
  36304. /**
  36305. * (Highcharts, Highstock) Accessibility options for a series.
  36306. */
  36307. accessibility?: SeriesAccessibilityOptionsObject;
  36308. /**
  36309. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  36310. * rendered. If `true`, areas which don't correspond to a data point, are
  36311. * rendered as `null` points. If `false`, those areas are skipped.
  36312. */
  36313. allAreas?: boolean;
  36314. /**
  36315. * (Highcharts, Highstock) Allow this series' points to be selected by
  36316. * clicking on the graphic (columns, point markers, pie slices, map areas
  36317. * etc).
  36318. *
  36319. * The selected points can be handled by point select and unselect events,
  36320. * or collectively by the getSelectedPoints function.
  36321. *
  36322. * And alternative way of selecting points is through dragging.
  36323. */
  36324. allowPointSelect?: boolean;
  36325. /**
  36326. * (Highcharts, Highstock) Enable or disable the initial animation when a
  36327. * series is displayed. The animation can also be set as a configuration
  36328. * object. Please note that this option only applies to the initial
  36329. * animation of the series itself. For other animations, see chart.animation
  36330. * and the animation parameter under the API methods. The following
  36331. * properties are supported:
  36332. *
  36333. * - `defer`: The animation delay time in milliseconds.
  36334. *
  36335. * - `duration`: The duration of the animation in milliseconds.
  36336. *
  36337. * - `easing`: Can be a string reference to an easing function set on the
  36338. * `Math` object or a function. See the _Custom easing function_ demo below.
  36339. *
  36340. * Due to poor performance, animation is disabled in old IE browsers for
  36341. * several chart types.
  36342. */
  36343. animation?: (boolean|PlotColumnpyramidAnimationOptions|Partial<AnimationOptionsObject>);
  36344. /**
  36345. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  36346. * initial animation by default when the total number of points in the chart
  36347. * is too high. For example, for a column chart and its derivatives,
  36348. * animation does not run if there is more than 250 points totally. To
  36349. * disable this cap, set `animationLimit` to `Infinity`.
  36350. */
  36351. animationLimit?: number;
  36352. /**
  36353. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  36354. * column or bar.
  36355. *
  36356. * In styled mode, the border stroke can be set with the `.highcharts-point`
  36357. * rule.
  36358. */
  36359. borderColor?: (ColorString|GradientColorObject|PatternObject);
  36360. /**
  36361. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  36362. * column or bar. Defaults to `1` when there is room for a border, but to
  36363. * `0` when the columns are so dense that a border would cover the next
  36364. * column.
  36365. *
  36366. * In styled mode, the stroke width can be set with the `.highcharts-point`
  36367. * rule.
  36368. */
  36369. borderWidth?: number;
  36370. /**
  36371. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  36372. * the category, ignoring null or missing points. When `false`, space will
  36373. * be reserved for null or missing points.
  36374. */
  36375. centerInCategory?: boolean;
  36376. /**
  36377. * (Highcharts, Highstock) An additional class name to apply to the series'
  36378. * graphical elements. This option does not replace default class names of
  36379. * the graphical element.
  36380. */
  36381. className?: string;
  36382. /**
  36383. * (Highcharts, Highstock) Disable this option to allow series rendering in
  36384. * the whole plotting area.
  36385. *
  36386. * **Note:** Clipping should be always enabled when chart.zoomType is set
  36387. */
  36388. clip?: boolean;
  36389. /**
  36390. * (Highcharts, Highstock) The main color of the series. In line type series
  36391. * it applies to the line and the point markers unless otherwise specified.
  36392. * In bar type series it applies to the bars unless a color is specified per
  36393. * point. The default value is pulled from the `options.colors` array.
  36394. *
  36395. * In styled mode, the color can be defined by the colorIndex option. Also,
  36396. * the series color can be set with the `.highcharts-series`,
  36397. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  36398. * `.highcharts-series-{n}` class, or individual classes given by the
  36399. * `className` option.
  36400. */
  36401. color?: (ColorString|GradientColorObject|PatternObject);
  36402. /**
  36403. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  36404. * this number defines which colorAxis the particular series is connected
  36405. * to. It refers to either the axis id or the index of the axis in the
  36406. * colorAxis array, with 0 being the first. Set this option to false to
  36407. * prevent a series from connecting to the default color axis.
  36408. *
  36409. * Since v7.2.0 the option can also be an axis id or an axis index instead
  36410. * of a boolean flag.
  36411. */
  36412. colorAxis?: (boolean|number|string);
  36413. /**
  36414. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  36415. * from the global colors or series-specific plotOptions.column.colors
  36416. * collections, this option determines whether the chart should receive one
  36417. * color per series or one color per point.
  36418. *
  36419. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  36420. * and instead this option gives the points individual color class names on
  36421. * the form `highcharts-color-{n}`.
  36422. */
  36423. colorByPoint?: boolean;
  36424. /**
  36425. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  36426. * for the series, so its graphic representations are given the class name
  36427. * `highcharts-color-{n}`.
  36428. */
  36429. colorIndex?: number;
  36430. /**
  36431. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  36432. * used to calculate point color if `colorAxis` is used. Requires to set
  36433. * `min` and `max` if some custom point property is used or if approximation
  36434. * for data grouping is set to `'sum'`.
  36435. */
  36436. colorKey?: string;
  36437. /**
  36438. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  36439. * color set to apply instead of the global colors when colorByPoint is
  36440. * true.
  36441. */
  36442. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  36443. /**
  36444. * (Highstock) Compare the values of the series against the first non-null,
  36445. * non- zero value in the visible range. The y axis will show percentage or
  36446. * absolute change depending on whether `compare` is set to `"percent"` or
  36447. * `"value"`. When this is applied to multiple series, it allows comparing
  36448. * the development of the series against each other. Adds a `change` field
  36449. * to every point object.
  36450. */
  36451. compare?: string;
  36452. /**
  36453. * (Highstock) When compare is `percent`, this option dictates whether to
  36454. * use 0 or 100 as the base of comparison.
  36455. */
  36456. compareBase?: (0|100);
  36457. /**
  36458. * (Highstock) Defines if comparison should start from the first point
  36459. * within the visible range or should start from the first point **before**
  36460. * the range.
  36461. *
  36462. * In other words, this flag determines if first point within the visible
  36463. * range will have 0% (`compareStart=true`) or should have been already
  36464. * calculated according to the previous point (`compareStart=false`).
  36465. */
  36466. compareStart?: boolean;
  36467. /**
  36468. * (Gantt) Override Pathfinder connector options for a series. Requires
  36469. * Highcharts Gantt to be loaded.
  36470. */
  36471. connectors?: SeriesConnectorsOptionsObject;
  36472. /**
  36473. * (Highcharts, Highstock, Gantt) When the series contains less points than
  36474. * the crop threshold, all points are drawn, event if the points fall
  36475. * outside the visible plot area at the current zoom. The advantage of
  36476. * drawing all points (including markers and columns), is that animation is
  36477. * performed on updates. On the other hand, when the series contains more
  36478. * points than the crop threshold, the series data is cropped to only
  36479. * contain points that fall within the plot area. The advantage of cropping
  36480. * away invisible points is to increase performance on large series.
  36481. */
  36482. cropThreshold?: number;
  36483. /**
  36484. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  36485. * click events attached to the series, to signal to the user that the
  36486. * points and lines can be clicked.
  36487. *
  36488. * In styled mode, the series cursor can be set with the same classes as
  36489. * listed under series.color.
  36490. */
  36491. cursor?: (string|CursorValue);
  36492. /**
  36493. * (Highcharts, Highstock) A reserved subspace to store options and values
  36494. * for customized functionality. Here you can add additional data for your
  36495. * own event callbacks and formatter callbacks.
  36496. */
  36497. custom?: Dictionary<any>;
  36498. /**
  36499. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  36500. * for some series types the outline of each shape.
  36501. *
  36502. * In styled mode, the stroke dash-array can be set with the same classes as
  36503. * listed under series.color.
  36504. */
  36505. dashStyle?: DashStyleValue;
  36506. /**
  36507. * (Highstock) Data grouping is the concept of sampling the data values into
  36508. * larger blocks in order to ease readability and increase performance of
  36509. * the JavaScript charts. Highcharts Stock by default applies data grouping
  36510. * when the points become closer than a certain pixel value, determined by
  36511. * the `groupPixelWidth` option.
  36512. *
  36513. * If data grouping is applied, the grouping information of grouped points
  36514. * can be read from the Point.dataGroup. If point options other than the
  36515. * data itself are set, for example `name` or `color` or custom properties,
  36516. * the grouping logic doesn't know how to group it. In this case the options
  36517. * of the first point instance are copied over to the group point. This can
  36518. * be altered through a custom `approximation` callback function.
  36519. */
  36520. dataGrouping?: DataGroupingOptionsObject;
  36521. /**
  36522. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  36523. * labels, appearing next to each data point.
  36524. *
  36525. * Since v6.2.0, multiple data labels can be applied to each single point by
  36526. * defining them as an array of configs.
  36527. *
  36528. * In styled mode, the data labels can be styled with the
  36529. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  36530. * (see example).
  36531. */
  36532. dataLabels?: (PlotColumnpyramidDataLabelsOptions|Array<PlotColumnpyramidDataLabelsOptions>);
  36533. /**
  36534. * (Highcharts, Highstock) Options for the series data sorting.
  36535. */
  36536. dataSorting?: (DataSortingOptionsObject|PlotColumnpyramidDataSortingOptions);
  36537. /**
  36538. * (Highcharts, Highstock) A description of the series to add to the screen
  36539. * reader information about the series.
  36540. */
  36541. description?: string;
  36542. /**
  36543. * (Highcharts, Highstock) The draggable-points module allows points to be
  36544. * moved around or modified in the chart. In addition to the options
  36545. * mentioned under the `dragDrop` API structure, the module fires three
  36546. * events, point.dragStart, point.drag and point.drop.
  36547. */
  36548. dragDrop?: SeriesDragDropOptionsObject;
  36549. /**
  36550. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  36551. * specific series. This includes point tooltips and click events on graphs
  36552. * and points. For large datasets it improves performance.
  36553. */
  36554. enableMouseTracking?: boolean;
  36555. /**
  36556. * (Highcharts, Highstock) General event handlers for the series items.
  36557. * These event hooks can also be attached to the series at run time using
  36558. * the `Highcharts.addEvent` function.
  36559. */
  36560. events?: SeriesEventsOptionsObject;
  36561. /**
  36562. * (Highcharts, Highstock) Determines whether the series should look for the
  36563. * nearest point in both dimensions or just the x-dimension when hovering
  36564. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  36565. * other series. If the data has duplicate x-values, it is recommended to
  36566. * set this to `'xy'` to allow hovering over all points.
  36567. *
  36568. * Applies only to series types using nearest neighbor search (not direct
  36569. * hover) for tooltip.
  36570. */
  36571. findNearestPointBy?: OptionsFindNearestPointByValue;
  36572. /**
  36573. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  36574. * chart width or only the zoomed area when zooming in on parts of the X
  36575. * axis. By default, the Y axis adjusts to the min and max of the visible
  36576. * data. Cartesian series only.
  36577. */
  36578. getExtremesFromAll?: boolean;
  36579. /**
  36580. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  36581. * let them render independent of each other. Non-grouped columns will be
  36582. * laid out individually and overlap each other.
  36583. */
  36584. grouping?: boolean;
  36585. /**
  36586. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  36587. * axis units.
  36588. */
  36589. groupPadding?: number;
  36590. /**
  36591. * (Highcharts, Highstock) When set to `false` will prevent the series data
  36592. * from being included in any form of data export.
  36593. *
  36594. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  36595. * `includeInCSVExport`.
  36596. */
  36597. includeInDataExport?: boolean;
  36598. /**
  36599. * (Highmaps) What property to join the `mapData` to the value data. For
  36600. * example, if joinBy is "code", the mapData items with a specific code is
  36601. * merged into the data with the same code. For maps loaded from GeoJSON,
  36602. * the keys may be held in each point's `properties` object.
  36603. *
  36604. * The joinBy option can also be an array of two values, where the first
  36605. * points to a key in the `mapData`, and the second points to another key in
  36606. * the `data`.
  36607. *
  36608. * When joinBy is `null`, the map items are joined by their position in the
  36609. * array, which performs much better in maps with many data points. This is
  36610. * the recommended option if you are printing more than a thousand data
  36611. * points and have a backend that can preprocess the data into a parallel
  36612. * array of the mapData.
  36613. */
  36614. joinBy?: (string|Array<string>);
  36615. /**
  36616. * (Highcharts, Highstock) An array specifying which option maps to which
  36617. * key in the data point array. This makes it convenient to work with
  36618. * unstructured data arrays from different sources.
  36619. */
  36620. keys?: Array<string>;
  36621. /**
  36622. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  36623. * series as possible in a natural way, seeking to avoid other series. The
  36624. * goal of this feature is to make the chart more easily readable, like if a
  36625. * human designer placed the labels in the optimal position.
  36626. *
  36627. * The series labels currently work with series types having a `graph` or an
  36628. * `area`.
  36629. */
  36630. label?: SeriesLabelOptionsObject;
  36631. /**
  36632. * (Highstock) The line marks the last price from all points.
  36633. */
  36634. lastPrice?: SeriesLastPriceOptionsObject;
  36635. /**
  36636. * (Highstock) The line marks the last price from visible range of points.
  36637. */
  36638. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  36639. /**
  36640. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  36641. * Additionally, the value can be ":previous" to link to the previous
  36642. * series. When two series are linked, only the first one appears in the
  36643. * legend. Toggling the visibility of this also toggles the linked series.
  36644. *
  36645. * If master series uses data sorting and linked series does not have its
  36646. * own sorting definition, the linked series will be sorted in the same
  36647. * order as the master one.
  36648. */
  36649. linkedTo?: string;
  36650. /**
  36651. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  36652. * column, translated to the height of a bar in a bar chart. This prevents
  36653. * the columns from becoming too wide when there is a small number of points
  36654. * in the chart.
  36655. */
  36656. maxPointWidth?: number;
  36657. /**
  36658. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  36659. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  36660. * to zero) point, set the minimal point length to a pixel value like 3\. In
  36661. * stacked column charts, minPointLength might not be respected for tightly
  36662. * packed values.
  36663. */
  36664. minPointLength?: number;
  36665. /**
  36666. * (Highstock) Options for the corresponding navigator series if
  36667. * `showInNavigator` is `true` for this series. Available options are the
  36668. * same as any series, documented at plotOptions and series.
  36669. *
  36670. * These options are merged with options in navigator.series, and will take
  36671. * precedence if the same option is defined both places.
  36672. */
  36673. navigatorOptions?: PlotSeriesOptions;
  36674. /**
  36675. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  36676. * and dataLabels.
  36677. */
  36678. opacity?: number;
  36679. /**
  36680. * (Highcharts, Highstock) Properties for each single point.
  36681. */
  36682. point?: PlotSeriesPointOptions;
  36683. /**
  36684. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  36685. * but for an individual series. Overrides the chart wide configuration.
  36686. */
  36687. pointDescriptionFormatter?: Function;
  36688. /**
  36689. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  36690. * a series, `pointInterval` defines the interval of the x values. For
  36691. * example, if a series contains one value every decade starting from year
  36692. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  36693. * `pointInterval` is set in milliseconds.
  36694. *
  36695. * It can be also be combined with `pointIntervalUnit` to draw irregular
  36696. * time intervals.
  36697. *
  36698. * Please note that this options applies to the _series data_, not the
  36699. * interval of the axis ticks, which is independent.
  36700. */
  36701. pointInterval?: number;
  36702. /**
  36703. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  36704. * setting the pointInterval to irregular time units, `day`, `month` and
  36705. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  36706. * also takes the DST crossover into consideration when dealing with local
  36707. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  36708. * months, 10 years etc.
  36709. *
  36710. * Please note that this options applies to the _series data_, not the
  36711. * interval of the axis ticks, which is independent.
  36712. */
  36713. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  36714. /**
  36715. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  36716. * axis units.
  36717. */
  36718. pointPadding?: number;
  36719. /**
  36720. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  36721. * `number`.
  36722. *
  36723. * In a column chart, when pointPlacement is `"on"`, the point will not
  36724. * create any padding of the X axis. In a polar column chart this means that
  36725. * the first column points directly north. If the pointPlacement is
  36726. * `"between"`, the columns will be laid out between ticks. This is useful
  36727. * for example for visualising an amount between two points in time or in a
  36728. * certain sector of a polar chart.
  36729. *
  36730. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  36731. * is on the axis value, -0.5 is between this value and the previous, and
  36732. * 0.5 is between this value and the next. Unlike the textual options,
  36733. * numeric point placement options won't affect axis padding.
  36734. *
  36735. * Note that pointPlacement needs a pointRange to work. For column series
  36736. * this is computed, but for line-type series it needs to be set.
  36737. *
  36738. * For the `xrange` series type and gantt charts, if the Y axis is a
  36739. * category axis, the `pointPlacement` applies to the Y axis rather than the
  36740. * (typically datetime) X axis.
  36741. *
  36742. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  36743. */
  36744. pointPlacement?: (number|string);
  36745. /**
  36746. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  36747. * for. This determines the width of the column. On a categorized axis, the
  36748. * range will be 1 by default (one category unit). On linear and datetime
  36749. * axes, the range will be computed as the distance between the two closest
  36750. * data points.
  36751. *
  36752. * The default `null` means it is computed automatically, but this option
  36753. * can be used to override the automatic value.
  36754. *
  36755. * This option is set by default to 1 if data sorting is enabled.
  36756. */
  36757. pointRange?: (number|null);
  36758. /**
  36759. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  36760. * a series, pointStart defines on what value to start. For example, if a
  36761. * series contains one yearly value starting from 1945, set pointStart to
  36762. * 1945.
  36763. */
  36764. pointStart?: number;
  36765. /**
  36766. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  36767. * each column or bar point. When set to `undefined`, the width is
  36768. * calculated from the `pointPadding` and `groupPadding`. The width effects
  36769. * the dimension that is not based on the point value. For column series it
  36770. * is the hoizontal length and for bar series it is the vertical length.
  36771. */
  36772. pointWidth?: number;
  36773. /**
  36774. * (Highcharts, Highstock) Whether to select the series initially. If
  36775. * `showCheckbox` is true, the checkbox next to the series name in the
  36776. * legend will be checked for a selected series.
  36777. */
  36778. selected?: boolean;
  36779. /**
  36780. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  36781. * Since 2.3 the shadow can be an object configuration containing `color`,
  36782. * `offsetX`, `offsetY`, `opacity` and `width`.
  36783. */
  36784. shadow?: (boolean|ShadowOptionsObject);
  36785. /**
  36786. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  36787. * legend item to allow selecting the series. The state of the checkbox is
  36788. * determined by the `selected` option.
  36789. */
  36790. showCheckbox?: boolean;
  36791. /**
  36792. * (Highcharts, Highstock) Whether to display this particular series or
  36793. * series type in the legend. Standalone series are shown in legend by
  36794. * default, and linked series are not. Since v7.2.0 it is possible to show
  36795. * series that use colorAxis by setting this option to `true`.
  36796. */
  36797. showInLegend?: boolean;
  36798. /**
  36799. * (Highstock) Whether or not to show the series in the navigator. Takes
  36800. * precedence over navigator.baseSeries if defined.
  36801. */
  36802. showInNavigator?: boolean;
  36803. /**
  36804. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  36805. * skip past the points in this series for keyboard navigation.
  36806. */
  36807. skipKeyboardNavigation?: boolean;
  36808. /**
  36809. * (Highcharts, Highstock) Whether to stack the values of each series on top
  36810. * of each other. Possible values are `undefined` to disable, `"normal"` to
  36811. * stack by value or `"percent"`.
  36812. *
  36813. * When stacking is enabled, data must be sorted in ascending X order.
  36814. *
  36815. * Some stacking options are related to specific series types. In the
  36816. * streamgraph series type, the stacking option is set to `"stream"`. The
  36817. * second one is `"overlap"`, which only applies to waterfall series.
  36818. */
  36819. stacking?: OptionsStackingValue;
  36820. states?: SeriesStatesOptionsObject;
  36821. /**
  36822. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  36823. * `mouseOut` event on a series isn't triggered until the mouse moves over
  36824. * another series, or out of the plot area. When false, the `mouseOut` event
  36825. * on a series is triggered when the mouse leaves the area around the
  36826. * series' graph or markers. This also implies the tooltip when not shared.
  36827. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  36828. * will be hidden when moving the mouse between series. Defaults to true for
  36829. * line and area type series, but to false for columns, pies etc.
  36830. *
  36831. * **Note:** The boost module will force this option because of technical
  36832. * limitations.
  36833. */
  36834. stickyTracking?: boolean;
  36835. /**
  36836. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  36837. * of each single series. Properties are inherited from tooltip, but only
  36838. * the following properties can be defined on a series level.
  36839. */
  36840. tooltip?: SeriesTooltipOptionsObject;
  36841. /**
  36842. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  36843. * is longer than this, only one dimensional arrays of numbers, or two
  36844. * dimensional arrays with x and y values are allowed. Also, only the first
  36845. * point is tested, and the rest are assumed to be the same format. This
  36846. * saves expensive data checking and indexing in long series. Set it to `0`
  36847. * disable.
  36848. *
  36849. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  36850. * two dimensional arrays are allowed.
  36851. */
  36852. turboThreshold?: number;
  36853. /**
  36854. * (Highcharts, Highstock) Set the initial visibility of the series.
  36855. */
  36856. visible?: boolean;
  36857. /**
  36858. * (Highmaps) Define the z index of the series.
  36859. */
  36860. zIndex?: number;
  36861. }
  36862. /**
  36863. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  36864. * is displayed. The animation can also be set as a configuration object. Please
  36865. * note that this option only applies to the initial animation of the series
  36866. * itself. For other animations, see chart.animation and the animation parameter
  36867. * under the API methods. The following properties are supported:
  36868. *
  36869. * - `defer`: The animation delay time in milliseconds.
  36870. *
  36871. * - `duration`: The duration of the animation in milliseconds.
  36872. *
  36873. * - `easing`: Can be a string reference to an easing function set on the `Math`
  36874. * object or a function. See the _Custom easing function_ demo below.
  36875. *
  36876. * Due to poor performance, animation is disabled in old IE browsers for several
  36877. * chart types.
  36878. */
  36879. export interface PlotColumnrangeAnimationOptions {
  36880. defer?: number;
  36881. }
  36882. /**
  36883. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  36884. * is displayed for the `dataLabels`. The animation can also be set as a
  36885. * configuration object. Please note that this option only applies to the
  36886. * initial animation. For other animations, see chart.animation and the
  36887. * animation parameter under the API methods. The following properties are
  36888. * supported:
  36889. *
  36890. * - `defer`: The animation delay time in milliseconds.
  36891. */
  36892. export interface PlotColumnrangeDataLabelsAnimationOptions {
  36893. /**
  36894. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  36895. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  36896. * from the series.animation.defer.
  36897. */
  36898. defer?: number;
  36899. }
  36900. /**
  36901. * (Highcharts, Highstock) Options for the series data sorting.
  36902. */
  36903. export interface PlotColumnrangeDataSortingOptions {
  36904. /**
  36905. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  36906. * Use xAxis.reversed to change the sorting order.
  36907. */
  36908. enabled?: boolean;
  36909. /**
  36910. * (Highcharts, Highstock) Whether to allow matching points by name in an
  36911. * update. If this option is disabled, points will be matched by order.
  36912. */
  36913. matchByName?: boolean;
  36914. /**
  36915. * (Highcharts, Highstock) Determines what data value should be used to sort
  36916. * by.
  36917. */
  36918. sortKey?: string;
  36919. }
  36920. /**
  36921. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  36922. * one state by default, the `default` state.
  36923. */
  36924. export interface PlotColumnrangeDragDropGuideBoxOptions {
  36925. /**
  36926. * (Highcharts, Highstock) Style options for the guide box default state.
  36927. */
  36928. default?: DragDropGuideBoxOptionsObject;
  36929. }
  36930. /**
  36931. * (Highcharts, Highstock) The column range is a cartesian series type with
  36932. * higher and lower Y values along an X axis. To display horizontal bars, set
  36933. * chart.inverted to `true`.
  36934. *
  36935. * In TypeScript the type option must always be set.
  36936. *
  36937. * Configuration options for the series are given in three levels:
  36938. *
  36939. * 1. Options for all series in a chart are defined in the plotOptions.series
  36940. * object.
  36941. *
  36942. * 2. Options for all `columnrange` series are defined in
  36943. * plotOptions.columnrange.
  36944. *
  36945. * 3. Options for one single series are given in the series instance array. (see
  36946. * online documentation for example)
  36947. */
  36948. export interface PlotColumnrangeOptions {
  36949. /**
  36950. * (Highcharts, Highstock) Accessibility options for a series.
  36951. */
  36952. accessibility?: SeriesAccessibilityOptionsObject;
  36953. /**
  36954. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  36955. * rendered. If `true`, areas which don't correspond to a data point, are
  36956. * rendered as `null` points. If `false`, those areas are skipped.
  36957. */
  36958. allAreas?: boolean;
  36959. /**
  36960. * (Highcharts, Highstock) Allow this series' points to be selected by
  36961. * clicking on the graphic (columns, point markers, pie slices, map areas
  36962. * etc).
  36963. *
  36964. * The selected points can be handled by point select and unselect events,
  36965. * or collectively by the getSelectedPoints function.
  36966. *
  36967. * And alternative way of selecting points is through dragging.
  36968. */
  36969. allowPointSelect?: boolean;
  36970. /**
  36971. * (Highcharts, Highstock) Enable or disable the initial animation when a
  36972. * series is displayed. The animation can also be set as a configuration
  36973. * object. Please note that this option only applies to the initial
  36974. * animation of the series itself. For other animations, see chart.animation
  36975. * and the animation parameter under the API methods. The following
  36976. * properties are supported:
  36977. *
  36978. * - `defer`: The animation delay time in milliseconds.
  36979. *
  36980. * - `duration`: The duration of the animation in milliseconds.
  36981. *
  36982. * - `easing`: Can be a string reference to an easing function set on the
  36983. * `Math` object or a function. See the _Custom easing function_ demo below.
  36984. *
  36985. * Due to poor performance, animation is disabled in old IE browsers for
  36986. * several chart types.
  36987. */
  36988. animation?: (boolean|PlotColumnrangeAnimationOptions|Partial<AnimationOptionsObject>);
  36989. /**
  36990. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  36991. * initial animation by default when the total number of points in the chart
  36992. * is too high. For example, for a column chart and its derivatives,
  36993. * animation does not run if there is more than 250 points totally. To
  36994. * disable this cap, set `animationLimit` to `Infinity`.
  36995. */
  36996. animationLimit?: number;
  36997. /**
  36998. * (Highcharts, Highstock) Sets the color blending in the boost module.
  36999. */
  37000. boostBlending?: OptionsBoostBlendingValue;
  37001. /**
  37002. * (Highcharts, Highstock) Set the point threshold for when a series should
  37003. * enter boost mode.
  37004. *
  37005. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  37006. * there are 2000 or more points in the series.
  37007. *
  37008. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  37009. * it to 1 will force boosting.
  37010. *
  37011. * Note that the cropThreshold also affects this setting. When zooming in on
  37012. * a series that has fewer points than the `cropThreshold`, all points are
  37013. * rendered although outside the visible plot area, and the `boostThreshold`
  37014. * won't take effect.
  37015. */
  37016. boostThreshold?: number;
  37017. /**
  37018. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  37019. * column or bar.
  37020. *
  37021. * In styled mode, the border stroke can be set with the `.highcharts-point`
  37022. * rule.
  37023. */
  37024. borderColor?: (ColorString|GradientColorObject|PatternObject);
  37025. /**
  37026. * (Highcharts, Highstock, Gantt) The corner radius of the border
  37027. * surrounding each column or bar.
  37028. */
  37029. borderRadius?: number;
  37030. /**
  37031. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  37032. * column or bar. Defaults to `1` when there is room for a border, but to
  37033. * `0` when the columns are so dense that a border would cover the next
  37034. * column.
  37035. *
  37036. * In styled mode, the stroke width can be set with the `.highcharts-point`
  37037. * rule.
  37038. */
  37039. borderWidth?: number;
  37040. /**
  37041. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  37042. * the category, ignoring null or missing points. When `false`, space will
  37043. * be reserved for null or missing points.
  37044. */
  37045. centerInCategory?: boolean;
  37046. /**
  37047. * (Highcharts, Highstock) An additional class name to apply to the series'
  37048. * graphical elements. This option does not replace default class names of
  37049. * the graphical element.
  37050. */
  37051. className?: string;
  37052. /**
  37053. * (Highcharts, Highstock) Disable this option to allow series rendering in
  37054. * the whole plotting area.
  37055. *
  37056. * **Note:** Clipping should be always enabled when chart.zoomType is set
  37057. */
  37058. clip?: boolean;
  37059. /**
  37060. * (Highcharts, Highstock) The main color of the series. In line type series
  37061. * it applies to the line and the point markers unless otherwise specified.
  37062. * In bar type series it applies to the bars unless a color is specified per
  37063. * point. The default value is pulled from the `options.colors` array.
  37064. *
  37065. * In styled mode, the color can be defined by the colorIndex option. Also,
  37066. * the series color can be set with the `.highcharts-series`,
  37067. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  37068. * `.highcharts-series-{n}` class, or individual classes given by the
  37069. * `className` option.
  37070. */
  37071. color?: (ColorString|GradientColorObject|PatternObject);
  37072. /**
  37073. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  37074. * this number defines which colorAxis the particular series is connected
  37075. * to. It refers to either the axis id or the index of the axis in the
  37076. * colorAxis array, with 0 being the first. Set this option to false to
  37077. * prevent a series from connecting to the default color axis.
  37078. *
  37079. * Since v7.2.0 the option can also be an axis id or an axis index instead
  37080. * of a boolean flag.
  37081. */
  37082. colorAxis?: (boolean|number|string);
  37083. /**
  37084. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  37085. * from the global colors or series-specific plotOptions.column.colors
  37086. * collections, this option determines whether the chart should receive one
  37087. * color per series or one color per point.
  37088. *
  37089. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  37090. * and instead this option gives the points individual color class names on
  37091. * the form `highcharts-color-{n}`.
  37092. */
  37093. colorByPoint?: boolean;
  37094. /**
  37095. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  37096. * for the series, so its graphic representations are given the class name
  37097. * `highcharts-color-{n}`.
  37098. */
  37099. colorIndex?: number;
  37100. /**
  37101. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  37102. * used to calculate point color if `colorAxis` is used. Requires to set
  37103. * `min` and `max` if some custom point property is used or if approximation
  37104. * for data grouping is set to `'sum'`.
  37105. */
  37106. colorKey?: string;
  37107. /**
  37108. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  37109. * color set to apply instead of the global colors when colorByPoint is
  37110. * true.
  37111. */
  37112. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  37113. /**
  37114. * (Highstock) Compare the values of the series against the first non-null,
  37115. * non- zero value in the visible range. The y axis will show percentage or
  37116. * absolute change depending on whether `compare` is set to `"percent"` or
  37117. * `"value"`. When this is applied to multiple series, it allows comparing
  37118. * the development of the series against each other. Adds a `change` field
  37119. * to every point object.
  37120. */
  37121. compare?: string;
  37122. /**
  37123. * (Highstock) When compare is `percent`, this option dictates whether to
  37124. * use 0 or 100 as the base of comparison.
  37125. */
  37126. compareBase?: (0|100);
  37127. /**
  37128. * (Highstock) Defines if comparison should start from the first point
  37129. * within the visible range or should start from the first point **before**
  37130. * the range.
  37131. *
  37132. * In other words, this flag determines if first point within the visible
  37133. * range will have 0% (`compareStart=true`) or should have been already
  37134. * calculated according to the previous point (`compareStart=false`).
  37135. */
  37136. compareStart?: boolean;
  37137. /**
  37138. * (Gantt) Override Pathfinder connector options for a series. Requires
  37139. * Highcharts Gantt to be loaded.
  37140. */
  37141. connectors?: SeriesConnectorsOptionsObject;
  37142. /**
  37143. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  37144. * rounded to its nearest pixel in order to render sharp on screen. In some
  37145. * cases, when there are a lot of densely packed columns, this leads to
  37146. * visible difference in column widths or distance between columns. In these
  37147. * cases, setting `crisp` to `false` may look better, even though each
  37148. * column is rendered blurry.
  37149. */
  37150. crisp?: boolean;
  37151. /**
  37152. * (Highcharts, Highstock, Gantt) When the series contains less points than
  37153. * the crop threshold, all points are drawn, event if the points fall
  37154. * outside the visible plot area at the current zoom. The advantage of
  37155. * drawing all points (including markers and columns), is that animation is
  37156. * performed on updates. On the other hand, when the series contains more
  37157. * points than the crop threshold, the series data is cropped to only
  37158. * contain points that fall within the plot area. The advantage of cropping
  37159. * away invisible points is to increase performance on large series.
  37160. */
  37161. cropThreshold?: number;
  37162. /**
  37163. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  37164. * click events attached to the series, to signal to the user that the
  37165. * points and lines can be clicked.
  37166. *
  37167. * In styled mode, the series cursor can be set with the same classes as
  37168. * listed under series.color.
  37169. */
  37170. cursor?: (string|CursorValue);
  37171. /**
  37172. * (Highcharts, Highstock) A reserved subspace to store options and values
  37173. * for customized functionality. Here you can add additional data for your
  37174. * own event callbacks and formatter callbacks.
  37175. */
  37176. custom?: Dictionary<any>;
  37177. /**
  37178. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  37179. * for some series types the outline of each shape.
  37180. *
  37181. * In styled mode, the stroke dash-array can be set with the same classes as
  37182. * listed under series.color.
  37183. */
  37184. dashStyle?: DashStyleValue;
  37185. /**
  37186. * (Highstock) Data grouping is the concept of sampling the data values into
  37187. * larger blocks in order to ease readability and increase performance of
  37188. * the JavaScript charts. Highcharts Stock by default applies data grouping
  37189. * when the points become closer than a certain pixel value, determined by
  37190. * the `groupPixelWidth` option.
  37191. *
  37192. * If data grouping is applied, the grouping information of grouped points
  37193. * can be read from the Point.dataGroup. If point options other than the
  37194. * data itself are set, for example `name` or `color` or custom properties,
  37195. * the grouping logic doesn't know how to group it. In this case the options
  37196. * of the first point instance are copied over to the group point. This can
  37197. * be altered through a custom `approximation` callback function.
  37198. */
  37199. dataGrouping?: DataGroupingOptionsObject;
  37200. /**
  37201. * (Highcharts, Highstock) Extended data labels for range series types.
  37202. * Range series data labels have no `x` and `y` options. Instead, they have
  37203. * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
  37204. * data label sets individually.
  37205. */
  37206. dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
  37207. /**
  37208. * (Highcharts, Highstock) Options for the series data sorting.
  37209. */
  37210. dataSorting?: (DataSortingOptionsObject|PlotColumnrangeDataSortingOptions);
  37211. /**
  37212. * (Highcharts) Depth of the columns in a 3D column chart.
  37213. */
  37214. depth?: number;
  37215. /**
  37216. * (Highcharts, Highstock) A description of the series to add to the screen
  37217. * reader information about the series.
  37218. */
  37219. description?: string;
  37220. /**
  37221. * (Highcharts, Highstock) The draggable-points module allows points to be
  37222. * moved around or modified in the chart. In addition to the options
  37223. * mentioned under the `dragDrop` API structure, the module fires three
  37224. * events, point.dragStart, point.drag and point.drop.
  37225. */
  37226. dragDrop?: SeriesDragDropOptionsObject;
  37227. /**
  37228. * (Highcharts) 3D columns only. The color of the edges. Similar to
  37229. * `borderColor`, except it defaults to the same color as the column.
  37230. */
  37231. edgeColor?: ColorString;
  37232. /**
  37233. * (Highcharts) 3D columns only. The width of the colored edges.
  37234. */
  37235. edgeWidth?: number;
  37236. /**
  37237. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  37238. * specific series. This includes point tooltips and click events on graphs
  37239. * and points. For large datasets it improves performance.
  37240. */
  37241. enableMouseTracking?: boolean;
  37242. /**
  37243. * (Highcharts, Highstock) General event handlers for the series items.
  37244. * These event hooks can also be attached to the series at run time using
  37245. * the `Highcharts.addEvent` function.
  37246. */
  37247. events?: SeriesEventsOptionsObject;
  37248. /**
  37249. * (Highcharts, Highstock) Determines whether the series should look for the
  37250. * nearest point in both dimensions or just the x-dimension when hovering
  37251. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  37252. * other series. If the data has duplicate x-values, it is recommended to
  37253. * set this to `'xy'` to allow hovering over all points.
  37254. *
  37255. * Applies only to series types using nearest neighbor search (not direct
  37256. * hover) for tooltip.
  37257. */
  37258. findNearestPointBy?: OptionsFindNearestPointByValue;
  37259. /**
  37260. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  37261. * chart width or only the zoomed area when zooming in on parts of the X
  37262. * axis. By default, the Y axis adjusts to the min and max of the visible
  37263. * data. Cartesian series only.
  37264. */
  37265. getExtremesFromAll?: boolean;
  37266. /**
  37267. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  37268. * let them render independent of each other. Non-grouped columns will be
  37269. * laid out individually and overlap each other.
  37270. */
  37271. grouping?: boolean;
  37272. /**
  37273. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  37274. * axis units.
  37275. */
  37276. groupPadding?: number;
  37277. /**
  37278. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  37279. */
  37280. groupZPadding?: number;
  37281. /**
  37282. * (Highcharts, Highstock) When set to `false` will prevent the series data
  37283. * from being included in any form of data export.
  37284. *
  37285. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  37286. * `includeInCSVExport`.
  37287. */
  37288. includeInDataExport?: boolean;
  37289. /**
  37290. * (Highmaps) What property to join the `mapData` to the value data. For
  37291. * example, if joinBy is "code", the mapData items with a specific code is
  37292. * merged into the data with the same code. For maps loaded from GeoJSON,
  37293. * the keys may be held in each point's `properties` object.
  37294. *
  37295. * The joinBy option can also be an array of two values, where the first
  37296. * points to a key in the `mapData`, and the second points to another key in
  37297. * the `data`.
  37298. *
  37299. * When joinBy is `null`, the map items are joined by their position in the
  37300. * array, which performs much better in maps with many data points. This is
  37301. * the recommended option if you are printing more than a thousand data
  37302. * points and have a backend that can preprocess the data into a parallel
  37303. * array of the mapData.
  37304. */
  37305. joinBy?: (string|Array<string>);
  37306. /**
  37307. * (Highcharts, Highstock) An array specifying which option maps to which
  37308. * key in the data point array. This makes it convenient to work with
  37309. * unstructured data arrays from different sources.
  37310. */
  37311. keys?: Array<string>;
  37312. /**
  37313. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  37314. * series as possible in a natural way, seeking to avoid other series. The
  37315. * goal of this feature is to make the chart more easily readable, like if a
  37316. * human designer placed the labels in the optimal position.
  37317. *
  37318. * The series labels currently work with series types having a `graph` or an
  37319. * `area`.
  37320. */
  37321. label?: SeriesLabelOptionsObject;
  37322. /**
  37323. * (Highstock) The line marks the last price from all points.
  37324. */
  37325. lastPrice?: SeriesLastPriceOptionsObject;
  37326. /**
  37327. * (Highstock) The line marks the last price from visible range of points.
  37328. */
  37329. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  37330. /**
  37331. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  37332. * Additionally, the value can be ":previous" to link to the previous
  37333. * series. When two series are linked, only the first one appears in the
  37334. * legend. Toggling the visibility of this also toggles the linked series.
  37335. *
  37336. * If master series uses data sorting and linked series does not have its
  37337. * own sorting definition, the linked series will be sorted in the same
  37338. * order as the master one.
  37339. */
  37340. linkedTo?: string;
  37341. /**
  37342. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  37343. * column, translated to the height of a bar in a bar chart. This prevents
  37344. * the columns from becoming too wide when there is a small number of points
  37345. * in the chart.
  37346. */
  37347. maxPointWidth?: number;
  37348. /**
  37349. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  37350. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  37351. * to zero) point, set the minimal point length to a pixel value like 3\. In
  37352. * stacked column charts, minPointLength might not be respected for tightly
  37353. * packed values.
  37354. */
  37355. minPointLength?: number;
  37356. /**
  37357. * (Highstock) Options for the corresponding navigator series if
  37358. * `showInNavigator` is `true` for this series. Available options are the
  37359. * same as any series, documented at plotOptions and series.
  37360. *
  37361. * These options are merged with options in navigator.series, and will take
  37362. * precedence if the same option is defined both places.
  37363. */
  37364. navigatorOptions?: PlotSeriesOptions;
  37365. /**
  37366. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  37367. * and dataLabels.
  37368. */
  37369. opacity?: number;
  37370. /**
  37371. * (Highcharts, Highstock) Properties for each single point.
  37372. */
  37373. point?: PlotSeriesPointOptions;
  37374. /**
  37375. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  37376. * but for an individual series. Overrides the chart wide configuration.
  37377. */
  37378. pointDescriptionFormatter?: Function;
  37379. /**
  37380. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  37381. * a series, `pointInterval` defines the interval of the x values. For
  37382. * example, if a series contains one value every decade starting from year
  37383. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  37384. * `pointInterval` is set in milliseconds.
  37385. *
  37386. * It can be also be combined with `pointIntervalUnit` to draw irregular
  37387. * time intervals.
  37388. *
  37389. * Please note that this options applies to the _series data_, not the
  37390. * interval of the axis ticks, which is independent.
  37391. */
  37392. pointInterval?: number;
  37393. /**
  37394. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  37395. * setting the pointInterval to irregular time units, `day`, `month` and
  37396. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  37397. * also takes the DST crossover into consideration when dealing with local
  37398. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  37399. * months, 10 years etc.
  37400. *
  37401. * Please note that this options applies to the _series data_, not the
  37402. * interval of the axis ticks, which is independent.
  37403. */
  37404. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  37405. /**
  37406. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  37407. * axis units.
  37408. */
  37409. pointPadding?: number;
  37410. /**
  37411. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  37412. * `number`.
  37413. *
  37414. * In a column chart, when pointPlacement is `"on"`, the point will not
  37415. * create any padding of the X axis. In a polar column chart this means that
  37416. * the first column points directly north. If the pointPlacement is
  37417. * `"between"`, the columns will be laid out between ticks. This is useful
  37418. * for example for visualising an amount between two points in time or in a
  37419. * certain sector of a polar chart.
  37420. *
  37421. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  37422. * is on the axis value, -0.5 is between this value and the previous, and
  37423. * 0.5 is between this value and the next. Unlike the textual options,
  37424. * numeric point placement options won't affect axis padding.
  37425. *
  37426. * Note that pointPlacement needs a pointRange to work. For column series
  37427. * this is computed, but for line-type series it needs to be set.
  37428. *
  37429. * For the `xrange` series type and gantt charts, if the Y axis is a
  37430. * category axis, the `pointPlacement` applies to the Y axis rather than the
  37431. * (typically datetime) X axis.
  37432. *
  37433. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  37434. */
  37435. pointPlacement?: (number|string);
  37436. /**
  37437. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  37438. * for. This determines the width of the column. On a categorized axis, the
  37439. * range will be 1 by default (one category unit). On linear and datetime
  37440. * axes, the range will be computed as the distance between the two closest
  37441. * data points.
  37442. *
  37443. * The default `null` means it is computed automatically, but this option
  37444. * can be used to override the automatic value.
  37445. *
  37446. * This option is set by default to 1 if data sorting is enabled.
  37447. */
  37448. pointRange?: (number|null);
  37449. /**
  37450. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  37451. * a series, pointStart defines on what value to start. For example, if a
  37452. * series contains one yearly value starting from 1945, set pointStart to
  37453. * 1945.
  37454. */
  37455. pointStart?: number;
  37456. /**
  37457. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  37458. * each column or bar point. When set to `undefined`, the width is
  37459. * calculated from the `pointPadding` and `groupPadding`. The width effects
  37460. * the dimension that is not based on the point value. For column series it
  37461. * is the hoizontal length and for bar series it is the vertical length.
  37462. */
  37463. pointWidth?: number;
  37464. /**
  37465. * (Highcharts, Highstock) Whether to select the series initially. If
  37466. * `showCheckbox` is true, the checkbox next to the series name in the
  37467. * legend will be checked for a selected series.
  37468. */
  37469. selected?: boolean;
  37470. /**
  37471. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  37472. * Since 2.3 the shadow can be an object configuration containing `color`,
  37473. * `offsetX`, `offsetY`, `opacity` and `width`.
  37474. */
  37475. shadow?: (boolean|ShadowOptionsObject);
  37476. /**
  37477. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  37478. * legend item to allow selecting the series. The state of the checkbox is
  37479. * determined by the `selected` option.
  37480. */
  37481. showCheckbox?: boolean;
  37482. /**
  37483. * (Highcharts, Highstock) Whether to display this particular series or
  37484. * series type in the legend. Standalone series are shown in legend by
  37485. * default, and linked series are not. Since v7.2.0 it is possible to show
  37486. * series that use colorAxis by setting this option to `true`.
  37487. */
  37488. showInLegend?: boolean;
  37489. /**
  37490. * (Highstock) Whether or not to show the series in the navigator. Takes
  37491. * precedence over navigator.baseSeries if defined.
  37492. */
  37493. showInNavigator?: boolean;
  37494. /**
  37495. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  37496. * skip past the points in this series for keyboard navigation.
  37497. */
  37498. skipKeyboardNavigation?: boolean;
  37499. states?: SeriesStatesOptionsObject;
  37500. /**
  37501. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  37502. * `mouseOut` event on a series isn't triggered until the mouse moves over
  37503. * another series, or out of the plot area. When false, the `mouseOut` event
  37504. * on a series is triggered when the mouse leaves the area around the
  37505. * series' graph or markers. This also implies the tooltip when not shared.
  37506. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  37507. * will be hidden when moving the mouse between series. Defaults to true for
  37508. * line and area type series, but to false for columns, pies etc.
  37509. *
  37510. * **Note:** The boost module will force this option because of technical
  37511. * limitations.
  37512. */
  37513. stickyTracking?: boolean;
  37514. /**
  37515. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  37516. * of each single series. Properties are inherited from tooltip, but only
  37517. * the following properties can be defined on a series level.
  37518. */
  37519. tooltip?: SeriesTooltipOptionsObject;
  37520. /**
  37521. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  37522. * is longer than this, only one dimensional arrays of numbers, or two
  37523. * dimensional arrays with x and y values are allowed. Also, only the first
  37524. * point is tested, and the rest are assumed to be the same format. This
  37525. * saves expensive data checking and indexing in long series. Set it to `0`
  37526. * disable.
  37527. *
  37528. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  37529. * two dimensional arrays are allowed.
  37530. */
  37531. turboThreshold?: number;
  37532. /**
  37533. * (Highcharts, Highstock) Set the initial visibility of the series.
  37534. */
  37535. visible?: boolean;
  37536. /**
  37537. * (Highmaps) Define the z index of the series.
  37538. */
  37539. zIndex?: number;
  37540. /**
  37541. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  37542. */
  37543. zoneAxis?: string;
  37544. /**
  37545. * (Highcharts, Highstock) An array defining zones within a series. Zones
  37546. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  37547. * the `zoneAxis` option. The zone definitions have to be in ascending order
  37548. * regarding to the value.
  37549. *
  37550. * In styled mode, the color zones are styled with the
  37551. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  37552. * option (view live demo).
  37553. */
  37554. zones?: Array<SeriesZonesOptionsObject>;
  37555. }
  37556. /**
  37557. * (Highcharts) Enable or disable the initial animation when a series is
  37558. * displayed. The animation can also be set as a configuration object. Please
  37559. * note that this option only applies to the initial animation of the series
  37560. * itself. For other animations, see chart.animation and the animation parameter
  37561. * under the API methods. The following properties are supported:
  37562. *
  37563. * - `defer`: The animation delay time in milliseconds.
  37564. *
  37565. * - `duration`: The duration of the animation in milliseconds.
  37566. *
  37567. * - `easing`: Can be a string reference to an easing function set on the `Math`
  37568. * object or a function. See the _Custom easing function_ demo below.
  37569. *
  37570. * Due to poor performance, animation is disabled in old IE browsers for several
  37571. * chart types.
  37572. */
  37573. export interface PlotCylinderAnimationOptions {
  37574. defer?: number;
  37575. }
  37576. /**
  37577. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  37578. * animation when a series is displayed for the `dataLabels`. The animation can
  37579. * also be set as a configuration object. Please note that this option only
  37580. * applies to the initial animation. For other animations, see chart.animation
  37581. * and the animation parameter under the API methods. The following properties
  37582. * are supported:
  37583. *
  37584. * - `defer`: The animation delay time in milliseconds.
  37585. */
  37586. export interface PlotCylinderDataLabelsAnimationOptions {
  37587. /**
  37588. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  37589. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  37590. * inherits defer time from the series.animation.defer.
  37591. */
  37592. defer?: number;
  37593. }
  37594. /**
  37595. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  37596. * appearing next to each data point.
  37597. *
  37598. * Since v6.2.0, multiple data labels can be applied to each single point by
  37599. * defining them as an array of configs.
  37600. *
  37601. * In styled mode, the data labels can be styled with the
  37602. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  37603. * example).
  37604. */
  37605. export interface PlotCylinderDataLabelsOptions {
  37606. /**
  37607. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  37608. * compared to the point. If `right`, the right side of the label should be
  37609. * touching the point. For points with an extent, like columns, the
  37610. * alignments also dictates how to align it inside the box, as given with
  37611. * the inside option. Can be one of `left`, `center` or `right`.
  37612. */
  37613. align?: string;
  37614. /**
  37615. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  37616. * overlap. To make the labels less sensitive for overlapping, the
  37617. * dataLabels.padding can be set to 0.
  37618. */
  37619. allowOverlap?: boolean;
  37620. /**
  37621. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  37622. * animation when a series is displayed for the `dataLabels`. The animation
  37623. * can also be set as a configuration object. Please note that this option
  37624. * only applies to the initial animation. For other animations, see
  37625. * chart.animation and the animation parameter under the API methods. The
  37626. * following properties are supported:
  37627. *
  37628. * - `defer`: The animation delay time in milliseconds.
  37629. */
  37630. animation?: (boolean|PlotCylinderDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  37631. /**
  37632. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  37633. * for the data label.
  37634. */
  37635. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  37636. /**
  37637. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  37638. * label. Defaults to `undefined`.
  37639. */
  37640. borderColor?: (ColorString|GradientColorObject|PatternObject);
  37641. /**
  37642. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  37643. * the data label.
  37644. */
  37645. borderRadius?: number;
  37646. /**
  37647. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  37648. * the data label.
  37649. */
  37650. borderWidth?: number;
  37651. /**
  37652. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  37653. * Particularly in styled mode, this can be used to give each series' or
  37654. * point's data label unique styling. In addition to this option, a default
  37655. * color class name is added so that we can give the labels a contrast text
  37656. * shadow.
  37657. */
  37658. className?: string;
  37659. /**
  37660. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  37661. * labels. Defaults to `undefined`. For certain series types, like column or
  37662. * map, the data labels can be drawn inside the points. In this case the
  37663. * data label will be drawn with maximum contrast by default. Additionally,
  37664. * it will be given a `text-outline` style with the opposite color, to
  37665. * further increase the contrast. This can be overridden by setting the
  37666. * `text-outline` style to `none` in the `dataLabels.style` option.
  37667. */
  37668. color?: (ColorString|GradientColorObject|PatternObject);
  37669. /**
  37670. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  37671. * are outside the plot area. By default, the data label is moved inside the
  37672. * plot area according to the overflow option.
  37673. */
  37674. crop?: boolean;
  37675. /**
  37676. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  37677. * labels until the initial series animation has finished. Setting to
  37678. * `false` renders the data label immediately. If set to `true` inherits the
  37679. * defer time set in plotOptions.series.animation. If set to a number, a
  37680. * defer time is specified in milliseconds.
  37681. */
  37682. defer?: (boolean|number);
  37683. /**
  37684. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  37685. * labels.
  37686. */
  37687. enabled?: boolean;
  37688. /**
  37689. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  37690. * of which data labels to display. The declarative filter is designed for
  37691. * use when callback functions are not available, like when the chart
  37692. * options require a pure JSON structure or for use with graphical editors.
  37693. * For programmatic control, use the `formatter` instead, and return
  37694. * `undefined` to disable a single data label.
  37695. */
  37696. filter?: DataLabelsFilterOptionsObject;
  37697. /**
  37698. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  37699. * label. Available variables are the same as for `formatter`.
  37700. */
  37701. format?: string;
  37702. /**
  37703. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  37704. * format the data label. Note that if a `format` is defined, the format
  37705. * takes precedence and the formatter is ignored.
  37706. */
  37707. formatter?: DataLabelsFormatterCallbackFunction;
  37708. /**
  37709. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  37710. * columns or map areas, whether to align the data label inside the box or
  37711. * to the actual value point. Defaults to `false` in most cases, `true` in
  37712. * stacked columns.
  37713. */
  37714. inside?: boolean;
  37715. /**
  37716. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  37717. * of null. Works analogously to format. `nullFormat` can be applied only to
  37718. * series which support displaying null points.
  37719. */
  37720. nullFormat?: (boolean|string);
  37721. /**
  37722. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  37723. * that defines formatting for points with the value of null. Works
  37724. * analogously to formatter. `nullPointFormatter` can be applied only to
  37725. * series which support displaying null points.
  37726. */
  37727. nullFormatter?: DataLabelsFormatterCallbackFunction;
  37728. /**
  37729. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  37730. * flow outside the plot area. The default is `"justify"`, which aligns them
  37731. * inside the plot area. For columns and bars, this means it will be moved
  37732. * inside the bar. To display data labels outside the plot area, set `crop`
  37733. * to `false` and `overflow` to `"allow"`.
  37734. */
  37735. overflow?: DataLabelsOverflowValue;
  37736. /**
  37737. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  37738. * the `backgroundColor` is set, this is the padding within the box.
  37739. */
  37740. padding?: number;
  37741. /**
  37742. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  37743. * points. If `center` alignment is not possible, it defaults to `right`.
  37744. */
  37745. position?: AlignValue;
  37746. /**
  37747. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  37748. * that due to a more complex structure, backgrounds, borders and padding
  37749. * will be lost on a rotated data label.
  37750. */
  37751. rotation?: number;
  37752. /**
  37753. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  37754. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  37755. * an object configuration containing `color`, `offsetX`, `offsetY`,
  37756. * `opacity` and `width`.
  37757. */
  37758. shadow?: (boolean|ShadowOptionsObject);
  37759. /**
  37760. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  37761. * the border around the label. Symbols are predefined functions on the
  37762. * Renderer object.
  37763. */
  37764. shape?: string;
  37765. /**
  37766. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  37767. * default `color` setting is `"contrast"`, which is a pseudo color that
  37768. * Highcharts picks up and applies the maximum contrast to the underlying
  37769. * point item, for example the bar in a bar chart.
  37770. *
  37771. * The `textOutline` is a pseudo property that applies an outline of the
  37772. * given width with the given color, which by default is the maximum
  37773. * contrast to the text. So a bright text color will result in a black text
  37774. * outline for maximum readability on a mixed background. In some cases,
  37775. * especially with grayscale text, the text outline doesn't work well, in
  37776. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  37777. * is true, the `textOutline` will not be picked up. In this, case, the same
  37778. * effect can be acheived through the `text-shadow` CSS property.
  37779. *
  37780. * For some series types, where each point has an extent, like for example
  37781. * tree maps, the data label may overflow the point. There are two
  37782. * strategies for handling overflow. By default, the text will wrap to
  37783. * multiple lines. The other strategy is to set `style.textOverflow` to
  37784. * `ellipsis`, which will keep the text on one line plus it will break
  37785. * inside long words.
  37786. */
  37787. style?: CSSObject;
  37788. /**
  37789. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  37790. * should follow marker's shape. Border and background are disabled for a
  37791. * label that follows a path.
  37792. *
  37793. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  37794. * to true will disable this option.
  37795. */
  37796. textPath?: DataLabelsTextPathOptionsObject;
  37797. /**
  37798. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  37799. * the labels.
  37800. */
  37801. useHTML?: boolean;
  37802. /**
  37803. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  37804. * label. Can be one of `top`, `middle` or `bottom`. The default value
  37805. * depends on the data, for instance in a column chart, the label is above
  37806. * positive values and below negative values.
  37807. */
  37808. verticalAlign?: string;
  37809. /**
  37810. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  37811. * label relative to the point in pixels.
  37812. */
  37813. x?: number;
  37814. /**
  37815. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  37816. * label relative to the point in pixels.
  37817. */
  37818. y?: number;
  37819. /**
  37820. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  37821. * The default Z index puts it above the series. Use a Z index of 2 to
  37822. * display it behind the series.
  37823. */
  37824. z?: number;
  37825. }
  37826. /**
  37827. * (Highcharts, Highstock) Options for the series data sorting.
  37828. */
  37829. export interface PlotCylinderDataSortingOptions {
  37830. /**
  37831. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  37832. * Use xAxis.reversed to change the sorting order.
  37833. */
  37834. enabled?: boolean;
  37835. /**
  37836. * (Highcharts, Highstock) Whether to allow matching points by name in an
  37837. * update. If this option is disabled, points will be matched by order.
  37838. */
  37839. matchByName?: boolean;
  37840. /**
  37841. * (Highcharts, Highstock) Determines what data value should be used to sort
  37842. * by.
  37843. */
  37844. sortKey?: string;
  37845. }
  37846. /**
  37847. * (Highcharts) A cylinder graph is a variation of a 3d column graph. The
  37848. * cylinder graph features cylindrical points.
  37849. *
  37850. * In TypeScript the type option must always be set.
  37851. *
  37852. * Configuration options for the series are given in three levels:
  37853. *
  37854. * 1. Options for all series in a chart are defined in the plotOptions.series
  37855. * object.
  37856. *
  37857. * 2. Options for all `cylinder` series are defined in plotOptions.cylinder.
  37858. *
  37859. * 3. Options for one single series are given in the series instance array. (see
  37860. * online documentation for example)
  37861. */
  37862. export interface PlotCylinderOptions {
  37863. /**
  37864. * (Highcharts) Accessibility options for a series.
  37865. */
  37866. accessibility?: SeriesAccessibilityOptionsObject;
  37867. /**
  37868. * (Highcharts) Allow this series' points to be selected by clicking on the
  37869. * graphic (columns, point markers, pie slices, map areas etc).
  37870. *
  37871. * The selected points can be handled by point select and unselect events,
  37872. * or collectively by the getSelectedPoints function.
  37873. *
  37874. * And alternative way of selecting points is through dragging.
  37875. */
  37876. allowPointSelect?: boolean;
  37877. /**
  37878. * (Highcharts) Enable or disable the initial animation when a series is
  37879. * displayed. The animation can also be set as a configuration object.
  37880. * Please note that this option only applies to the initial animation of the
  37881. * series itself. For other animations, see chart.animation and the
  37882. * animation parameter under the API methods. The following properties are
  37883. * supported:
  37884. *
  37885. * - `defer`: The animation delay time in milliseconds.
  37886. *
  37887. * - `duration`: The duration of the animation in milliseconds.
  37888. *
  37889. * - `easing`: Can be a string reference to an easing function set on the
  37890. * `Math` object or a function. See the _Custom easing function_ demo below.
  37891. *
  37892. * Due to poor performance, animation is disabled in old IE browsers for
  37893. * several chart types.
  37894. */
  37895. animation?: (boolean|PlotCylinderAnimationOptions|Partial<AnimationOptionsObject>);
  37896. /**
  37897. * (Highcharts) For some series, there is a limit that shuts down initial
  37898. * animation by default when the total number of points in the chart is too
  37899. * high. For example, for a column chart and its derivatives, animation does
  37900. * not run if there is more than 250 points totally. To disable this cap,
  37901. * set `animationLimit` to `Infinity`.
  37902. */
  37903. animationLimit?: number;
  37904. /**
  37905. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  37906. * column or bar.
  37907. *
  37908. * In styled mode, the border stroke can be set with the `.highcharts-point`
  37909. * rule.
  37910. */
  37911. borderColor?: (ColorString|GradientColorObject|PatternObject);
  37912. /**
  37913. * (Highcharts, Highstock, Gantt) The corner radius of the border
  37914. * surrounding each column or bar.
  37915. */
  37916. borderRadius?: number;
  37917. /**
  37918. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  37919. * column or bar. Defaults to `1` when there is room for a border, but to
  37920. * `0` when the columns are so dense that a border would cover the next
  37921. * column.
  37922. *
  37923. * In styled mode, the stroke width can be set with the `.highcharts-point`
  37924. * rule.
  37925. */
  37926. borderWidth?: number;
  37927. /**
  37928. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  37929. * the category, ignoring null or missing points. When `false`, space will
  37930. * be reserved for null or missing points.
  37931. */
  37932. centerInCategory?: boolean;
  37933. /**
  37934. * (Highcharts) An additional class name to apply to the series' graphical
  37935. * elements. This option does not replace default class names of the
  37936. * graphical element.
  37937. */
  37938. className?: string;
  37939. /**
  37940. * (Highcharts) Disable this option to allow series rendering in the whole
  37941. * plotting area.
  37942. *
  37943. * **Note:** Clipping should be always enabled when chart.zoomType is set
  37944. */
  37945. clip?: boolean;
  37946. /**
  37947. * (Highcharts) The main color of the series. In line type series it applies
  37948. * to the line and the point markers unless otherwise specified. In bar type
  37949. * series it applies to the bars unless a color is specified per point. The
  37950. * default value is pulled from the `options.colors` array.
  37951. *
  37952. * In styled mode, the color can be defined by the colorIndex option. Also,
  37953. * the series color can be set with the `.highcharts-series`,
  37954. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  37955. * `.highcharts-series-{n}` class, or individual classes given by the
  37956. * `className` option.
  37957. */
  37958. color?: (ColorString|GradientColorObject|PatternObject);
  37959. /**
  37960. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  37961. * from the global colors or series-specific plotOptions.column.colors
  37962. * collections, this option determines whether the chart should receive one
  37963. * color per series or one color per point.
  37964. *
  37965. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  37966. * and instead this option gives the points individual color class names on
  37967. * the form `highcharts-color-{n}`.
  37968. */
  37969. colorByPoint?: boolean;
  37970. /**
  37971. * (Highcharts) Styled mode only. A specific color index to use for the
  37972. * series, so its graphic representations are given the class name
  37973. * `highcharts-color-{n}`.
  37974. */
  37975. colorIndex?: number;
  37976. /**
  37977. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  37978. * used to calculate point color if `colorAxis` is used. Requires to set
  37979. * `min` and `max` if some custom point property is used or if approximation
  37980. * for data grouping is set to `'sum'`.
  37981. */
  37982. colorKey?: string;
  37983. /**
  37984. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  37985. * color set to apply instead of the global colors when colorByPoint is
  37986. * true.
  37987. */
  37988. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  37989. /**
  37990. * (Highstock) Defines if comparison should start from the first point
  37991. * within the visible range or should start from the first point **before**
  37992. * the range.
  37993. *
  37994. * In other words, this flag determines if first point within the visible
  37995. * range will have 0% (`compareStart=true`) or should have been already
  37996. * calculated according to the previous point (`compareStart=false`).
  37997. */
  37998. compareStart?: boolean;
  37999. /**
  38000. * (Gantt) Override Pathfinder connector options for a series. Requires
  38001. * Highcharts Gantt to be loaded.
  38002. */
  38003. connectors?: SeriesConnectorsOptionsObject;
  38004. /**
  38005. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  38006. * rounded to its nearest pixel in order to render sharp on screen. In some
  38007. * cases, when there are a lot of densely packed columns, this leads to
  38008. * visible difference in column widths or distance between columns. In these
  38009. * cases, setting `crisp` to `false` may look better, even though each
  38010. * column is rendered blurry.
  38011. */
  38012. crisp?: boolean;
  38013. /**
  38014. * (Highcharts, Highstock, Gantt) When the series contains less points than
  38015. * the crop threshold, all points are drawn, event if the points fall
  38016. * outside the visible plot area at the current zoom. The advantage of
  38017. * drawing all points (including markers and columns), is that animation is
  38018. * performed on updates. On the other hand, when the series contains more
  38019. * points than the crop threshold, the series data is cropped to only
  38020. * contain points that fall within the plot area. The advantage of cropping
  38021. * away invisible points is to increase performance on large series.
  38022. */
  38023. cropThreshold?: number;
  38024. /**
  38025. * (Highcharts) You can set the cursor to "pointer" if you have click events
  38026. * attached to the series, to signal to the user that the points and lines
  38027. * can be clicked.
  38028. *
  38029. * In styled mode, the series cursor can be set with the same classes as
  38030. * listed under series.color.
  38031. */
  38032. cursor?: (string|CursorValue);
  38033. /**
  38034. * (Highcharts) A reserved subspace to store options and values for
  38035. * customized functionality. Here you can add additional data for your own
  38036. * event callbacks and formatter callbacks.
  38037. */
  38038. custom?: Dictionary<any>;
  38039. /**
  38040. * (Highcharts) Name of the dash style to use for the graph, or for some
  38041. * series types the outline of each shape.
  38042. *
  38043. * In styled mode, the stroke dash-array can be set with the same classes as
  38044. * listed under series.color.
  38045. */
  38046. dashStyle?: DashStyleValue;
  38047. /**
  38048. * (Highstock) Data grouping is the concept of sampling the data values into
  38049. * larger blocks in order to ease readability and increase performance of
  38050. * the JavaScript charts. Highcharts Stock by default applies data grouping
  38051. * when the points become closer than a certain pixel value, determined by
  38052. * the `groupPixelWidth` option.
  38053. *
  38054. * If data grouping is applied, the grouping information of grouped points
  38055. * can be read from the Point.dataGroup. If point options other than the
  38056. * data itself are set, for example `name` or `color` or custom properties,
  38057. * the grouping logic doesn't know how to group it. In this case the options
  38058. * of the first point instance are copied over to the group point. This can
  38059. * be altered through a custom `approximation` callback function.
  38060. */
  38061. dataGrouping?: DataGroupingOptionsObject;
  38062. /**
  38063. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  38064. * labels, appearing next to each data point.
  38065. *
  38066. * Since v6.2.0, multiple data labels can be applied to each single point by
  38067. * defining them as an array of configs.
  38068. *
  38069. * In styled mode, the data labels can be styled with the
  38070. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  38071. * (see example).
  38072. */
  38073. dataLabels?: (PlotCylinderDataLabelsOptions|Array<PlotCylinderDataLabelsOptions>);
  38074. /**
  38075. * (Highcharts, Highstock) Options for the series data sorting.
  38076. */
  38077. dataSorting?: (DataSortingOptionsObject|PlotCylinderDataSortingOptions);
  38078. /**
  38079. * (Highcharts) Depth of the columns in a 3D column chart.
  38080. */
  38081. depth?: number;
  38082. /**
  38083. * (Highcharts) A description of the series to add to the screen reader
  38084. * information about the series.
  38085. */
  38086. description?: string;
  38087. /**
  38088. * (Highcharts) 3D columns only. The color of the edges. Similar to
  38089. * `borderColor`, except it defaults to the same color as the column.
  38090. */
  38091. edgeColor?: ColorString;
  38092. /**
  38093. * (Highcharts) 3D columns only. The width of the colored edges.
  38094. */
  38095. edgeWidth?: number;
  38096. /**
  38097. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  38098. * This includes point tooltips and click events on graphs and points. For
  38099. * large datasets it improves performance.
  38100. */
  38101. enableMouseTracking?: boolean;
  38102. /**
  38103. * (Highcharts) General event handlers for the series items. These event
  38104. * hooks can also be attached to the series at run time using the
  38105. * `Highcharts.addEvent` function.
  38106. */
  38107. events?: SeriesEventsOptionsObject;
  38108. /**
  38109. * (Highcharts) Determines whether the series should look for the nearest
  38110. * point in both dimensions or just the x-dimension when hovering the
  38111. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  38112. * series. If the data has duplicate x-values, it is recommended to set this
  38113. * to `'xy'` to allow hovering over all points.
  38114. *
  38115. * Applies only to series types using nearest neighbor search (not direct
  38116. * hover) for tooltip.
  38117. */
  38118. findNearestPointBy?: OptionsFindNearestPointByValue;
  38119. /**
  38120. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  38121. * chart width or only the zoomed area when zooming in on parts of the X
  38122. * axis. By default, the Y axis adjusts to the min and max of the visible
  38123. * data. Cartesian series only.
  38124. */
  38125. getExtremesFromAll?: boolean;
  38126. /**
  38127. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  38128. * let them render independent of each other. Non-grouped columns will be
  38129. * laid out individually and overlap each other.
  38130. */
  38131. grouping?: boolean;
  38132. /**
  38133. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  38134. * axis units.
  38135. */
  38136. groupPadding?: number;
  38137. /**
  38138. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  38139. */
  38140. groupZPadding?: number;
  38141. /**
  38142. * (Highcharts) When set to `false` will prevent the series data from being
  38143. * included in any form of data export.
  38144. *
  38145. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  38146. * `includeInCSVExport`.
  38147. */
  38148. includeInDataExport?: boolean;
  38149. /**
  38150. * (Highmaps) What property to join the `mapData` to the value data. For
  38151. * example, if joinBy is "code", the mapData items with a specific code is
  38152. * merged into the data with the same code. For maps loaded from GeoJSON,
  38153. * the keys may be held in each point's `properties` object.
  38154. *
  38155. * The joinBy option can also be an array of two values, where the first
  38156. * points to a key in the `mapData`, and the second points to another key in
  38157. * the `data`.
  38158. *
  38159. * When joinBy is `null`, the map items are joined by their position in the
  38160. * array, which performs much better in maps with many data points. This is
  38161. * the recommended option if you are printing more than a thousand data
  38162. * points and have a backend that can preprocess the data into a parallel
  38163. * array of the mapData.
  38164. */
  38165. joinBy?: (string|Array<string>);
  38166. /**
  38167. * (Highcharts) An array specifying which option maps to which key in the
  38168. * data point array. This makes it convenient to work with unstructured data
  38169. * arrays from different sources.
  38170. */
  38171. keys?: Array<string>;
  38172. /**
  38173. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  38174. * series as possible in a natural way, seeking to avoid other series. The
  38175. * goal of this feature is to make the chart more easily readable, like if a
  38176. * human designer placed the labels in the optimal position.
  38177. *
  38178. * The series labels currently work with series types having a `graph` or an
  38179. * `area`.
  38180. */
  38181. label?: SeriesLabelOptionsObject;
  38182. /**
  38183. * (Highstock) The line marks the last price from all points.
  38184. */
  38185. lastPrice?: SeriesLastPriceOptionsObject;
  38186. /**
  38187. * (Highstock) The line marks the last price from visible range of points.
  38188. */
  38189. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  38190. /**
  38191. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  38192. * Additionally, the value can be ":previous" to link to the previous
  38193. * series. When two series are linked, only the first one appears in the
  38194. * legend. Toggling the visibility of this also toggles the linked series.
  38195. *
  38196. * If master series uses data sorting and linked series does not have its
  38197. * own sorting definition, the linked series will be sorted in the same
  38198. * order as the master one.
  38199. */
  38200. linkedTo?: string;
  38201. /**
  38202. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  38203. * column, translated to the height of a bar in a bar chart. This prevents
  38204. * the columns from becoming too wide when there is a small number of points
  38205. * in the chart.
  38206. */
  38207. maxPointWidth?: number;
  38208. /**
  38209. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  38210. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  38211. * to zero) point, set the minimal point length to a pixel value like 3\. In
  38212. * stacked column charts, minPointLength might not be respected for tightly
  38213. * packed values.
  38214. */
  38215. minPointLength?: number;
  38216. /**
  38217. * (Highstock) Options for the corresponding navigator series if
  38218. * `showInNavigator` is `true` for this series. Available options are the
  38219. * same as any series, documented at plotOptions and series.
  38220. *
  38221. * These options are merged with options in navigator.series, and will take
  38222. * precedence if the same option is defined both places.
  38223. */
  38224. navigatorOptions?: PlotSeriesOptions;
  38225. /**
  38226. * (Highcharts) The color for the parts of the graph or points that are
  38227. * below the threshold. Note that `zones` takes precedence over the negative
  38228. * color. Using `negativeColor` is equivalent to applying a zone with value
  38229. * of 0.
  38230. */
  38231. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  38232. /**
  38233. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  38234. * dataLabels.
  38235. */
  38236. opacity?: number;
  38237. /**
  38238. * (Highcharts) Properties for each single point.
  38239. */
  38240. point?: PlotSeriesPointOptions;
  38241. /**
  38242. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  38243. * individual series. Overrides the chart wide configuration.
  38244. */
  38245. pointDescriptionFormatter?: Function;
  38246. /**
  38247. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  38248. * a series, `pointInterval` defines the interval of the x values. For
  38249. * example, if a series contains one value every decade starting from year
  38250. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  38251. * `pointInterval` is set in milliseconds.
  38252. *
  38253. * It can be also be combined with `pointIntervalUnit` to draw irregular
  38254. * time intervals.
  38255. *
  38256. * Please note that this options applies to the _series data_, not the
  38257. * interval of the axis ticks, which is independent.
  38258. */
  38259. pointInterval?: number;
  38260. /**
  38261. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  38262. * setting the pointInterval to irregular time units, `day`, `month` and
  38263. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  38264. * also takes the DST crossover into consideration when dealing with local
  38265. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  38266. * months, 10 years etc.
  38267. *
  38268. * Please note that this options applies to the _series data_, not the
  38269. * interval of the axis ticks, which is independent.
  38270. */
  38271. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  38272. /**
  38273. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  38274. * axis units.
  38275. */
  38276. pointPadding?: number;
  38277. /**
  38278. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  38279. * `number`.
  38280. *
  38281. * In a column chart, when pointPlacement is `"on"`, the point will not
  38282. * create any padding of the X axis. In a polar column chart this means that
  38283. * the first column points directly north. If the pointPlacement is
  38284. * `"between"`, the columns will be laid out between ticks. This is useful
  38285. * for example for visualising an amount between two points in time or in a
  38286. * certain sector of a polar chart.
  38287. *
  38288. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  38289. * is on the axis value, -0.5 is between this value and the previous, and
  38290. * 0.5 is between this value and the next. Unlike the textual options,
  38291. * numeric point placement options won't affect axis padding.
  38292. *
  38293. * Note that pointPlacement needs a pointRange to work. For column series
  38294. * this is computed, but for line-type series it needs to be set.
  38295. *
  38296. * For the `xrange` series type and gantt charts, if the Y axis is a
  38297. * category axis, the `pointPlacement` applies to the Y axis rather than the
  38298. * (typically datetime) X axis.
  38299. *
  38300. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  38301. */
  38302. pointPlacement?: (number|string);
  38303. /**
  38304. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  38305. * for. This determines the width of the column. On a categorized axis, the
  38306. * range will be 1 by default (one category unit). On linear and datetime
  38307. * axes, the range will be computed as the distance between the two closest
  38308. * data points.
  38309. *
  38310. * The default `null` means it is computed automatically, but this option
  38311. * can be used to override the automatic value.
  38312. *
  38313. * This option is set by default to 1 if data sorting is enabled.
  38314. */
  38315. pointRange?: (number|null);
  38316. /**
  38317. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  38318. * a series, pointStart defines on what value to start. For example, if a
  38319. * series contains one yearly value starting from 1945, set pointStart to
  38320. * 1945.
  38321. */
  38322. pointStart?: number;
  38323. /**
  38324. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  38325. * each column or bar point. When set to `undefined`, the width is
  38326. * calculated from the `pointPadding` and `groupPadding`. The width effects
  38327. * the dimension that is not based on the point value. For column series it
  38328. * is the hoizontal length and for bar series it is the vertical length.
  38329. */
  38330. pointWidth?: number;
  38331. /**
  38332. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  38333. * true, the checkbox next to the series name in the legend will be checked
  38334. * for a selected series.
  38335. */
  38336. selected?: boolean;
  38337. /**
  38338. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  38339. * the shadow can be an object configuration containing `color`, `offsetX`,
  38340. * `offsetY`, `opacity` and `width`.
  38341. */
  38342. shadow?: (boolean|ShadowOptionsObject);
  38343. /**
  38344. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  38345. * allow selecting the series. The state of the checkbox is determined by
  38346. * the `selected` option.
  38347. */
  38348. showCheckbox?: boolean;
  38349. /**
  38350. * (Highcharts) Whether to display this particular series or series type in
  38351. * the legend. Standalone series are shown in legend by default, and linked
  38352. * series are not. Since v7.2.0 it is possible to show series that use
  38353. * colorAxis by setting this option to `true`.
  38354. */
  38355. showInLegend?: boolean;
  38356. /**
  38357. * (Highstock) Whether or not to show the series in the navigator. Takes
  38358. * precedence over navigator.baseSeries if defined.
  38359. */
  38360. showInNavigator?: boolean;
  38361. /**
  38362. * (Highcharts) If set to `true`, the accessibility module will skip past
  38363. * the points in this series for keyboard navigation.
  38364. */
  38365. skipKeyboardNavigation?: boolean;
  38366. /**
  38367. * (Highcharts, Highstock) When this is true, the series will not cause the
  38368. * Y axis to cross the zero plane (or threshold option) unless the data
  38369. * actually crosses the plane.
  38370. *
  38371. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  38372. * make the Y axis show negative values according to the `minPadding`
  38373. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  38374. */
  38375. softThreshold?: boolean;
  38376. /**
  38377. * (Highcharts, Highstock) Whether to stack the values of each series on top
  38378. * of each other. Possible values are `undefined` to disable, `"normal"` to
  38379. * stack by value or `"percent"`.
  38380. *
  38381. * When stacking is enabled, data must be sorted in ascending X order.
  38382. *
  38383. * Some stacking options are related to specific series types. In the
  38384. * streamgraph series type, the stacking option is set to `"stream"`. The
  38385. * second one is `"overlap"`, which only applies to waterfall series.
  38386. */
  38387. stacking?: OptionsStackingValue;
  38388. states?: SeriesStatesOptionsObject;
  38389. /**
  38390. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  38391. * event on a series isn't triggered until the mouse moves over another
  38392. * series, or out of the plot area. When false, the `mouseOut` event on a
  38393. * series is triggered when the mouse leaves the area around the series'
  38394. * graph or markers. This also implies the tooltip when not shared. When
  38395. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  38396. * be hidden when moving the mouse between series. Defaults to true for line
  38397. * and area type series, but to false for columns, pies etc.
  38398. *
  38399. * **Note:** The boost module will force this option because of technical
  38400. * limitations.
  38401. */
  38402. stickyTracking?: boolean;
  38403. /**
  38404. * (Highcharts) The Y axis value to serve as the base for the columns, for
  38405. * distinguishing between values above and below a threshold. If `null`, the
  38406. * columns extend from the padding Y axis minimum.
  38407. */
  38408. threshold?: (number|null);
  38409. /**
  38410. * (Highcharts) A configuration object for the tooltip rendering of each
  38411. * single series. Properties are inherited from tooltip, but only the
  38412. * following properties can be defined on a series level.
  38413. */
  38414. tooltip?: SeriesTooltipOptionsObject;
  38415. /**
  38416. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  38417. * is longer than this, only one dimensional arrays of numbers, or two
  38418. * dimensional arrays with x and y values are allowed. Also, only the first
  38419. * point is tested, and the rest are assumed to be the same format. This
  38420. * saves expensive data checking and indexing in long series. Set it to `0`
  38421. * disable.
  38422. *
  38423. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  38424. * two dimensional arrays are allowed.
  38425. */
  38426. turboThreshold?: number;
  38427. /**
  38428. * (Highcharts) Set the initial visibility of the series.
  38429. */
  38430. visible?: boolean;
  38431. /**
  38432. * (Highmaps) Define the z index of the series.
  38433. */
  38434. zIndex?: number;
  38435. /**
  38436. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  38437. */
  38438. zoneAxis?: string;
  38439. /**
  38440. * (Highcharts, Highstock) An array defining zones within a series. Zones
  38441. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  38442. * the `zoneAxis` option. The zone definitions have to be in ascending order
  38443. * regarding to the value.
  38444. *
  38445. * In styled mode, the color zones are styled with the
  38446. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  38447. * option (view live demo).
  38448. */
  38449. zones?: Array<SeriesZonesOptionsObject>;
  38450. }
  38451. /**
  38452. * (Highstock) Enable or disable the initial animation when a series is
  38453. * displayed. The animation can also be set as a configuration object. Please
  38454. * note that this option only applies to the initial animation of the series
  38455. * itself. For other animations, see chart.animation and the animation parameter
  38456. * under the API methods. The following properties are supported:
  38457. *
  38458. * - `defer`: The animation delay time in milliseconds.
  38459. *
  38460. * - `duration`: The duration of the animation in milliseconds.
  38461. *
  38462. * - `easing`: Can be a string reference to an easing function set on the `Math`
  38463. * object or a function. See the _Custom easing function_ demo below.
  38464. *
  38465. * Due to poor performance, animation is disabled in old IE browsers for several
  38466. * chart types.
  38467. */
  38468. export interface PlotDemaAnimationOptions {
  38469. defer?: number;
  38470. }
  38471. /**
  38472. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  38473. * animation when a series is displayed for the `dataLabels`. The animation can
  38474. * also be set as a configuration object. Please note that this option only
  38475. * applies to the initial animation. For other animations, see chart.animation
  38476. * and the animation parameter under the API methods. The following properties
  38477. * are supported:
  38478. *
  38479. * - `defer`: The animation delay time in milliseconds.
  38480. */
  38481. export interface PlotDemaDataLabelsAnimationOptions {
  38482. /**
  38483. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  38484. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  38485. * inherits defer time from the series.animation.defer.
  38486. */
  38487. defer?: number;
  38488. }
  38489. /**
  38490. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  38491. * appearing next to each data point.
  38492. *
  38493. * Since v6.2.0, multiple data labels can be applied to each single point by
  38494. * defining them as an array of configs.
  38495. *
  38496. * In styled mode, the data labels can be styled with the
  38497. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  38498. * example).
  38499. */
  38500. export interface PlotDemaDataLabelsOptions {
  38501. /**
  38502. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  38503. * compared to the point. If `right`, the right side of the label should be
  38504. * touching the point. For points with an extent, like columns, the
  38505. * alignments also dictates how to align it inside the box, as given with
  38506. * the inside option. Can be one of `left`, `center` or `right`.
  38507. */
  38508. align?: (AlignValue|null);
  38509. /**
  38510. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  38511. * overlap. To make the labels less sensitive for overlapping, the
  38512. * dataLabels.padding can be set to 0.
  38513. */
  38514. allowOverlap?: boolean;
  38515. /**
  38516. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  38517. * animation when a series is displayed for the `dataLabels`. The animation
  38518. * can also be set as a configuration object. Please note that this option
  38519. * only applies to the initial animation. For other animations, see
  38520. * chart.animation and the animation parameter under the API methods. The
  38521. * following properties are supported:
  38522. *
  38523. * - `defer`: The animation delay time in milliseconds.
  38524. */
  38525. animation?: (boolean|PlotDemaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  38526. /**
  38527. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  38528. * for the data label.
  38529. */
  38530. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  38531. /**
  38532. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  38533. * label. Defaults to `undefined`.
  38534. */
  38535. borderColor?: (ColorString|GradientColorObject|PatternObject);
  38536. /**
  38537. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  38538. * the data label.
  38539. */
  38540. borderRadius?: number;
  38541. /**
  38542. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  38543. * the data label.
  38544. */
  38545. borderWidth?: number;
  38546. /**
  38547. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  38548. * Particularly in styled mode, this can be used to give each series' or
  38549. * point's data label unique styling. In addition to this option, a default
  38550. * color class name is added so that we can give the labels a contrast text
  38551. * shadow.
  38552. */
  38553. className?: string;
  38554. /**
  38555. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  38556. * labels. Defaults to `undefined`. For certain series types, like column or
  38557. * map, the data labels can be drawn inside the points. In this case the
  38558. * data label will be drawn with maximum contrast by default. Additionally,
  38559. * it will be given a `text-outline` style with the opposite color, to
  38560. * further increase the contrast. This can be overridden by setting the
  38561. * `text-outline` style to `none` in the `dataLabels.style` option.
  38562. */
  38563. color?: (ColorString|GradientColorObject|PatternObject);
  38564. /**
  38565. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  38566. * are outside the plot area. By default, the data label is moved inside the
  38567. * plot area according to the overflow option.
  38568. */
  38569. crop?: boolean;
  38570. /**
  38571. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  38572. * labels until the initial series animation has finished. Setting to
  38573. * `false` renders the data label immediately. If set to `true` inherits the
  38574. * defer time set in plotOptions.series.animation. If set to a number, a
  38575. * defer time is specified in milliseconds.
  38576. */
  38577. defer?: (boolean|number);
  38578. /**
  38579. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  38580. * labels.
  38581. */
  38582. enabled?: boolean;
  38583. /**
  38584. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  38585. * of which data labels to display. The declarative filter is designed for
  38586. * use when callback functions are not available, like when the chart
  38587. * options require a pure JSON structure or for use with graphical editors.
  38588. * For programmatic control, use the `formatter` instead, and return
  38589. * `undefined` to disable a single data label.
  38590. */
  38591. filter?: DataLabelsFilterOptionsObject;
  38592. /**
  38593. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  38594. * label. Available variables are the same as for `formatter`.
  38595. */
  38596. format?: string;
  38597. /**
  38598. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  38599. * format the data label. Note that if a `format` is defined, the format
  38600. * takes precedence and the formatter is ignored.
  38601. */
  38602. formatter?: DataLabelsFormatterCallbackFunction;
  38603. /**
  38604. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  38605. * columns or map areas, whether to align the data label inside the box or
  38606. * to the actual value point. Defaults to `false` in most cases, `true` in
  38607. * stacked columns.
  38608. */
  38609. inside?: boolean;
  38610. /**
  38611. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  38612. * of null. Works analogously to format. `nullFormat` can be applied only to
  38613. * series which support displaying null points.
  38614. */
  38615. nullFormat?: (boolean|string);
  38616. /**
  38617. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  38618. * that defines formatting for points with the value of null. Works
  38619. * analogously to formatter. `nullPointFormatter` can be applied only to
  38620. * series which support displaying null points.
  38621. */
  38622. nullFormatter?: DataLabelsFormatterCallbackFunction;
  38623. /**
  38624. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  38625. * flow outside the plot area. The default is `"justify"`, which aligns them
  38626. * inside the plot area. For columns and bars, this means it will be moved
  38627. * inside the bar. To display data labels outside the plot area, set `crop`
  38628. * to `false` and `overflow` to `"allow"`.
  38629. */
  38630. overflow?: DataLabelsOverflowValue;
  38631. /**
  38632. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  38633. * the `backgroundColor` is set, this is the padding within the box.
  38634. */
  38635. padding?: number;
  38636. /**
  38637. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  38638. * points. If `center` alignment is not possible, it defaults to `right`.
  38639. */
  38640. position?: AlignValue;
  38641. /**
  38642. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  38643. * that due to a more complex structure, backgrounds, borders and padding
  38644. * will be lost on a rotated data label.
  38645. */
  38646. rotation?: number;
  38647. /**
  38648. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  38649. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  38650. * an object configuration containing `color`, `offsetX`, `offsetY`,
  38651. * `opacity` and `width`.
  38652. */
  38653. shadow?: (boolean|ShadowOptionsObject);
  38654. /**
  38655. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  38656. * the border around the label. Symbols are predefined functions on the
  38657. * Renderer object.
  38658. */
  38659. shape?: string;
  38660. /**
  38661. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  38662. * default `color` setting is `"contrast"`, which is a pseudo color that
  38663. * Highcharts picks up and applies the maximum contrast to the underlying
  38664. * point item, for example the bar in a bar chart.
  38665. *
  38666. * The `textOutline` is a pseudo property that applies an outline of the
  38667. * given width with the given color, which by default is the maximum
  38668. * contrast to the text. So a bright text color will result in a black text
  38669. * outline for maximum readability on a mixed background. In some cases,
  38670. * especially with grayscale text, the text outline doesn't work well, in
  38671. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  38672. * is true, the `textOutline` will not be picked up. In this, case, the same
  38673. * effect can be acheived through the `text-shadow` CSS property.
  38674. *
  38675. * For some series types, where each point has an extent, like for example
  38676. * tree maps, the data label may overflow the point. There are two
  38677. * strategies for handling overflow. By default, the text will wrap to
  38678. * multiple lines. The other strategy is to set `style.textOverflow` to
  38679. * `ellipsis`, which will keep the text on one line plus it will break
  38680. * inside long words.
  38681. */
  38682. style?: CSSObject;
  38683. /**
  38684. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  38685. * should follow marker's shape. Border and background are disabled for a
  38686. * label that follows a path.
  38687. *
  38688. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  38689. * to true will disable this option.
  38690. */
  38691. textPath?: DataLabelsTextPathOptionsObject;
  38692. /**
  38693. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  38694. * the labels.
  38695. */
  38696. useHTML?: boolean;
  38697. /**
  38698. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  38699. * label. Can be one of `top`, `middle` or `bottom`. The default value
  38700. * depends on the data, for instance in a column chart, the label is above
  38701. * positive values and below negative values.
  38702. */
  38703. verticalAlign?: (VerticalAlignValue|null);
  38704. /**
  38705. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  38706. * label relative to the point in pixels.
  38707. */
  38708. x?: number;
  38709. /**
  38710. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  38711. * label relative to the point in pixels.
  38712. */
  38713. y?: number;
  38714. /**
  38715. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  38716. * The default Z index puts it above the series. Use a Z index of 2 to
  38717. * display it behind the series.
  38718. */
  38719. z?: number;
  38720. }
  38721. /**
  38722. * (Highcharts, Highstock) Options for the series data sorting.
  38723. */
  38724. export interface PlotDemaDataSortingOptions {
  38725. /**
  38726. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  38727. * Use xAxis.reversed to change the sorting order.
  38728. */
  38729. enabled?: boolean;
  38730. /**
  38731. * (Highcharts, Highstock) Whether to allow matching points by name in an
  38732. * update. If this option is disabled, points will be matched by order.
  38733. */
  38734. matchByName?: boolean;
  38735. /**
  38736. * (Highcharts, Highstock) Determines what data value should be used to sort
  38737. * by.
  38738. */
  38739. sortKey?: string;
  38740. }
  38741. /**
  38742. * (Highstock) Double exponential moving average (DEMA) indicator. This series
  38743. * requires `linkedTo` option to be set and should be loaded after the
  38744. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  38745. *
  38746. * In TypeScript the type option must always be set.
  38747. *
  38748. * Configuration options for the series are given in three levels:
  38749. *
  38750. * 1. Options for all series in a chart are defined in the plotOptions.series
  38751. * object.
  38752. *
  38753. * 2. Options for all `dema` series are defined in plotOptions.dema.
  38754. *
  38755. * 3. Options for one single series are given in the series instance array. (see
  38756. * online documentation for example)
  38757. */
  38758. export interface PlotDemaOptions {
  38759. /**
  38760. * (Highstock) Accessibility options for a series.
  38761. */
  38762. accessibility?: SeriesAccessibilityOptionsObject;
  38763. /**
  38764. * (Highstock) Allow this series' points to be selected by clicking on the
  38765. * graphic (columns, point markers, pie slices, map areas etc).
  38766. *
  38767. * The selected points can be handled by point select and unselect events,
  38768. * or collectively by the getSelectedPoints function.
  38769. *
  38770. * And alternative way of selecting points is through dragging.
  38771. */
  38772. allowPointSelect?: boolean;
  38773. /**
  38774. * (Highstock) Enable or disable the initial animation when a series is
  38775. * displayed. The animation can also be set as a configuration object.
  38776. * Please note that this option only applies to the initial animation of the
  38777. * series itself. For other animations, see chart.animation and the
  38778. * animation parameter under the API methods. The following properties are
  38779. * supported:
  38780. *
  38781. * - `defer`: The animation delay time in milliseconds.
  38782. *
  38783. * - `duration`: The duration of the animation in milliseconds.
  38784. *
  38785. * - `easing`: Can be a string reference to an easing function set on the
  38786. * `Math` object or a function. See the _Custom easing function_ demo below.
  38787. *
  38788. * Due to poor performance, animation is disabled in old IE browsers for
  38789. * several chart types.
  38790. */
  38791. animation?: (boolean|PlotDemaAnimationOptions|Partial<AnimationOptionsObject>);
  38792. /**
  38793. * (Highstock) For some series, there is a limit that shuts down initial
  38794. * animation by default when the total number of points in the chart is too
  38795. * high. For example, for a column chart and its derivatives, animation does
  38796. * not run if there is more than 250 points totally. To disable this cap,
  38797. * set `animationLimit` to `Infinity`.
  38798. */
  38799. animationLimit?: number;
  38800. /**
  38801. * (Highstock) Sets the color blending in the boost module.
  38802. */
  38803. boostBlending?: OptionsBoostBlendingValue;
  38804. /**
  38805. * (Highstock) Set the point threshold for when a series should enter boost
  38806. * mode.
  38807. *
  38808. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  38809. * there are 2000 or more points in the series.
  38810. *
  38811. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  38812. * it to 1 will force boosting.
  38813. *
  38814. * Note that the cropThreshold also affects this setting. When zooming in on
  38815. * a series that has fewer points than the `cropThreshold`, all points are
  38816. * rendered although outside the visible plot area, and the `boostThreshold`
  38817. * won't take effect.
  38818. */
  38819. boostThreshold?: number;
  38820. /**
  38821. * (Highmaps) The border color of the map areas.
  38822. *
  38823. * In styled mode, the border stroke is given in the `.highcharts-point`
  38824. * class.
  38825. */
  38826. borderColor?: (ColorString|GradientColorObject|PatternObject);
  38827. /**
  38828. * (Highmaps) The border width of each map area.
  38829. *
  38830. * In styled mode, the border stroke width is given in the
  38831. * `.highcharts-point` class.
  38832. */
  38833. borderWidth?: number;
  38834. /**
  38835. * (Highstock) An additional class name to apply to the series' graphical
  38836. * elements. This option does not replace default class names of the
  38837. * graphical element.
  38838. */
  38839. className?: string;
  38840. /**
  38841. * (Highstock) Disable this option to allow series rendering in the whole
  38842. * plotting area.
  38843. *
  38844. * **Note:** Clipping should be always enabled when chart.zoomType is set
  38845. */
  38846. clip?: boolean;
  38847. /**
  38848. * (Highstock) The main color of the series. In line type series it applies
  38849. * to the line and the point markers unless otherwise specified. In bar type
  38850. * series it applies to the bars unless a color is specified per point. The
  38851. * default value is pulled from the `options.colors` array.
  38852. *
  38853. * In styled mode, the color can be defined by the colorIndex option. Also,
  38854. * the series color can be set with the `.highcharts-series`,
  38855. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  38856. * `.highcharts-series-{n}` class, or individual classes given by the
  38857. * `className` option.
  38858. */
  38859. color?: (ColorString|GradientColorObject|PatternObject);
  38860. /**
  38861. * (Highstock) Styled mode only. A specific color index to use for the
  38862. * series, so its graphic representations are given the class name
  38863. * `highcharts-color-{n}`.
  38864. */
  38865. colorIndex?: number;
  38866. /**
  38867. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  38868. * used to calculate point color if `colorAxis` is used. Requires to set
  38869. * `min` and `max` if some custom point property is used or if approximation
  38870. * for data grouping is set to `'sum'`.
  38871. */
  38872. colorKey?: string;
  38873. /**
  38874. * (Highstock) Defines if comparison should start from the first point
  38875. * within the visible range or should start from the first point **before**
  38876. * the range.
  38877. *
  38878. * In other words, this flag determines if first point within the visible
  38879. * range will have 0% (`compareStart=true`) or should have been already
  38880. * calculated according to the previous point (`compareStart=false`).
  38881. */
  38882. compareStart?: boolean;
  38883. /**
  38884. * (Highstock) Whether to compare indicator to the main series values or
  38885. * indicator values.
  38886. */
  38887. compareToMain?: boolean;
  38888. /**
  38889. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  38890. * series plot across the extremes.
  38891. */
  38892. connectEnds?: boolean;
  38893. /**
  38894. * (Highcharts, Highstock) Whether to connect a graph line across null
  38895. * points, or render a gap between the two points on either side of the
  38896. * null.
  38897. */
  38898. connectNulls?: boolean;
  38899. /**
  38900. * (Gantt) Override Pathfinder connector options for a series. Requires
  38901. * Highcharts Gantt to be loaded.
  38902. */
  38903. connectors?: SeriesConnectorsOptionsObject;
  38904. /**
  38905. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  38906. * rounded to its nearest pixel in order to render sharp on screen. In some
  38907. * cases, when there are a lot of densely packed columns, this leads to
  38908. * visible difference in column widths or distance between columns. In these
  38909. * cases, setting `crisp` to `false` may look better, even though each
  38910. * column is rendered blurry.
  38911. */
  38912. crisp?: boolean;
  38913. /**
  38914. * (Highcharts, Highstock) When the series contains less points than the
  38915. * crop threshold, all points are drawn, even if the points fall outside the
  38916. * visible plot area at the current zoom. The advantage of drawing all
  38917. * points (including markers and columns), is that animation is performed on
  38918. * updates. On the other hand, when the series contains more points than the
  38919. * crop threshold, the series data is cropped to only contain points that
  38920. * fall within the plot area. The advantage of cropping away invisible
  38921. * points is to increase performance on large series.
  38922. */
  38923. cropThreshold?: number;
  38924. /**
  38925. * (Highstock) You can set the cursor to "pointer" if you have click events
  38926. * attached to the series, to signal to the user that the points and lines
  38927. * can be clicked.
  38928. *
  38929. * In styled mode, the series cursor can be set with the same classes as
  38930. * listed under series.color.
  38931. */
  38932. cursor?: (string|CursorValue);
  38933. /**
  38934. * (Highstock) A reserved subspace to store options and values for
  38935. * customized functionality. Here you can add additional data for your own
  38936. * event callbacks and formatter callbacks.
  38937. */
  38938. custom?: Dictionary<any>;
  38939. /**
  38940. * (Highstock) Name of the dash style to use for the graph, or for some
  38941. * series types the outline of each shape.
  38942. *
  38943. * In styled mode, the stroke dash-array can be set with the same classes as
  38944. * listed under series.color.
  38945. */
  38946. dashStyle?: DashStyleValue;
  38947. /**
  38948. * (Highstock) Data grouping is the concept of sampling the data values into
  38949. * larger blocks in order to ease readability and increase performance of
  38950. * the JavaScript charts. Highcharts Stock by default applies data grouping
  38951. * when the points become closer than a certain pixel value, determined by
  38952. * the `groupPixelWidth` option.
  38953. *
  38954. * If data grouping is applied, the grouping information of grouped points
  38955. * can be read from the Point.dataGroup. If point options other than the
  38956. * data itself are set, for example `name` or `color` or custom properties,
  38957. * the grouping logic doesn't know how to group it. In this case the options
  38958. * of the first point instance are copied over to the group point. This can
  38959. * be altered through a custom `approximation` callback function.
  38960. */
  38961. dataGrouping?: DataGroupingOptionsObject;
  38962. /**
  38963. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  38964. * labels, appearing next to each data point.
  38965. *
  38966. * Since v6.2.0, multiple data labels can be applied to each single point by
  38967. * defining them as an array of configs.
  38968. *
  38969. * In styled mode, the data labels can be styled with the
  38970. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  38971. * (see example).
  38972. */
  38973. dataLabels?: (PlotDemaDataLabelsOptions|Array<PlotDemaDataLabelsOptions>);
  38974. /**
  38975. * (Highcharts, Highstock) Options for the series data sorting.
  38976. */
  38977. dataSorting?: (DataSortingOptionsObject|PlotDemaDataSortingOptions);
  38978. /**
  38979. * (Highstock) A description of the series to add to the screen reader
  38980. * information about the series.
  38981. */
  38982. description?: string;
  38983. /**
  38984. * (Highstock) Enable or disable the mouse tracking for a specific series.
  38985. * This includes point tooltips and click events on graphs and points. For
  38986. * large datasets it improves performance.
  38987. */
  38988. enableMouseTracking?: boolean;
  38989. /**
  38990. * (Highstock) General event handlers for the series items. These event
  38991. * hooks can also be attached to the series at run time using the
  38992. * `Highcharts.addEvent` function.
  38993. */
  38994. events?: SeriesEventsOptionsObject;
  38995. /**
  38996. * (Highstock) Determines whether the series should look for the nearest
  38997. * point in both dimensions or just the x-dimension when hovering the
  38998. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  38999. * series. If the data has duplicate x-values, it is recommended to set this
  39000. * to `'xy'` to allow hovering over all points.
  39001. *
  39002. * Applies only to series types using nearest neighbor search (not direct
  39003. * hover) for tooltip.
  39004. */
  39005. findNearestPointBy?: OptionsFindNearestPointByValue;
  39006. /**
  39007. * (Highstock) Defines when to display a gap in the graph, together with the
  39008. * gapUnit option.
  39009. *
  39010. * In case when `dataGrouping` is enabled, points can be grouped into a
  39011. * larger time span. This can make the grouped points to have a greater
  39012. * distance than the absolute value of `gapSize` property, which will result
  39013. * in disappearing graph completely. To prevent this situation the mentioned
  39014. * distance between grouped points is used instead of previously defined
  39015. * `gapSize`.
  39016. *
  39017. * In practice, this option is most often used to visualize gaps in time
  39018. * series. In a stock chart, intraday data is available for daytime hours,
  39019. * while gaps will appear in nights and weekends.
  39020. */
  39021. gapSize?: number;
  39022. /**
  39023. * (Highstock) Together with gapSize, this option defines where to draw gaps
  39024. * in the graph.
  39025. *
  39026. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  39027. * if the distance between two points is greater than 5 times that of the
  39028. * two closest points, the graph will be broken.
  39029. *
  39030. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  39031. * values, which on a datetime axis is milliseconds. This also applies to
  39032. * the navigator series that inherits gap options from the base series.
  39033. */
  39034. gapUnit?: OptionsGapUnitValue;
  39035. /**
  39036. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  39037. * chart width or only the zoomed area when zooming in on parts of the X
  39038. * axis. By default, the Y axis adjusts to the min and max of the visible
  39039. * data. Cartesian series only.
  39040. */
  39041. getExtremesFromAll?: boolean;
  39042. /**
  39043. * (Highstock) When set to `false` will prevent the series data from being
  39044. * included in any form of data export.
  39045. *
  39046. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  39047. * `includeInCSVExport`.
  39048. */
  39049. includeInDataExport?: boolean;
  39050. /**
  39051. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  39052. * series as possible in a natural way, seeking to avoid other series. The
  39053. * goal of this feature is to make the chart more easily readable, like if a
  39054. * human designer placed the labels in the optimal position.
  39055. *
  39056. * The series labels currently work with series types having a `graph` or an
  39057. * `area`.
  39058. */
  39059. label?: SeriesLabelOptionsObject;
  39060. /**
  39061. * (Highstock) The line marks the last price from all points.
  39062. */
  39063. lastPrice?: SeriesLastPriceOptionsObject;
  39064. /**
  39065. * (Highstock) The line marks the last price from visible range of points.
  39066. */
  39067. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  39068. /**
  39069. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  39070. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  39071. * the ends and bends.
  39072. */
  39073. linecap?: SeriesLinecapValue;
  39074. /**
  39075. * (Highcharts, Highstock) Pixel width of the graph line.
  39076. */
  39077. lineWidth?: number;
  39078. /**
  39079. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  39080. * based on. Required for this indicator.
  39081. */
  39082. linkedTo?: string;
  39083. /**
  39084. * (Highstock) Options for the point markers of line-like series. Properties
  39085. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  39086. * appearance of the markers. Other series types, like column series, don't
  39087. * have markers, but have visual options on the series level instead.
  39088. *
  39089. * In styled mode, the markers can be styled with the `.highcharts-point`,
  39090. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  39091. */
  39092. marker?: PointMarkerOptionsObject;
  39093. /**
  39094. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  39095. * If not set, it will be based on a technical indicator type and default
  39096. * params.
  39097. */
  39098. name?: string;
  39099. /**
  39100. * (Highstock) The color for the parts of the graph or points that are below
  39101. * the threshold. Note that `zones` takes precedence over the negative
  39102. * color. Using `negativeColor` is equivalent to applying a zone with value
  39103. * of 0.
  39104. */
  39105. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  39106. /**
  39107. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  39108. * dataLabels.
  39109. */
  39110. opacity?: number;
  39111. /**
  39112. * (Highstock) Paramters used in calculation of regression series' points.
  39113. */
  39114. params?: PlotDemaParamsOptions;
  39115. /**
  39116. * (Highstock) Properties for each single point.
  39117. */
  39118. point?: PlotSeriesPointOptions;
  39119. /**
  39120. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  39121. * individual series. Overrides the chart wide configuration.
  39122. */
  39123. pointDescriptionFormatter?: Function;
  39124. /**
  39125. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  39126. * true, the checkbox next to the series name in the legend will be checked
  39127. * for a selected series.
  39128. */
  39129. selected?: boolean;
  39130. /**
  39131. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  39132. * the shadow can be an object configuration containing `color`, `offsetX`,
  39133. * `offsetY`, `opacity` and `width`.
  39134. */
  39135. shadow?: (boolean|ShadowOptionsObject);
  39136. /**
  39137. * (Highstock) If true, a checkbox is displayed next to the legend item to
  39138. * allow selecting the series. The state of the checkbox is determined by
  39139. * the `selected` option.
  39140. */
  39141. showCheckbox?: boolean;
  39142. /**
  39143. * (Highstock) Whether to display this particular series or series type in
  39144. * the legend. Standalone series are shown in legend by default, and linked
  39145. * series are not. Since v7.2.0 it is possible to show series that use
  39146. * colorAxis by setting this option to `true`.
  39147. */
  39148. showInLegend?: boolean;
  39149. /**
  39150. * (Highstock) If set to `true`, the accessibility module will skip past the
  39151. * points in this series for keyboard navigation.
  39152. */
  39153. skipKeyboardNavigation?: boolean;
  39154. /**
  39155. * (Highcharts, Highstock) When this is true, the series will not cause the
  39156. * Y axis to cross the zero plane (or threshold option) unless the data
  39157. * actually crosses the plane.
  39158. *
  39159. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  39160. * make the Y axis show negative values according to the `minPadding`
  39161. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  39162. */
  39163. softThreshold?: boolean;
  39164. states?: SeriesStatesOptionsObject;
  39165. /**
  39166. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  39167. * values are `left`, `center` and `right`.
  39168. */
  39169. step?: OptionsStepValue;
  39170. /**
  39171. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  39172. * event on a series isn't triggered until the mouse moves over another
  39173. * series, or out of the plot area. When false, the `mouseOut` event on a
  39174. * series is triggered when the mouse leaves the area around the series'
  39175. * graph or markers. This also implies the tooltip when not shared. When
  39176. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  39177. * be hidden when moving the mouse between series. Defaults to true for line
  39178. * and area type series, but to false for columns, pies etc.
  39179. *
  39180. * **Note:** The boost module will force this option because of technical
  39181. * limitations.
  39182. */
  39183. stickyTracking?: boolean;
  39184. /**
  39185. * (Highcharts, Highstock) The threshold, also called zero level or base
  39186. * level. For line type series this is only used in conjunction with
  39187. * negativeColor.
  39188. */
  39189. threshold?: (number|null);
  39190. /**
  39191. * (Highstock) A configuration object for the tooltip rendering of each
  39192. * single series. Properties are inherited from tooltip, but only the
  39193. * following properties can be defined on a series level.
  39194. */
  39195. tooltip?: SeriesTooltipOptionsObject;
  39196. /**
  39197. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  39198. * is longer than this, only one dimensional arrays of numbers, or two
  39199. * dimensional arrays with x and y values are allowed. Also, only the first
  39200. * point is tested, and the rest are assumed to be the same format. This
  39201. * saves expensive data checking and indexing in long series. Set it to `0`
  39202. * disable.
  39203. *
  39204. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  39205. * two dimensional arrays are allowed.
  39206. */
  39207. turboThreshold?: number;
  39208. /**
  39209. * (Highstock) Set the initial visibility of the series.
  39210. */
  39211. visible?: boolean;
  39212. /**
  39213. * (Highmaps) Define the z index of the series.
  39214. */
  39215. zIndex?: number;
  39216. /**
  39217. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  39218. */
  39219. zoneAxis?: string;
  39220. /**
  39221. * (Highcharts, Highstock) An array defining zones within a series. Zones
  39222. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  39223. * the `zoneAxis` option. The zone definitions have to be in ascending order
  39224. * regarding to the value.
  39225. *
  39226. * In styled mode, the color zones are styled with the
  39227. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  39228. * option (view live demo).
  39229. */
  39230. zones?: Array<SeriesZonesOptionsObject>;
  39231. }
  39232. /**
  39233. * (Highstock) Paramters used in calculation of regression series' points.
  39234. */
  39235. export interface PlotDemaParamsOptions {
  39236. /**
  39237. * (Highstock) The point index which indicator calculations will base. For
  39238. * example using OHLC data, index=2 means the indicator will be calculated
  39239. * using Low values.
  39240. *
  39241. * By default index value used to be set to 0. Since Highcharts Stock 7 by
  39242. * default index is set to 3 which means that the ema indicator will be
  39243. * calculated using Close values.
  39244. */
  39245. index?: number;
  39246. /**
  39247. * (Highstock) The base period for indicator calculations. This is the
  39248. * number of data points which are taken into account for the indicator
  39249. * calculations.
  39250. */
  39251. period?: number;
  39252. }
  39253. /**
  39254. * (Highcharts) Enable or disable the initial animation when a series is
  39255. * displayed. The animation can also be set as a configuration object. Please
  39256. * note that this option only applies to the initial animation of the series
  39257. * itself. For other animations, see chart.animation and the animation parameter
  39258. * under the API methods. The following properties are supported:
  39259. *
  39260. * - `defer`: The animation delay time in milliseconds.
  39261. *
  39262. * - `duration`: The duration of the animation in milliseconds.
  39263. *
  39264. * - `easing`: Can be a string reference to an easing function set on the `Math`
  39265. * object or a function. See the _Custom easing function_ demo below.
  39266. *
  39267. * Due to poor performance, animation is disabled in old IE browsers for several
  39268. * chart types.
  39269. */
  39270. export interface PlotDependencywheelAnimationOptions {
  39271. defer?: number;
  39272. }
  39273. /**
  39274. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  39275. * animation when a series is displayed for the `dataLabels`. The animation can
  39276. * also be set as a configuration object. Please note that this option only
  39277. * applies to the initial animation. For other animations, see chart.animation
  39278. * and the animation parameter under the API methods. The following properties
  39279. * are supported:
  39280. *
  39281. * - `defer`: The animation delay time in milliseconds.
  39282. */
  39283. export interface PlotDependencywheelDataLabelsAnimationOptions {
  39284. /**
  39285. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  39286. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  39287. * inherits defer time from the series.animation.defer.
  39288. */
  39289. defer?: number;
  39290. }
  39291. /**
  39292. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  39293. * animation when a series is displayed for the `dataLabels`. The animation can
  39294. * also be set as a configuration object. Please note that this option only
  39295. * applies to the initial animation. For other animations, see chart.animation
  39296. * and the animation parameter under the API methods. The following properties
  39297. * are supported:
  39298. *
  39299. * - `defer`: The animation delay time in milliseconds.
  39300. */
  39301. export interface PlotDependencywheelLevelsDataLabelsAnimationOptions {
  39302. /**
  39303. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  39304. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  39305. * inherits defer time from the series.animation.defer.
  39306. */
  39307. defer?: number;
  39308. }
  39309. /**
  39310. * (Highcharts) Set options on specific levels. Takes precedence over series
  39311. * options, but not node and link options.
  39312. */
  39313. export interface PlotDependencywheelLevelsOptions {
  39314. /**
  39315. * (Highcharts) Can set `borderColor` on all nodes which lay on the same
  39316. * level.
  39317. */
  39318. borderColor?: ColorString;
  39319. /**
  39320. * (Highcharts) Can set `borderWidth` on all nodes which lay on the same
  39321. * level.
  39322. */
  39323. borderWidth?: number;
  39324. /**
  39325. * (Highcharts) Can set `color` on all nodes which lay on the same level.
  39326. */
  39327. color?: (ColorString|GradientColorObject|PatternObject);
  39328. /**
  39329. * (Highcharts) Can set `colorByPoint` on all nodes which lay on the same
  39330. * level.
  39331. */
  39332. colorByPoint?: boolean;
  39333. /**
  39334. * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
  39335. * points which lay on the same level.
  39336. */
  39337. dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
  39338. /**
  39339. * (Highcharts) Decides which level takes effect from the options set in the
  39340. * levels object.
  39341. */
  39342. level?: number;
  39343. /**
  39344. * (Highcharts) Can set `linkOpacity` on all points which lay on the same
  39345. * level.
  39346. */
  39347. linkOpacity?: number;
  39348. /**
  39349. * (Highcharts) Can set `states` on all nodes and points which lay on the
  39350. * same level.
  39351. */
  39352. states?: SeriesStatesOptionsObject;
  39353. }
  39354. /**
  39355. * (Highcharts) A dependency wheel chart is a type of flow diagram, where all
  39356. * nodes are laid out in a circle, and the flow between the are drawn as link
  39357. * bands.
  39358. *
  39359. * In TypeScript the type option must always be set.
  39360. *
  39361. * Configuration options for the series are given in three levels:
  39362. *
  39363. * 1. Options for all series in a chart are defined in the plotOptions.series
  39364. * object.
  39365. *
  39366. * 2. Options for all `dependencywheel` series are defined in
  39367. * plotOptions.dependencywheel.
  39368. *
  39369. * 3. Options for one single series are given in the series instance array. (see
  39370. * online documentation for example)
  39371. */
  39372. export interface PlotDependencywheelOptions {
  39373. /**
  39374. * (Highcharts) Accessibility options for a series.
  39375. */
  39376. accessibility?: SeriesAccessibilityOptionsObject;
  39377. /**
  39378. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  39379. * rendered. If `true`, areas which don't correspond to a data point, are
  39380. * rendered as `null` points. If `false`, those areas are skipped.
  39381. */
  39382. allAreas?: boolean;
  39383. /**
  39384. * (Highcharts) Allow this series' points to be selected by clicking on the
  39385. * graphic (columns, point markers, pie slices, map areas etc).
  39386. *
  39387. * The selected points can be handled by point select and unselect events,
  39388. * or collectively by the getSelectedPoints function.
  39389. *
  39390. * And alternative way of selecting points is through dragging.
  39391. */
  39392. allowPointSelect?: boolean;
  39393. /**
  39394. * (Highcharts) Enable or disable the initial animation when a series is
  39395. * displayed. The animation can also be set as a configuration object.
  39396. * Please note that this option only applies to the initial animation of the
  39397. * series itself. For other animations, see chart.animation and the
  39398. * animation parameter under the API methods. The following properties are
  39399. * supported:
  39400. *
  39401. * - `defer`: The animation delay time in milliseconds.
  39402. *
  39403. * - `duration`: The duration of the animation in milliseconds.
  39404. *
  39405. * - `easing`: Can be a string reference to an easing function set on the
  39406. * `Math` object or a function. See the _Custom easing function_ demo below.
  39407. *
  39408. * Due to poor performance, animation is disabled in old IE browsers for
  39409. * several chart types.
  39410. */
  39411. animation?: (boolean|PlotDependencywheelAnimationOptions|Partial<AnimationOptionsObject>);
  39412. /**
  39413. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  39414. * column or bar.
  39415. *
  39416. * In styled mode, the border stroke can be set with the `.highcharts-point`
  39417. * rule.
  39418. */
  39419. borderColor?: (ColorString|GradientColorObject|PatternObject);
  39420. /**
  39421. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  39422. * column or bar. Defaults to `1` when there is room for a border, but to
  39423. * `0` when the columns are so dense that a border would cover the next
  39424. * column.
  39425. *
  39426. * In styled mode, the stroke width can be set with the `.highcharts-point`
  39427. * rule.
  39428. */
  39429. borderWidth?: number;
  39430. /**
  39431. * (Highcharts) The center of the wheel relative to the plot area. Can be
  39432. * percentages or pixel values. The default behaviour is to center the wheel
  39433. * inside the plot area.
  39434. */
  39435. center?: Array<(number|string|null)>;
  39436. /**
  39437. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  39438. * the category, ignoring null or missing points. When `false`, space will
  39439. * be reserved for null or missing points.
  39440. */
  39441. centerInCategory?: boolean;
  39442. /**
  39443. * (Highcharts) An additional class name to apply to the series' graphical
  39444. * elements. This option does not replace default class names of the
  39445. * graphical element.
  39446. */
  39447. className?: string;
  39448. /**
  39449. * (Highcharts) Disable this option to allow series rendering in the whole
  39450. * plotting area.
  39451. *
  39452. * **Note:** Clipping should be always enabled when chart.zoomType is set
  39453. */
  39454. clip?: boolean;
  39455. /**
  39456. * (Highcharts) The main color of the series. In line type series it applies
  39457. * to the line and the point markers unless otherwise specified. In bar type
  39458. * series it applies to the bars unless a color is specified per point. The
  39459. * default value is pulled from the `options.colors` array.
  39460. *
  39461. * In styled mode, the color can be defined by the colorIndex option. Also,
  39462. * the series color can be set with the `.highcharts-series`,
  39463. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  39464. * `.highcharts-series-{n}` class, or individual classes given by the
  39465. * `className` option.
  39466. */
  39467. color?: (ColorString|GradientColorObject|PatternObject);
  39468. /**
  39469. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  39470. * from the global colors or series-specific plotOptions.column.colors
  39471. * collections, this option determines whether the chart should receive one
  39472. * color per series or one color per point.
  39473. *
  39474. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  39475. * and instead this option gives the points individual color class names on
  39476. * the form `highcharts-color-{n}`.
  39477. */
  39478. colorByPoint?: boolean;
  39479. /**
  39480. * (Highcharts) Styled mode only. A specific color index to use for the
  39481. * series, so its graphic representations are given the class name
  39482. * `highcharts-color-{n}`.
  39483. */
  39484. colorIndex?: number;
  39485. /**
  39486. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  39487. * color set to apply instead of the global colors when colorByPoint is
  39488. * true.
  39489. */
  39490. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  39491. /**
  39492. * (Highstock) Compare the values of the series against the first non-null,
  39493. * non- zero value in the visible range. The y axis will show percentage or
  39494. * absolute change depending on whether `compare` is set to `"percent"` or
  39495. * `"value"`. When this is applied to multiple series, it allows comparing
  39496. * the development of the series against each other. Adds a `change` field
  39497. * to every point object.
  39498. */
  39499. compare?: string;
  39500. /**
  39501. * (Highstock) When compare is `percent`, this option dictates whether to
  39502. * use 0 or 100 as the base of comparison.
  39503. */
  39504. compareBase?: (0|100);
  39505. /**
  39506. * (Highstock) Defines if comparison should start from the first point
  39507. * within the visible range or should start from the first point **before**
  39508. * the range.
  39509. *
  39510. * In other words, this flag determines if first point within the visible
  39511. * range will have 0% (`compareStart=true`) or should have been already
  39512. * calculated according to the previous point (`compareStart=false`).
  39513. */
  39514. compareStart?: boolean;
  39515. /**
  39516. * (Gantt) Override Pathfinder connector options for a series. Requires
  39517. * Highcharts Gantt to be loaded.
  39518. */
  39519. connectors?: SeriesConnectorsOptionsObject;
  39520. /**
  39521. * (Highcharts) You can set the cursor to "pointer" if you have click events
  39522. * attached to the series, to signal to the user that the points and lines
  39523. * can be clicked.
  39524. *
  39525. * In styled mode, the series cursor can be set with the same classes as
  39526. * listed under series.color.
  39527. */
  39528. cursor?: (string|CursorValue);
  39529. /**
  39530. * (Highcharts) Higher numbers makes the links in a sankey diagram or
  39531. * dependency wheelrender more curved. A `curveFactor` of 0 makes the lines
  39532. * straight.
  39533. */
  39534. curveFactor?: number;
  39535. /**
  39536. * (Highcharts) A reserved subspace to store options and values for
  39537. * customized functionality. Here you can add additional data for your own
  39538. * event callbacks and formatter callbacks.
  39539. */
  39540. custom?: Dictionary<any>;
  39541. /**
  39542. * (Highcharts) Name of the dash style to use for the graph, or for some
  39543. * series types the outline of each shape.
  39544. *
  39545. * In styled mode, the stroke dash-array can be set with the same classes as
  39546. * listed under series.color.
  39547. */
  39548. dashStyle?: DashStyleValue;
  39549. /**
  39550. * (Highstock) Data grouping is the concept of sampling the data values into
  39551. * larger blocks in order to ease readability and increase performance of
  39552. * the JavaScript charts. Highcharts Stock by default applies data grouping
  39553. * when the points become closer than a certain pixel value, determined by
  39554. * the `groupPixelWidth` option.
  39555. *
  39556. * If data grouping is applied, the grouping information of grouped points
  39557. * can be read from the Point.dataGroup. If point options other than the
  39558. * data itself are set, for example `name` or `color` or custom properties,
  39559. * the grouping logic doesn't know how to group it. In this case the options
  39560. * of the first point instance are copied over to the group point. This can
  39561. * be altered through a custom `approximation` callback function.
  39562. */
  39563. dataGrouping?: DataGroupingOptionsObject;
  39564. /**
  39565. * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
  39566. * appearing on top of the nodes and links. For sankey charts, data labels
  39567. * are visible for the nodes by default, but hidden for links. This is
  39568. * controlled by modifying the `nodeFormat`, and the `format` that applies
  39569. * to links and is an empty string by default.
  39570. */
  39571. dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
  39572. /**
  39573. * (Highcharts) A description of the series to add to the screen reader
  39574. * information about the series.
  39575. */
  39576. description?: string;
  39577. /**
  39578. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  39579. * This includes point tooltips and click events on graphs and points. For
  39580. * large datasets it improves performance.
  39581. */
  39582. enableMouseTracking?: boolean;
  39583. /**
  39584. * (Highcharts) General event handlers for the series items. These event
  39585. * hooks can also be attached to the series at run time using the
  39586. * `Highcharts.addEvent` function.
  39587. */
  39588. events?: SeriesEventsOptionsObject;
  39589. /**
  39590. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  39591. * chart width or only the zoomed area when zooming in on parts of the X
  39592. * axis. By default, the Y axis adjusts to the min and max of the visible
  39593. * data. Cartesian series only.
  39594. */
  39595. getExtremesFromAll?: boolean;
  39596. /**
  39597. * (Highcharts) When set to `false` will prevent the series data from being
  39598. * included in any form of data export.
  39599. *
  39600. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  39601. * `includeInCSVExport`.
  39602. */
  39603. includeInDataExport?: boolean;
  39604. /**
  39605. * (Highmaps) What property to join the `mapData` to the value data. For
  39606. * example, if joinBy is "code", the mapData items with a specific code is
  39607. * merged into the data with the same code. For maps loaded from GeoJSON,
  39608. * the keys may be held in each point's `properties` object.
  39609. *
  39610. * The joinBy option can also be an array of two values, where the first
  39611. * points to a key in the `mapData`, and the second points to another key in
  39612. * the `data`.
  39613. *
  39614. * When joinBy is `null`, the map items are joined by their position in the
  39615. * array, which performs much better in maps with many data points. This is
  39616. * the recommended option if you are printing more than a thousand data
  39617. * points and have a backend that can preprocess the data into a parallel
  39618. * array of the mapData.
  39619. */
  39620. joinBy?: (string|Array<string>);
  39621. /**
  39622. * (Highcharts) An array specifying which option maps to which key in the
  39623. * data point array. This makes it convenient to work with unstructured data
  39624. * arrays from different sources.
  39625. */
  39626. keys?: Array<string>;
  39627. /**
  39628. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  39629. * series as possible in a natural way, seeking to avoid other series. The
  39630. * goal of this feature is to make the chart more easily readable, like if a
  39631. * human designer placed the labels in the optimal position.
  39632. *
  39633. * The series labels currently work with series types having a `graph` or an
  39634. * `area`.
  39635. */
  39636. label?: SeriesLabelOptionsObject;
  39637. /**
  39638. * (Highstock) The line marks the last price from all points.
  39639. */
  39640. lastPrice?: SeriesLastPriceOptionsObject;
  39641. /**
  39642. * (Highstock) The line marks the last price from visible range of points.
  39643. */
  39644. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  39645. /**
  39646. * (Highcharts) Set options on specific levels. Takes precedence over series
  39647. * options, but not node and link options.
  39648. */
  39649. levels?: Array<PlotDependencywheelLevelsOptions>;
  39650. /**
  39651. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  39652. * Additionally, the value can be ":previous" to link to the previous
  39653. * series. When two series are linked, only the first one appears in the
  39654. * legend. Toggling the visibility of this also toggles the linked series.
  39655. *
  39656. * If master series uses data sorting and linked series does not have its
  39657. * own sorting definition, the linked series will be sorted in the same
  39658. * order as the master one.
  39659. */
  39660. linkedTo?: string;
  39661. /**
  39662. * (Highcharts) Opacity for the links between nodes in the sankey diagram.
  39663. */
  39664. linkOpacity?: number;
  39665. /**
  39666. * (Highcharts) The minimal width for a line of a sankey. By default, 0
  39667. * values are not shown.
  39668. */
  39669. minLinkWidth?: number;
  39670. /**
  39671. * (Highstock) Options for the corresponding navigator series if
  39672. * `showInNavigator` is `true` for this series. Available options are the
  39673. * same as any series, documented at plotOptions and series.
  39674. *
  39675. * These options are merged with options in navigator.series, and will take
  39676. * precedence if the same option is defined both places.
  39677. */
  39678. navigatorOptions?: PlotSeriesOptions;
  39679. /**
  39680. * (Highcharts) The padding between nodes in a sankey diagram or dependency
  39681. * wheel, in pixels.
  39682. *
  39683. * If the number of nodes is so great that it is possible to lay them out
  39684. * within the plot area with the given `nodePadding`, they will be rendered
  39685. * with a smaller padding as a strategy to avoid overflow.
  39686. */
  39687. nodePadding?: number;
  39688. /**
  39689. * (Highcharts) The pixel width of each node in a sankey diagram or
  39690. * dependency wheel, or the height in case the chart is inverted.
  39691. */
  39692. nodeWidth?: number;
  39693. /**
  39694. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  39695. * dataLabels.
  39696. */
  39697. opacity?: number;
  39698. /**
  39699. * (Highcharts) Properties for each single point.
  39700. */
  39701. point?: PlotSeriesPointOptions;
  39702. /**
  39703. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  39704. * individual series. Overrides the chart wide configuration.
  39705. */
  39706. pointDescriptionFormatter?: Function;
  39707. /**
  39708. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  39709. * true, the checkbox next to the series name in the legend will be checked
  39710. * for a selected series.
  39711. */
  39712. selected?: boolean;
  39713. /**
  39714. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  39715. * allow selecting the series. The state of the checkbox is determined by
  39716. * the `selected` option.
  39717. */
  39718. showCheckbox?: boolean;
  39719. /**
  39720. * (Highcharts) Whether to display this particular series or series type in
  39721. * the legend. Standalone series are shown in legend by default, and linked
  39722. * series are not. Since v7.2.0 it is possible to show series that use
  39723. * colorAxis by setting this option to `true`.
  39724. */
  39725. showInLegend?: boolean;
  39726. /**
  39727. * (Highstock) Whether or not to show the series in the navigator. Takes
  39728. * precedence over navigator.baseSeries if defined.
  39729. */
  39730. showInNavigator?: boolean;
  39731. /**
  39732. * (Highcharts) If set to `true`, the accessibility module will skip past
  39733. * the points in this series for keyboard navigation.
  39734. */
  39735. skipKeyboardNavigation?: boolean;
  39736. /**
  39737. * (Highcharts) The start angle of the dependency wheel, in degrees where 0
  39738. * is up.
  39739. */
  39740. startAngle?: number;
  39741. states?: SeriesStatesOptionsObject;
  39742. /**
  39743. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  39744. * event on a series isn't triggered until the mouse moves over another
  39745. * series, or out of the plot area. When false, the `mouseOut` event on a
  39746. * series is triggered when the mouse leaves the area around the series'
  39747. * graph or markers. This also implies the tooltip when not shared. When
  39748. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  39749. * be hidden when moving the mouse between series. Defaults to true for line
  39750. * and area type series, but to false for columns, pies etc.
  39751. *
  39752. * **Note:** The boost module will force this option because of technical
  39753. * limitations.
  39754. */
  39755. stickyTracking?: boolean;
  39756. /**
  39757. * (Highcharts) A configuration object for the tooltip rendering of each
  39758. * single series. Properties are inherited from tooltip, but only the
  39759. * following properties can be defined on a series level.
  39760. */
  39761. tooltip?: SeriesTooltipOptionsObject;
  39762. /**
  39763. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  39764. * is longer than this, only one dimensional arrays of numbers, or two
  39765. * dimensional arrays with x and y values are allowed. Also, only the first
  39766. * point is tested, and the rest are assumed to be the same format. This
  39767. * saves expensive data checking and indexing in long series. Set it to `0`
  39768. * disable.
  39769. *
  39770. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  39771. * two dimensional arrays are allowed.
  39772. */
  39773. turboThreshold?: number;
  39774. /**
  39775. * (Highcharts) Set the initial visibility of the series.
  39776. */
  39777. visible?: boolean;
  39778. /**
  39779. * (Highmaps) Define the z index of the series.
  39780. */
  39781. zIndex?: number;
  39782. }
  39783. /**
  39784. * (Highstock) Enable or disable the initial animation when a series is
  39785. * displayed. The animation can also be set as a configuration object. Please
  39786. * note that this option only applies to the initial animation of the series
  39787. * itself. For other animations, see chart.animation and the animation parameter
  39788. * under the API methods. The following properties are supported:
  39789. *
  39790. * - `defer`: The animation delay time in milliseconds.
  39791. *
  39792. * - `duration`: The duration of the animation in milliseconds.
  39793. *
  39794. * - `easing`: Can be a string reference to an easing function set on the `Math`
  39795. * object or a function. See the _Custom easing function_ demo below.
  39796. *
  39797. * Due to poor performance, animation is disabled in old IE browsers for several
  39798. * chart types.
  39799. */
  39800. export interface PlotDisparityindexAnimationOptions {
  39801. defer?: number;
  39802. }
  39803. /**
  39804. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  39805. * animation when a series is displayed for the `dataLabels`. The animation can
  39806. * also be set as a configuration object. Please note that this option only
  39807. * applies to the initial animation. For other animations, see chart.animation
  39808. * and the animation parameter under the API methods. The following properties
  39809. * are supported:
  39810. *
  39811. * - `defer`: The animation delay time in milliseconds.
  39812. */
  39813. export interface PlotDisparityindexDataLabelsAnimationOptions {
  39814. /**
  39815. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  39816. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  39817. * inherits defer time from the series.animation.defer.
  39818. */
  39819. defer?: number;
  39820. }
  39821. /**
  39822. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  39823. * appearing next to each data point.
  39824. *
  39825. * Since v6.2.0, multiple data labels can be applied to each single point by
  39826. * defining them as an array of configs.
  39827. *
  39828. * In styled mode, the data labels can be styled with the
  39829. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  39830. * example).
  39831. */
  39832. export interface PlotDisparityindexDataLabelsOptions {
  39833. /**
  39834. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  39835. * compared to the point. If `right`, the right side of the label should be
  39836. * touching the point. For points with an extent, like columns, the
  39837. * alignments also dictates how to align it inside the box, as given with
  39838. * the inside option. Can be one of `left`, `center` or `right`.
  39839. */
  39840. align?: (AlignValue|null);
  39841. /**
  39842. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  39843. * overlap. To make the labels less sensitive for overlapping, the
  39844. * dataLabels.padding can be set to 0.
  39845. */
  39846. allowOverlap?: boolean;
  39847. /**
  39848. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  39849. * animation when a series is displayed for the `dataLabels`. The animation
  39850. * can also be set as a configuration object. Please note that this option
  39851. * only applies to the initial animation. For other animations, see
  39852. * chart.animation and the animation parameter under the API methods. The
  39853. * following properties are supported:
  39854. *
  39855. * - `defer`: The animation delay time in milliseconds.
  39856. */
  39857. animation?: (boolean|PlotDisparityindexDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  39858. /**
  39859. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  39860. * for the data label.
  39861. */
  39862. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  39863. /**
  39864. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  39865. * label. Defaults to `undefined`.
  39866. */
  39867. borderColor?: (ColorString|GradientColorObject|PatternObject);
  39868. /**
  39869. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  39870. * the data label.
  39871. */
  39872. borderRadius?: number;
  39873. /**
  39874. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  39875. * the data label.
  39876. */
  39877. borderWidth?: number;
  39878. /**
  39879. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  39880. * Particularly in styled mode, this can be used to give each series' or
  39881. * point's data label unique styling. In addition to this option, a default
  39882. * color class name is added so that we can give the labels a contrast text
  39883. * shadow.
  39884. */
  39885. className?: string;
  39886. /**
  39887. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  39888. * labels. Defaults to `undefined`. For certain series types, like column or
  39889. * map, the data labels can be drawn inside the points. In this case the
  39890. * data label will be drawn with maximum contrast by default. Additionally,
  39891. * it will be given a `text-outline` style with the opposite color, to
  39892. * further increase the contrast. This can be overridden by setting the
  39893. * `text-outline` style to `none` in the `dataLabels.style` option.
  39894. */
  39895. color?: (ColorString|GradientColorObject|PatternObject);
  39896. /**
  39897. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  39898. * are outside the plot area. By default, the data label is moved inside the
  39899. * plot area according to the overflow option.
  39900. */
  39901. crop?: boolean;
  39902. /**
  39903. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  39904. * labels until the initial series animation has finished. Setting to
  39905. * `false` renders the data label immediately. If set to `true` inherits the
  39906. * defer time set in plotOptions.series.animation. If set to a number, a
  39907. * defer time is specified in milliseconds.
  39908. */
  39909. defer?: (boolean|number);
  39910. /**
  39911. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  39912. * labels.
  39913. */
  39914. enabled?: boolean;
  39915. /**
  39916. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  39917. * of which data labels to display. The declarative filter is designed for
  39918. * use when callback functions are not available, like when the chart
  39919. * options require a pure JSON structure or for use with graphical editors.
  39920. * For programmatic control, use the `formatter` instead, and return
  39921. * `undefined` to disable a single data label.
  39922. */
  39923. filter?: DataLabelsFilterOptionsObject;
  39924. /**
  39925. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  39926. * label. Available variables are the same as for `formatter`.
  39927. */
  39928. format?: string;
  39929. /**
  39930. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  39931. * format the data label. Note that if a `format` is defined, the format
  39932. * takes precedence and the formatter is ignored.
  39933. */
  39934. formatter?: DataLabelsFormatterCallbackFunction;
  39935. /**
  39936. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  39937. * columns or map areas, whether to align the data label inside the box or
  39938. * to the actual value point. Defaults to `false` in most cases, `true` in
  39939. * stacked columns.
  39940. */
  39941. inside?: boolean;
  39942. /**
  39943. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  39944. * of null. Works analogously to format. `nullFormat` can be applied only to
  39945. * series which support displaying null points.
  39946. */
  39947. nullFormat?: (boolean|string);
  39948. /**
  39949. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  39950. * that defines formatting for points with the value of null. Works
  39951. * analogously to formatter. `nullPointFormatter` can be applied only to
  39952. * series which support displaying null points.
  39953. */
  39954. nullFormatter?: DataLabelsFormatterCallbackFunction;
  39955. /**
  39956. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  39957. * flow outside the plot area. The default is `"justify"`, which aligns them
  39958. * inside the plot area. For columns and bars, this means it will be moved
  39959. * inside the bar. To display data labels outside the plot area, set `crop`
  39960. * to `false` and `overflow` to `"allow"`.
  39961. */
  39962. overflow?: DataLabelsOverflowValue;
  39963. /**
  39964. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  39965. * the `backgroundColor` is set, this is the padding within the box.
  39966. */
  39967. padding?: number;
  39968. /**
  39969. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  39970. * points. If `center` alignment is not possible, it defaults to `right`.
  39971. */
  39972. position?: AlignValue;
  39973. /**
  39974. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  39975. * that due to a more complex structure, backgrounds, borders and padding
  39976. * will be lost on a rotated data label.
  39977. */
  39978. rotation?: number;
  39979. /**
  39980. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  39981. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  39982. * an object configuration containing `color`, `offsetX`, `offsetY`,
  39983. * `opacity` and `width`.
  39984. */
  39985. shadow?: (boolean|ShadowOptionsObject);
  39986. /**
  39987. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  39988. * the border around the label. Symbols are predefined functions on the
  39989. * Renderer object.
  39990. */
  39991. shape?: string;
  39992. /**
  39993. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  39994. * default `color` setting is `"contrast"`, which is a pseudo color that
  39995. * Highcharts picks up and applies the maximum contrast to the underlying
  39996. * point item, for example the bar in a bar chart.
  39997. *
  39998. * The `textOutline` is a pseudo property that applies an outline of the
  39999. * given width with the given color, which by default is the maximum
  40000. * contrast to the text. So a bright text color will result in a black text
  40001. * outline for maximum readability on a mixed background. In some cases,
  40002. * especially with grayscale text, the text outline doesn't work well, in
  40003. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  40004. * is true, the `textOutline` will not be picked up. In this, case, the same
  40005. * effect can be acheived through the `text-shadow` CSS property.
  40006. *
  40007. * For some series types, where each point has an extent, like for example
  40008. * tree maps, the data label may overflow the point. There are two
  40009. * strategies for handling overflow. By default, the text will wrap to
  40010. * multiple lines. The other strategy is to set `style.textOverflow` to
  40011. * `ellipsis`, which will keep the text on one line plus it will break
  40012. * inside long words.
  40013. */
  40014. style?: CSSObject;
  40015. /**
  40016. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  40017. * should follow marker's shape. Border and background are disabled for a
  40018. * label that follows a path.
  40019. *
  40020. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  40021. * to true will disable this option.
  40022. */
  40023. textPath?: DataLabelsTextPathOptionsObject;
  40024. /**
  40025. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  40026. * the labels.
  40027. */
  40028. useHTML?: boolean;
  40029. /**
  40030. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  40031. * label. Can be one of `top`, `middle` or `bottom`. The default value
  40032. * depends on the data, for instance in a column chart, the label is above
  40033. * positive values and below negative values.
  40034. */
  40035. verticalAlign?: (VerticalAlignValue|null);
  40036. /**
  40037. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  40038. * label relative to the point in pixels.
  40039. */
  40040. x?: number;
  40041. /**
  40042. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  40043. * label relative to the point in pixels.
  40044. */
  40045. y?: number;
  40046. /**
  40047. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  40048. * The default Z index puts it above the series. Use a Z index of 2 to
  40049. * display it behind the series.
  40050. */
  40051. z?: number;
  40052. }
  40053. /**
  40054. * (Highcharts, Highstock) Options for the series data sorting.
  40055. */
  40056. export interface PlotDisparityindexDataSortingOptions {
  40057. /**
  40058. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  40059. * Use xAxis.reversed to change the sorting order.
  40060. */
  40061. enabled?: boolean;
  40062. /**
  40063. * (Highcharts, Highstock) Whether to allow matching points by name in an
  40064. * update. If this option is disabled, points will be matched by order.
  40065. */
  40066. matchByName?: boolean;
  40067. /**
  40068. * (Highcharts, Highstock) Determines what data value should be used to sort
  40069. * by.
  40070. */
  40071. sortKey?: string;
  40072. }
  40073. /**
  40074. * (Highstock) Disparity Index. This series requires the `linkedTo` option to be
  40075. * set and should be loaded after the `stock/indicators/indicators.js` file.
  40076. *
  40077. * In TypeScript the type option must always be set.
  40078. *
  40079. * Configuration options for the series are given in three levels:
  40080. *
  40081. * 1. Options for all series in a chart are defined in the plotOptions.series
  40082. * object.
  40083. *
  40084. * 2. Options for all `disparityindex` series are defined in
  40085. * plotOptions.disparityindex.
  40086. *
  40087. * 3. Options for one single series are given in the series instance array. (see
  40088. * online documentation for example)
  40089. */
  40090. export interface PlotDisparityindexOptions {
  40091. /**
  40092. * (Highstock) Accessibility options for a series.
  40093. */
  40094. accessibility?: SeriesAccessibilityOptionsObject;
  40095. /**
  40096. * (Highstock) Allow this series' points to be selected by clicking on the
  40097. * graphic (columns, point markers, pie slices, map areas etc).
  40098. *
  40099. * The selected points can be handled by point select and unselect events,
  40100. * or collectively by the getSelectedPoints function.
  40101. *
  40102. * And alternative way of selecting points is through dragging.
  40103. */
  40104. allowPointSelect?: boolean;
  40105. /**
  40106. * (Highstock) Enable or disable the initial animation when a series is
  40107. * displayed. The animation can also be set as a configuration object.
  40108. * Please note that this option only applies to the initial animation of the
  40109. * series itself. For other animations, see chart.animation and the
  40110. * animation parameter under the API methods. The following properties are
  40111. * supported:
  40112. *
  40113. * - `defer`: The animation delay time in milliseconds.
  40114. *
  40115. * - `duration`: The duration of the animation in milliseconds.
  40116. *
  40117. * - `easing`: Can be a string reference to an easing function set on the
  40118. * `Math` object or a function. See the _Custom easing function_ demo below.
  40119. *
  40120. * Due to poor performance, animation is disabled in old IE browsers for
  40121. * several chart types.
  40122. */
  40123. animation?: (boolean|PlotDisparityindexAnimationOptions|Partial<AnimationOptionsObject>);
  40124. /**
  40125. * (Highstock) For some series, there is a limit that shuts down initial
  40126. * animation by default when the total number of points in the chart is too
  40127. * high. For example, for a column chart and its derivatives, animation does
  40128. * not run if there is more than 250 points totally. To disable this cap,
  40129. * set `animationLimit` to `Infinity`.
  40130. */
  40131. animationLimit?: number;
  40132. /**
  40133. * (Highstock) Sets the color blending in the boost module.
  40134. */
  40135. boostBlending?: OptionsBoostBlendingValue;
  40136. /**
  40137. * (Highstock) Set the point threshold for when a series should enter boost
  40138. * mode.
  40139. *
  40140. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  40141. * there are 2000 or more points in the series.
  40142. *
  40143. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  40144. * it to 1 will force boosting.
  40145. *
  40146. * Note that the cropThreshold also affects this setting. When zooming in on
  40147. * a series that has fewer points than the `cropThreshold`, all points are
  40148. * rendered although outside the visible plot area, and the `boostThreshold`
  40149. * won't take effect.
  40150. */
  40151. boostThreshold?: number;
  40152. /**
  40153. * (Highmaps) The border color of the map areas.
  40154. *
  40155. * In styled mode, the border stroke is given in the `.highcharts-point`
  40156. * class.
  40157. */
  40158. borderColor?: (ColorString|GradientColorObject|PatternObject);
  40159. /**
  40160. * (Highmaps) The border width of each map area.
  40161. *
  40162. * In styled mode, the border stroke width is given in the
  40163. * `.highcharts-point` class.
  40164. */
  40165. borderWidth?: number;
  40166. /**
  40167. * (Highstock) An additional class name to apply to the series' graphical
  40168. * elements. This option does not replace default class names of the
  40169. * graphical element.
  40170. */
  40171. className?: string;
  40172. /**
  40173. * (Highstock) Disable this option to allow series rendering in the whole
  40174. * plotting area.
  40175. *
  40176. * **Note:** Clipping should be always enabled when chart.zoomType is set
  40177. */
  40178. clip?: boolean;
  40179. /**
  40180. * (Highstock) The main color of the series. In line type series it applies
  40181. * to the line and the point markers unless otherwise specified. In bar type
  40182. * series it applies to the bars unless a color is specified per point. The
  40183. * default value is pulled from the `options.colors` array.
  40184. *
  40185. * In styled mode, the color can be defined by the colorIndex option. Also,
  40186. * the series color can be set with the `.highcharts-series`,
  40187. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  40188. * `.highcharts-series-{n}` class, or individual classes given by the
  40189. * `className` option.
  40190. */
  40191. color?: (ColorString|GradientColorObject|PatternObject);
  40192. /**
  40193. * (Highstock) Styled mode only. A specific color index to use for the
  40194. * series, so its graphic representations are given the class name
  40195. * `highcharts-color-{n}`.
  40196. */
  40197. colorIndex?: number;
  40198. /**
  40199. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  40200. * used to calculate point color if `colorAxis` is used. Requires to set
  40201. * `min` and `max` if some custom point property is used or if approximation
  40202. * for data grouping is set to `'sum'`.
  40203. */
  40204. colorKey?: string;
  40205. /**
  40206. * (Highstock) Compare the values of the series against the first non-null,
  40207. * non- zero value in the visible range. The y axis will show percentage or
  40208. * absolute change depending on whether `compare` is set to `"percent"` or
  40209. * `"value"`. When this is applied to multiple series, it allows comparing
  40210. * the development of the series against each other. Adds a `change` field
  40211. * to every point object.
  40212. */
  40213. compare?: string;
  40214. /**
  40215. * (Highstock) When compare is `percent`, this option dictates whether to
  40216. * use 0 or 100 as the base of comparison.
  40217. */
  40218. compareBase?: (0|100);
  40219. /**
  40220. * (Highstock) Defines if comparison should start from the first point
  40221. * within the visible range or should start from the first point **before**
  40222. * the range.
  40223. *
  40224. * In other words, this flag determines if first point within the visible
  40225. * range will have 0% (`compareStart=true`) or should have been already
  40226. * calculated according to the previous point (`compareStart=false`).
  40227. */
  40228. compareStart?: boolean;
  40229. /**
  40230. * (Highstock) Whether to compare indicator to the main series values or
  40231. * indicator values.
  40232. */
  40233. compareToMain?: boolean;
  40234. /**
  40235. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  40236. * series plot across the extremes.
  40237. */
  40238. connectEnds?: boolean;
  40239. /**
  40240. * (Highcharts, Highstock) Whether to connect a graph line across null
  40241. * points, or render a gap between the two points on either side of the
  40242. * null.
  40243. */
  40244. connectNulls?: boolean;
  40245. /**
  40246. * (Gantt) Override Pathfinder connector options for a series. Requires
  40247. * Highcharts Gantt to be loaded.
  40248. */
  40249. connectors?: SeriesConnectorsOptionsObject;
  40250. /**
  40251. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  40252. * rounded to its nearest pixel in order to render sharp on screen. In some
  40253. * cases, when there are a lot of densely packed columns, this leads to
  40254. * visible difference in column widths or distance between columns. In these
  40255. * cases, setting `crisp` to `false` may look better, even though each
  40256. * column is rendered blurry.
  40257. */
  40258. crisp?: boolean;
  40259. /**
  40260. * (Highcharts, Highstock) When the series contains less points than the
  40261. * crop threshold, all points are drawn, even if the points fall outside the
  40262. * visible plot area at the current zoom. The advantage of drawing all
  40263. * points (including markers and columns), is that animation is performed on
  40264. * updates. On the other hand, when the series contains more points than the
  40265. * crop threshold, the series data is cropped to only contain points that
  40266. * fall within the plot area. The advantage of cropping away invisible
  40267. * points is to increase performance on large series.
  40268. */
  40269. cropThreshold?: number;
  40270. /**
  40271. * (Highstock) You can set the cursor to "pointer" if you have click events
  40272. * attached to the series, to signal to the user that the points and lines
  40273. * can be clicked.
  40274. *
  40275. * In styled mode, the series cursor can be set with the same classes as
  40276. * listed under series.color.
  40277. */
  40278. cursor?: (string|CursorValue);
  40279. /**
  40280. * (Highstock) A reserved subspace to store options and values for
  40281. * customized functionality. Here you can add additional data for your own
  40282. * event callbacks and formatter callbacks.
  40283. */
  40284. custom?: Dictionary<any>;
  40285. /**
  40286. * (Highstock) Name of the dash style to use for the graph, or for some
  40287. * series types the outline of each shape.
  40288. *
  40289. * In styled mode, the stroke dash-array can be set with the same classes as
  40290. * listed under series.color.
  40291. */
  40292. dashStyle?: DashStyleValue;
  40293. /**
  40294. * (Highstock) Data grouping is the concept of sampling the data values into
  40295. * larger blocks in order to ease readability and increase performance of
  40296. * the JavaScript charts. Highcharts Stock by default applies data grouping
  40297. * when the points become closer than a certain pixel value, determined by
  40298. * the `groupPixelWidth` option.
  40299. *
  40300. * If data grouping is applied, the grouping information of grouped points
  40301. * can be read from the Point.dataGroup. If point options other than the
  40302. * data itself are set, for example `name` or `color` or custom properties,
  40303. * the grouping logic doesn't know how to group it. In this case the options
  40304. * of the first point instance are copied over to the group point. This can
  40305. * be altered through a custom `approximation` callback function.
  40306. */
  40307. dataGrouping?: DataGroupingOptionsObject;
  40308. /**
  40309. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  40310. * labels, appearing next to each data point.
  40311. *
  40312. * Since v6.2.0, multiple data labels can be applied to each single point by
  40313. * defining them as an array of configs.
  40314. *
  40315. * In styled mode, the data labels can be styled with the
  40316. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  40317. * (see example).
  40318. */
  40319. dataLabels?: (PlotDisparityindexDataLabelsOptions|Array<PlotDisparityindexDataLabelsOptions>);
  40320. /**
  40321. * (Highcharts, Highstock) Options for the series data sorting.
  40322. */
  40323. dataSorting?: (DataSortingOptionsObject|PlotDisparityindexDataSortingOptions);
  40324. /**
  40325. * (Highstock) A description of the series to add to the screen reader
  40326. * information about the series.
  40327. */
  40328. description?: string;
  40329. /**
  40330. * (Highstock) Enable or disable the mouse tracking for a specific series.
  40331. * This includes point tooltips and click events on graphs and points. For
  40332. * large datasets it improves performance.
  40333. */
  40334. enableMouseTracking?: boolean;
  40335. /**
  40336. * (Highstock) General event handlers for the series items. These event
  40337. * hooks can also be attached to the series at run time using the
  40338. * `Highcharts.addEvent` function.
  40339. */
  40340. events?: SeriesEventsOptionsObject;
  40341. /**
  40342. * (Highstock) Determines whether the series should look for the nearest
  40343. * point in both dimensions or just the x-dimension when hovering the
  40344. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  40345. * series. If the data has duplicate x-values, it is recommended to set this
  40346. * to `'xy'` to allow hovering over all points.
  40347. *
  40348. * Applies only to series types using nearest neighbor search (not direct
  40349. * hover) for tooltip.
  40350. */
  40351. findNearestPointBy?: OptionsFindNearestPointByValue;
  40352. /**
  40353. * (Highstock) Defines when to display a gap in the graph, together with the
  40354. * gapUnit option.
  40355. *
  40356. * In case when `dataGrouping` is enabled, points can be grouped into a
  40357. * larger time span. This can make the grouped points to have a greater
  40358. * distance than the absolute value of `gapSize` property, which will result
  40359. * in disappearing graph completely. To prevent this situation the mentioned
  40360. * distance between grouped points is used instead of previously defined
  40361. * `gapSize`.
  40362. *
  40363. * In practice, this option is most often used to visualize gaps in time
  40364. * series. In a stock chart, intraday data is available for daytime hours,
  40365. * while gaps will appear in nights and weekends.
  40366. */
  40367. gapSize?: number;
  40368. /**
  40369. * (Highstock) Together with gapSize, this option defines where to draw gaps
  40370. * in the graph.
  40371. *
  40372. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  40373. * if the distance between two points is greater than 5 times that of the
  40374. * two closest points, the graph will be broken.
  40375. *
  40376. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  40377. * values, which on a datetime axis is milliseconds. This also applies to
  40378. * the navigator series that inherits gap options from the base series.
  40379. */
  40380. gapUnit?: OptionsGapUnitValue;
  40381. /**
  40382. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  40383. * chart width or only the zoomed area when zooming in on parts of the X
  40384. * axis. By default, the Y axis adjusts to the min and max of the visible
  40385. * data. Cartesian series only.
  40386. */
  40387. getExtremesFromAll?: boolean;
  40388. /**
  40389. * (Highstock) When set to `false` will prevent the series data from being
  40390. * included in any form of data export.
  40391. *
  40392. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  40393. * `includeInCSVExport`.
  40394. */
  40395. includeInDataExport?: boolean;
  40396. /**
  40397. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  40398. * series as possible in a natural way, seeking to avoid other series. The
  40399. * goal of this feature is to make the chart more easily readable, like if a
  40400. * human designer placed the labels in the optimal position.
  40401. *
  40402. * The series labels currently work with series types having a `graph` or an
  40403. * `area`.
  40404. */
  40405. label?: SeriesLabelOptionsObject;
  40406. /**
  40407. * (Highstock) The line marks the last price from all points.
  40408. */
  40409. lastPrice?: SeriesLastPriceOptionsObject;
  40410. /**
  40411. * (Highstock) The line marks the last price from visible range of points.
  40412. */
  40413. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  40414. /**
  40415. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  40416. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  40417. * the ends and bends.
  40418. */
  40419. linecap?: SeriesLinecapValue;
  40420. /**
  40421. * (Highcharts, Highstock) Pixel width of the graph line.
  40422. */
  40423. lineWidth?: number;
  40424. /**
  40425. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  40426. * based on. Required for this indicator.
  40427. */
  40428. linkedTo?: string;
  40429. /**
  40430. * (Highstock) Options for the point markers of line-like series. Properties
  40431. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  40432. * appearance of the markers. Other series types, like column series, don't
  40433. * have markers, but have visual options on the series level instead.
  40434. *
  40435. * In styled mode, the markers can be styled with the `.highcharts-point`,
  40436. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  40437. */
  40438. marker?: PointMarkerOptionsObject;
  40439. /**
  40440. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  40441. * If not set, it will be based on a technical indicator type and default
  40442. * params.
  40443. */
  40444. name?: string;
  40445. /**
  40446. * (Highstock) The color for the parts of the graph or points that are below
  40447. * the threshold. Note that `zones` takes precedence over the negative
  40448. * color. Using `negativeColor` is equivalent to applying a zone with value
  40449. * of 0.
  40450. */
  40451. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  40452. /**
  40453. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  40454. * dataLabels.
  40455. */
  40456. opacity?: number;
  40457. /**
  40458. * (Highstock) Paramters used in calculation of regression series' points.
  40459. */
  40460. params?: PlotDisparityindexParamsOptions;
  40461. /**
  40462. * (Highstock) Properties for each single point.
  40463. */
  40464. point?: PlotSeriesPointOptions;
  40465. /**
  40466. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  40467. * individual series. Overrides the chart wide configuration.
  40468. */
  40469. pointDescriptionFormatter?: Function;
  40470. /**
  40471. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  40472. * true, the checkbox next to the series name in the legend will be checked
  40473. * for a selected series.
  40474. */
  40475. selected?: boolean;
  40476. /**
  40477. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  40478. * the shadow can be an object configuration containing `color`, `offsetX`,
  40479. * `offsetY`, `opacity` and `width`.
  40480. */
  40481. shadow?: (boolean|ShadowOptionsObject);
  40482. /**
  40483. * (Highstock) If true, a checkbox is displayed next to the legend item to
  40484. * allow selecting the series. The state of the checkbox is determined by
  40485. * the `selected` option.
  40486. */
  40487. showCheckbox?: boolean;
  40488. /**
  40489. * (Highstock) Whether to display this particular series or series type in
  40490. * the legend. Standalone series are shown in legend by default, and linked
  40491. * series are not. Since v7.2.0 it is possible to show series that use
  40492. * colorAxis by setting this option to `true`.
  40493. */
  40494. showInLegend?: boolean;
  40495. /**
  40496. * (Highstock) If set to `true`, the accessibility module will skip past the
  40497. * points in this series for keyboard navigation.
  40498. */
  40499. skipKeyboardNavigation?: boolean;
  40500. /**
  40501. * (Highcharts, Highstock) When this is true, the series will not cause the
  40502. * Y axis to cross the zero plane (or threshold option) unless the data
  40503. * actually crosses the plane.
  40504. *
  40505. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  40506. * make the Y axis show negative values according to the `minPadding`
  40507. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  40508. */
  40509. softThreshold?: boolean;
  40510. states?: SeriesStatesOptionsObject;
  40511. /**
  40512. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  40513. * values are `left`, `center` and `right`.
  40514. */
  40515. step?: OptionsStepValue;
  40516. /**
  40517. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  40518. * event on a series isn't triggered until the mouse moves over another
  40519. * series, or out of the plot area. When false, the `mouseOut` event on a
  40520. * series is triggered when the mouse leaves the area around the series'
  40521. * graph or markers. This also implies the tooltip when not shared. When
  40522. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  40523. * be hidden when moving the mouse between series. Defaults to true for line
  40524. * and area type series, but to false for columns, pies etc.
  40525. *
  40526. * **Note:** The boost module will force this option because of technical
  40527. * limitations.
  40528. */
  40529. stickyTracking?: boolean;
  40530. /**
  40531. * (Highcharts, Highstock) The threshold, also called zero level or base
  40532. * level. For line type series this is only used in conjunction with
  40533. * negativeColor.
  40534. */
  40535. threshold?: (number|null);
  40536. /**
  40537. * (Highstock) A configuration object for the tooltip rendering of each
  40538. * single series. Properties are inherited from tooltip, but only the
  40539. * following properties can be defined on a series level.
  40540. */
  40541. tooltip?: SeriesTooltipOptionsObject;
  40542. /**
  40543. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  40544. * is longer than this, only one dimensional arrays of numbers, or two
  40545. * dimensional arrays with x and y values are allowed. Also, only the first
  40546. * point is tested, and the rest are assumed to be the same format. This
  40547. * saves expensive data checking and indexing in long series. Set it to `0`
  40548. * disable.
  40549. *
  40550. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  40551. * two dimensional arrays are allowed.
  40552. */
  40553. turboThreshold?: number;
  40554. /**
  40555. * (Highstock) Set the initial visibility of the series.
  40556. */
  40557. visible?: boolean;
  40558. /**
  40559. * (Highmaps) Define the z index of the series.
  40560. */
  40561. zIndex?: number;
  40562. /**
  40563. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  40564. */
  40565. zoneAxis?: string;
  40566. /**
  40567. * (Highcharts, Highstock) An array defining zones within a series. Zones
  40568. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  40569. * the `zoneAxis` option. The zone definitions have to be in ascending order
  40570. * regarding to the value.
  40571. *
  40572. * In styled mode, the color zones are styled with the
  40573. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  40574. * option (view live demo).
  40575. */
  40576. zones?: Array<SeriesZonesOptionsObject>;
  40577. }
  40578. /**
  40579. * (Highstock) Paramters used in calculation of regression series' points.
  40580. */
  40581. export interface PlotDisparityindexParamsOptions {
  40582. /**
  40583. * (Highstock) The average used to calculate the Disparity Index indicator.
  40584. * By default it uses SMA. To use other averages, e.g. EMA, the
  40585. * `stock/indicators/ema.js` file needs to be loaded.
  40586. *
  40587. * If value is different than ema|dema|tema|wma, then sma is used.
  40588. */
  40589. average?: string;
  40590. /**
  40591. * (Highstock) The point index which indicator calculations will base. For
  40592. * example using OHLC data, index=2 means the indicator will be calculated
  40593. * using Low values.
  40594. */
  40595. index?: number;
  40596. /**
  40597. * (Highstock) The base period for indicator calculations. This is the
  40598. * number of data points which are taken into account for the indicator
  40599. * calculations.
  40600. */
  40601. period?: number;
  40602. }
  40603. /**
  40604. * (Highstock) Enable or disable the initial animation when a series is
  40605. * displayed. The animation can also be set as a configuration object. Please
  40606. * note that this option only applies to the initial animation of the series
  40607. * itself. For other animations, see chart.animation and the animation parameter
  40608. * under the API methods. The following properties are supported:
  40609. *
  40610. * - `defer`: The animation delay time in milliseconds.
  40611. *
  40612. * - `duration`: The duration of the animation in milliseconds.
  40613. *
  40614. * - `easing`: Can be a string reference to an easing function set on the `Math`
  40615. * object or a function. See the _Custom easing function_ demo below.
  40616. *
  40617. * Due to poor performance, animation is disabled in old IE browsers for several
  40618. * chart types.
  40619. */
  40620. export interface PlotDmiAnimationOptions {
  40621. defer?: number;
  40622. }
  40623. /**
  40624. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  40625. * animation when a series is displayed for the `dataLabels`. The animation can
  40626. * also be set as a configuration object. Please note that this option only
  40627. * applies to the initial animation. For other animations, see chart.animation
  40628. * and the animation parameter under the API methods. The following properties
  40629. * are supported:
  40630. *
  40631. * - `defer`: The animation delay time in milliseconds.
  40632. */
  40633. export interface PlotDmiDataLabelsAnimationOptions {
  40634. /**
  40635. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  40636. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  40637. * inherits defer time from the series.animation.defer.
  40638. */
  40639. defer?: number;
  40640. }
  40641. /**
  40642. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  40643. * appearing next to each data point.
  40644. *
  40645. * Since v6.2.0, multiple data labels can be applied to each single point by
  40646. * defining them as an array of configs.
  40647. *
  40648. * In styled mode, the data labels can be styled with the
  40649. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  40650. * example).
  40651. */
  40652. export interface PlotDmiDataLabelsOptions {
  40653. /**
  40654. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  40655. * compared to the point. If `right`, the right side of the label should be
  40656. * touching the point. For points with an extent, like columns, the
  40657. * alignments also dictates how to align it inside the box, as given with
  40658. * the inside option. Can be one of `left`, `center` or `right`.
  40659. */
  40660. align?: (AlignValue|null);
  40661. /**
  40662. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  40663. * overlap. To make the labels less sensitive for overlapping, the
  40664. * dataLabels.padding can be set to 0.
  40665. */
  40666. allowOverlap?: boolean;
  40667. /**
  40668. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  40669. * animation when a series is displayed for the `dataLabels`. The animation
  40670. * can also be set as a configuration object. Please note that this option
  40671. * only applies to the initial animation. For other animations, see
  40672. * chart.animation and the animation parameter under the API methods. The
  40673. * following properties are supported:
  40674. *
  40675. * - `defer`: The animation delay time in milliseconds.
  40676. */
  40677. animation?: (boolean|PlotDmiDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  40678. /**
  40679. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  40680. * for the data label.
  40681. */
  40682. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  40683. /**
  40684. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  40685. * label. Defaults to `undefined`.
  40686. */
  40687. borderColor?: (ColorString|GradientColorObject|PatternObject);
  40688. /**
  40689. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  40690. * the data label.
  40691. */
  40692. borderRadius?: number;
  40693. /**
  40694. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  40695. * the data label.
  40696. */
  40697. borderWidth?: number;
  40698. /**
  40699. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  40700. * Particularly in styled mode, this can be used to give each series' or
  40701. * point's data label unique styling. In addition to this option, a default
  40702. * color class name is added so that we can give the labels a contrast text
  40703. * shadow.
  40704. */
  40705. className?: string;
  40706. /**
  40707. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  40708. * labels. Defaults to `undefined`. For certain series types, like column or
  40709. * map, the data labels can be drawn inside the points. In this case the
  40710. * data label will be drawn with maximum contrast by default. Additionally,
  40711. * it will be given a `text-outline` style with the opposite color, to
  40712. * further increase the contrast. This can be overridden by setting the
  40713. * `text-outline` style to `none` in the `dataLabels.style` option.
  40714. */
  40715. color?: (ColorString|GradientColorObject|PatternObject);
  40716. /**
  40717. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  40718. * are outside the plot area. By default, the data label is moved inside the
  40719. * plot area according to the overflow option.
  40720. */
  40721. crop?: boolean;
  40722. /**
  40723. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  40724. * labels until the initial series animation has finished. Setting to
  40725. * `false` renders the data label immediately. If set to `true` inherits the
  40726. * defer time set in plotOptions.series.animation. If set to a number, a
  40727. * defer time is specified in milliseconds.
  40728. */
  40729. defer?: (boolean|number);
  40730. /**
  40731. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  40732. * labels.
  40733. */
  40734. enabled?: boolean;
  40735. /**
  40736. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  40737. * of which data labels to display. The declarative filter is designed for
  40738. * use when callback functions are not available, like when the chart
  40739. * options require a pure JSON structure or for use with graphical editors.
  40740. * For programmatic control, use the `formatter` instead, and return
  40741. * `undefined` to disable a single data label.
  40742. */
  40743. filter?: DataLabelsFilterOptionsObject;
  40744. /**
  40745. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  40746. * label. Available variables are the same as for `formatter`.
  40747. */
  40748. format?: string;
  40749. /**
  40750. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  40751. * format the data label. Note that if a `format` is defined, the format
  40752. * takes precedence and the formatter is ignored.
  40753. */
  40754. formatter?: DataLabelsFormatterCallbackFunction;
  40755. /**
  40756. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  40757. * columns or map areas, whether to align the data label inside the box or
  40758. * to the actual value point. Defaults to `false` in most cases, `true` in
  40759. * stacked columns.
  40760. */
  40761. inside?: boolean;
  40762. /**
  40763. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  40764. * of null. Works analogously to format. `nullFormat` can be applied only to
  40765. * series which support displaying null points.
  40766. */
  40767. nullFormat?: (boolean|string);
  40768. /**
  40769. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  40770. * that defines formatting for points with the value of null. Works
  40771. * analogously to formatter. `nullPointFormatter` can be applied only to
  40772. * series which support displaying null points.
  40773. */
  40774. nullFormatter?: DataLabelsFormatterCallbackFunction;
  40775. /**
  40776. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  40777. * flow outside the plot area. The default is `"justify"`, which aligns them
  40778. * inside the plot area. For columns and bars, this means it will be moved
  40779. * inside the bar. To display data labels outside the plot area, set `crop`
  40780. * to `false` and `overflow` to `"allow"`.
  40781. */
  40782. overflow?: DataLabelsOverflowValue;
  40783. /**
  40784. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  40785. * the `backgroundColor` is set, this is the padding within the box.
  40786. */
  40787. padding?: number;
  40788. /**
  40789. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  40790. * points. If `center` alignment is not possible, it defaults to `right`.
  40791. */
  40792. position?: AlignValue;
  40793. /**
  40794. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  40795. * that due to a more complex structure, backgrounds, borders and padding
  40796. * will be lost on a rotated data label.
  40797. */
  40798. rotation?: number;
  40799. /**
  40800. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  40801. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  40802. * an object configuration containing `color`, `offsetX`, `offsetY`,
  40803. * `opacity` and `width`.
  40804. */
  40805. shadow?: (boolean|ShadowOptionsObject);
  40806. /**
  40807. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  40808. * the border around the label. Symbols are predefined functions on the
  40809. * Renderer object.
  40810. */
  40811. shape?: string;
  40812. /**
  40813. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  40814. * default `color` setting is `"contrast"`, which is a pseudo color that
  40815. * Highcharts picks up and applies the maximum contrast to the underlying
  40816. * point item, for example the bar in a bar chart.
  40817. *
  40818. * The `textOutline` is a pseudo property that applies an outline of the
  40819. * given width with the given color, which by default is the maximum
  40820. * contrast to the text. So a bright text color will result in a black text
  40821. * outline for maximum readability on a mixed background. In some cases,
  40822. * especially with grayscale text, the text outline doesn't work well, in
  40823. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  40824. * is true, the `textOutline` will not be picked up. In this, case, the same
  40825. * effect can be acheived through the `text-shadow` CSS property.
  40826. *
  40827. * For some series types, where each point has an extent, like for example
  40828. * tree maps, the data label may overflow the point. There are two
  40829. * strategies for handling overflow. By default, the text will wrap to
  40830. * multiple lines. The other strategy is to set `style.textOverflow` to
  40831. * `ellipsis`, which will keep the text on one line plus it will break
  40832. * inside long words.
  40833. */
  40834. style?: CSSObject;
  40835. /**
  40836. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  40837. * should follow marker's shape. Border and background are disabled for a
  40838. * label that follows a path.
  40839. *
  40840. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  40841. * to true will disable this option.
  40842. */
  40843. textPath?: DataLabelsTextPathOptionsObject;
  40844. /**
  40845. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  40846. * the labels.
  40847. */
  40848. useHTML?: boolean;
  40849. /**
  40850. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  40851. * label. Can be one of `top`, `middle` or `bottom`. The default value
  40852. * depends on the data, for instance in a column chart, the label is above
  40853. * positive values and below negative values.
  40854. */
  40855. verticalAlign?: (VerticalAlignValue|null);
  40856. /**
  40857. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  40858. * label relative to the point in pixels.
  40859. */
  40860. x?: number;
  40861. /**
  40862. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  40863. * label relative to the point in pixels.
  40864. */
  40865. y?: number;
  40866. /**
  40867. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  40868. * The default Z index puts it above the series. Use a Z index of 2 to
  40869. * display it behind the series.
  40870. */
  40871. z?: number;
  40872. }
  40873. /**
  40874. * (Highcharts, Highstock) Options for the series data sorting.
  40875. */
  40876. export interface PlotDmiDataSortingOptions {
  40877. /**
  40878. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  40879. * Use xAxis.reversed to change the sorting order.
  40880. */
  40881. enabled?: boolean;
  40882. /**
  40883. * (Highcharts, Highstock) Whether to allow matching points by name in an
  40884. * update. If this option is disabled, points will be matched by order.
  40885. */
  40886. matchByName?: boolean;
  40887. /**
  40888. * (Highcharts, Highstock) Determines what data value should be used to sort
  40889. * by.
  40890. */
  40891. sortKey?: string;
  40892. }
  40893. /**
  40894. * (Highstock) -DI line options.
  40895. */
  40896. export interface PlotDmiMinusDILineOptions {
  40897. /**
  40898. * (Highstock) Styles for the -DI line.
  40899. */
  40900. styles?: PlotDmiMinusDILineStylesOptions;
  40901. }
  40902. /**
  40903. * (Highstock) Styles for the -DI line.
  40904. */
  40905. export interface PlotDmiMinusDILineStylesOptions {
  40906. /**
  40907. * (Highstock) Color of the line.
  40908. */
  40909. lineColor?: ColorString;
  40910. /**
  40911. * (Highstock) Pixel width of the line.
  40912. */
  40913. lineWidth?: number;
  40914. }
  40915. /**
  40916. * (Highstock) Directional Movement Index (DMI). This series requires the
  40917. * `linkedTo` option to be set and should be loaded after the
  40918. * `stock/indicators/indicators.js` file.
  40919. *
  40920. * In TypeScript the type option must always be set.
  40921. *
  40922. * Configuration options for the series are given in three levels:
  40923. *
  40924. * 1. Options for all series in a chart are defined in the plotOptions.series
  40925. * object.
  40926. *
  40927. * 2. Options for all `dmi` series are defined in plotOptions.dmi.
  40928. *
  40929. * 3. Options for one single series are given in the series instance array. (see
  40930. * online documentation for example)
  40931. */
  40932. export interface PlotDmiOptions {
  40933. /**
  40934. * (Highstock) Accessibility options for a series.
  40935. */
  40936. accessibility?: SeriesAccessibilityOptionsObject;
  40937. /**
  40938. * (Highstock) Allow this series' points to be selected by clicking on the
  40939. * graphic (columns, point markers, pie slices, map areas etc).
  40940. *
  40941. * The selected points can be handled by point select and unselect events,
  40942. * or collectively by the getSelectedPoints function.
  40943. *
  40944. * And alternative way of selecting points is through dragging.
  40945. */
  40946. allowPointSelect?: boolean;
  40947. /**
  40948. * (Highstock) Enable or disable the initial animation when a series is
  40949. * displayed. The animation can also be set as a configuration object.
  40950. * Please note that this option only applies to the initial animation of the
  40951. * series itself. For other animations, see chart.animation and the
  40952. * animation parameter under the API methods. The following properties are
  40953. * supported:
  40954. *
  40955. * - `defer`: The animation delay time in milliseconds.
  40956. *
  40957. * - `duration`: The duration of the animation in milliseconds.
  40958. *
  40959. * - `easing`: Can be a string reference to an easing function set on the
  40960. * `Math` object or a function. See the _Custom easing function_ demo below.
  40961. *
  40962. * Due to poor performance, animation is disabled in old IE browsers for
  40963. * several chart types.
  40964. */
  40965. animation?: (boolean|PlotDmiAnimationOptions|Partial<AnimationOptionsObject>);
  40966. /**
  40967. * (Highstock) For some series, there is a limit that shuts down initial
  40968. * animation by default when the total number of points in the chart is too
  40969. * high. For example, for a column chart and its derivatives, animation does
  40970. * not run if there is more than 250 points totally. To disable this cap,
  40971. * set `animationLimit` to `Infinity`.
  40972. */
  40973. animationLimit?: number;
  40974. /**
  40975. * (Highstock) Sets the color blending in the boost module.
  40976. */
  40977. boostBlending?: OptionsBoostBlendingValue;
  40978. /**
  40979. * (Highstock) Set the point threshold for when a series should enter boost
  40980. * mode.
  40981. *
  40982. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  40983. * there are 2000 or more points in the series.
  40984. *
  40985. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  40986. * it to 1 will force boosting.
  40987. *
  40988. * Note that the cropThreshold also affects this setting. When zooming in on
  40989. * a series that has fewer points than the `cropThreshold`, all points are
  40990. * rendered although outside the visible plot area, and the `boostThreshold`
  40991. * won't take effect.
  40992. */
  40993. boostThreshold?: number;
  40994. /**
  40995. * (Highmaps) The border color of the map areas.
  40996. *
  40997. * In styled mode, the border stroke is given in the `.highcharts-point`
  40998. * class.
  40999. */
  41000. borderColor?: (ColorString|GradientColorObject|PatternObject);
  41001. /**
  41002. * (Highmaps) The border width of each map area.
  41003. *
  41004. * In styled mode, the border stroke width is given in the
  41005. * `.highcharts-point` class.
  41006. */
  41007. borderWidth?: number;
  41008. /**
  41009. * (Highstock) An additional class name to apply to the series' graphical
  41010. * elements. This option does not replace default class names of the
  41011. * graphical element.
  41012. */
  41013. className?: string;
  41014. /**
  41015. * (Highstock) Disable this option to allow series rendering in the whole
  41016. * plotting area.
  41017. *
  41018. * **Note:** Clipping should be always enabled when chart.zoomType is set
  41019. */
  41020. clip?: boolean;
  41021. /**
  41022. * (Highstock) The main color of the series. In line type series it applies
  41023. * to the line and the point markers unless otherwise specified. In bar type
  41024. * series it applies to the bars unless a color is specified per point. The
  41025. * default value is pulled from the `options.colors` array.
  41026. *
  41027. * In styled mode, the color can be defined by the colorIndex option. Also,
  41028. * the series color can be set with the `.highcharts-series`,
  41029. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  41030. * `.highcharts-series-{n}` class, or individual classes given by the
  41031. * `className` option.
  41032. */
  41033. color?: (ColorString|GradientColorObject|PatternObject);
  41034. /**
  41035. * (Highstock) Styled mode only. A specific color index to use for the
  41036. * series, so its graphic representations are given the class name
  41037. * `highcharts-color-{n}`.
  41038. */
  41039. colorIndex?: number;
  41040. /**
  41041. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  41042. * used to calculate point color if `colorAxis` is used. Requires to set
  41043. * `min` and `max` if some custom point property is used or if approximation
  41044. * for data grouping is set to `'sum'`.
  41045. */
  41046. colorKey?: string;
  41047. /**
  41048. * (Highstock) Compare the values of the series against the first non-null,
  41049. * non- zero value in the visible range. The y axis will show percentage or
  41050. * absolute change depending on whether `compare` is set to `"percent"` or
  41051. * `"value"`. When this is applied to multiple series, it allows comparing
  41052. * the development of the series against each other. Adds a `change` field
  41053. * to every point object.
  41054. */
  41055. compare?: string;
  41056. /**
  41057. * (Highstock) When compare is `percent`, this option dictates whether to
  41058. * use 0 or 100 as the base of comparison.
  41059. */
  41060. compareBase?: (0|100);
  41061. /**
  41062. * (Highstock) Defines if comparison should start from the first point
  41063. * within the visible range or should start from the first point **before**
  41064. * the range.
  41065. *
  41066. * In other words, this flag determines if first point within the visible
  41067. * range will have 0% (`compareStart=true`) or should have been already
  41068. * calculated according to the previous point (`compareStart=false`).
  41069. */
  41070. compareStart?: boolean;
  41071. /**
  41072. * (Highstock) Whether to compare indicator to the main series values or
  41073. * indicator values.
  41074. */
  41075. compareToMain?: boolean;
  41076. /**
  41077. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  41078. * series plot across the extremes.
  41079. */
  41080. connectEnds?: boolean;
  41081. /**
  41082. * (Highcharts, Highstock) Whether to connect a graph line across null
  41083. * points, or render a gap between the two points on either side of the
  41084. * null.
  41085. */
  41086. connectNulls?: boolean;
  41087. /**
  41088. * (Gantt) Override Pathfinder connector options for a series. Requires
  41089. * Highcharts Gantt to be loaded.
  41090. */
  41091. connectors?: SeriesConnectorsOptionsObject;
  41092. /**
  41093. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  41094. * rounded to its nearest pixel in order to render sharp on screen. In some
  41095. * cases, when there are a lot of densely packed columns, this leads to
  41096. * visible difference in column widths or distance between columns. In these
  41097. * cases, setting `crisp` to `false` may look better, even though each
  41098. * column is rendered blurry.
  41099. */
  41100. crisp?: boolean;
  41101. /**
  41102. * (Highcharts, Highstock) When the series contains less points than the
  41103. * crop threshold, all points are drawn, even if the points fall outside the
  41104. * visible plot area at the current zoom. The advantage of drawing all
  41105. * points (including markers and columns), is that animation is performed on
  41106. * updates. On the other hand, when the series contains more points than the
  41107. * crop threshold, the series data is cropped to only contain points that
  41108. * fall within the plot area. The advantage of cropping away invisible
  41109. * points is to increase performance on large series.
  41110. */
  41111. cropThreshold?: number;
  41112. /**
  41113. * (Highstock) You can set the cursor to "pointer" if you have click events
  41114. * attached to the series, to signal to the user that the points and lines
  41115. * can be clicked.
  41116. *
  41117. * In styled mode, the series cursor can be set with the same classes as
  41118. * listed under series.color.
  41119. */
  41120. cursor?: (string|CursorValue);
  41121. /**
  41122. * (Highstock) A reserved subspace to store options and values for
  41123. * customized functionality. Here you can add additional data for your own
  41124. * event callbacks and formatter callbacks.
  41125. */
  41126. custom?: Dictionary<any>;
  41127. /**
  41128. * (Highstock) Name of the dash style to use for the graph, or for some
  41129. * series types the outline of each shape.
  41130. *
  41131. * In styled mode, the stroke dash-array can be set with the same classes as
  41132. * listed under series.color.
  41133. */
  41134. dashStyle?: DashStyleValue;
  41135. /**
  41136. * (Highstock) Data grouping is the concept of sampling the data values into
  41137. * larger blocks in order to ease readability and increase performance of
  41138. * the JavaScript charts. Highcharts Stock by default applies data grouping
  41139. * when the points become closer than a certain pixel value, determined by
  41140. * the `groupPixelWidth` option.
  41141. *
  41142. * If data grouping is applied, the grouping information of grouped points
  41143. * can be read from the Point.dataGroup. If point options other than the
  41144. * data itself are set, for example `name` or `color` or custom properties,
  41145. * the grouping logic doesn't know how to group it. In this case the options
  41146. * of the first point instance are copied over to the group point. This can
  41147. * be altered through a custom `approximation` callback function.
  41148. */
  41149. dataGrouping?: DataGroupingOptionsObject;
  41150. /**
  41151. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  41152. * labels, appearing next to each data point.
  41153. *
  41154. * Since v6.2.0, multiple data labels can be applied to each single point by
  41155. * defining them as an array of configs.
  41156. *
  41157. * In styled mode, the data labels can be styled with the
  41158. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  41159. * (see example).
  41160. */
  41161. dataLabels?: (PlotDmiDataLabelsOptions|Array<PlotDmiDataLabelsOptions>);
  41162. /**
  41163. * (Highcharts, Highstock) Options for the series data sorting.
  41164. */
  41165. dataSorting?: (DataSortingOptionsObject|PlotDmiDataSortingOptions);
  41166. /**
  41167. * (Highstock) A description of the series to add to the screen reader
  41168. * information about the series.
  41169. */
  41170. description?: string;
  41171. /**
  41172. * (Highstock) Enable or disable the mouse tracking for a specific series.
  41173. * This includes point tooltips and click events on graphs and points. For
  41174. * large datasets it improves performance.
  41175. */
  41176. enableMouseTracking?: boolean;
  41177. /**
  41178. * (Highstock) General event handlers for the series items. These event
  41179. * hooks can also be attached to the series at run time using the
  41180. * `Highcharts.addEvent` function.
  41181. */
  41182. events?: SeriesEventsOptionsObject;
  41183. /**
  41184. * (Highstock) Determines whether the series should look for the nearest
  41185. * point in both dimensions or just the x-dimension when hovering the
  41186. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  41187. * series. If the data has duplicate x-values, it is recommended to set this
  41188. * to `'xy'` to allow hovering over all points.
  41189. *
  41190. * Applies only to series types using nearest neighbor search (not direct
  41191. * hover) for tooltip.
  41192. */
  41193. findNearestPointBy?: OptionsFindNearestPointByValue;
  41194. /**
  41195. * (Highstock) Defines when to display a gap in the graph, together with the
  41196. * gapUnit option.
  41197. *
  41198. * In case when `dataGrouping` is enabled, points can be grouped into a
  41199. * larger time span. This can make the grouped points to have a greater
  41200. * distance than the absolute value of `gapSize` property, which will result
  41201. * in disappearing graph completely. To prevent this situation the mentioned
  41202. * distance between grouped points is used instead of previously defined
  41203. * `gapSize`.
  41204. *
  41205. * In practice, this option is most often used to visualize gaps in time
  41206. * series. In a stock chart, intraday data is available for daytime hours,
  41207. * while gaps will appear in nights and weekends.
  41208. */
  41209. gapSize?: number;
  41210. /**
  41211. * (Highstock) Together with gapSize, this option defines where to draw gaps
  41212. * in the graph.
  41213. *
  41214. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  41215. * if the distance between two points is greater than 5 times that of the
  41216. * two closest points, the graph will be broken.
  41217. *
  41218. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  41219. * values, which on a datetime axis is milliseconds. This also applies to
  41220. * the navigator series that inherits gap options from the base series.
  41221. */
  41222. gapUnit?: OptionsGapUnitValue;
  41223. /**
  41224. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  41225. * chart width or only the zoomed area when zooming in on parts of the X
  41226. * axis. By default, the Y axis adjusts to the min and max of the visible
  41227. * data. Cartesian series only.
  41228. */
  41229. getExtremesFromAll?: boolean;
  41230. /**
  41231. * (Highstock) When set to `false` will prevent the series data from being
  41232. * included in any form of data export.
  41233. *
  41234. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  41235. * `includeInCSVExport`.
  41236. */
  41237. includeInDataExport?: boolean;
  41238. /**
  41239. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  41240. * series as possible in a natural way, seeking to avoid other series. The
  41241. * goal of this feature is to make the chart more easily readable, like if a
  41242. * human designer placed the labels in the optimal position.
  41243. *
  41244. * The series labels currently work with series types having a `graph` or an
  41245. * `area`.
  41246. */
  41247. label?: SeriesLabelOptionsObject;
  41248. /**
  41249. * (Highstock) The line marks the last price from all points.
  41250. */
  41251. lastPrice?: SeriesLastPriceOptionsObject;
  41252. /**
  41253. * (Highstock) The line marks the last price from visible range of points.
  41254. */
  41255. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  41256. /**
  41257. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  41258. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  41259. * the ends and bends.
  41260. */
  41261. linecap?: SeriesLinecapValue;
  41262. /**
  41263. * (Highcharts, Highstock) Pixel width of the graph line.
  41264. */
  41265. lineWidth?: number;
  41266. /**
  41267. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  41268. * based on. Required for this indicator.
  41269. */
  41270. linkedTo?: string;
  41271. /**
  41272. * (Highstock) Options for the point markers of line-like series. Properties
  41273. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  41274. * appearance of the markers. Other series types, like column series, don't
  41275. * have markers, but have visual options on the series level instead.
  41276. *
  41277. * In styled mode, the markers can be styled with the `.highcharts-point`,
  41278. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  41279. */
  41280. marker?: PointMarkerOptionsObject;
  41281. /**
  41282. * (Highstock) -DI line options.
  41283. */
  41284. minusDILine?: PlotDmiMinusDILineOptions;
  41285. /**
  41286. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  41287. * If not set, it will be based on a technical indicator type and default
  41288. * params.
  41289. */
  41290. name?: string;
  41291. /**
  41292. * (Highstock) The color for the parts of the graph or points that are below
  41293. * the threshold. Note that `zones` takes precedence over the negative
  41294. * color. Using `negativeColor` is equivalent to applying a zone with value
  41295. * of 0.
  41296. */
  41297. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  41298. /**
  41299. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  41300. * dataLabels.
  41301. */
  41302. opacity?: number;
  41303. /**
  41304. * (Highstock) Paramters used in calculation of regression series' points.
  41305. */
  41306. params?: PlotDmiParamsOptions;
  41307. /**
  41308. * (Highstock) +DI line options.
  41309. */
  41310. plusDILine?: PlotDmiPlusDILineOptions;
  41311. /**
  41312. * (Highstock) Properties for each single point.
  41313. */
  41314. point?: PlotSeriesPointOptions;
  41315. /**
  41316. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  41317. * individual series. Overrides the chart wide configuration.
  41318. */
  41319. pointDescriptionFormatter?: Function;
  41320. /**
  41321. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  41322. * true, the checkbox next to the series name in the legend will be checked
  41323. * for a selected series.
  41324. */
  41325. selected?: boolean;
  41326. /**
  41327. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  41328. * the shadow can be an object configuration containing `color`, `offsetX`,
  41329. * `offsetY`, `opacity` and `width`.
  41330. */
  41331. shadow?: (boolean|ShadowOptionsObject);
  41332. /**
  41333. * (Highstock) If true, a checkbox is displayed next to the legend item to
  41334. * allow selecting the series. The state of the checkbox is determined by
  41335. * the `selected` option.
  41336. */
  41337. showCheckbox?: boolean;
  41338. /**
  41339. * (Highstock) Whether to display this particular series or series type in
  41340. * the legend. Standalone series are shown in legend by default, and linked
  41341. * series are not. Since v7.2.0 it is possible to show series that use
  41342. * colorAxis by setting this option to `true`.
  41343. */
  41344. showInLegend?: boolean;
  41345. /**
  41346. * (Highstock) If set to `true`, the accessibility module will skip past the
  41347. * points in this series for keyboard navigation.
  41348. */
  41349. skipKeyboardNavigation?: boolean;
  41350. /**
  41351. * (Highcharts, Highstock) When this is true, the series will not cause the
  41352. * Y axis to cross the zero plane (or threshold option) unless the data
  41353. * actually crosses the plane.
  41354. *
  41355. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  41356. * make the Y axis show negative values according to the `minPadding`
  41357. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  41358. */
  41359. softThreshold?: boolean;
  41360. states?: SeriesStatesOptionsObject;
  41361. /**
  41362. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  41363. * values are `left`, `center` and `right`.
  41364. */
  41365. step?: OptionsStepValue;
  41366. /**
  41367. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  41368. * event on a series isn't triggered until the mouse moves over another
  41369. * series, or out of the plot area. When false, the `mouseOut` event on a
  41370. * series is triggered when the mouse leaves the area around the series'
  41371. * graph or markers. This also implies the tooltip when not shared. When
  41372. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  41373. * be hidden when moving the mouse between series. Defaults to true for line
  41374. * and area type series, but to false for columns, pies etc.
  41375. *
  41376. * **Note:** The boost module will force this option because of technical
  41377. * limitations.
  41378. */
  41379. stickyTracking?: boolean;
  41380. /**
  41381. * (Highcharts, Highstock) The threshold, also called zero level or base
  41382. * level. For line type series this is only used in conjunction with
  41383. * negativeColor.
  41384. */
  41385. threshold?: (number|null);
  41386. /**
  41387. * (Highstock) A configuration object for the tooltip rendering of each
  41388. * single series. Properties are inherited from tooltip, but only the
  41389. * following properties can be defined on a series level.
  41390. */
  41391. tooltip?: SeriesTooltipOptionsObject;
  41392. /**
  41393. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  41394. * is longer than this, only one dimensional arrays of numbers, or two
  41395. * dimensional arrays with x and y values are allowed. Also, only the first
  41396. * point is tested, and the rest are assumed to be the same format. This
  41397. * saves expensive data checking and indexing in long series. Set it to `0`
  41398. * disable.
  41399. *
  41400. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  41401. * two dimensional arrays are allowed.
  41402. */
  41403. turboThreshold?: number;
  41404. /**
  41405. * (Highstock) Set the initial visibility of the series.
  41406. */
  41407. visible?: boolean;
  41408. /**
  41409. * (Highmaps) Define the z index of the series.
  41410. */
  41411. zIndex?: number;
  41412. /**
  41413. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  41414. */
  41415. zoneAxis?: string;
  41416. /**
  41417. * (Highcharts, Highstock) An array defining zones within a series. Zones
  41418. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  41419. * the `zoneAxis` option. The zone definitions have to be in ascending order
  41420. * regarding to the value.
  41421. *
  41422. * In styled mode, the color zones are styled with the
  41423. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  41424. * option (view live demo).
  41425. */
  41426. zones?: Array<SeriesZonesOptionsObject>;
  41427. }
  41428. /**
  41429. * (Highstock) Paramters used in calculation of regression series' points.
  41430. */
  41431. export interface PlotDmiParamsOptions {
  41432. index?: string;
  41433. /**
  41434. * (Highstock) The base period for indicator calculations. This is the
  41435. * number of data points which are taken into account for the indicator
  41436. * calculations.
  41437. */
  41438. period?: number;
  41439. }
  41440. /**
  41441. * (Highstock) +DI line options.
  41442. */
  41443. export interface PlotDmiPlusDILineOptions {
  41444. /**
  41445. * (Highstock) Styles for the +DI line.
  41446. */
  41447. styles?: PlotDmiPlusDILineStylesOptions;
  41448. }
  41449. /**
  41450. * (Highstock) Styles for the +DI line.
  41451. */
  41452. export interface PlotDmiPlusDILineStylesOptions {
  41453. /**
  41454. * (Highstock) Color of the line.
  41455. */
  41456. lineColor?: ColorString;
  41457. /**
  41458. * (Highstock) Pixel width of the line.
  41459. */
  41460. lineWidth?: number;
  41461. }
  41462. /**
  41463. * (Highstock) Enable or disable the initial animation when a series is
  41464. * displayed. The animation can also be set as a configuration object. Please
  41465. * note that this option only applies to the initial animation of the series
  41466. * itself. For other animations, see chart.animation and the animation parameter
  41467. * under the API methods. The following properties are supported:
  41468. *
  41469. * - `defer`: The animation delay time in milliseconds.
  41470. *
  41471. * - `duration`: The duration of the animation in milliseconds.
  41472. *
  41473. * - `easing`: Can be a string reference to an easing function set on the `Math`
  41474. * object or a function. See the _Custom easing function_ demo below.
  41475. *
  41476. * Due to poor performance, animation is disabled in old IE browsers for several
  41477. * chart types.
  41478. */
  41479. export interface PlotDpoAnimationOptions {
  41480. defer?: number;
  41481. }
  41482. /**
  41483. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  41484. * animation when a series is displayed for the `dataLabels`. The animation can
  41485. * also be set as a configuration object. Please note that this option only
  41486. * applies to the initial animation. For other animations, see chart.animation
  41487. * and the animation parameter under the API methods. The following properties
  41488. * are supported:
  41489. *
  41490. * - `defer`: The animation delay time in milliseconds.
  41491. */
  41492. export interface PlotDpoDataLabelsAnimationOptions {
  41493. /**
  41494. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  41495. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  41496. * inherits defer time from the series.animation.defer.
  41497. */
  41498. defer?: number;
  41499. }
  41500. /**
  41501. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  41502. * appearing next to each data point.
  41503. *
  41504. * Since v6.2.0, multiple data labels can be applied to each single point by
  41505. * defining them as an array of configs.
  41506. *
  41507. * In styled mode, the data labels can be styled with the
  41508. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  41509. * example).
  41510. */
  41511. export interface PlotDpoDataLabelsOptions {
  41512. /**
  41513. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  41514. * compared to the point. If `right`, the right side of the label should be
  41515. * touching the point. For points with an extent, like columns, the
  41516. * alignments also dictates how to align it inside the box, as given with
  41517. * the inside option. Can be one of `left`, `center` or `right`.
  41518. */
  41519. align?: (AlignValue|null);
  41520. /**
  41521. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  41522. * overlap. To make the labels less sensitive for overlapping, the
  41523. * dataLabels.padding can be set to 0.
  41524. */
  41525. allowOverlap?: boolean;
  41526. /**
  41527. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  41528. * animation when a series is displayed for the `dataLabels`. The animation
  41529. * can also be set as a configuration object. Please note that this option
  41530. * only applies to the initial animation. For other animations, see
  41531. * chart.animation and the animation parameter under the API methods. The
  41532. * following properties are supported:
  41533. *
  41534. * - `defer`: The animation delay time in milliseconds.
  41535. */
  41536. animation?: (boolean|PlotDpoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  41537. /**
  41538. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  41539. * for the data label.
  41540. */
  41541. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  41542. /**
  41543. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  41544. * label. Defaults to `undefined`.
  41545. */
  41546. borderColor?: (ColorString|GradientColorObject|PatternObject);
  41547. /**
  41548. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  41549. * the data label.
  41550. */
  41551. borderRadius?: number;
  41552. /**
  41553. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  41554. * the data label.
  41555. */
  41556. borderWidth?: number;
  41557. /**
  41558. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  41559. * Particularly in styled mode, this can be used to give each series' or
  41560. * point's data label unique styling. In addition to this option, a default
  41561. * color class name is added so that we can give the labels a contrast text
  41562. * shadow.
  41563. */
  41564. className?: string;
  41565. /**
  41566. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  41567. * labels. Defaults to `undefined`. For certain series types, like column or
  41568. * map, the data labels can be drawn inside the points. In this case the
  41569. * data label will be drawn with maximum contrast by default. Additionally,
  41570. * it will be given a `text-outline` style with the opposite color, to
  41571. * further increase the contrast. This can be overridden by setting the
  41572. * `text-outline` style to `none` in the `dataLabels.style` option.
  41573. */
  41574. color?: (ColorString|GradientColorObject|PatternObject);
  41575. /**
  41576. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  41577. * are outside the plot area. By default, the data label is moved inside the
  41578. * plot area according to the overflow option.
  41579. */
  41580. crop?: boolean;
  41581. /**
  41582. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  41583. * labels until the initial series animation has finished. Setting to
  41584. * `false` renders the data label immediately. If set to `true` inherits the
  41585. * defer time set in plotOptions.series.animation. If set to a number, a
  41586. * defer time is specified in milliseconds.
  41587. */
  41588. defer?: (boolean|number);
  41589. /**
  41590. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  41591. * labels.
  41592. */
  41593. enabled?: boolean;
  41594. /**
  41595. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  41596. * of which data labels to display. The declarative filter is designed for
  41597. * use when callback functions are not available, like when the chart
  41598. * options require a pure JSON structure or for use with graphical editors.
  41599. * For programmatic control, use the `formatter` instead, and return
  41600. * `undefined` to disable a single data label.
  41601. */
  41602. filter?: DataLabelsFilterOptionsObject;
  41603. /**
  41604. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  41605. * label. Available variables are the same as for `formatter`.
  41606. */
  41607. format?: string;
  41608. /**
  41609. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  41610. * format the data label. Note that if a `format` is defined, the format
  41611. * takes precedence and the formatter is ignored.
  41612. */
  41613. formatter?: DataLabelsFormatterCallbackFunction;
  41614. /**
  41615. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  41616. * columns or map areas, whether to align the data label inside the box or
  41617. * to the actual value point. Defaults to `false` in most cases, `true` in
  41618. * stacked columns.
  41619. */
  41620. inside?: boolean;
  41621. /**
  41622. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  41623. * of null. Works analogously to format. `nullFormat` can be applied only to
  41624. * series which support displaying null points.
  41625. */
  41626. nullFormat?: (boolean|string);
  41627. /**
  41628. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  41629. * that defines formatting for points with the value of null. Works
  41630. * analogously to formatter. `nullPointFormatter` can be applied only to
  41631. * series which support displaying null points.
  41632. */
  41633. nullFormatter?: DataLabelsFormatterCallbackFunction;
  41634. /**
  41635. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  41636. * flow outside the plot area. The default is `"justify"`, which aligns them
  41637. * inside the plot area. For columns and bars, this means it will be moved
  41638. * inside the bar. To display data labels outside the plot area, set `crop`
  41639. * to `false` and `overflow` to `"allow"`.
  41640. */
  41641. overflow?: DataLabelsOverflowValue;
  41642. /**
  41643. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  41644. * the `backgroundColor` is set, this is the padding within the box.
  41645. */
  41646. padding?: number;
  41647. /**
  41648. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  41649. * points. If `center` alignment is not possible, it defaults to `right`.
  41650. */
  41651. position?: AlignValue;
  41652. /**
  41653. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  41654. * that due to a more complex structure, backgrounds, borders and padding
  41655. * will be lost on a rotated data label.
  41656. */
  41657. rotation?: number;
  41658. /**
  41659. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  41660. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  41661. * an object configuration containing `color`, `offsetX`, `offsetY`,
  41662. * `opacity` and `width`.
  41663. */
  41664. shadow?: (boolean|ShadowOptionsObject);
  41665. /**
  41666. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  41667. * the border around the label. Symbols are predefined functions on the
  41668. * Renderer object.
  41669. */
  41670. shape?: string;
  41671. /**
  41672. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  41673. * default `color` setting is `"contrast"`, which is a pseudo color that
  41674. * Highcharts picks up and applies the maximum contrast to the underlying
  41675. * point item, for example the bar in a bar chart.
  41676. *
  41677. * The `textOutline` is a pseudo property that applies an outline of the
  41678. * given width with the given color, which by default is the maximum
  41679. * contrast to the text. So a bright text color will result in a black text
  41680. * outline for maximum readability on a mixed background. In some cases,
  41681. * especially with grayscale text, the text outline doesn't work well, in
  41682. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  41683. * is true, the `textOutline` will not be picked up. In this, case, the same
  41684. * effect can be acheived through the `text-shadow` CSS property.
  41685. *
  41686. * For some series types, where each point has an extent, like for example
  41687. * tree maps, the data label may overflow the point. There are two
  41688. * strategies for handling overflow. By default, the text will wrap to
  41689. * multiple lines. The other strategy is to set `style.textOverflow` to
  41690. * `ellipsis`, which will keep the text on one line plus it will break
  41691. * inside long words.
  41692. */
  41693. style?: CSSObject;
  41694. /**
  41695. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  41696. * should follow marker's shape. Border and background are disabled for a
  41697. * label that follows a path.
  41698. *
  41699. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  41700. * to true will disable this option.
  41701. */
  41702. textPath?: DataLabelsTextPathOptionsObject;
  41703. /**
  41704. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  41705. * the labels.
  41706. */
  41707. useHTML?: boolean;
  41708. /**
  41709. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  41710. * label. Can be one of `top`, `middle` or `bottom`. The default value
  41711. * depends on the data, for instance in a column chart, the label is above
  41712. * positive values and below negative values.
  41713. */
  41714. verticalAlign?: (VerticalAlignValue|null);
  41715. /**
  41716. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  41717. * label relative to the point in pixels.
  41718. */
  41719. x?: number;
  41720. /**
  41721. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  41722. * label relative to the point in pixels.
  41723. */
  41724. y?: number;
  41725. /**
  41726. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  41727. * The default Z index puts it above the series. Use a Z index of 2 to
  41728. * display it behind the series.
  41729. */
  41730. z?: number;
  41731. }
  41732. /**
  41733. * (Highcharts, Highstock) Options for the series data sorting.
  41734. */
  41735. export interface PlotDpoDataSortingOptions {
  41736. /**
  41737. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  41738. * Use xAxis.reversed to change the sorting order.
  41739. */
  41740. enabled?: boolean;
  41741. /**
  41742. * (Highcharts, Highstock) Whether to allow matching points by name in an
  41743. * update. If this option is disabled, points will be matched by order.
  41744. */
  41745. matchByName?: boolean;
  41746. /**
  41747. * (Highcharts, Highstock) Determines what data value should be used to sort
  41748. * by.
  41749. */
  41750. sortKey?: string;
  41751. }
  41752. /**
  41753. * (Highstock) Detrended Price Oscillator. This series requires the `linkedTo`
  41754. * option to be set and should be loaded after the
  41755. * `stock/indicators/indicators.js`.
  41756. *
  41757. * In TypeScript the type option must always be set.
  41758. *
  41759. * Configuration options for the series are given in three levels:
  41760. *
  41761. * 1. Options for all series in a chart are defined in the plotOptions.series
  41762. * object.
  41763. *
  41764. * 2. Options for all `dpo` series are defined in plotOptions.dpo.
  41765. *
  41766. * 3. Options for one single series are given in the series instance array. (see
  41767. * online documentation for example)
  41768. */
  41769. export interface PlotDpoOptions {
  41770. /**
  41771. * (Highstock) Accessibility options for a series.
  41772. */
  41773. accessibility?: SeriesAccessibilityOptionsObject;
  41774. /**
  41775. * (Highstock) Allow this series' points to be selected by clicking on the
  41776. * graphic (columns, point markers, pie slices, map areas etc).
  41777. *
  41778. * The selected points can be handled by point select and unselect events,
  41779. * or collectively by the getSelectedPoints function.
  41780. *
  41781. * And alternative way of selecting points is through dragging.
  41782. */
  41783. allowPointSelect?: boolean;
  41784. /**
  41785. * (Highstock) Enable or disable the initial animation when a series is
  41786. * displayed. The animation can also be set as a configuration object.
  41787. * Please note that this option only applies to the initial animation of the
  41788. * series itself. For other animations, see chart.animation and the
  41789. * animation parameter under the API methods. The following properties are
  41790. * supported:
  41791. *
  41792. * - `defer`: The animation delay time in milliseconds.
  41793. *
  41794. * - `duration`: The duration of the animation in milliseconds.
  41795. *
  41796. * - `easing`: Can be a string reference to an easing function set on the
  41797. * `Math` object or a function. See the _Custom easing function_ demo below.
  41798. *
  41799. * Due to poor performance, animation is disabled in old IE browsers for
  41800. * several chart types.
  41801. */
  41802. animation?: (boolean|PlotDpoAnimationOptions|Partial<AnimationOptionsObject>);
  41803. /**
  41804. * (Highstock) For some series, there is a limit that shuts down initial
  41805. * animation by default when the total number of points in the chart is too
  41806. * high. For example, for a column chart and its derivatives, animation does
  41807. * not run if there is more than 250 points totally. To disable this cap,
  41808. * set `animationLimit` to `Infinity`.
  41809. */
  41810. animationLimit?: number;
  41811. /**
  41812. * (Highstock) Sets the color blending in the boost module.
  41813. */
  41814. boostBlending?: OptionsBoostBlendingValue;
  41815. /**
  41816. * (Highstock) Set the point threshold for when a series should enter boost
  41817. * mode.
  41818. *
  41819. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  41820. * there are 2000 or more points in the series.
  41821. *
  41822. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  41823. * it to 1 will force boosting.
  41824. *
  41825. * Note that the cropThreshold also affects this setting. When zooming in on
  41826. * a series that has fewer points than the `cropThreshold`, all points are
  41827. * rendered although outside the visible plot area, and the `boostThreshold`
  41828. * won't take effect.
  41829. */
  41830. boostThreshold?: number;
  41831. /**
  41832. * (Highmaps) The border color of the map areas.
  41833. *
  41834. * In styled mode, the border stroke is given in the `.highcharts-point`
  41835. * class.
  41836. */
  41837. borderColor?: (ColorString|GradientColorObject|PatternObject);
  41838. /**
  41839. * (Highmaps) The border width of each map area.
  41840. *
  41841. * In styled mode, the border stroke width is given in the
  41842. * `.highcharts-point` class.
  41843. */
  41844. borderWidth?: number;
  41845. /**
  41846. * (Highstock) An additional class name to apply to the series' graphical
  41847. * elements. This option does not replace default class names of the
  41848. * graphical element.
  41849. */
  41850. className?: string;
  41851. /**
  41852. * (Highstock) Disable this option to allow series rendering in the whole
  41853. * plotting area.
  41854. *
  41855. * **Note:** Clipping should be always enabled when chart.zoomType is set
  41856. */
  41857. clip?: boolean;
  41858. /**
  41859. * (Highstock) The main color of the series. In line type series it applies
  41860. * to the line and the point markers unless otherwise specified. In bar type
  41861. * series it applies to the bars unless a color is specified per point. The
  41862. * default value is pulled from the `options.colors` array.
  41863. *
  41864. * In styled mode, the color can be defined by the colorIndex option. Also,
  41865. * the series color can be set with the `.highcharts-series`,
  41866. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  41867. * `.highcharts-series-{n}` class, or individual classes given by the
  41868. * `className` option.
  41869. */
  41870. color?: (ColorString|GradientColorObject|PatternObject);
  41871. /**
  41872. * (Highstock) Styled mode only. A specific color index to use for the
  41873. * series, so its graphic representations are given the class name
  41874. * `highcharts-color-{n}`.
  41875. */
  41876. colorIndex?: number;
  41877. /**
  41878. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  41879. * used to calculate point color if `colorAxis` is used. Requires to set
  41880. * `min` and `max` if some custom point property is used or if approximation
  41881. * for data grouping is set to `'sum'`.
  41882. */
  41883. colorKey?: string;
  41884. /**
  41885. * (Highstock) Defines if comparison should start from the first point
  41886. * within the visible range or should start from the first point **before**
  41887. * the range.
  41888. *
  41889. * In other words, this flag determines if first point within the visible
  41890. * range will have 0% (`compareStart=true`) or should have been already
  41891. * calculated according to the previous point (`compareStart=false`).
  41892. */
  41893. compareStart?: boolean;
  41894. /**
  41895. * (Highstock) Whether to compare indicator to the main series values or
  41896. * indicator values.
  41897. */
  41898. compareToMain?: boolean;
  41899. /**
  41900. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  41901. * series plot across the extremes.
  41902. */
  41903. connectEnds?: boolean;
  41904. /**
  41905. * (Highcharts, Highstock) Whether to connect a graph line across null
  41906. * points, or render a gap between the two points on either side of the
  41907. * null.
  41908. */
  41909. connectNulls?: boolean;
  41910. /**
  41911. * (Gantt) Override Pathfinder connector options for a series. Requires
  41912. * Highcharts Gantt to be loaded.
  41913. */
  41914. connectors?: SeriesConnectorsOptionsObject;
  41915. /**
  41916. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  41917. * rounded to its nearest pixel in order to render sharp on screen. In some
  41918. * cases, when there are a lot of densely packed columns, this leads to
  41919. * visible difference in column widths or distance between columns. In these
  41920. * cases, setting `crisp` to `false` may look better, even though each
  41921. * column is rendered blurry.
  41922. */
  41923. crisp?: boolean;
  41924. /**
  41925. * (Highcharts, Highstock) When the series contains less points than the
  41926. * crop threshold, all points are drawn, even if the points fall outside the
  41927. * visible plot area at the current zoom. The advantage of drawing all
  41928. * points (including markers and columns), is that animation is performed on
  41929. * updates. On the other hand, when the series contains more points than the
  41930. * crop threshold, the series data is cropped to only contain points that
  41931. * fall within the plot area. The advantage of cropping away invisible
  41932. * points is to increase performance on large series.
  41933. */
  41934. cropThreshold?: number;
  41935. /**
  41936. * (Highstock) You can set the cursor to "pointer" if you have click events
  41937. * attached to the series, to signal to the user that the points and lines
  41938. * can be clicked.
  41939. *
  41940. * In styled mode, the series cursor can be set with the same classes as
  41941. * listed under series.color.
  41942. */
  41943. cursor?: (string|CursorValue);
  41944. /**
  41945. * (Highstock) A reserved subspace to store options and values for
  41946. * customized functionality. Here you can add additional data for your own
  41947. * event callbacks and formatter callbacks.
  41948. */
  41949. custom?: Dictionary<any>;
  41950. /**
  41951. * (Highstock) Name of the dash style to use for the graph, or for some
  41952. * series types the outline of each shape.
  41953. *
  41954. * In styled mode, the stroke dash-array can be set with the same classes as
  41955. * listed under series.color.
  41956. */
  41957. dashStyle?: DashStyleValue;
  41958. /**
  41959. * (Highstock) Data grouping is the concept of sampling the data values into
  41960. * larger blocks in order to ease readability and increase performance of
  41961. * the JavaScript charts. Highcharts Stock by default applies data grouping
  41962. * when the points become closer than a certain pixel value, determined by
  41963. * the `groupPixelWidth` option.
  41964. *
  41965. * If data grouping is applied, the grouping information of grouped points
  41966. * can be read from the Point.dataGroup. If point options other than the
  41967. * data itself are set, for example `name` or `color` or custom properties,
  41968. * the grouping logic doesn't know how to group it. In this case the options
  41969. * of the first point instance are copied over to the group point. This can
  41970. * be altered through a custom `approximation` callback function.
  41971. */
  41972. dataGrouping?: DataGroupingOptionsObject;
  41973. /**
  41974. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  41975. * labels, appearing next to each data point.
  41976. *
  41977. * Since v6.2.0, multiple data labels can be applied to each single point by
  41978. * defining them as an array of configs.
  41979. *
  41980. * In styled mode, the data labels can be styled with the
  41981. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  41982. * (see example).
  41983. */
  41984. dataLabels?: (PlotDpoDataLabelsOptions|Array<PlotDpoDataLabelsOptions>);
  41985. /**
  41986. * (Highcharts, Highstock) Options for the series data sorting.
  41987. */
  41988. dataSorting?: (DataSortingOptionsObject|PlotDpoDataSortingOptions);
  41989. /**
  41990. * (Highstock) A description of the series to add to the screen reader
  41991. * information about the series.
  41992. */
  41993. description?: string;
  41994. /**
  41995. * (Highstock) Enable or disable the mouse tracking for a specific series.
  41996. * This includes point tooltips and click events on graphs and points. For
  41997. * large datasets it improves performance.
  41998. */
  41999. enableMouseTracking?: boolean;
  42000. /**
  42001. * (Highstock) General event handlers for the series items. These event
  42002. * hooks can also be attached to the series at run time using the
  42003. * `Highcharts.addEvent` function.
  42004. */
  42005. events?: SeriesEventsOptionsObject;
  42006. /**
  42007. * (Highstock) Determines whether the series should look for the nearest
  42008. * point in both dimensions or just the x-dimension when hovering the
  42009. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  42010. * series. If the data has duplicate x-values, it is recommended to set this
  42011. * to `'xy'` to allow hovering over all points.
  42012. *
  42013. * Applies only to series types using nearest neighbor search (not direct
  42014. * hover) for tooltip.
  42015. */
  42016. findNearestPointBy?: OptionsFindNearestPointByValue;
  42017. /**
  42018. * (Highstock) Defines when to display a gap in the graph, together with the
  42019. * gapUnit option.
  42020. *
  42021. * In case when `dataGrouping` is enabled, points can be grouped into a
  42022. * larger time span. This can make the grouped points to have a greater
  42023. * distance than the absolute value of `gapSize` property, which will result
  42024. * in disappearing graph completely. To prevent this situation the mentioned
  42025. * distance between grouped points is used instead of previously defined
  42026. * `gapSize`.
  42027. *
  42028. * In practice, this option is most often used to visualize gaps in time
  42029. * series. In a stock chart, intraday data is available for daytime hours,
  42030. * while gaps will appear in nights and weekends.
  42031. */
  42032. gapSize?: number;
  42033. /**
  42034. * (Highstock) Together with gapSize, this option defines where to draw gaps
  42035. * in the graph.
  42036. *
  42037. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  42038. * if the distance between two points is greater than 5 times that of the
  42039. * two closest points, the graph will be broken.
  42040. *
  42041. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  42042. * values, which on a datetime axis is milliseconds. This also applies to
  42043. * the navigator series that inherits gap options from the base series.
  42044. */
  42045. gapUnit?: OptionsGapUnitValue;
  42046. /**
  42047. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  42048. * chart width or only the zoomed area when zooming in on parts of the X
  42049. * axis. By default, the Y axis adjusts to the min and max of the visible
  42050. * data. Cartesian series only.
  42051. */
  42052. getExtremesFromAll?: boolean;
  42053. /**
  42054. * (Highstock) When set to `false` will prevent the series data from being
  42055. * included in any form of data export.
  42056. *
  42057. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  42058. * `includeInCSVExport`.
  42059. */
  42060. includeInDataExport?: boolean;
  42061. /**
  42062. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  42063. * series as possible in a natural way, seeking to avoid other series. The
  42064. * goal of this feature is to make the chart more easily readable, like if a
  42065. * human designer placed the labels in the optimal position.
  42066. *
  42067. * The series labels currently work with series types having a `graph` or an
  42068. * `area`.
  42069. */
  42070. label?: SeriesLabelOptionsObject;
  42071. /**
  42072. * (Highstock) The line marks the last price from all points.
  42073. */
  42074. lastPrice?: SeriesLastPriceOptionsObject;
  42075. /**
  42076. * (Highstock) The line marks the last price from visible range of points.
  42077. */
  42078. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  42079. /**
  42080. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  42081. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  42082. * the ends and bends.
  42083. */
  42084. linecap?: SeriesLinecapValue;
  42085. /**
  42086. * (Highcharts, Highstock) Pixel width of the graph line.
  42087. */
  42088. lineWidth?: number;
  42089. /**
  42090. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  42091. * based on. Required for this indicator.
  42092. */
  42093. linkedTo?: string;
  42094. /**
  42095. * (Highstock) Options for the point markers of line-like series. Properties
  42096. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  42097. * appearance of the markers. Other series types, like column series, don't
  42098. * have markers, but have visual options on the series level instead.
  42099. *
  42100. * In styled mode, the markers can be styled with the `.highcharts-point`,
  42101. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  42102. */
  42103. marker?: PointMarkerOptionsObject;
  42104. /**
  42105. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  42106. * If not set, it will be based on a technical indicator type and default
  42107. * params.
  42108. */
  42109. name?: string;
  42110. /**
  42111. * (Highstock) The color for the parts of the graph or points that are below
  42112. * the threshold. Note that `zones` takes precedence over the negative
  42113. * color. Using `negativeColor` is equivalent to applying a zone with value
  42114. * of 0.
  42115. */
  42116. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  42117. /**
  42118. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  42119. * dataLabels.
  42120. */
  42121. opacity?: number;
  42122. /**
  42123. * (Highstock) Parameters used in calculation of Detrended Price Oscillator
  42124. * series points.
  42125. */
  42126. params?: PlotDpoParamsOptions;
  42127. /**
  42128. * (Highstock) Properties for each single point.
  42129. */
  42130. point?: PlotSeriesPointOptions;
  42131. /**
  42132. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  42133. * individual series. Overrides the chart wide configuration.
  42134. */
  42135. pointDescriptionFormatter?: Function;
  42136. /**
  42137. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  42138. * true, the checkbox next to the series name in the legend will be checked
  42139. * for a selected series.
  42140. */
  42141. selected?: boolean;
  42142. /**
  42143. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  42144. * the shadow can be an object configuration containing `color`, `offsetX`,
  42145. * `offsetY`, `opacity` and `width`.
  42146. */
  42147. shadow?: (boolean|ShadowOptionsObject);
  42148. /**
  42149. * (Highstock) If true, a checkbox is displayed next to the legend item to
  42150. * allow selecting the series. The state of the checkbox is determined by
  42151. * the `selected` option.
  42152. */
  42153. showCheckbox?: boolean;
  42154. /**
  42155. * (Highstock) Whether to display this particular series or series type in
  42156. * the legend. Standalone series are shown in legend by default, and linked
  42157. * series are not. Since v7.2.0 it is possible to show series that use
  42158. * colorAxis by setting this option to `true`.
  42159. */
  42160. showInLegend?: boolean;
  42161. /**
  42162. * (Highstock) If set to `true`, the accessibility module will skip past the
  42163. * points in this series for keyboard navigation.
  42164. */
  42165. skipKeyboardNavigation?: boolean;
  42166. /**
  42167. * (Highcharts, Highstock) When this is true, the series will not cause the
  42168. * Y axis to cross the zero plane (or threshold option) unless the data
  42169. * actually crosses the plane.
  42170. *
  42171. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  42172. * make the Y axis show negative values according to the `minPadding`
  42173. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  42174. */
  42175. softThreshold?: boolean;
  42176. states?: SeriesStatesOptionsObject;
  42177. /**
  42178. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  42179. * values are `left`, `center` and `right`.
  42180. */
  42181. step?: OptionsStepValue;
  42182. /**
  42183. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  42184. * event on a series isn't triggered until the mouse moves over another
  42185. * series, or out of the plot area. When false, the `mouseOut` event on a
  42186. * series is triggered when the mouse leaves the area around the series'
  42187. * graph or markers. This also implies the tooltip when not shared. When
  42188. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  42189. * be hidden when moving the mouse between series. Defaults to true for line
  42190. * and area type series, but to false for columns, pies etc.
  42191. *
  42192. * **Note:** The boost module will force this option because of technical
  42193. * limitations.
  42194. */
  42195. stickyTracking?: boolean;
  42196. /**
  42197. * (Highcharts, Highstock) The threshold, also called zero level or base
  42198. * level. For line type series this is only used in conjunction with
  42199. * negativeColor.
  42200. */
  42201. threshold?: (number|null);
  42202. /**
  42203. * (Highstock) A configuration object for the tooltip rendering of each
  42204. * single series. Properties are inherited from tooltip, but only the
  42205. * following properties can be defined on a series level.
  42206. */
  42207. tooltip?: SeriesTooltipOptionsObject;
  42208. /**
  42209. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  42210. * is longer than this, only one dimensional arrays of numbers, or two
  42211. * dimensional arrays with x and y values are allowed. Also, only the first
  42212. * point is tested, and the rest are assumed to be the same format. This
  42213. * saves expensive data checking and indexing in long series. Set it to `0`
  42214. * disable.
  42215. *
  42216. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  42217. * two dimensional arrays are allowed.
  42218. */
  42219. turboThreshold?: number;
  42220. /**
  42221. * (Highstock) Set the initial visibility of the series.
  42222. */
  42223. visible?: boolean;
  42224. /**
  42225. * (Highmaps) Define the z index of the series.
  42226. */
  42227. zIndex?: number;
  42228. /**
  42229. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  42230. */
  42231. zoneAxis?: string;
  42232. /**
  42233. * (Highcharts, Highstock) An array defining zones within a series. Zones
  42234. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  42235. * the `zoneAxis` option. The zone definitions have to be in ascending order
  42236. * regarding to the value.
  42237. *
  42238. * In styled mode, the color zones are styled with the
  42239. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  42240. * option (view live demo).
  42241. */
  42242. zones?: Array<SeriesZonesOptionsObject>;
  42243. }
  42244. /**
  42245. * (Highstock) Parameters used in calculation of Detrended Price Oscillator
  42246. * series points.
  42247. */
  42248. export interface PlotDpoParamsOptions {
  42249. /**
  42250. * (Highstock) The point index which indicator calculations will base. For
  42251. * example using OHLC data, index=2 means the indicator will be calculated
  42252. * using Low values.
  42253. */
  42254. index?: number;
  42255. /**
  42256. * (Highstock) Period for Detrended Price Oscillator
  42257. */
  42258. period?: number;
  42259. }
  42260. /**
  42261. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  42262. * is displayed. The animation can also be set as a configuration object. Please
  42263. * note that this option only applies to the initial animation of the series
  42264. * itself. For other animations, see chart.animation and the animation parameter
  42265. * under the API methods. The following properties are supported:
  42266. *
  42267. * - `defer`: The animation delay time in milliseconds.
  42268. *
  42269. * - `duration`: The duration of the animation in milliseconds.
  42270. *
  42271. * - `easing`: Can be a string reference to an easing function set on the `Math`
  42272. * object or a function. See the _Custom easing function_ demo below.
  42273. *
  42274. * Due to poor performance, animation is disabled in old IE browsers for several
  42275. * chart types.
  42276. */
  42277. export interface PlotDumbbellAnimationOptions {
  42278. defer?: number;
  42279. }
  42280. /**
  42281. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  42282. * is displayed for the `dataLabels`. The animation can also be set as a
  42283. * configuration object. Please note that this option only applies to the
  42284. * initial animation. For other animations, see chart.animation and the
  42285. * animation parameter under the API methods. The following properties are
  42286. * supported:
  42287. *
  42288. * - `defer`: The animation delay time in milliseconds.
  42289. */
  42290. export interface PlotDumbbellDataLabelsAnimationOptions {
  42291. /**
  42292. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  42293. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  42294. * from the series.animation.defer.
  42295. */
  42296. defer?: number;
  42297. }
  42298. /**
  42299. * (Highcharts, Highstock) Options for the series data sorting.
  42300. */
  42301. export interface PlotDumbbellDataSortingOptions {
  42302. /**
  42303. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  42304. * Use xAxis.reversed to change the sorting order.
  42305. */
  42306. enabled?: boolean;
  42307. /**
  42308. * (Highcharts, Highstock) Whether to allow matching points by name in an
  42309. * update. If this option is disabled, points will be matched by order.
  42310. */
  42311. matchByName?: boolean;
  42312. /**
  42313. * (Highcharts, Highstock) Determines what data value should be used to sort
  42314. * by.
  42315. */
  42316. sortKey?: string;
  42317. }
  42318. /**
  42319. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  42320. * one state by default, the `default` state.
  42321. */
  42322. export interface PlotDumbbellDragDropGuideBoxOptions {
  42323. /**
  42324. * (Highcharts, Highstock) Style options for the guide box default state.
  42325. */
  42326. default?: DragDropGuideBoxOptionsObject;
  42327. }
  42328. /**
  42329. * (Highcharts, Highstock) The dumbbell series is a cartesian series with higher
  42330. * and lower values for each point along an X axis, connected with a line
  42331. * between the values.
  42332. *
  42333. * Requires `highcharts-more.js` and `modules/dumbbell.js`.
  42334. *
  42335. * In TypeScript the type option must always be set.
  42336. *
  42337. * Configuration options for the series are given in three levels:
  42338. *
  42339. * 1. Options for all series in a chart are defined in the plotOptions.series
  42340. * object.
  42341. *
  42342. * 2. Options for all `dumbbell` series are defined in plotOptions.dumbbell.
  42343. *
  42344. * 3. Options for one single series are given in the series instance array. (see
  42345. * online documentation for example)
  42346. */
  42347. export interface PlotDumbbellOptions {
  42348. /**
  42349. * (Highcharts, Highstock) Accessibility options for a series.
  42350. */
  42351. accessibility?: SeriesAccessibilityOptionsObject;
  42352. /**
  42353. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  42354. * rendered. If `true`, areas which don't correspond to a data point, are
  42355. * rendered as `null` points. If `false`, those areas are skipped.
  42356. */
  42357. allAreas?: boolean;
  42358. /**
  42359. * (Highcharts, Highstock) Allow this series' points to be selected by
  42360. * clicking on the graphic (columns, point markers, pie slices, map areas
  42361. * etc).
  42362. *
  42363. * The selected points can be handled by point select and unselect events,
  42364. * or collectively by the getSelectedPoints function.
  42365. *
  42366. * And alternative way of selecting points is through dragging.
  42367. */
  42368. allowPointSelect?: boolean;
  42369. /**
  42370. * (Highcharts, Highstock) Enable or disable the initial animation when a
  42371. * series is displayed. The animation can also be set as a configuration
  42372. * object. Please note that this option only applies to the initial
  42373. * animation of the series itself. For other animations, see chart.animation
  42374. * and the animation parameter under the API methods. The following
  42375. * properties are supported:
  42376. *
  42377. * - `defer`: The animation delay time in milliseconds.
  42378. *
  42379. * - `duration`: The duration of the animation in milliseconds.
  42380. *
  42381. * - `easing`: Can be a string reference to an easing function set on the
  42382. * `Math` object or a function. See the _Custom easing function_ demo below.
  42383. *
  42384. * Due to poor performance, animation is disabled in old IE browsers for
  42385. * several chart types.
  42386. */
  42387. animation?: (boolean|PlotDumbbellAnimationOptions|Partial<AnimationOptionsObject>);
  42388. /**
  42389. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  42390. * initial animation by default when the total number of points in the chart
  42391. * is too high. For example, for a column chart and its derivatives,
  42392. * animation does not run if there is more than 250 points totally. To
  42393. * disable this cap, set `animationLimit` to `Infinity`.
  42394. */
  42395. animationLimit?: number;
  42396. /**
  42397. * (Highmaps) The border color of the map areas.
  42398. *
  42399. * In styled mode, the border stroke is given in the `.highcharts-point`
  42400. * class.
  42401. */
  42402. borderColor?: (ColorString|GradientColorObject|PatternObject);
  42403. /**
  42404. * (Highmaps) The border width of each map area.
  42405. *
  42406. * In styled mode, the border stroke width is given in the
  42407. * `.highcharts-point` class.
  42408. */
  42409. borderWidth?: number;
  42410. /**
  42411. * (Highcharts, Highstock) An additional class name to apply to the series'
  42412. * graphical elements. This option does not replace default class names of
  42413. * the graphical element.
  42414. */
  42415. className?: string;
  42416. /**
  42417. * (Highcharts, Highstock) Disable this option to allow series rendering in
  42418. * the whole plotting area.
  42419. *
  42420. * **Note:** Clipping should be always enabled when chart.zoomType is set
  42421. */
  42422. clip?: boolean;
  42423. /**
  42424. * (Highcharts, Highstock) The main color of the series. In line type series
  42425. * it applies to the line and the point markers unless otherwise specified.
  42426. * In bar type series it applies to the bars unless a color is specified per
  42427. * point. The default value is pulled from the `options.colors` array.
  42428. *
  42429. * In styled mode, the color can be defined by the colorIndex option. Also,
  42430. * the series color can be set with the `.highcharts-series`,
  42431. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  42432. * `.highcharts-series-{n}` class, or individual classes given by the
  42433. * `className` option.
  42434. */
  42435. color?: (ColorString|GradientColorObject|PatternObject);
  42436. /**
  42437. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  42438. * this number defines which colorAxis the particular series is connected
  42439. * to. It refers to either the axis id or the index of the axis in the
  42440. * colorAxis array, with 0 being the first. Set this option to false to
  42441. * prevent a series from connecting to the default color axis.
  42442. *
  42443. * Since v7.2.0 the option can also be an axis id or an axis index instead
  42444. * of a boolean flag.
  42445. */
  42446. colorAxis?: (boolean|number|string);
  42447. /**
  42448. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  42449. * for the series, so its graphic representations are given the class name
  42450. * `highcharts-color-{n}`.
  42451. */
  42452. colorIndex?: number;
  42453. /**
  42454. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  42455. * used to calculate point color if `colorAxis` is used. Requires to set
  42456. * `min` and `max` if some custom point property is used or if approximation
  42457. * for data grouping is set to `'sum'`.
  42458. */
  42459. colorKey?: string;
  42460. /**
  42461. * (Highstock) Compare the values of the series against the first non-null,
  42462. * non- zero value in the visible range. The y axis will show percentage or
  42463. * absolute change depending on whether `compare` is set to `"percent"` or
  42464. * `"value"`. When this is applied to multiple series, it allows comparing
  42465. * the development of the series against each other. Adds a `change` field
  42466. * to every point object.
  42467. */
  42468. compare?: string;
  42469. /**
  42470. * (Highstock) When compare is `percent`, this option dictates whether to
  42471. * use 0 or 100 as the base of comparison.
  42472. */
  42473. compareBase?: (0|100);
  42474. /**
  42475. * (Highstock) Defines if comparison should start from the first point
  42476. * within the visible range or should start from the first point **before**
  42477. * the range.
  42478. *
  42479. * In other words, this flag determines if first point within the visible
  42480. * range will have 0% (`compareStart=true`) or should have been already
  42481. * calculated according to the previous point (`compareStart=false`).
  42482. */
  42483. compareStart?: boolean;
  42484. /**
  42485. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  42486. * series plot across the extremes.
  42487. */
  42488. connectEnds?: boolean;
  42489. /**
  42490. * (Highcharts, Highstock) Whether to connect a graph line across null
  42491. * points, or render a gap between the two points on either side of the
  42492. * null.
  42493. */
  42494. connectNulls?: boolean;
  42495. /**
  42496. * (Highcharts, Highstock) Color of the line that connects the dumbbell
  42497. * point's values. By default it is the series' color.
  42498. */
  42499. connectorColor?: string;
  42500. /**
  42501. * (Gantt) Override Pathfinder connector options for a series. Requires
  42502. * Highcharts Gantt to be loaded.
  42503. */
  42504. connectors?: SeriesConnectorsOptionsObject;
  42505. /**
  42506. * (Highcharts, Highstock) Pixel width of the line that connects the
  42507. * dumbbell point's values.
  42508. */
  42509. connectorWidth?: number;
  42510. /**
  42511. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  42512. * rounded to its nearest pixel in order to render sharp on screen. In some
  42513. * cases, when there are a lot of densely packed columns, this leads to
  42514. * visible difference in column widths or distance between columns. In these
  42515. * cases, setting `crisp` to `false` may look better, even though each
  42516. * column is rendered blurry.
  42517. */
  42518. crisp?: boolean;
  42519. /**
  42520. * (Highcharts, Highstock) When the series contains less points than the
  42521. * crop threshold, all points are drawn, even if the points fall outside the
  42522. * visible plot area at the current zoom. The advantage of drawing all
  42523. * points (including markers and columns), is that animation is performed on
  42524. * updates. On the other hand, when the series contains more points than the
  42525. * crop threshold, the series data is cropped to only contain points that
  42526. * fall within the plot area. The advantage of cropping away invisible
  42527. * points is to increase performance on large series.
  42528. */
  42529. cropThreshold?: number;
  42530. /**
  42531. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  42532. * click events attached to the series, to signal to the user that the
  42533. * points and lines can be clicked.
  42534. *
  42535. * In styled mode, the series cursor can be set with the same classes as
  42536. * listed under series.color.
  42537. */
  42538. cursor?: (string|CursorValue);
  42539. /**
  42540. * (Highcharts, Highstock) A reserved subspace to store options and values
  42541. * for customized functionality. Here you can add additional data for your
  42542. * own event callbacks and formatter callbacks.
  42543. */
  42544. custom?: Dictionary<any>;
  42545. /**
  42546. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  42547. * for some series types the outline of each shape.
  42548. *
  42549. * In styled mode, the stroke dash-array can be set with the same classes as
  42550. * listed under series.color.
  42551. */
  42552. dashStyle?: DashStyleValue;
  42553. /**
  42554. * (Highstock) Data grouping is the concept of sampling the data values into
  42555. * larger blocks in order to ease readability and increase performance of
  42556. * the JavaScript charts. Highcharts Stock by default applies data grouping
  42557. * when the points become closer than a certain pixel value, determined by
  42558. * the `groupPixelWidth` option.
  42559. *
  42560. * If data grouping is applied, the grouping information of grouped points
  42561. * can be read from the Point.dataGroup. If point options other than the
  42562. * data itself are set, for example `name` or `color` or custom properties,
  42563. * the grouping logic doesn't know how to group it. In this case the options
  42564. * of the first point instance are copied over to the group point. This can
  42565. * be altered through a custom `approximation` callback function.
  42566. */
  42567. dataGrouping?: DataGroupingOptionsObject;
  42568. /**
  42569. * (Highcharts, Highstock) Extended data labels for range series types.
  42570. * Range series data labels use no `x` and `y` options. Instead, they have
  42571. * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
  42572. * data label sets individually.
  42573. */
  42574. dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
  42575. /**
  42576. * (Highcharts, Highstock) Options for the series data sorting.
  42577. */
  42578. dataSorting?: (DataSortingOptionsObject|PlotDumbbellDataSortingOptions);
  42579. /**
  42580. * (Highcharts, Highstock) A description of the series to add to the screen
  42581. * reader information about the series.
  42582. */
  42583. description?: string;
  42584. /**
  42585. * (Highcharts, Highstock) The draggable-points module allows points to be
  42586. * moved around or modified in the chart. In addition to the options
  42587. * mentioned under the `dragDrop` API structure, the module fires three
  42588. * events, point.dragStart, point.drag and point.drop.
  42589. */
  42590. dragDrop?: SeriesDragDropOptionsObject;
  42591. /**
  42592. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  42593. * specific series. This includes point tooltips and click events on graphs
  42594. * and points. For large datasets it improves performance.
  42595. */
  42596. enableMouseTracking?: boolean;
  42597. /**
  42598. * (Highcharts, Highstock) General event handlers for the series items.
  42599. * These event hooks can also be attached to the series at run time using
  42600. * the `Highcharts.addEvent` function.
  42601. */
  42602. events?: SeriesEventsOptionsObject;
  42603. /**
  42604. * (Highcharts, Highstock) Determines whether the series should look for the
  42605. * nearest point in both dimensions or just the x-dimension when hovering
  42606. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  42607. * other series. If the data has duplicate x-values, it is recommended to
  42608. * set this to `'xy'` to allow hovering over all points.
  42609. *
  42610. * Applies only to series types using nearest neighbor search (not direct
  42611. * hover) for tooltip.
  42612. */
  42613. findNearestPointBy?: OptionsFindNearestPointByValue;
  42614. /**
  42615. * (Highstock) Defines when to display a gap in the graph, together with the
  42616. * gapUnit option.
  42617. *
  42618. * In case when `dataGrouping` is enabled, points can be grouped into a
  42619. * larger time span. This can make the grouped points to have a greater
  42620. * distance than the absolute value of `gapSize` property, which will result
  42621. * in disappearing graph completely. To prevent this situation the mentioned
  42622. * distance between grouped points is used instead of previously defined
  42623. * `gapSize`.
  42624. *
  42625. * In practice, this option is most often used to visualize gaps in time
  42626. * series. In a stock chart, intraday data is available for daytime hours,
  42627. * while gaps will appear in nights and weekends.
  42628. */
  42629. gapSize?: number;
  42630. /**
  42631. * (Highstock) Together with gapSize, this option defines where to draw gaps
  42632. * in the graph.
  42633. *
  42634. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  42635. * if the distance between two points is greater than 5 times that of the
  42636. * two closest points, the graph will be broken.
  42637. *
  42638. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  42639. * values, which on a datetime axis is milliseconds. This also applies to
  42640. * the navigator series that inherits gap options from the base series.
  42641. */
  42642. gapUnit?: OptionsGapUnitValue;
  42643. /**
  42644. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  42645. * chart width or only the zoomed area when zooming in on parts of the X
  42646. * axis. By default, the Y axis adjusts to the min and max of the visible
  42647. * data. Cartesian series only.
  42648. */
  42649. getExtremesFromAll?: boolean;
  42650. groupPadding?: number;
  42651. /**
  42652. * (Highcharts, Highstock) When set to `false` will prevent the series data
  42653. * from being included in any form of data export.
  42654. *
  42655. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  42656. * `includeInCSVExport`.
  42657. */
  42658. includeInDataExport?: boolean;
  42659. /**
  42660. * (Highmaps) What property to join the `mapData` to the value data. For
  42661. * example, if joinBy is "code", the mapData items with a specific code is
  42662. * merged into the data with the same code. For maps loaded from GeoJSON,
  42663. * the keys may be held in each point's `properties` object.
  42664. *
  42665. * The joinBy option can also be an array of two values, where the first
  42666. * points to a key in the `mapData`, and the second points to another key in
  42667. * the `data`.
  42668. *
  42669. * When joinBy is `null`, the map items are joined by their position in the
  42670. * array, which performs much better in maps with many data points. This is
  42671. * the recommended option if you are printing more than a thousand data
  42672. * points and have a backend that can preprocess the data into a parallel
  42673. * array of the mapData.
  42674. */
  42675. joinBy?: (string|Array<string>);
  42676. /**
  42677. * (Highcharts, Highstock) An array specifying which option maps to which
  42678. * key in the data point array. This makes it convenient to work with
  42679. * unstructured data arrays from different sources.
  42680. */
  42681. keys?: Array<string>;
  42682. /**
  42683. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  42684. * series as possible in a natural way, seeking to avoid other series. The
  42685. * goal of this feature is to make the chart more easily readable, like if a
  42686. * human designer placed the labels in the optimal position.
  42687. *
  42688. * The series labels currently work with series types having a `graph` or an
  42689. * `area`.
  42690. */
  42691. label?: SeriesLabelOptionsObject;
  42692. /**
  42693. * (Highstock) The line marks the last price from all points.
  42694. */
  42695. lastPrice?: SeriesLastPriceOptionsObject;
  42696. /**
  42697. * (Highstock) The line marks the last price from visible range of points.
  42698. */
  42699. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  42700. /**
  42701. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  42702. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  42703. * the ends and bends.
  42704. */
  42705. linecap?: SeriesLinecapValue;
  42706. /**
  42707. * (Highcharts, Highstock) A separate color for the graph line. By default
  42708. * the line takes the `color` of the series, but the lineColor setting
  42709. * allows setting a separate color for the line without altering the
  42710. * `fillColor`.
  42711. *
  42712. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  42713. * class name.
  42714. */
  42715. lineColor?: (ColorString|GradientColorObject|PatternObject);
  42716. /**
  42717. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  42718. * Additionally, the value can be ":previous" to link to the previous
  42719. * series. When two series are linked, only the first one appears in the
  42720. * legend. Toggling the visibility of this also toggles the linked series.
  42721. *
  42722. * If master series uses data sorting and linked series does not have its
  42723. * own sorting definition, the linked series will be sorted in the same
  42724. * order as the master one.
  42725. */
  42726. linkedTo?: string;
  42727. /**
  42728. * (Highcharts, Highstock) Color of the start markers in a dumbbell graph.
  42729. */
  42730. lowColor?: (ColorString|GradientColorObject|PatternObject);
  42731. /**
  42732. * (Highcharts, Highstock) Options for the point markers of line-like
  42733. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  42734. * the visual appearance of the markers. Other series types, like column
  42735. * series, don't have markers, but have visual options on the series level
  42736. * instead.
  42737. *
  42738. * In styled mode, the markers can be styled with the `.highcharts-point`,
  42739. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  42740. */
  42741. marker?: PointMarkerOptionsObject;
  42742. /**
  42743. * (Highstock) Options for the corresponding navigator series if
  42744. * `showInNavigator` is `true` for this series. Available options are the
  42745. * same as any series, documented at plotOptions and series.
  42746. *
  42747. * These options are merged with options in navigator.series, and will take
  42748. * precedence if the same option is defined both places.
  42749. */
  42750. navigatorOptions?: PlotSeriesOptions;
  42751. /**
  42752. * (Highcharts, Highstock) The color for the parts of the graph or points
  42753. * that are below the threshold. Note that `zones` takes precedence over the
  42754. * negative color. Using `negativeColor` is equivalent to applying a zone
  42755. * with value of 0.
  42756. */
  42757. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  42758. /**
  42759. * (Highcharts) A separate color for the negative part of the area.
  42760. *
  42761. * In styled mode, a negative color is set with the `.highcharts-negative`
  42762. * class name.
  42763. */
  42764. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  42765. /**
  42766. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  42767. * and dataLabels.
  42768. */
  42769. opacity?: number;
  42770. /**
  42771. * (Highcharts, Highstock) Properties for each single point.
  42772. */
  42773. point?: PlotSeriesPointOptions;
  42774. /**
  42775. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  42776. * but for an individual series. Overrides the chart wide configuration.
  42777. */
  42778. pointDescriptionFormatter?: Function;
  42779. /**
  42780. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  42781. * a series, `pointInterval` defines the interval of the x values. For
  42782. * example, if a series contains one value every decade starting from year
  42783. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  42784. * `pointInterval` is set in milliseconds.
  42785. *
  42786. * It can be also be combined with `pointIntervalUnit` to draw irregular
  42787. * time intervals.
  42788. *
  42789. * Please note that this options applies to the _series data_, not the
  42790. * interval of the axis ticks, which is independent.
  42791. */
  42792. pointInterval?: number;
  42793. /**
  42794. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  42795. * setting the pointInterval to irregular time units, `day`, `month` and
  42796. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  42797. * also takes the DST crossover into consideration when dealing with local
  42798. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  42799. * months, 10 years etc.
  42800. *
  42801. * Please note that this options applies to the _series data_, not the
  42802. * interval of the axis ticks, which is independent.
  42803. */
  42804. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  42805. pointPadding?: number;
  42806. /**
  42807. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  42808. * `number`.
  42809. *
  42810. * In a column chart, when pointPlacement is `"on"`, the point will not
  42811. * create any padding of the X axis. In a polar column chart this means that
  42812. * the first column points directly north. If the pointPlacement is
  42813. * `"between"`, the columns will be laid out between ticks. This is useful
  42814. * for example for visualising an amount between two points in time or in a
  42815. * certain sector of a polar chart.
  42816. *
  42817. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  42818. * is on the axis value, -0.5 is between this value and the previous, and
  42819. * 0.5 is between this value and the next. Unlike the textual options,
  42820. * numeric point placement options won't affect axis padding.
  42821. *
  42822. * Note that pointPlacement needs a pointRange to work. For column series
  42823. * this is computed, but for line-type series it needs to be set.
  42824. *
  42825. * For the `xrange` series type and gantt charts, if the Y axis is a
  42826. * category axis, the `pointPlacement` applies to the Y axis rather than the
  42827. * (typically datetime) X axis.
  42828. *
  42829. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  42830. */
  42831. pointPlacement?: (number|string);
  42832. /**
  42833. * (Highstock) The width of each point on the x axis. For example in a
  42834. * column chart with one value each day, the pointRange would be 1 day (= 24
  42835. * * 3600
  42836. *
  42837. * * 1000 milliseconds). This is normally computed automatically, but this
  42838. * option can be used to override the automatic value.
  42839. */
  42840. pointRange?: number;
  42841. /**
  42842. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  42843. * a series, pointStart defines on what value to start. For example, if a
  42844. * series contains one yearly value starting from 1945, set pointStart to
  42845. * 1945.
  42846. */
  42847. pointStart?: number;
  42848. /**
  42849. * (Highcharts, Highstock) Whether to select the series initially. If
  42850. * `showCheckbox` is true, the checkbox next to the series name in the
  42851. * legend will be checked for a selected series.
  42852. */
  42853. selected?: boolean;
  42854. /**
  42855. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  42856. * the shadow can be an object configuration containing `color`, `offsetX`,
  42857. * `offsetY`, `opacity` and `width`.
  42858. */
  42859. shadow?: (boolean|ShadowOptionsObject);
  42860. /**
  42861. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  42862. * legend item to allow selecting the series. The state of the checkbox is
  42863. * determined by the `selected` option.
  42864. */
  42865. showCheckbox?: boolean;
  42866. /**
  42867. * (Highcharts, Highstock) Whether to display this particular series or
  42868. * series type in the legend. Standalone series are shown in legend by
  42869. * default, and linked series are not. Since v7.2.0 it is possible to show
  42870. * series that use colorAxis by setting this option to `true`.
  42871. */
  42872. showInLegend?: boolean;
  42873. /**
  42874. * (Highstock) Whether or not to show the series in the navigator. Takes
  42875. * precedence over navigator.baseSeries if defined.
  42876. */
  42877. showInNavigator?: boolean;
  42878. /**
  42879. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  42880. * skip past the points in this series for keyboard navigation.
  42881. */
  42882. skipKeyboardNavigation?: boolean;
  42883. /**
  42884. * (Highcharts, Highstock) When this is true, the series will not cause the
  42885. * Y axis to cross the zero plane (or threshold option) unless the data
  42886. * actually crosses the plane.
  42887. *
  42888. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  42889. * make the Y axis show negative values according to the `minPadding`
  42890. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  42891. */
  42892. softThreshold?: boolean;
  42893. states?: SeriesStatesOptionsObject;
  42894. /**
  42895. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  42896. * values are `left`, `center` and `right`.
  42897. */
  42898. step?: OptionsStepValue;
  42899. /**
  42900. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  42901. * area, for distinguishing between values above and below a threshold. The
  42902. * area between the graph and the threshold is filled.
  42903. *
  42904. * * If a number is given, the Y axis will scale to the threshold.
  42905. *
  42906. * * If `null`, the scaling behaves like a line series with fill between the
  42907. * graph and the Y axis minimum.
  42908. *
  42909. * * If `Infinity` or `-Infinity`, the area between the graph and the
  42910. * corresponding Y axis extreme is filled (since v6.1.0).
  42911. */
  42912. threshold?: (number|null);
  42913. /**
  42914. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  42915. * of each single series. Properties are inherited from tooltip, but only
  42916. * the following properties can be defined on a series level.
  42917. */
  42918. tooltip?: SeriesTooltipOptionsObject;
  42919. /**
  42920. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  42921. * is longer than this, only one dimensional arrays of numbers, or two
  42922. * dimensional arrays with x and y values are allowed. Also, only the first
  42923. * point is tested, and the rest are assumed to be the same format. This
  42924. * saves expensive data checking and indexing in long series. Set it to `0`
  42925. * disable.
  42926. *
  42927. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  42928. * two dimensional arrays are allowed.
  42929. */
  42930. turboThreshold?: number;
  42931. /**
  42932. * (Highcharts, Highstock) Set the initial visibility of the series.
  42933. */
  42934. visible?: boolean;
  42935. /**
  42936. * (Highmaps) Define the z index of the series.
  42937. */
  42938. zIndex?: number;
  42939. /**
  42940. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  42941. */
  42942. zoneAxis?: string;
  42943. /**
  42944. * (Highcharts, Highstock) An array defining zones within a series. Zones
  42945. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  42946. * the `zoneAxis` option. The zone definitions have to be in ascending order
  42947. * regarding to the value.
  42948. *
  42949. * In styled mode, the color zones are styled with the
  42950. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  42951. * option (view live demo).
  42952. */
  42953. zones?: Array<SeriesZonesOptionsObject>;
  42954. }
  42955. /**
  42956. * (Highstock) Enable or disable the initial animation when a series is
  42957. * displayed. The animation can also be set as a configuration object. Please
  42958. * note that this option only applies to the initial animation of the series
  42959. * itself. For other animations, see chart.animation and the animation parameter
  42960. * under the API methods. The following properties are supported:
  42961. *
  42962. * - `defer`: The animation delay time in milliseconds.
  42963. *
  42964. * - `duration`: The duration of the animation in milliseconds.
  42965. *
  42966. * - `easing`: Can be a string reference to an easing function set on the `Math`
  42967. * object or a function. See the _Custom easing function_ demo below.
  42968. *
  42969. * Due to poor performance, animation is disabled in old IE browsers for several
  42970. * chart types.
  42971. */
  42972. export interface PlotEmaAnimationOptions {
  42973. defer?: number;
  42974. }
  42975. /**
  42976. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  42977. * animation when a series is displayed for the `dataLabels`. The animation can
  42978. * also be set as a configuration object. Please note that this option only
  42979. * applies to the initial animation. For other animations, see chart.animation
  42980. * and the animation parameter under the API methods. The following properties
  42981. * are supported:
  42982. *
  42983. * - `defer`: The animation delay time in milliseconds.
  42984. */
  42985. export interface PlotEmaDataLabelsAnimationOptions {
  42986. /**
  42987. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  42988. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  42989. * inherits defer time from the series.animation.defer.
  42990. */
  42991. defer?: number;
  42992. }
  42993. /**
  42994. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  42995. * appearing next to each data point.
  42996. *
  42997. * Since v6.2.0, multiple data labels can be applied to each single point by
  42998. * defining them as an array of configs.
  42999. *
  43000. * In styled mode, the data labels can be styled with the
  43001. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  43002. * example).
  43003. */
  43004. export interface PlotEmaDataLabelsOptions {
  43005. /**
  43006. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  43007. * compared to the point. If `right`, the right side of the label should be
  43008. * touching the point. For points with an extent, like columns, the
  43009. * alignments also dictates how to align it inside the box, as given with
  43010. * the inside option. Can be one of `left`, `center` or `right`.
  43011. */
  43012. align?: (AlignValue|null);
  43013. /**
  43014. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  43015. * overlap. To make the labels less sensitive for overlapping, the
  43016. * dataLabels.padding can be set to 0.
  43017. */
  43018. allowOverlap?: boolean;
  43019. /**
  43020. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  43021. * animation when a series is displayed for the `dataLabels`. The animation
  43022. * can also be set as a configuration object. Please note that this option
  43023. * only applies to the initial animation. For other animations, see
  43024. * chart.animation and the animation parameter under the API methods. The
  43025. * following properties are supported:
  43026. *
  43027. * - `defer`: The animation delay time in milliseconds.
  43028. */
  43029. animation?: (boolean|PlotEmaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  43030. /**
  43031. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  43032. * for the data label.
  43033. */
  43034. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  43035. /**
  43036. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  43037. * label. Defaults to `undefined`.
  43038. */
  43039. borderColor?: (ColorString|GradientColorObject|PatternObject);
  43040. /**
  43041. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  43042. * the data label.
  43043. */
  43044. borderRadius?: number;
  43045. /**
  43046. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  43047. * the data label.
  43048. */
  43049. borderWidth?: number;
  43050. /**
  43051. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  43052. * Particularly in styled mode, this can be used to give each series' or
  43053. * point's data label unique styling. In addition to this option, a default
  43054. * color class name is added so that we can give the labels a contrast text
  43055. * shadow.
  43056. */
  43057. className?: string;
  43058. /**
  43059. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  43060. * labels. Defaults to `undefined`. For certain series types, like column or
  43061. * map, the data labels can be drawn inside the points. In this case the
  43062. * data label will be drawn with maximum contrast by default. Additionally,
  43063. * it will be given a `text-outline` style with the opposite color, to
  43064. * further increase the contrast. This can be overridden by setting the
  43065. * `text-outline` style to `none` in the `dataLabels.style` option.
  43066. */
  43067. color?: (ColorString|GradientColorObject|PatternObject);
  43068. /**
  43069. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  43070. * are outside the plot area. By default, the data label is moved inside the
  43071. * plot area according to the overflow option.
  43072. */
  43073. crop?: boolean;
  43074. /**
  43075. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  43076. * labels until the initial series animation has finished. Setting to
  43077. * `false` renders the data label immediately. If set to `true` inherits the
  43078. * defer time set in plotOptions.series.animation. If set to a number, a
  43079. * defer time is specified in milliseconds.
  43080. */
  43081. defer?: (boolean|number);
  43082. /**
  43083. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  43084. * labels.
  43085. */
  43086. enabled?: boolean;
  43087. /**
  43088. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  43089. * of which data labels to display. The declarative filter is designed for
  43090. * use when callback functions are not available, like when the chart
  43091. * options require a pure JSON structure or for use with graphical editors.
  43092. * For programmatic control, use the `formatter` instead, and return
  43093. * `undefined` to disable a single data label.
  43094. */
  43095. filter?: DataLabelsFilterOptionsObject;
  43096. /**
  43097. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  43098. * label. Available variables are the same as for `formatter`.
  43099. */
  43100. format?: string;
  43101. /**
  43102. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  43103. * format the data label. Note that if a `format` is defined, the format
  43104. * takes precedence and the formatter is ignored.
  43105. */
  43106. formatter?: DataLabelsFormatterCallbackFunction;
  43107. /**
  43108. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  43109. * columns or map areas, whether to align the data label inside the box or
  43110. * to the actual value point. Defaults to `false` in most cases, `true` in
  43111. * stacked columns.
  43112. */
  43113. inside?: boolean;
  43114. /**
  43115. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  43116. * of null. Works analogously to format. `nullFormat` can be applied only to
  43117. * series which support displaying null points.
  43118. */
  43119. nullFormat?: (boolean|string);
  43120. /**
  43121. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  43122. * that defines formatting for points with the value of null. Works
  43123. * analogously to formatter. `nullPointFormatter` can be applied only to
  43124. * series which support displaying null points.
  43125. */
  43126. nullFormatter?: DataLabelsFormatterCallbackFunction;
  43127. /**
  43128. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  43129. * flow outside the plot area. The default is `"justify"`, which aligns them
  43130. * inside the plot area. For columns and bars, this means it will be moved
  43131. * inside the bar. To display data labels outside the plot area, set `crop`
  43132. * to `false` and `overflow` to `"allow"`.
  43133. */
  43134. overflow?: DataLabelsOverflowValue;
  43135. /**
  43136. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  43137. * the `backgroundColor` is set, this is the padding within the box.
  43138. */
  43139. padding?: number;
  43140. /**
  43141. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  43142. * points. If `center` alignment is not possible, it defaults to `right`.
  43143. */
  43144. position?: AlignValue;
  43145. /**
  43146. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  43147. * that due to a more complex structure, backgrounds, borders and padding
  43148. * will be lost on a rotated data label.
  43149. */
  43150. rotation?: number;
  43151. /**
  43152. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  43153. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  43154. * an object configuration containing `color`, `offsetX`, `offsetY`,
  43155. * `opacity` and `width`.
  43156. */
  43157. shadow?: (boolean|ShadowOptionsObject);
  43158. /**
  43159. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  43160. * the border around the label. Symbols are predefined functions on the
  43161. * Renderer object.
  43162. */
  43163. shape?: string;
  43164. /**
  43165. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  43166. * default `color` setting is `"contrast"`, which is a pseudo color that
  43167. * Highcharts picks up and applies the maximum contrast to the underlying
  43168. * point item, for example the bar in a bar chart.
  43169. *
  43170. * The `textOutline` is a pseudo property that applies an outline of the
  43171. * given width with the given color, which by default is the maximum
  43172. * contrast to the text. So a bright text color will result in a black text
  43173. * outline for maximum readability on a mixed background. In some cases,
  43174. * especially with grayscale text, the text outline doesn't work well, in
  43175. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  43176. * is true, the `textOutline` will not be picked up. In this, case, the same
  43177. * effect can be acheived through the `text-shadow` CSS property.
  43178. *
  43179. * For some series types, where each point has an extent, like for example
  43180. * tree maps, the data label may overflow the point. There are two
  43181. * strategies for handling overflow. By default, the text will wrap to
  43182. * multiple lines. The other strategy is to set `style.textOverflow` to
  43183. * `ellipsis`, which will keep the text on one line plus it will break
  43184. * inside long words.
  43185. */
  43186. style?: CSSObject;
  43187. /**
  43188. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  43189. * should follow marker's shape. Border and background are disabled for a
  43190. * label that follows a path.
  43191. *
  43192. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  43193. * to true will disable this option.
  43194. */
  43195. textPath?: DataLabelsTextPathOptionsObject;
  43196. /**
  43197. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  43198. * the labels.
  43199. */
  43200. useHTML?: boolean;
  43201. /**
  43202. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  43203. * label. Can be one of `top`, `middle` or `bottom`. The default value
  43204. * depends on the data, for instance in a column chart, the label is above
  43205. * positive values and below negative values.
  43206. */
  43207. verticalAlign?: (VerticalAlignValue|null);
  43208. /**
  43209. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  43210. * label relative to the point in pixels.
  43211. */
  43212. x?: number;
  43213. /**
  43214. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  43215. * label relative to the point in pixels.
  43216. */
  43217. y?: number;
  43218. /**
  43219. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  43220. * The default Z index puts it above the series. Use a Z index of 2 to
  43221. * display it behind the series.
  43222. */
  43223. z?: number;
  43224. }
  43225. /**
  43226. * (Highcharts, Highstock) Options for the series data sorting.
  43227. */
  43228. export interface PlotEmaDataSortingOptions {
  43229. /**
  43230. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  43231. * Use xAxis.reversed to change the sorting order.
  43232. */
  43233. enabled?: boolean;
  43234. /**
  43235. * (Highcharts, Highstock) Whether to allow matching points by name in an
  43236. * update. If this option is disabled, points will be matched by order.
  43237. */
  43238. matchByName?: boolean;
  43239. /**
  43240. * (Highcharts, Highstock) Determines what data value should be used to sort
  43241. * by.
  43242. */
  43243. sortKey?: string;
  43244. }
  43245. /**
  43246. * (Highstock) Exponential moving average indicator (EMA). This series requires
  43247. * the `linkedTo` option to be set.
  43248. *
  43249. * In TypeScript the type option must always be set.
  43250. *
  43251. * Configuration options for the series are given in three levels:
  43252. *
  43253. * 1. Options for all series in a chart are defined in the plotOptions.series
  43254. * object.
  43255. *
  43256. * 2. Options for all `ema` series are defined in plotOptions.ema.
  43257. *
  43258. * 3. Options for one single series are given in the series instance array. (see
  43259. * online documentation for example)
  43260. */
  43261. export interface PlotEmaOptions {
  43262. /**
  43263. * (Highstock) Accessibility options for a series.
  43264. */
  43265. accessibility?: SeriesAccessibilityOptionsObject;
  43266. /**
  43267. * (Highstock) Allow this series' points to be selected by clicking on the
  43268. * graphic (columns, point markers, pie slices, map areas etc).
  43269. *
  43270. * The selected points can be handled by point select and unselect events,
  43271. * or collectively by the getSelectedPoints function.
  43272. *
  43273. * And alternative way of selecting points is through dragging.
  43274. */
  43275. allowPointSelect?: boolean;
  43276. /**
  43277. * (Highstock) Enable or disable the initial animation when a series is
  43278. * displayed. The animation can also be set as a configuration object.
  43279. * Please note that this option only applies to the initial animation of the
  43280. * series itself. For other animations, see chart.animation and the
  43281. * animation parameter under the API methods. The following properties are
  43282. * supported:
  43283. *
  43284. * - `defer`: The animation delay time in milliseconds.
  43285. *
  43286. * - `duration`: The duration of the animation in milliseconds.
  43287. *
  43288. * - `easing`: Can be a string reference to an easing function set on the
  43289. * `Math` object or a function. See the _Custom easing function_ demo below.
  43290. *
  43291. * Due to poor performance, animation is disabled in old IE browsers for
  43292. * several chart types.
  43293. */
  43294. animation?: (boolean|PlotEmaAnimationOptions|Partial<AnimationOptionsObject>);
  43295. /**
  43296. * (Highstock) For some series, there is a limit that shuts down initial
  43297. * animation by default when the total number of points in the chart is too
  43298. * high. For example, for a column chart and its derivatives, animation does
  43299. * not run if there is more than 250 points totally. To disable this cap,
  43300. * set `animationLimit` to `Infinity`.
  43301. */
  43302. animationLimit?: number;
  43303. /**
  43304. * (Highstock) Sets the color blending in the boost module.
  43305. */
  43306. boostBlending?: OptionsBoostBlendingValue;
  43307. /**
  43308. * (Highstock) Set the point threshold for when a series should enter boost
  43309. * mode.
  43310. *
  43311. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  43312. * there are 2000 or more points in the series.
  43313. *
  43314. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  43315. * it to 1 will force boosting.
  43316. *
  43317. * Note that the cropThreshold also affects this setting. When zooming in on
  43318. * a series that has fewer points than the `cropThreshold`, all points are
  43319. * rendered although outside the visible plot area, and the `boostThreshold`
  43320. * won't take effect.
  43321. */
  43322. boostThreshold?: number;
  43323. /**
  43324. * (Highmaps) The border color of the map areas.
  43325. *
  43326. * In styled mode, the border stroke is given in the `.highcharts-point`
  43327. * class.
  43328. */
  43329. borderColor?: (ColorString|GradientColorObject|PatternObject);
  43330. /**
  43331. * (Highmaps) The border width of each map area.
  43332. *
  43333. * In styled mode, the border stroke width is given in the
  43334. * `.highcharts-point` class.
  43335. */
  43336. borderWidth?: number;
  43337. /**
  43338. * (Highstock) An additional class name to apply to the series' graphical
  43339. * elements. This option does not replace default class names of the
  43340. * graphical element.
  43341. */
  43342. className?: string;
  43343. /**
  43344. * (Highstock) Disable this option to allow series rendering in the whole
  43345. * plotting area.
  43346. *
  43347. * **Note:** Clipping should be always enabled when chart.zoomType is set
  43348. */
  43349. clip?: boolean;
  43350. /**
  43351. * (Highstock) The main color of the series. In line type series it applies
  43352. * to the line and the point markers unless otherwise specified. In bar type
  43353. * series it applies to the bars unless a color is specified per point. The
  43354. * default value is pulled from the `options.colors` array.
  43355. *
  43356. * In styled mode, the color can be defined by the colorIndex option. Also,
  43357. * the series color can be set with the `.highcharts-series`,
  43358. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  43359. * `.highcharts-series-{n}` class, or individual classes given by the
  43360. * `className` option.
  43361. */
  43362. color?: (ColorString|GradientColorObject|PatternObject);
  43363. /**
  43364. * (Highstock) Styled mode only. A specific color index to use for the
  43365. * series, so its graphic representations are given the class name
  43366. * `highcharts-color-{n}`.
  43367. */
  43368. colorIndex?: number;
  43369. /**
  43370. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  43371. * used to calculate point color if `colorAxis` is used. Requires to set
  43372. * `min` and `max` if some custom point property is used or if approximation
  43373. * for data grouping is set to `'sum'`.
  43374. */
  43375. colorKey?: string;
  43376. /**
  43377. * (Highstock) Compare the values of the series against the first non-null,
  43378. * non- zero value in the visible range. The y axis will show percentage or
  43379. * absolute change depending on whether `compare` is set to `"percent"` or
  43380. * `"value"`. When this is applied to multiple series, it allows comparing
  43381. * the development of the series against each other. Adds a `change` field
  43382. * to every point object.
  43383. */
  43384. compare?: string;
  43385. /**
  43386. * (Highstock) When compare is `percent`, this option dictates whether to
  43387. * use 0 or 100 as the base of comparison.
  43388. */
  43389. compareBase?: (0|100);
  43390. /**
  43391. * (Highstock) Defines if comparison should start from the first point
  43392. * within the visible range or should start from the first point **before**
  43393. * the range.
  43394. *
  43395. * In other words, this flag determines if first point within the visible
  43396. * range will have 0% (`compareStart=true`) or should have been already
  43397. * calculated according to the previous point (`compareStart=false`).
  43398. */
  43399. compareStart?: boolean;
  43400. /**
  43401. * (Highstock) Whether to compare indicator to the main series values or
  43402. * indicator values.
  43403. */
  43404. compareToMain?: boolean;
  43405. /**
  43406. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  43407. * series plot across the extremes.
  43408. */
  43409. connectEnds?: boolean;
  43410. /**
  43411. * (Highcharts, Highstock) Whether to connect a graph line across null
  43412. * points, or render a gap between the two points on either side of the
  43413. * null.
  43414. */
  43415. connectNulls?: boolean;
  43416. /**
  43417. * (Gantt) Override Pathfinder connector options for a series. Requires
  43418. * Highcharts Gantt to be loaded.
  43419. */
  43420. connectors?: SeriesConnectorsOptionsObject;
  43421. /**
  43422. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  43423. * rounded to its nearest pixel in order to render sharp on screen. In some
  43424. * cases, when there are a lot of densely packed columns, this leads to
  43425. * visible difference in column widths or distance between columns. In these
  43426. * cases, setting `crisp` to `false` may look better, even though each
  43427. * column is rendered blurry.
  43428. */
  43429. crisp?: boolean;
  43430. /**
  43431. * (Highcharts, Highstock) When the series contains less points than the
  43432. * crop threshold, all points are drawn, even if the points fall outside the
  43433. * visible plot area at the current zoom. The advantage of drawing all
  43434. * points (including markers and columns), is that animation is performed on
  43435. * updates. On the other hand, when the series contains more points than the
  43436. * crop threshold, the series data is cropped to only contain points that
  43437. * fall within the plot area. The advantage of cropping away invisible
  43438. * points is to increase performance on large series.
  43439. */
  43440. cropThreshold?: number;
  43441. /**
  43442. * (Highstock) You can set the cursor to "pointer" if you have click events
  43443. * attached to the series, to signal to the user that the points and lines
  43444. * can be clicked.
  43445. *
  43446. * In styled mode, the series cursor can be set with the same classes as
  43447. * listed under series.color.
  43448. */
  43449. cursor?: (string|CursorValue);
  43450. /**
  43451. * (Highstock) A reserved subspace to store options and values for
  43452. * customized functionality. Here you can add additional data for your own
  43453. * event callbacks and formatter callbacks.
  43454. */
  43455. custom?: Dictionary<any>;
  43456. /**
  43457. * (Highstock) Name of the dash style to use for the graph, or for some
  43458. * series types the outline of each shape.
  43459. *
  43460. * In styled mode, the stroke dash-array can be set with the same classes as
  43461. * listed under series.color.
  43462. */
  43463. dashStyle?: DashStyleValue;
  43464. /**
  43465. * (Highstock) Data grouping is the concept of sampling the data values into
  43466. * larger blocks in order to ease readability and increase performance of
  43467. * the JavaScript charts. Highcharts Stock by default applies data grouping
  43468. * when the points become closer than a certain pixel value, determined by
  43469. * the `groupPixelWidth` option.
  43470. *
  43471. * If data grouping is applied, the grouping information of grouped points
  43472. * can be read from the Point.dataGroup. If point options other than the
  43473. * data itself are set, for example `name` or `color` or custom properties,
  43474. * the grouping logic doesn't know how to group it. In this case the options
  43475. * of the first point instance are copied over to the group point. This can
  43476. * be altered through a custom `approximation` callback function.
  43477. */
  43478. dataGrouping?: DataGroupingOptionsObject;
  43479. /**
  43480. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  43481. * labels, appearing next to each data point.
  43482. *
  43483. * Since v6.2.0, multiple data labels can be applied to each single point by
  43484. * defining them as an array of configs.
  43485. *
  43486. * In styled mode, the data labels can be styled with the
  43487. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  43488. * (see example).
  43489. */
  43490. dataLabels?: (PlotEmaDataLabelsOptions|Array<PlotEmaDataLabelsOptions>);
  43491. /**
  43492. * (Highcharts, Highstock) Options for the series data sorting.
  43493. */
  43494. dataSorting?: (DataSortingOptionsObject|PlotEmaDataSortingOptions);
  43495. /**
  43496. * (Highstock) A description of the series to add to the screen reader
  43497. * information about the series.
  43498. */
  43499. description?: string;
  43500. /**
  43501. * (Highstock) Enable or disable the mouse tracking for a specific series.
  43502. * This includes point tooltips and click events on graphs and points. For
  43503. * large datasets it improves performance.
  43504. */
  43505. enableMouseTracking?: boolean;
  43506. /**
  43507. * (Highstock) General event handlers for the series items. These event
  43508. * hooks can also be attached to the series at run time using the
  43509. * `Highcharts.addEvent` function.
  43510. */
  43511. events?: SeriesEventsOptionsObject;
  43512. /**
  43513. * (Highstock) Determines whether the series should look for the nearest
  43514. * point in both dimensions or just the x-dimension when hovering the
  43515. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  43516. * series. If the data has duplicate x-values, it is recommended to set this
  43517. * to `'xy'` to allow hovering over all points.
  43518. *
  43519. * Applies only to series types using nearest neighbor search (not direct
  43520. * hover) for tooltip.
  43521. */
  43522. findNearestPointBy?: OptionsFindNearestPointByValue;
  43523. /**
  43524. * (Highstock) Defines when to display a gap in the graph, together with the
  43525. * gapUnit option.
  43526. *
  43527. * In case when `dataGrouping` is enabled, points can be grouped into a
  43528. * larger time span. This can make the grouped points to have a greater
  43529. * distance than the absolute value of `gapSize` property, which will result
  43530. * in disappearing graph completely. To prevent this situation the mentioned
  43531. * distance between grouped points is used instead of previously defined
  43532. * `gapSize`.
  43533. *
  43534. * In practice, this option is most often used to visualize gaps in time
  43535. * series. In a stock chart, intraday data is available for daytime hours,
  43536. * while gaps will appear in nights and weekends.
  43537. */
  43538. gapSize?: number;
  43539. /**
  43540. * (Highstock) Together with gapSize, this option defines where to draw gaps
  43541. * in the graph.
  43542. *
  43543. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  43544. * if the distance between two points is greater than 5 times that of the
  43545. * two closest points, the graph will be broken.
  43546. *
  43547. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  43548. * values, which on a datetime axis is milliseconds. This also applies to
  43549. * the navigator series that inherits gap options from the base series.
  43550. */
  43551. gapUnit?: OptionsGapUnitValue;
  43552. /**
  43553. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  43554. * chart width or only the zoomed area when zooming in on parts of the X
  43555. * axis. By default, the Y axis adjusts to the min and max of the visible
  43556. * data. Cartesian series only.
  43557. */
  43558. getExtremesFromAll?: boolean;
  43559. /**
  43560. * (Highstock) When set to `false` will prevent the series data from being
  43561. * included in any form of data export.
  43562. *
  43563. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  43564. * `includeInCSVExport`.
  43565. */
  43566. includeInDataExport?: boolean;
  43567. /**
  43568. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  43569. * series as possible in a natural way, seeking to avoid other series. The
  43570. * goal of this feature is to make the chart more easily readable, like if a
  43571. * human designer placed the labels in the optimal position.
  43572. *
  43573. * The series labels currently work with series types having a `graph` or an
  43574. * `area`.
  43575. */
  43576. label?: SeriesLabelOptionsObject;
  43577. /**
  43578. * (Highstock) The line marks the last price from all points.
  43579. */
  43580. lastPrice?: SeriesLastPriceOptionsObject;
  43581. /**
  43582. * (Highstock) The line marks the last price from visible range of points.
  43583. */
  43584. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  43585. /**
  43586. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  43587. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  43588. * the ends and bends.
  43589. */
  43590. linecap?: SeriesLinecapValue;
  43591. /**
  43592. * (Highcharts, Highstock) Pixel width of the graph line.
  43593. */
  43594. lineWidth?: number;
  43595. /**
  43596. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  43597. * based on. Required for this indicator.
  43598. */
  43599. linkedTo?: string;
  43600. /**
  43601. * (Highstock) Options for the point markers of line-like series. Properties
  43602. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  43603. * appearance of the markers. Other series types, like column series, don't
  43604. * have markers, but have visual options on the series level instead.
  43605. *
  43606. * In styled mode, the markers can be styled with the `.highcharts-point`,
  43607. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  43608. */
  43609. marker?: PointMarkerOptionsObject;
  43610. /**
  43611. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  43612. * If not set, it will be based on a technical indicator type and default
  43613. * params.
  43614. */
  43615. name?: string;
  43616. /**
  43617. * (Highstock) The color for the parts of the graph or points that are below
  43618. * the threshold. Note that `zones` takes precedence over the negative
  43619. * color. Using `negativeColor` is equivalent to applying a zone with value
  43620. * of 0.
  43621. */
  43622. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  43623. /**
  43624. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  43625. * dataLabels.
  43626. */
  43627. opacity?: number;
  43628. /**
  43629. * (Highstock) Paramters used in calculation of regression series' points.
  43630. */
  43631. params?: PlotEmaParamsOptions;
  43632. /**
  43633. * (Highstock) Properties for each single point.
  43634. */
  43635. point?: PlotSeriesPointOptions;
  43636. /**
  43637. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  43638. * individual series. Overrides the chart wide configuration.
  43639. */
  43640. pointDescriptionFormatter?: Function;
  43641. /**
  43642. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  43643. * true, the checkbox next to the series name in the legend will be checked
  43644. * for a selected series.
  43645. */
  43646. selected?: boolean;
  43647. /**
  43648. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  43649. * the shadow can be an object configuration containing `color`, `offsetX`,
  43650. * `offsetY`, `opacity` and `width`.
  43651. */
  43652. shadow?: (boolean|ShadowOptionsObject);
  43653. /**
  43654. * (Highstock) If true, a checkbox is displayed next to the legend item to
  43655. * allow selecting the series. The state of the checkbox is determined by
  43656. * the `selected` option.
  43657. */
  43658. showCheckbox?: boolean;
  43659. /**
  43660. * (Highstock) Whether to display this particular series or series type in
  43661. * the legend. Standalone series are shown in legend by default, and linked
  43662. * series are not. Since v7.2.0 it is possible to show series that use
  43663. * colorAxis by setting this option to `true`.
  43664. */
  43665. showInLegend?: boolean;
  43666. /**
  43667. * (Highstock) If set to `true`, the accessibility module will skip past the
  43668. * points in this series for keyboard navigation.
  43669. */
  43670. skipKeyboardNavigation?: boolean;
  43671. /**
  43672. * (Highcharts, Highstock) When this is true, the series will not cause the
  43673. * Y axis to cross the zero plane (or threshold option) unless the data
  43674. * actually crosses the plane.
  43675. *
  43676. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  43677. * make the Y axis show negative values according to the `minPadding`
  43678. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  43679. */
  43680. softThreshold?: boolean;
  43681. states?: SeriesStatesOptionsObject;
  43682. /**
  43683. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  43684. * values are `left`, `center` and `right`.
  43685. */
  43686. step?: OptionsStepValue;
  43687. /**
  43688. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  43689. * event on a series isn't triggered until the mouse moves over another
  43690. * series, or out of the plot area. When false, the `mouseOut` event on a
  43691. * series is triggered when the mouse leaves the area around the series'
  43692. * graph or markers. This also implies the tooltip when not shared. When
  43693. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  43694. * be hidden when moving the mouse between series. Defaults to true for line
  43695. * and area type series, but to false for columns, pies etc.
  43696. *
  43697. * **Note:** The boost module will force this option because of technical
  43698. * limitations.
  43699. */
  43700. stickyTracking?: boolean;
  43701. /**
  43702. * (Highcharts, Highstock) The threshold, also called zero level or base
  43703. * level. For line type series this is only used in conjunction with
  43704. * negativeColor.
  43705. */
  43706. threshold?: (number|null);
  43707. /**
  43708. * (Highstock) A configuration object for the tooltip rendering of each
  43709. * single series. Properties are inherited from tooltip, but only the
  43710. * following properties can be defined on a series level.
  43711. */
  43712. tooltip?: SeriesTooltipOptionsObject;
  43713. /**
  43714. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  43715. * is longer than this, only one dimensional arrays of numbers, or two
  43716. * dimensional arrays with x and y values are allowed. Also, only the first
  43717. * point is tested, and the rest are assumed to be the same format. This
  43718. * saves expensive data checking and indexing in long series. Set it to `0`
  43719. * disable.
  43720. *
  43721. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  43722. * two dimensional arrays are allowed.
  43723. */
  43724. turboThreshold?: number;
  43725. /**
  43726. * (Highstock) Set the initial visibility of the series.
  43727. */
  43728. visible?: boolean;
  43729. /**
  43730. * (Highmaps) Define the z index of the series.
  43731. */
  43732. zIndex?: number;
  43733. /**
  43734. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  43735. */
  43736. zoneAxis?: string;
  43737. /**
  43738. * (Highcharts, Highstock) An array defining zones within a series. Zones
  43739. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  43740. * the `zoneAxis` option. The zone definitions have to be in ascending order
  43741. * regarding to the value.
  43742. *
  43743. * In styled mode, the color zones are styled with the
  43744. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  43745. * option (view live demo).
  43746. */
  43747. zones?: Array<SeriesZonesOptionsObject>;
  43748. }
  43749. /**
  43750. * (Highstock) Paramters used in calculation of regression series' points.
  43751. */
  43752. export interface PlotEmaParamsOptions {
  43753. /**
  43754. * (Highstock) The point index which indicator calculations will base. For
  43755. * example using OHLC data, index=2 means the indicator will be calculated
  43756. * using Low values.
  43757. *
  43758. * By default index value used to be set to 0. Since Highcharts Stock 7 by
  43759. * default index is set to 3 which means that the ema indicator will be
  43760. * calculated using Close values.
  43761. */
  43762. index?: number;
  43763. /**
  43764. * (Highstock) The base period for indicator calculations. This is the
  43765. * number of data points which are taken into account for the indicator
  43766. * calculations.
  43767. */
  43768. period?: number;
  43769. }
  43770. /**
  43771. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  43772. * is displayed. The animation can also be set as a configuration object. Please
  43773. * note that this option only applies to the initial animation of the series
  43774. * itself. For other animations, see chart.animation and the animation parameter
  43775. * under the API methods. The following properties are supported:
  43776. *
  43777. * - `defer`: The animation delay time in milliseconds.
  43778. *
  43779. * - `duration`: The duration of the animation in milliseconds.
  43780. *
  43781. * - `easing`: Can be a string reference to an easing function set on the `Math`
  43782. * object or a function. See the _Custom easing function_ demo below.
  43783. *
  43784. * Due to poor performance, animation is disabled in old IE browsers for several
  43785. * chart types.
  43786. */
  43787. export interface PlotErrorbarAnimationOptions {
  43788. defer?: number;
  43789. }
  43790. /**
  43791. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  43792. * animation when a series is displayed for the `dataLabels`. The animation can
  43793. * also be set as a configuration object. Please note that this option only
  43794. * applies to the initial animation. For other animations, see chart.animation
  43795. * and the animation parameter under the API methods. The following properties
  43796. * are supported:
  43797. *
  43798. * - `defer`: The animation delay time in milliseconds.
  43799. */
  43800. export interface PlotErrorbarDataLabelsAnimationOptions {
  43801. /**
  43802. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  43803. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  43804. * inherits defer time from the series.animation.defer.
  43805. */
  43806. defer?: number;
  43807. }
  43808. /**
  43809. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  43810. * appearing next to each data point.
  43811. *
  43812. * Since v6.2.0, multiple data labels can be applied to each single point by
  43813. * defining them as an array of configs.
  43814. *
  43815. * In styled mode, the data labels can be styled with the
  43816. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  43817. * example).
  43818. */
  43819. export interface PlotErrorbarDataLabelsOptions {
  43820. /**
  43821. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  43822. * compared to the point. If `right`, the right side of the label should be
  43823. * touching the point. For points with an extent, like columns, the
  43824. * alignments also dictates how to align it inside the box, as given with
  43825. * the inside option. Can be one of `left`, `center` or `right`.
  43826. */
  43827. align?: string;
  43828. /**
  43829. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  43830. * overlap. To make the labels less sensitive for overlapping, the
  43831. * dataLabels.padding can be set to 0.
  43832. */
  43833. allowOverlap?: boolean;
  43834. /**
  43835. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  43836. * animation when a series is displayed for the `dataLabels`. The animation
  43837. * can also be set as a configuration object. Please note that this option
  43838. * only applies to the initial animation. For other animations, see
  43839. * chart.animation and the animation parameter under the API methods. The
  43840. * following properties are supported:
  43841. *
  43842. * - `defer`: The animation delay time in milliseconds.
  43843. */
  43844. animation?: (boolean|PlotErrorbarDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  43845. /**
  43846. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  43847. * for the data label.
  43848. */
  43849. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  43850. /**
  43851. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  43852. * label. Defaults to `undefined`.
  43853. */
  43854. borderColor?: (ColorString|GradientColorObject|PatternObject);
  43855. /**
  43856. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  43857. * the data label.
  43858. */
  43859. borderRadius?: number;
  43860. /**
  43861. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  43862. * the data label.
  43863. */
  43864. borderWidth?: number;
  43865. /**
  43866. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  43867. * Particularly in styled mode, this can be used to give each series' or
  43868. * point's data label unique styling. In addition to this option, a default
  43869. * color class name is added so that we can give the labels a contrast text
  43870. * shadow.
  43871. */
  43872. className?: string;
  43873. /**
  43874. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  43875. * labels. Defaults to `undefined`. For certain series types, like column or
  43876. * map, the data labels can be drawn inside the points. In this case the
  43877. * data label will be drawn with maximum contrast by default. Additionally,
  43878. * it will be given a `text-outline` style with the opposite color, to
  43879. * further increase the contrast. This can be overridden by setting the
  43880. * `text-outline` style to `none` in the `dataLabels.style` option.
  43881. */
  43882. color?: (ColorString|GradientColorObject|PatternObject);
  43883. /**
  43884. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  43885. * are outside the plot area. By default, the data label is moved inside the
  43886. * plot area according to the overflow option.
  43887. */
  43888. crop?: boolean;
  43889. /**
  43890. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  43891. * labels until the initial series animation has finished. Setting to
  43892. * `false` renders the data label immediately. If set to `true` inherits the
  43893. * defer time set in plotOptions.series.animation. If set to a number, a
  43894. * defer time is specified in milliseconds.
  43895. */
  43896. defer?: (boolean|number);
  43897. /**
  43898. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  43899. * labels.
  43900. */
  43901. enabled?: boolean;
  43902. /**
  43903. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  43904. * of which data labels to display. The declarative filter is designed for
  43905. * use when callback functions are not available, like when the chart
  43906. * options require a pure JSON structure or for use with graphical editors.
  43907. * For programmatic control, use the `formatter` instead, and return
  43908. * `undefined` to disable a single data label.
  43909. */
  43910. filter?: DataLabelsFilterOptionsObject;
  43911. /**
  43912. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  43913. * label. Available variables are the same as for `formatter`.
  43914. */
  43915. format?: string;
  43916. /**
  43917. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  43918. * format the data label. Note that if a `format` is defined, the format
  43919. * takes precedence and the formatter is ignored.
  43920. */
  43921. formatter?: DataLabelsFormatterCallbackFunction;
  43922. /**
  43923. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  43924. * columns or map areas, whether to align the data label inside the box or
  43925. * to the actual value point. Defaults to `false` in most cases, `true` in
  43926. * stacked columns.
  43927. */
  43928. inside?: boolean;
  43929. /**
  43930. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  43931. * of null. Works analogously to format. `nullFormat` can be applied only to
  43932. * series which support displaying null points.
  43933. */
  43934. nullFormat?: (boolean|string);
  43935. /**
  43936. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  43937. * that defines formatting for points with the value of null. Works
  43938. * analogously to formatter. `nullPointFormatter` can be applied only to
  43939. * series which support displaying null points.
  43940. */
  43941. nullFormatter?: DataLabelsFormatterCallbackFunction;
  43942. /**
  43943. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  43944. * flow outside the plot area. The default is `"justify"`, which aligns them
  43945. * inside the plot area. For columns and bars, this means it will be moved
  43946. * inside the bar. To display data labels outside the plot area, set `crop`
  43947. * to `false` and `overflow` to `"allow"`.
  43948. */
  43949. overflow?: DataLabelsOverflowValue;
  43950. /**
  43951. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  43952. * the `backgroundColor` is set, this is the padding within the box.
  43953. */
  43954. padding?: number;
  43955. /**
  43956. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  43957. * points. If `center` alignment is not possible, it defaults to `right`.
  43958. */
  43959. position?: AlignValue;
  43960. /**
  43961. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  43962. * that due to a more complex structure, backgrounds, borders and padding
  43963. * will be lost on a rotated data label.
  43964. */
  43965. rotation?: number;
  43966. /**
  43967. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  43968. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  43969. * an object configuration containing `color`, `offsetX`, `offsetY`,
  43970. * `opacity` and `width`.
  43971. */
  43972. shadow?: (boolean|ShadowOptionsObject);
  43973. /**
  43974. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  43975. * the border around the label. Symbols are predefined functions on the
  43976. * Renderer object.
  43977. */
  43978. shape?: string;
  43979. /**
  43980. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  43981. * default `color` setting is `"contrast"`, which is a pseudo color that
  43982. * Highcharts picks up and applies the maximum contrast to the underlying
  43983. * point item, for example the bar in a bar chart.
  43984. *
  43985. * The `textOutline` is a pseudo property that applies an outline of the
  43986. * given width with the given color, which by default is the maximum
  43987. * contrast to the text. So a bright text color will result in a black text
  43988. * outline for maximum readability on a mixed background. In some cases,
  43989. * especially with grayscale text, the text outline doesn't work well, in
  43990. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  43991. * is true, the `textOutline` will not be picked up. In this, case, the same
  43992. * effect can be acheived through the `text-shadow` CSS property.
  43993. *
  43994. * For some series types, where each point has an extent, like for example
  43995. * tree maps, the data label may overflow the point. There are two
  43996. * strategies for handling overflow. By default, the text will wrap to
  43997. * multiple lines. The other strategy is to set `style.textOverflow` to
  43998. * `ellipsis`, which will keep the text on one line plus it will break
  43999. * inside long words.
  44000. */
  44001. style?: CSSObject;
  44002. /**
  44003. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  44004. * should follow marker's shape. Border and background are disabled for a
  44005. * label that follows a path.
  44006. *
  44007. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  44008. * to true will disable this option.
  44009. */
  44010. textPath?: DataLabelsTextPathOptionsObject;
  44011. /**
  44012. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  44013. * the labels.
  44014. */
  44015. useHTML?: boolean;
  44016. /**
  44017. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  44018. * label. Can be one of `top`, `middle` or `bottom`. The default value
  44019. * depends on the data, for instance in a column chart, the label is above
  44020. * positive values and below negative values.
  44021. */
  44022. verticalAlign?: string;
  44023. /**
  44024. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  44025. * label relative to the point in pixels.
  44026. */
  44027. x?: number;
  44028. /**
  44029. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  44030. * label relative to the point in pixels.
  44031. */
  44032. y?: number;
  44033. /**
  44034. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  44035. * The default Z index puts it above the series. Use a Z index of 2 to
  44036. * display it behind the series.
  44037. */
  44038. z?: number;
  44039. }
  44040. /**
  44041. * (Highcharts, Highstock) Options for the series data sorting.
  44042. */
  44043. export interface PlotErrorbarDataSortingOptions {
  44044. /**
  44045. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  44046. * Use xAxis.reversed to change the sorting order.
  44047. */
  44048. enabled?: boolean;
  44049. /**
  44050. * (Highcharts, Highstock) Whether to allow matching points by name in an
  44051. * update. If this option is disabled, points will be matched by order.
  44052. */
  44053. matchByName?: boolean;
  44054. /**
  44055. * (Highcharts, Highstock) Determines what data value should be used to sort
  44056. * by.
  44057. */
  44058. sortKey?: string;
  44059. }
  44060. /**
  44061. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  44062. * one state by default, the `default` state.
  44063. */
  44064. export interface PlotErrorbarDragDropGuideBoxOptions {
  44065. /**
  44066. * (Highcharts, Highstock) Style options for the guide box default state.
  44067. */
  44068. default?: DragDropGuideBoxOptionsObject;
  44069. }
  44070. /**
  44071. * (Highcharts, Highstock) Error bars are a graphical representation of the
  44072. * variability of data and are used on graphs to indicate the error, or
  44073. * uncertainty in a reported measurement.
  44074. *
  44075. * In TypeScript the type option must always be set.
  44076. *
  44077. * Configuration options for the series are given in three levels:
  44078. *
  44079. * 1. Options for all series in a chart are defined in the plotOptions.series
  44080. * object.
  44081. *
  44082. * 2. Options for all `errorbar` series are defined in plotOptions.errorbar.
  44083. *
  44084. * 3. Options for one single series are given in the series instance array. (see
  44085. * online documentation for example)
  44086. */
  44087. export interface PlotErrorbarOptions {
  44088. /**
  44089. * (Highcharts, Highstock) Accessibility options for a series.
  44090. */
  44091. accessibility?: SeriesAccessibilityOptionsObject;
  44092. /**
  44093. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  44094. * rendered. If `true`, areas which don't correspond to a data point, are
  44095. * rendered as `null` points. If `false`, those areas are skipped.
  44096. */
  44097. allAreas?: boolean;
  44098. /**
  44099. * (Highcharts, Highstock) Allow this series' points to be selected by
  44100. * clicking on the graphic (columns, point markers, pie slices, map areas
  44101. * etc).
  44102. *
  44103. * The selected points can be handled by point select and unselect events,
  44104. * or collectively by the getSelectedPoints function.
  44105. *
  44106. * And alternative way of selecting points is through dragging.
  44107. */
  44108. allowPointSelect?: boolean;
  44109. /**
  44110. * (Highcharts, Highstock) Enable or disable the initial animation when a
  44111. * series is displayed. The animation can also be set as a configuration
  44112. * object. Please note that this option only applies to the initial
  44113. * animation of the series itself. For other animations, see chart.animation
  44114. * and the animation parameter under the API methods. The following
  44115. * properties are supported:
  44116. *
  44117. * - `defer`: The animation delay time in milliseconds.
  44118. *
  44119. * - `duration`: The duration of the animation in milliseconds.
  44120. *
  44121. * - `easing`: Can be a string reference to an easing function set on the
  44122. * `Math` object or a function. See the _Custom easing function_ demo below.
  44123. *
  44124. * Due to poor performance, animation is disabled in old IE browsers for
  44125. * several chart types.
  44126. */
  44127. animation?: (boolean|PlotErrorbarAnimationOptions|Partial<AnimationOptionsObject>);
  44128. /**
  44129. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  44130. * initial animation by default when the total number of points in the chart
  44131. * is too high. For example, for a column chart and its derivatives,
  44132. * animation does not run if there is more than 250 points totally. To
  44133. * disable this cap, set `animationLimit` to `Infinity`.
  44134. */
  44135. animationLimit?: number;
  44136. /**
  44137. * (Highcharts) The dash style of the box.
  44138. */
  44139. boxDashStyle?: DashStyleValue;
  44140. /**
  44141. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  44142. * the category, ignoring null or missing points. When `false`, space will
  44143. * be reserved for null or missing points.
  44144. */
  44145. centerInCategory?: boolean;
  44146. /**
  44147. * (Highcharts, Highstock) An additional class name to apply to the series'
  44148. * graphical elements. This option does not replace default class names of
  44149. * the graphical element.
  44150. */
  44151. className?: string;
  44152. /**
  44153. * (Highcharts, Highstock) Disable this option to allow series rendering in
  44154. * the whole plotting area.
  44155. *
  44156. * **Note:** Clipping should be always enabled when chart.zoomType is set
  44157. */
  44158. clip?: boolean;
  44159. /**
  44160. * (Highcharts) The main color of the bars. This can be overridden by
  44161. * stemColor and whiskerColor individually.
  44162. */
  44163. color?: (ColorString|GradientColorObject|PatternObject);
  44164. /**
  44165. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  44166. * this number defines which colorAxis the particular series is connected
  44167. * to. It refers to either the axis id or the index of the axis in the
  44168. * colorAxis array, with 0 being the first. Set this option to false to
  44169. * prevent a series from connecting to the default color axis.
  44170. *
  44171. * Since v7.2.0 the option can also be an axis id or an axis index instead
  44172. * of a boolean flag.
  44173. */
  44174. colorAxis?: (boolean|number|string);
  44175. /**
  44176. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  44177. * from the global colors or series-specific plotOptions.column.colors
  44178. * collections, this option determines whether the chart should receive one
  44179. * color per series or one color per point.
  44180. *
  44181. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  44182. * and instead this option gives the points individual color class names on
  44183. * the form `highcharts-color-{n}`.
  44184. */
  44185. colorByPoint?: boolean;
  44186. /**
  44187. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  44188. * for the series, so its graphic representations are given the class name
  44189. * `highcharts-color-{n}`.
  44190. */
  44191. colorIndex?: number;
  44192. /**
  44193. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  44194. * used to calculate point color if `colorAxis` is used. Requires to set
  44195. * `min` and `max` if some custom point property is used or if approximation
  44196. * for data grouping is set to `'sum'`.
  44197. */
  44198. colorKey?: string;
  44199. /**
  44200. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  44201. * color set to apply instead of the global colors when colorByPoint is
  44202. * true.
  44203. */
  44204. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  44205. /**
  44206. * (Highstock) Compare the values of the series against the first non-null,
  44207. * non- zero value in the visible range. The y axis will show percentage or
  44208. * absolute change depending on whether `compare` is set to `"percent"` or
  44209. * `"value"`. When this is applied to multiple series, it allows comparing
  44210. * the development of the series against each other. Adds a `change` field
  44211. * to every point object.
  44212. */
  44213. compare?: string;
  44214. /**
  44215. * (Highstock) When compare is `percent`, this option dictates whether to
  44216. * use 0 or 100 as the base of comparison.
  44217. */
  44218. compareBase?: (0|100);
  44219. /**
  44220. * (Highstock) Defines if comparison should start from the first point
  44221. * within the visible range or should start from the first point **before**
  44222. * the range.
  44223. *
  44224. * In other words, this flag determines if first point within the visible
  44225. * range will have 0% (`compareStart=true`) or should have been already
  44226. * calculated according to the previous point (`compareStart=false`).
  44227. */
  44228. compareStart?: boolean;
  44229. /**
  44230. * (Gantt) Override Pathfinder connector options for a series. Requires
  44231. * Highcharts Gantt to be loaded.
  44232. */
  44233. connectors?: SeriesConnectorsOptionsObject;
  44234. /**
  44235. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  44236. * rounded to its nearest pixel in order to render sharp on screen. In some
  44237. * cases, when there are a lot of densely packed columns, this leads to
  44238. * visible difference in column widths or distance between columns. In these
  44239. * cases, setting `crisp` to `false` may look better, even though each
  44240. * column is rendered blurry.
  44241. */
  44242. crisp?: boolean;
  44243. /**
  44244. * (Highcharts, Highstock, Gantt) When the series contains less points than
  44245. * the crop threshold, all points are drawn, event if the points fall
  44246. * outside the visible plot area at the current zoom. The advantage of
  44247. * drawing all points (including markers and columns), is that animation is
  44248. * performed on updates. On the other hand, when the series contains more
  44249. * points than the crop threshold, the series data is cropped to only
  44250. * contain points that fall within the plot area. The advantage of cropping
  44251. * away invisible points is to increase performance on large series.
  44252. */
  44253. cropThreshold?: number;
  44254. /**
  44255. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  44256. * click events attached to the series, to signal to the user that the
  44257. * points and lines can be clicked.
  44258. *
  44259. * In styled mode, the series cursor can be set with the same classes as
  44260. * listed under series.color.
  44261. */
  44262. cursor?: (string|CursorValue);
  44263. /**
  44264. * (Highcharts, Highstock) A reserved subspace to store options and values
  44265. * for customized functionality. Here you can add additional data for your
  44266. * own event callbacks and formatter callbacks.
  44267. */
  44268. custom?: Dictionary<any>;
  44269. /**
  44270. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  44271. * for some series types the outline of each shape.
  44272. *
  44273. * In styled mode, the stroke dash-array can be set with the same classes as
  44274. * listed under series.color.
  44275. */
  44276. dashStyle?: DashStyleValue;
  44277. /**
  44278. * (Highstock) Data grouping is the concept of sampling the data values into
  44279. * larger blocks in order to ease readability and increase performance of
  44280. * the JavaScript charts. Highcharts Stock by default applies data grouping
  44281. * when the points become closer than a certain pixel value, determined by
  44282. * the `groupPixelWidth` option.
  44283. *
  44284. * If data grouping is applied, the grouping information of grouped points
  44285. * can be read from the Point.dataGroup. If point options other than the
  44286. * data itself are set, for example `name` or `color` or custom properties,
  44287. * the grouping logic doesn't know how to group it. In this case the options
  44288. * of the first point instance are copied over to the group point. This can
  44289. * be altered through a custom `approximation` callback function.
  44290. */
  44291. dataGrouping?: DataGroupingOptionsObject;
  44292. /**
  44293. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  44294. * labels, appearing next to each data point.
  44295. *
  44296. * Since v6.2.0, multiple data labels can be applied to each single point by
  44297. * defining them as an array of configs.
  44298. *
  44299. * In styled mode, the data labels can be styled with the
  44300. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  44301. * (see example).
  44302. */
  44303. dataLabels?: (PlotErrorbarDataLabelsOptions|Array<PlotErrorbarDataLabelsOptions>);
  44304. /**
  44305. * (Highcharts, Highstock) Options for the series data sorting.
  44306. */
  44307. dataSorting?: (DataSortingOptionsObject|PlotErrorbarDataSortingOptions);
  44308. /**
  44309. * (Highcharts) Depth of the columns in a 3D column chart.
  44310. */
  44311. depth?: number;
  44312. /**
  44313. * (Highcharts, Highstock) A description of the series to add to the screen
  44314. * reader information about the series.
  44315. */
  44316. description?: string;
  44317. /**
  44318. * (Highcharts, Highstock) The draggable-points module allows points to be
  44319. * moved around or modified in the chart. In addition to the options
  44320. * mentioned under the `dragDrop` API structure, the module fires three
  44321. * events, point.dragStart, point.drag and point.drop.
  44322. */
  44323. dragDrop?: SeriesDragDropOptionsObject;
  44324. /**
  44325. * (Highcharts) 3D columns only. The color of the edges. Similar to
  44326. * `borderColor`, except it defaults to the same color as the column.
  44327. */
  44328. edgeColor?: ColorString;
  44329. /**
  44330. * (Highcharts) 3D columns only. The width of the colored edges.
  44331. */
  44332. edgeWidth?: number;
  44333. /**
  44334. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  44335. * specific series. This includes point tooltips and click events on graphs
  44336. * and points. For large datasets it improves performance.
  44337. */
  44338. enableMouseTracking?: boolean;
  44339. /**
  44340. * (Highcharts, Highstock) General event handlers for the series items.
  44341. * These event hooks can also be attached to the series at run time using
  44342. * the `Highcharts.addEvent` function.
  44343. */
  44344. events?: SeriesEventsOptionsObject;
  44345. /**
  44346. * (Highcharts) The fill color of the box.
  44347. *
  44348. * In styled mode, the fill color can be set with the
  44349. * `.highcharts-boxplot-box` class.
  44350. */
  44351. fillColor?: (ColorString|GradientColorObject|PatternObject);
  44352. /**
  44353. * (Highcharts, Highstock) Determines whether the series should look for the
  44354. * nearest point in both dimensions or just the x-dimension when hovering
  44355. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  44356. * other series. If the data has duplicate x-values, it is recommended to
  44357. * set this to `'xy'` to allow hovering over all points.
  44358. *
  44359. * Applies only to series types using nearest neighbor search (not direct
  44360. * hover) for tooltip.
  44361. */
  44362. findNearestPointBy?: OptionsFindNearestPointByValue;
  44363. /**
  44364. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  44365. * chart width or only the zoomed area when zooming in on parts of the X
  44366. * axis. By default, the Y axis adjusts to the min and max of the visible
  44367. * data. Cartesian series only.
  44368. */
  44369. getExtremesFromAll?: boolean;
  44370. /**
  44371. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  44372. * let them render independent of each other. Non-grouped columns will be
  44373. * laid out individually and overlap each other.
  44374. */
  44375. grouping?: boolean;
  44376. /**
  44377. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  44378. * axis units.
  44379. */
  44380. groupPadding?: number;
  44381. /**
  44382. * (Highcharts, Highstock) When set to `false` will prevent the series data
  44383. * from being included in any form of data export.
  44384. *
  44385. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  44386. * `includeInCSVExport`.
  44387. */
  44388. includeInDataExport?: boolean;
  44389. /**
  44390. * (Highmaps) What property to join the `mapData` to the value data. For
  44391. * example, if joinBy is "code", the mapData items with a specific code is
  44392. * merged into the data with the same code. For maps loaded from GeoJSON,
  44393. * the keys may be held in each point's `properties` object.
  44394. *
  44395. * The joinBy option can also be an array of two values, where the first
  44396. * points to a key in the `mapData`, and the second points to another key in
  44397. * the `data`.
  44398. *
  44399. * When joinBy is `null`, the map items are joined by their position in the
  44400. * array, which performs much better in maps with many data points. This is
  44401. * the recommended option if you are printing more than a thousand data
  44402. * points and have a backend that can preprocess the data into a parallel
  44403. * array of the mapData.
  44404. */
  44405. joinBy?: (string|Array<string>);
  44406. /**
  44407. * (Highcharts, Highstock) An array specifying which option maps to which
  44408. * key in the data point array. This makes it convenient to work with
  44409. * unstructured data arrays from different sources.
  44410. */
  44411. keys?: Array<string>;
  44412. /**
  44413. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  44414. * series as possible in a natural way, seeking to avoid other series. The
  44415. * goal of this feature is to make the chart more easily readable, like if a
  44416. * human designer placed the labels in the optimal position.
  44417. *
  44418. * The series labels currently work with series types having a `graph` or an
  44419. * `area`.
  44420. */
  44421. label?: SeriesLabelOptionsObject;
  44422. /**
  44423. * (Highstock) The line marks the last price from all points.
  44424. */
  44425. lastPrice?: SeriesLastPriceOptionsObject;
  44426. /**
  44427. * (Highstock) The line marks the last price from visible range of points.
  44428. */
  44429. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  44430. /**
  44431. * (Highcharts) The width of the line surrounding the box. If any of
  44432. * stemWidth, medianWidth or whiskerWidth are `null`, the lineWidth also
  44433. * applies to these lines.
  44434. */
  44435. lineWidth?: number;
  44436. /**
  44437. * (Highcharts) The parent series of the error bar. The default value links
  44438. * it to the previous series. Otherwise, use the id of the parent series.
  44439. */
  44440. linkedTo?: string;
  44441. /**
  44442. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  44443. * column, translated to the height of a bar in a bar chart. This prevents
  44444. * the columns from becoming too wide when there is a small number of points
  44445. * in the chart.
  44446. */
  44447. maxPointWidth?: number;
  44448. /**
  44449. * (Highcharts) The color of the median line. If `undefined`, the general
  44450. * series color applies.
  44451. *
  44452. * In styled mode, the median stroke width can be set with the
  44453. * `.highcharts-boxplot-median` class.
  44454. */
  44455. medianColor?: (ColorString|GradientColorObject);
  44456. /**
  44457. * (Highcharts) The dash style of the median.
  44458. */
  44459. medianDashStyle?: DashStyleValue;
  44460. /**
  44461. * (Highcharts) The pixel width of the median line. If `null`, the lineWidth
  44462. * is used.
  44463. *
  44464. * In styled mode, the median stroke width can be set with the
  44465. * `.highcharts-boxplot-median` class.
  44466. */
  44467. medianWidth?: (number|null);
  44468. /**
  44469. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  44470. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  44471. * to zero) point, set the minimal point length to a pixel value like 3\. In
  44472. * stacked column charts, minPointLength might not be respected for tightly
  44473. * packed values.
  44474. */
  44475. minPointLength?: number;
  44476. /**
  44477. * (Highstock) Options for the corresponding navigator series if
  44478. * `showInNavigator` is `true` for this series. Available options are the
  44479. * same as any series, documented at plotOptions and series.
  44480. *
  44481. * These options are merged with options in navigator.series, and will take
  44482. * precedence if the same option is defined both places.
  44483. */
  44484. navigatorOptions?: PlotSeriesOptions;
  44485. /**
  44486. * (Highcharts, Highstock) The color for the parts of the graph or points
  44487. * that are below the threshold. Note that `zones` takes precedence over the
  44488. * negative color. Using `negativeColor` is equivalent to applying a zone
  44489. * with value of 0.
  44490. */
  44491. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  44492. /**
  44493. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  44494. * and dataLabels.
  44495. */
  44496. opacity?: number;
  44497. /**
  44498. * (Highcharts, Highstock) Properties for each single point.
  44499. */
  44500. point?: PlotSeriesPointOptions;
  44501. /**
  44502. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  44503. * but for an individual series. Overrides the chart wide configuration.
  44504. */
  44505. pointDescriptionFormatter?: Function;
  44506. /**
  44507. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  44508. * a series, `pointInterval` defines the interval of the x values. For
  44509. * example, if a series contains one value every decade starting from year
  44510. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  44511. * `pointInterval` is set in milliseconds.
  44512. *
  44513. * It can be also be combined with `pointIntervalUnit` to draw irregular
  44514. * time intervals.
  44515. *
  44516. * Please note that this options applies to the _series data_, not the
  44517. * interval of the axis ticks, which is independent.
  44518. */
  44519. pointInterval?: number;
  44520. /**
  44521. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  44522. * setting the pointInterval to irregular time units, `day`, `month` and
  44523. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  44524. * also takes the DST crossover into consideration when dealing with local
  44525. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  44526. * months, 10 years etc.
  44527. *
  44528. * Please note that this options applies to the _series data_, not the
  44529. * interval of the axis ticks, which is independent.
  44530. */
  44531. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  44532. /**
  44533. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  44534. * axis units.
  44535. */
  44536. pointPadding?: number;
  44537. /**
  44538. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  44539. * `number`.
  44540. *
  44541. * In a column chart, when pointPlacement is `"on"`, the point will not
  44542. * create any padding of the X axis. In a polar column chart this means that
  44543. * the first column points directly north. If the pointPlacement is
  44544. * `"between"`, the columns will be laid out between ticks. This is useful
  44545. * for example for visualising an amount between two points in time or in a
  44546. * certain sector of a polar chart.
  44547. *
  44548. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  44549. * is on the axis value, -0.5 is between this value and the previous, and
  44550. * 0.5 is between this value and the next. Unlike the textual options,
  44551. * numeric point placement options won't affect axis padding.
  44552. *
  44553. * Note that pointPlacement needs a pointRange to work. For column series
  44554. * this is computed, but for line-type series it needs to be set.
  44555. *
  44556. * For the `xrange` series type and gantt charts, if the Y axis is a
  44557. * category axis, the `pointPlacement` applies to the Y axis rather than the
  44558. * (typically datetime) X axis.
  44559. *
  44560. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  44561. */
  44562. pointPlacement?: (number|string);
  44563. /**
  44564. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  44565. * for. This determines the width of the column. On a categorized axis, the
  44566. * range will be 1 by default (one category unit). On linear and datetime
  44567. * axes, the range will be computed as the distance between the two closest
  44568. * data points.
  44569. *
  44570. * The default `null` means it is computed automatically, but this option
  44571. * can be used to override the automatic value.
  44572. *
  44573. * This option is set by default to 1 if data sorting is enabled.
  44574. */
  44575. pointRange?: (number|null);
  44576. /**
  44577. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  44578. * a series, pointStart defines on what value to start. For example, if a
  44579. * series contains one yearly value starting from 1945, set pointStart to
  44580. * 1945.
  44581. */
  44582. pointStart?: number;
  44583. /**
  44584. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  44585. * each column or bar point. When set to `undefined`, the width is
  44586. * calculated from the `pointPadding` and `groupPadding`. The width effects
  44587. * the dimension that is not based on the point value. For column series it
  44588. * is the hoizontal length and for bar series it is the vertical length.
  44589. */
  44590. pointWidth?: number;
  44591. /**
  44592. * (Highcharts, Highstock) Whether to select the series initially. If
  44593. * `showCheckbox` is true, the checkbox next to the series name in the
  44594. * legend will be checked for a selected series.
  44595. */
  44596. selected?: boolean;
  44597. /**
  44598. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  44599. * Since 2.3 the shadow can be an object configuration containing `color`,
  44600. * `offsetX`, `offsetY`, `opacity` and `width`.
  44601. */
  44602. shadow?: (boolean|ShadowOptionsObject);
  44603. /**
  44604. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  44605. * legend item to allow selecting the series. The state of the checkbox is
  44606. * determined by the `selected` option.
  44607. */
  44608. showCheckbox?: boolean;
  44609. /**
  44610. * (Highcharts, Highstock) Whether to display this particular series or
  44611. * series type in the legend. Standalone series are shown in legend by
  44612. * default, and linked series are not. Since v7.2.0 it is possible to show
  44613. * series that use colorAxis by setting this option to `true`.
  44614. */
  44615. showInLegend?: boolean;
  44616. /**
  44617. * (Highstock) Whether or not to show the series in the navigator. Takes
  44618. * precedence over navigator.baseSeries if defined.
  44619. */
  44620. showInNavigator?: boolean;
  44621. /**
  44622. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  44623. * skip past the points in this series for keyboard navigation.
  44624. */
  44625. skipKeyboardNavigation?: boolean;
  44626. /**
  44627. * (Highcharts, Highstock) When this is true, the series will not cause the
  44628. * Y axis to cross the zero plane (or threshold option) unless the data
  44629. * actually crosses the plane.
  44630. *
  44631. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  44632. * make the Y axis show negative values according to the `minPadding`
  44633. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  44634. */
  44635. softThreshold?: boolean;
  44636. /**
  44637. * (Highcharts, Highstock) Whether to stack the values of each series on top
  44638. * of each other. Possible values are `undefined` to disable, `"normal"` to
  44639. * stack by value or `"percent"`.
  44640. *
  44641. * When stacking is enabled, data must be sorted in ascending X order.
  44642. *
  44643. * Some stacking options are related to specific series types. In the
  44644. * streamgraph series type, the stacking option is set to `"stream"`. The
  44645. * second one is `"overlap"`, which only applies to waterfall series.
  44646. */
  44647. stacking?: OptionsStackingValue;
  44648. /**
  44649. * (Highcharts) The dash style of the stem, the vertical line extending from
  44650. * the box to the whiskers.
  44651. */
  44652. stemDashStyle?: DashStyleValue;
  44653. /**
  44654. * (Highcharts) The width of the stem, the vertical line extending from the
  44655. * box to the whiskers. If `undefined`, the width is inherited from the
  44656. * lineWidth option.
  44657. *
  44658. * In styled mode, the stem stroke width can be set with the
  44659. * `.highcharts-boxplot-stem` class.
  44660. */
  44661. stemWidth?: number;
  44662. /**
  44663. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  44664. * `mouseOut` event on a series isn't triggered until the mouse moves over
  44665. * another series, or out of the plot area. When false, the `mouseOut` event
  44666. * on a series is triggered when the mouse leaves the area around the
  44667. * series' graph or markers. This also implies the tooltip when not shared.
  44668. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  44669. * will be hidden when moving the mouse between series. Defaults to true for
  44670. * line and area type series, but to false for columns, pies etc.
  44671. *
  44672. * **Note:** The boost module will force this option because of technical
  44673. * limitations.
  44674. */
  44675. stickyTracking?: boolean;
  44676. /**
  44677. * (Highcharts) The Y axis value to serve as the base for the columns, for
  44678. * distinguishing between values above and below a threshold. If `null`, the
  44679. * columns extend from the padding Y axis minimum.
  44680. */
  44681. threshold?: (number|null);
  44682. /**
  44683. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  44684. * of each single series. Properties are inherited from tooltip, but only
  44685. * the following properties can be defined on a series level.
  44686. */
  44687. tooltip?: SeriesTooltipOptionsObject;
  44688. /**
  44689. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  44690. * is longer than this, only one dimensional arrays of numbers, or two
  44691. * dimensional arrays with x and y values are allowed. Also, only the first
  44692. * point is tested, and the rest are assumed to be the same format. This
  44693. * saves expensive data checking and indexing in long series. Set it to `0`
  44694. * disable.
  44695. *
  44696. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  44697. * two dimensional arrays are allowed.
  44698. */
  44699. turboThreshold?: number;
  44700. /**
  44701. * (Highcharts, Highstock) Set the initial visibility of the series.
  44702. */
  44703. visible?: boolean;
  44704. /**
  44705. * (Highcharts) The color of the whiskers, the horizontal lines marking low
  44706. * and high values. When `undefined`, the general series color is used.
  44707. *
  44708. * In styled mode, the whisker stroke can be set with the
  44709. * `.highcharts-boxplot-whisker` class .
  44710. */
  44711. whiskerColor?: (ColorString|GradientColorObject|PatternObject);
  44712. /**
  44713. * (Highcharts) The dash style of the whiskers.
  44714. */
  44715. whiskerDashStyle?: DashStyleValue;
  44716. /**
  44717. * (Highcharts) The length of the whiskers, the horizontal lines marking low
  44718. * and high values. It can be a numerical pixel value, or a percentage value
  44719. * of the box width. Set `0` to disable whiskers.
  44720. */
  44721. whiskerLength?: (number|string);
  44722. /**
  44723. * (Highcharts) The line width of the whiskers, the horizontal lines marking
  44724. * low and high values. When `null`, the general lineWidth applies.
  44725. */
  44726. whiskerWidth?: number;
  44727. /**
  44728. * (Highmaps) Define the z index of the series.
  44729. */
  44730. zIndex?: number;
  44731. /**
  44732. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  44733. */
  44734. zoneAxis?: string;
  44735. /**
  44736. * (Highcharts, Highstock) An array defining zones within a series. Zones
  44737. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  44738. * the `zoneAxis` option. The zone definitions have to be in ascending order
  44739. * regarding to the value.
  44740. *
  44741. * In styled mode, the color zones are styled with the
  44742. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  44743. * option (view live demo).
  44744. */
  44745. zones?: Array<SeriesZonesOptionsObject>;
  44746. }
  44747. /**
  44748. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  44749. * animation when a series is displayed for the `dataLabels`. The animation can
  44750. * also be set as a configuration object. Please note that this option only
  44751. * applies to the initial animation. For other animations, see chart.animation
  44752. * and the animation parameter under the API methods. The following properties
  44753. * are supported:
  44754. *
  44755. * - `defer`: The animation delay time in milliseconds.
  44756. */
  44757. export interface PlotFlagsDataLabelsAnimationOptions {
  44758. /**
  44759. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  44760. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  44761. * inherits defer time from the series.animation.defer.
  44762. */
  44763. defer?: number;
  44764. }
  44765. /**
  44766. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  44767. * appearing next to each data point.
  44768. *
  44769. * Since v6.2.0, multiple data labels can be applied to each single point by
  44770. * defining them as an array of configs.
  44771. *
  44772. * In styled mode, the data labels can be styled with the
  44773. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  44774. * example).
  44775. */
  44776. export interface PlotFlagsDataLabelsOptions {
  44777. /**
  44778. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  44779. * compared to the point. If `right`, the right side of the label should be
  44780. * touching the point. For points with an extent, like columns, the
  44781. * alignments also dictates how to align it inside the box, as given with
  44782. * the inside option. Can be one of `left`, `center` or `right`.
  44783. */
  44784. align?: string;
  44785. /**
  44786. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  44787. * overlap. To make the labels less sensitive for overlapping, the
  44788. * dataLabels.padding can be set to 0.
  44789. */
  44790. allowOverlap?: boolean;
  44791. /**
  44792. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  44793. * animation when a series is displayed for the `dataLabels`. The animation
  44794. * can also be set as a configuration object. Please note that this option
  44795. * only applies to the initial animation. For other animations, see
  44796. * chart.animation and the animation parameter under the API methods. The
  44797. * following properties are supported:
  44798. *
  44799. * - `defer`: The animation delay time in milliseconds.
  44800. */
  44801. animation?: (boolean|PlotFlagsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  44802. /**
  44803. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  44804. * for the data label.
  44805. */
  44806. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  44807. /**
  44808. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  44809. * label. Defaults to `undefined`.
  44810. */
  44811. borderColor?: (ColorString|GradientColorObject|PatternObject);
  44812. /**
  44813. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  44814. * the data label.
  44815. */
  44816. borderRadius?: number;
  44817. /**
  44818. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  44819. * the data label.
  44820. */
  44821. borderWidth?: number;
  44822. /**
  44823. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  44824. * Particularly in styled mode, this can be used to give each series' or
  44825. * point's data label unique styling. In addition to this option, a default
  44826. * color class name is added so that we can give the labels a contrast text
  44827. * shadow.
  44828. */
  44829. className?: string;
  44830. /**
  44831. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  44832. * labels. Defaults to `undefined`. For certain series types, like column or
  44833. * map, the data labels can be drawn inside the points. In this case the
  44834. * data label will be drawn with maximum contrast by default. Additionally,
  44835. * it will be given a `text-outline` style with the opposite color, to
  44836. * further increase the contrast. This can be overridden by setting the
  44837. * `text-outline` style to `none` in the `dataLabels.style` option.
  44838. */
  44839. color?: (ColorString|GradientColorObject|PatternObject);
  44840. /**
  44841. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  44842. * are outside the plot area. By default, the data label is moved inside the
  44843. * plot area according to the overflow option.
  44844. */
  44845. crop?: boolean;
  44846. /**
  44847. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  44848. * labels until the initial series animation has finished. Setting to
  44849. * `false` renders the data label immediately. If set to `true` inherits the
  44850. * defer time set in plotOptions.series.animation. If set to a number, a
  44851. * defer time is specified in milliseconds.
  44852. */
  44853. defer?: (boolean|number);
  44854. /**
  44855. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  44856. * labels.
  44857. */
  44858. enabled?: boolean;
  44859. /**
  44860. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  44861. * of which data labels to display. The declarative filter is designed for
  44862. * use when callback functions are not available, like when the chart
  44863. * options require a pure JSON structure or for use with graphical editors.
  44864. * For programmatic control, use the `formatter` instead, and return
  44865. * `undefined` to disable a single data label.
  44866. */
  44867. filter?: DataLabelsFilterOptionsObject;
  44868. /**
  44869. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  44870. * label. Available variables are the same as for `formatter`.
  44871. */
  44872. format?: string;
  44873. /**
  44874. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  44875. * format the data label. Note that if a `format` is defined, the format
  44876. * takes precedence and the formatter is ignored.
  44877. */
  44878. formatter?: DataLabelsFormatterCallbackFunction;
  44879. /**
  44880. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  44881. * columns or map areas, whether to align the data label inside the box or
  44882. * to the actual value point. Defaults to `false` in most cases, `true` in
  44883. * stacked columns.
  44884. */
  44885. inside?: boolean;
  44886. /**
  44887. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  44888. * of null. Works analogously to format. `nullFormat` can be applied only to
  44889. * series which support displaying null points.
  44890. */
  44891. nullFormat?: (boolean|string);
  44892. /**
  44893. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  44894. * that defines formatting for points with the value of null. Works
  44895. * analogously to formatter. `nullPointFormatter` can be applied only to
  44896. * series which support displaying null points.
  44897. */
  44898. nullFormatter?: DataLabelsFormatterCallbackFunction;
  44899. /**
  44900. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  44901. * flow outside the plot area. The default is `"justify"`, which aligns them
  44902. * inside the plot area. For columns and bars, this means it will be moved
  44903. * inside the bar. To display data labels outside the plot area, set `crop`
  44904. * to `false` and `overflow` to `"allow"`.
  44905. */
  44906. overflow?: DataLabelsOverflowValue;
  44907. /**
  44908. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  44909. * the `backgroundColor` is set, this is the padding within the box.
  44910. */
  44911. padding?: number;
  44912. /**
  44913. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  44914. * points. If `center` alignment is not possible, it defaults to `right`.
  44915. */
  44916. position?: AlignValue;
  44917. /**
  44918. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  44919. * that due to a more complex structure, backgrounds, borders and padding
  44920. * will be lost on a rotated data label.
  44921. */
  44922. rotation?: number;
  44923. /**
  44924. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  44925. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  44926. * an object configuration containing `color`, `offsetX`, `offsetY`,
  44927. * `opacity` and `width`.
  44928. */
  44929. shadow?: (boolean|ShadowOptionsObject);
  44930. /**
  44931. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  44932. * the border around the label. Symbols are predefined functions on the
  44933. * Renderer object.
  44934. */
  44935. shape?: string;
  44936. /**
  44937. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  44938. * default `color` setting is `"contrast"`, which is a pseudo color that
  44939. * Highcharts picks up and applies the maximum contrast to the underlying
  44940. * point item, for example the bar in a bar chart.
  44941. *
  44942. * The `textOutline` is a pseudo property that applies an outline of the
  44943. * given width with the given color, which by default is the maximum
  44944. * contrast to the text. So a bright text color will result in a black text
  44945. * outline for maximum readability on a mixed background. In some cases,
  44946. * especially with grayscale text, the text outline doesn't work well, in
  44947. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  44948. * is true, the `textOutline` will not be picked up. In this, case, the same
  44949. * effect can be acheived through the `text-shadow` CSS property.
  44950. *
  44951. * For some series types, where each point has an extent, like for example
  44952. * tree maps, the data label may overflow the point. There are two
  44953. * strategies for handling overflow. By default, the text will wrap to
  44954. * multiple lines. The other strategy is to set `style.textOverflow` to
  44955. * `ellipsis`, which will keep the text on one line plus it will break
  44956. * inside long words.
  44957. */
  44958. style?: CSSObject;
  44959. /**
  44960. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  44961. * should follow marker's shape. Border and background are disabled for a
  44962. * label that follows a path.
  44963. *
  44964. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  44965. * to true will disable this option.
  44966. */
  44967. textPath?: DataLabelsTextPathOptionsObject;
  44968. /**
  44969. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  44970. * the labels.
  44971. */
  44972. useHTML?: boolean;
  44973. /**
  44974. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  44975. * label. Can be one of `top`, `middle` or `bottom`. The default value
  44976. * depends on the data, for instance in a column chart, the label is above
  44977. * positive values and below negative values.
  44978. */
  44979. verticalAlign?: string;
  44980. /**
  44981. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  44982. * label relative to the point in pixels.
  44983. */
  44984. x?: number;
  44985. /**
  44986. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  44987. * label relative to the point in pixels.
  44988. */
  44989. y?: number;
  44990. /**
  44991. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  44992. * The default Z index puts it above the series. Use a Z index of 2 to
  44993. * display it behind the series.
  44994. */
  44995. z?: number;
  44996. }
  44997. /**
  44998. * (Highcharts, Highstock) Options for the series data sorting.
  44999. */
  45000. export interface PlotFlagsDataSortingOptions {
  45001. /**
  45002. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  45003. * Use xAxis.reversed to change the sorting order.
  45004. */
  45005. enabled?: boolean;
  45006. /**
  45007. * (Highcharts, Highstock) Whether to allow matching points by name in an
  45008. * update. If this option is disabled, points will be matched by order.
  45009. */
  45010. matchByName?: boolean;
  45011. /**
  45012. * (Highcharts, Highstock) Determines what data value should be used to sort
  45013. * by.
  45014. */
  45015. sortKey?: string;
  45016. }
  45017. /**
  45018. * (Highstock) Style options for the guide box. The guide box has one state by
  45019. * default, the `default` state.
  45020. */
  45021. export interface PlotFlagsDragDropGuideBoxOptions {
  45022. /**
  45023. * (Highstock) Style options for the guide box default state.
  45024. */
  45025. default?: DragDropGuideBoxOptionsObject;
  45026. }
  45027. /**
  45028. * (Highstock) Flags are used to mark events in stock charts. They can be added
  45029. * on the timeline, or attached to a specific series.
  45030. *
  45031. * In TypeScript the type option must always be set.
  45032. *
  45033. * Configuration options for the series are given in three levels:
  45034. *
  45035. * 1. Options for all series in a chart are defined in the plotOptions.series
  45036. * object.
  45037. *
  45038. * 2. Options for all `flags` series are defined in plotOptions.flags.
  45039. *
  45040. * 3. Options for one single series are given in the series instance array. (see
  45041. * online documentation for example)
  45042. */
  45043. export interface PlotFlagsOptions {
  45044. /**
  45045. * (Highstock) Accessibility options for a series.
  45046. */
  45047. accessibility?: SeriesAccessibilityOptionsObject;
  45048. /**
  45049. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  45050. * rendered. If `true`, areas which don't correspond to a data point, are
  45051. * rendered as `null` points. If `false`, those areas are skipped.
  45052. */
  45053. allAreas?: boolean;
  45054. /**
  45055. * (Highstock) Whether the flags are allowed to overlap sideways. If
  45056. * `false`, the flags are moved sideways using an algorithm that seeks to
  45057. * place every flag as close as possible to its original position.
  45058. */
  45059. allowOverlapX?: boolean;
  45060. /**
  45061. * (Highstock) Allow this series' points to be selected by clicking on the
  45062. * graphic (columns, point markers, pie slices, map areas etc).
  45063. *
  45064. * The selected points can be handled by point select and unselect events,
  45065. * or collectively by the getSelectedPoints function.
  45066. *
  45067. * And alternative way of selecting points is through dragging.
  45068. */
  45069. allowPointSelect?: boolean;
  45070. /**
  45071. * (Highstock) For some series, there is a limit that shuts down initial
  45072. * animation by default when the total number of points in the chart is too
  45073. * high. For example, for a column chart and its derivatives, animation does
  45074. * not run if there is more than 250 points totally. To disable this cap,
  45075. * set `animationLimit` to `Infinity`.
  45076. */
  45077. animationLimit?: number;
  45078. /**
  45079. * (Highstock) Sets the color blending in the boost module.
  45080. */
  45081. boostBlending?: OptionsBoostBlendingValue;
  45082. /**
  45083. * (Highstock) Set the point threshold for when a series should enter boost
  45084. * mode.
  45085. *
  45086. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  45087. * there are 2000 or more points in the series.
  45088. *
  45089. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  45090. * it to 1 will force boosting.
  45091. *
  45092. * Note that the cropThreshold also affects this setting. When zooming in on
  45093. * a series that has fewer points than the `cropThreshold`, all points are
  45094. * rendered although outside the visible plot area, and the `boostThreshold`
  45095. * won't take effect.
  45096. */
  45097. boostThreshold?: number;
  45098. /**
  45099. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  45100. * the category, ignoring null or missing points. When `false`, space will
  45101. * be reserved for null or missing points.
  45102. */
  45103. centerInCategory?: boolean;
  45104. /**
  45105. * (Highstock) An additional class name to apply to the series' graphical
  45106. * elements. This option does not replace default class names of the
  45107. * graphical element.
  45108. */
  45109. className?: string;
  45110. /**
  45111. * (Highstock) Disable this option to allow series rendering in the whole
  45112. * plotting area.
  45113. *
  45114. * **Note:** Clipping should be always enabled when chart.zoomType is set
  45115. */
  45116. clip?: boolean;
  45117. /**
  45118. * (Highstock) The main color of the series. In line type series it applies
  45119. * to the line and the point markers unless otherwise specified. In bar type
  45120. * series it applies to the bars unless a color is specified per point. The
  45121. * default value is pulled from the `options.colors` array.
  45122. *
  45123. * In styled mode, the color can be defined by the colorIndex option. Also,
  45124. * the series color can be set with the `.highcharts-series`,
  45125. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  45126. * `.highcharts-series-{n}` class, or individual classes given by the
  45127. * `className` option.
  45128. */
  45129. color?: (ColorString|GradientColorObject|PatternObject);
  45130. /**
  45131. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  45132. * this number defines which colorAxis the particular series is connected
  45133. * to. It refers to either the axis id or the index of the axis in the
  45134. * colorAxis array, with 0 being the first. Set this option to false to
  45135. * prevent a series from connecting to the default color axis.
  45136. *
  45137. * Since v7.2.0 the option can also be an axis id or an axis index instead
  45138. * of a boolean flag.
  45139. */
  45140. colorAxis?: (boolean|number|string);
  45141. /**
  45142. * (Highstock) Styled mode only. A specific color index to use for the
  45143. * series, so its graphic representations are given the class name
  45144. * `highcharts-color-{n}`.
  45145. */
  45146. colorIndex?: number;
  45147. /**
  45148. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  45149. * used to calculate point color if `colorAxis` is used. Requires to set
  45150. * `min` and `max` if some custom point property is used or if approximation
  45151. * for data grouping is set to `'sum'`.
  45152. */
  45153. colorKey?: string;
  45154. /**
  45155. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  45156. * color set to apply instead of the global colors when colorByPoint is
  45157. * true.
  45158. */
  45159. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  45160. /**
  45161. * (Highstock) Compare the values of the series against the first non-null,
  45162. * non- zero value in the visible range. The y axis will show percentage or
  45163. * absolute change depending on whether `compare` is set to `"percent"` or
  45164. * `"value"`. When this is applied to multiple series, it allows comparing
  45165. * the development of the series against each other. Adds a `change` field
  45166. * to every point object.
  45167. */
  45168. compare?: string;
  45169. /**
  45170. * (Highstock) When compare is `percent`, this option dictates whether to
  45171. * use 0 or 100 as the base of comparison.
  45172. */
  45173. compareBase?: (0|100);
  45174. /**
  45175. * (Highstock) Defines if comparison should start from the first point
  45176. * within the visible range or should start from the first point **before**
  45177. * the range.
  45178. *
  45179. * In other words, this flag determines if first point within the visible
  45180. * range will have 0% (`compareStart=true`) or should have been already
  45181. * calculated according to the previous point (`compareStart=false`).
  45182. */
  45183. compareStart?: boolean;
  45184. /**
  45185. * (Gantt) Override Pathfinder connector options for a series. Requires
  45186. * Highcharts Gantt to be loaded.
  45187. */
  45188. connectors?: SeriesConnectorsOptionsObject;
  45189. /**
  45190. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  45191. * rounded to its nearest pixel in order to render sharp on screen. In some
  45192. * cases, when there are a lot of densely packed columns, this leads to
  45193. * visible difference in column widths or distance between columns. In these
  45194. * cases, setting `crisp` to `false` may look better, even though each
  45195. * column is rendered blurry.
  45196. */
  45197. crisp?: boolean;
  45198. /**
  45199. * (Highcharts, Highstock, Gantt) When the series contains less points than
  45200. * the crop threshold, all points are drawn, event if the points fall
  45201. * outside the visible plot area at the current zoom. The advantage of
  45202. * drawing all points (including markers and columns), is that animation is
  45203. * performed on updates. On the other hand, when the series contains more
  45204. * points than the crop threshold, the series data is cropped to only
  45205. * contain points that fall within the plot area. The advantage of cropping
  45206. * away invisible points is to increase performance on large series.
  45207. */
  45208. cropThreshold?: number;
  45209. /**
  45210. * (Highstock) You can set the cursor to "pointer" if you have click events
  45211. * attached to the series, to signal to the user that the points and lines
  45212. * can be clicked.
  45213. *
  45214. * In styled mode, the series cursor can be set with the same classes as
  45215. * listed under series.color.
  45216. */
  45217. cursor?: (string|CursorValue);
  45218. /**
  45219. * (Highstock) A reserved subspace to store options and values for
  45220. * customized functionality. Here you can add additional data for your own
  45221. * event callbacks and formatter callbacks.
  45222. */
  45223. custom?: Dictionary<any>;
  45224. /**
  45225. * (Highstock) Name of the dash style to use for the graph, or for some
  45226. * series types the outline of each shape.
  45227. *
  45228. * In styled mode, the stroke dash-array can be set with the same classes as
  45229. * listed under series.color.
  45230. */
  45231. dashStyle?: DashStyleValue;
  45232. /**
  45233. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  45234. * labels, appearing next to each data point.
  45235. *
  45236. * Since v6.2.0, multiple data labels can be applied to each single point by
  45237. * defining them as an array of configs.
  45238. *
  45239. * In styled mode, the data labels can be styled with the
  45240. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  45241. * (see example).
  45242. */
  45243. dataLabels?: (PlotFlagsDataLabelsOptions|Array<PlotFlagsDataLabelsOptions>);
  45244. /**
  45245. * (Highcharts, Highstock) Options for the series data sorting.
  45246. */
  45247. dataSorting?: (DataSortingOptionsObject|PlotFlagsDataSortingOptions);
  45248. /**
  45249. * (Highcharts) Depth of the columns in a 3D column chart.
  45250. */
  45251. depth?: number;
  45252. /**
  45253. * (Highstock) A description of the series to add to the screen reader
  45254. * information about the series.
  45255. */
  45256. description?: string;
  45257. /**
  45258. * (Highstock) The draggable-points module allows points to be moved around
  45259. * or modified in the chart. In addition to the options mentioned under the
  45260. * `dragDrop` API structure, the module fires three events, point.dragStart,
  45261. * point.drag and point.drop.
  45262. */
  45263. dragDrop?: SeriesDragDropOptionsObject;
  45264. /**
  45265. * (Highcharts) 3D columns only. The color of the edges. Similar to
  45266. * `borderColor`, except it defaults to the same color as the column.
  45267. */
  45268. edgeColor?: ColorString;
  45269. /**
  45270. * (Highcharts) 3D columns only. The width of the colored edges.
  45271. */
  45272. edgeWidth?: number;
  45273. /**
  45274. * (Highstock) Enable or disable the mouse tracking for a specific series.
  45275. * This includes point tooltips and click events on graphs and points. For
  45276. * large datasets it improves performance.
  45277. */
  45278. enableMouseTracking?: boolean;
  45279. /**
  45280. * (Highstock) General event handlers for the series items. These event
  45281. * hooks can also be attached to the series at run time using the
  45282. * `Highcharts.addEvent` function.
  45283. */
  45284. events?: SeriesEventsOptionsObject;
  45285. /**
  45286. * (Highstock) The fill color for the flags.
  45287. */
  45288. fillColor?: (ColorString|GradientColorObject|PatternObject);
  45289. /**
  45290. * (Highstock) Determines whether the series should look for the nearest
  45291. * point in both dimensions or just the x-dimension when hovering the
  45292. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  45293. * series. If the data has duplicate x-values, it is recommended to set this
  45294. * to `'xy'` to allow hovering over all points.
  45295. *
  45296. * Applies only to series types using nearest neighbor search (not direct
  45297. * hover) for tooltip.
  45298. */
  45299. findNearestPointBy?: OptionsFindNearestPointByValue;
  45300. /**
  45301. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  45302. * chart width or only the zoomed area when zooming in on parts of the X
  45303. * axis. By default, the Y axis adjusts to the min and max of the visible
  45304. * data. Cartesian series only.
  45305. */
  45306. getExtremesFromAll?: boolean;
  45307. /**
  45308. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  45309. * let them render independent of each other. Non-grouped columns will be
  45310. * laid out individually and overlap each other.
  45311. */
  45312. grouping?: boolean;
  45313. /**
  45314. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  45315. * axis units.
  45316. */
  45317. groupPadding?: number;
  45318. /**
  45319. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  45320. */
  45321. groupZPadding?: number;
  45322. /**
  45323. * (Highstock) Fixed height of the flag's shape. By default, height is
  45324. * autocalculated according to the flag's title.
  45325. */
  45326. height?: number;
  45327. /**
  45328. * (Highstock) When set to `false` will prevent the series data from being
  45329. * included in any form of data export.
  45330. *
  45331. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  45332. * `includeInCSVExport`.
  45333. */
  45334. includeInDataExport?: boolean;
  45335. /**
  45336. * (Highmaps) What property to join the `mapData` to the value data. For
  45337. * example, if joinBy is "code", the mapData items with a specific code is
  45338. * merged into the data with the same code. For maps loaded from GeoJSON,
  45339. * the keys may be held in each point's `properties` object.
  45340. *
  45341. * The joinBy option can also be an array of two values, where the first
  45342. * points to a key in the `mapData`, and the second points to another key in
  45343. * the `data`.
  45344. *
  45345. * When joinBy is `null`, the map items are joined by their position in the
  45346. * array, which performs much better in maps with many data points. This is
  45347. * the recommended option if you are printing more than a thousand data
  45348. * points and have a backend that can preprocess the data into a parallel
  45349. * array of the mapData.
  45350. */
  45351. joinBy?: (string|Array<string>);
  45352. /**
  45353. * (Highstock) An array specifying which option maps to which key in the
  45354. * data point array. This makes it convenient to work with unstructured data
  45355. * arrays from different sources.
  45356. */
  45357. keys?: Array<string>;
  45358. /**
  45359. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  45360. * series as possible in a natural way, seeking to avoid other series. The
  45361. * goal of this feature is to make the chart more easily readable, like if a
  45362. * human designer placed the labels in the optimal position.
  45363. *
  45364. * The series labels currently work with series types having a `graph` or an
  45365. * `area`.
  45366. */
  45367. label?: SeriesLabelOptionsObject;
  45368. /**
  45369. * (Highstock) The line marks the last price from all points.
  45370. */
  45371. lastPrice?: SeriesLastPriceOptionsObject;
  45372. /**
  45373. * (Highstock) The line marks the last price from visible range of points.
  45374. */
  45375. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  45376. /**
  45377. * (Highstock) The color of the line/border of the flag.
  45378. *
  45379. * In styled mode, the stroke is set in the
  45380. * `.highcharts-flag-series.highcharts-point` rule.
  45381. */
  45382. lineColor?: (ColorString|GradientColorObject|PatternObject);
  45383. /**
  45384. * (Highstock) The pixel width of the flag's line/border.
  45385. */
  45386. lineWidth?: number;
  45387. /**
  45388. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  45389. * Additionally, the value can be ":previous" to link to the previous
  45390. * series. When two series are linked, only the first one appears in the
  45391. * legend. Toggling the visibility of this also toggles the linked series.
  45392. *
  45393. * If master series uses data sorting and linked series does not have its
  45394. * own sorting definition, the linked series will be sorted in the same
  45395. * order as the master one.
  45396. */
  45397. linkedTo?: string;
  45398. /**
  45399. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  45400. * column, translated to the height of a bar in a bar chart. This prevents
  45401. * the columns from becoming too wide when there is a small number of points
  45402. * in the chart.
  45403. */
  45404. maxPointWidth?: number;
  45405. /**
  45406. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  45407. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  45408. * to zero) point, set the minimal point length to a pixel value like 3\. In
  45409. * stacked column charts, minPointLength might not be respected for tightly
  45410. * packed values.
  45411. */
  45412. minPointLength?: number;
  45413. /**
  45414. * (Highstock) Options for the corresponding navigator series if
  45415. * `showInNavigator` is `true` for this series. Available options are the
  45416. * same as any series, documented at plotOptions and series.
  45417. *
  45418. * These options are merged with options in navigator.series, and will take
  45419. * precedence if the same option is defined both places.
  45420. */
  45421. navigatorOptions?: PlotSeriesOptions;
  45422. /**
  45423. * (Highstock) The color for the parts of the graph or points that are below
  45424. * the threshold. Note that `zones` takes precedence over the negative
  45425. * color. Using `negativeColor` is equivalent to applying a zone with value
  45426. * of 0.
  45427. */
  45428. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  45429. /**
  45430. * (Highstock) In case the flag is placed on a series, on what point key to
  45431. * place it. Line and columns have one key, `y`. In range or OHLC-type
  45432. * series, however, the flag can optionally be placed on the `open`, `high`,
  45433. * `low` or `close` key.
  45434. */
  45435. onKey?: OptionsOnKeyValue;
  45436. /**
  45437. * (Highstock) The id of the series that the flags should be drawn on. If no
  45438. * id is given, the flags are drawn on the x axis.
  45439. */
  45440. onSeries?: string;
  45441. /**
  45442. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  45443. * dataLabels.
  45444. */
  45445. opacity?: number;
  45446. /**
  45447. * (Highstock) Properties for each single point.
  45448. */
  45449. point?: PlotSeriesPointOptions;
  45450. /**
  45451. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  45452. * individual series. Overrides the chart wide configuration.
  45453. */
  45454. pointDescriptionFormatter?: Function;
  45455. /**
  45456. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  45457. * a series, `pointInterval` defines the interval of the x values. For
  45458. * example, if a series contains one value every decade starting from year
  45459. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  45460. * `pointInterval` is set in milliseconds.
  45461. *
  45462. * It can be also be combined with `pointIntervalUnit` to draw irregular
  45463. * time intervals.
  45464. *
  45465. * Please note that this options applies to the _series data_, not the
  45466. * interval of the axis ticks, which is independent.
  45467. */
  45468. pointInterval?: number;
  45469. /**
  45470. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  45471. * setting the pointInterval to irregular time units, `day`, `month` and
  45472. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  45473. * also takes the DST crossover into consideration when dealing with local
  45474. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  45475. * months, 10 years etc.
  45476. *
  45477. * Please note that this options applies to the _series data_, not the
  45478. * interval of the axis ticks, which is independent.
  45479. */
  45480. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  45481. /**
  45482. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  45483. * `number`.
  45484. *
  45485. * In a column chart, when pointPlacement is `"on"`, the point will not
  45486. * create any padding of the X axis. In a polar column chart this means that
  45487. * the first column points directly north. If the pointPlacement is
  45488. * `"between"`, the columns will be laid out between ticks. This is useful
  45489. * for example for visualising an amount between two points in time or in a
  45490. * certain sector of a polar chart.
  45491. *
  45492. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  45493. * is on the axis value, -0.5 is between this value and the previous, and
  45494. * 0.5 is between this value and the next. Unlike the textual options,
  45495. * numeric point placement options won't affect axis padding.
  45496. *
  45497. * Note that pointPlacement needs a pointRange to work. For column series
  45498. * this is computed, but for line-type series it needs to be set.
  45499. *
  45500. * For the `xrange` series type and gantt charts, if the Y axis is a
  45501. * category axis, the `pointPlacement` applies to the Y axis rather than the
  45502. * (typically datetime) X axis.
  45503. *
  45504. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  45505. */
  45506. pointPlacement?: (number|string);
  45507. /**
  45508. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  45509. * for. This determines the width of the column. On a categorized axis, the
  45510. * range will be 1 by default (one category unit). On linear and datetime
  45511. * axes, the range will be computed as the distance between the two closest
  45512. * data points.
  45513. *
  45514. * The default `null` means it is computed automatically, but this option
  45515. * can be used to override the automatic value.
  45516. *
  45517. * This option is set by default to 1 if data sorting is enabled.
  45518. */
  45519. pointRange?: (number|null);
  45520. /**
  45521. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  45522. * a series, pointStart defines on what value to start. For example, if a
  45523. * series contains one yearly value starting from 1945, set pointStart to
  45524. * 1945.
  45525. */
  45526. pointStart?: number;
  45527. /**
  45528. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  45529. * true, the checkbox next to the series name in the legend will be checked
  45530. * for a selected series.
  45531. */
  45532. selected?: boolean;
  45533. /**
  45534. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  45535. * the shadow can be an object configuration containing `color`, `offsetX`,
  45536. * `offsetY`, `opacity` and `width`.
  45537. */
  45538. shadow?: (boolean|ShadowOptionsObject);
  45539. /**
  45540. * (Highstock) The shape of the marker. Can be one of "flag", "circlepin",
  45541. * "squarepin", or an image of the format `url(/path-to-image.jpg)`.
  45542. * Individual shapes can also be set for each point.
  45543. */
  45544. shape?: FlagsShapeValue;
  45545. /**
  45546. * (Highstock) If true, a checkbox is displayed next to the legend item to
  45547. * allow selecting the series. The state of the checkbox is determined by
  45548. * the `selected` option.
  45549. */
  45550. showCheckbox?: boolean;
  45551. /**
  45552. * (Highstock) Whether to display this particular series or series type in
  45553. * the legend. Standalone series are shown in legend by default, and linked
  45554. * series are not. Since v7.2.0 it is possible to show series that use
  45555. * colorAxis by setting this option to `true`.
  45556. */
  45557. showInLegend?: boolean;
  45558. /**
  45559. * (Highstock) Whether or not to show the series in the navigator. Takes
  45560. * precedence over navigator.baseSeries if defined.
  45561. */
  45562. showInNavigator?: boolean;
  45563. /**
  45564. * (Highstock) If set to `true`, the accessibility module will skip past the
  45565. * points in this series for keyboard navigation.
  45566. */
  45567. skipKeyboardNavigation?: boolean;
  45568. /**
  45569. * (Highcharts, Highstock) When this is true, the series will not cause the
  45570. * Y axis to cross the zero plane (or threshold option) unless the data
  45571. * actually crosses the plane.
  45572. *
  45573. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  45574. * make the Y axis show negative values according to the `minPadding`
  45575. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  45576. */
  45577. softThreshold?: boolean;
  45578. /**
  45579. * (Highstock) When multiple flags in the same series fall on the same
  45580. * value, this number determines the vertical offset between them.
  45581. */
  45582. stackDistance?: number;
  45583. /**
  45584. * (Highcharts, Highstock) Whether to stack the values of each series on top
  45585. * of each other. Possible values are `undefined` to disable, `"normal"` to
  45586. * stack by value or `"percent"`.
  45587. *
  45588. * When stacking is enabled, data must be sorted in ascending X order.
  45589. *
  45590. * Some stacking options are related to specific series types. In the
  45591. * streamgraph series type, the stacking option is set to `"stream"`. The
  45592. * second one is `"overlap"`, which only applies to waterfall series.
  45593. */
  45594. stacking?: OptionsStackingValue;
  45595. states?: SeriesStatesOptionsObject;
  45596. /**
  45597. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  45598. * event on a series isn't triggered until the mouse moves over another
  45599. * series, or out of the plot area. When false, the `mouseOut` event on a
  45600. * series is triggered when the mouse leaves the area around the series'
  45601. * graph or markers. This also implies the tooltip when not shared. When
  45602. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  45603. * be hidden when moving the mouse between series. Defaults to true for line
  45604. * and area type series, but to false for columns, pies etc.
  45605. *
  45606. * **Note:** The boost module will force this option because of technical
  45607. * limitations.
  45608. */
  45609. stickyTracking?: boolean;
  45610. /**
  45611. * (Highstock) The text styles of the flag.
  45612. *
  45613. * In styled mode, the styles are set in the `.highcharts-flag-series
  45614. * .highcharts-point` rule.
  45615. */
  45616. style?: CSSObject;
  45617. /**
  45618. * (Highstock) Text alignment for the text inside the flag.
  45619. */
  45620. textAlign?: OptionsTextAlignValue;
  45621. /**
  45622. * (Highcharts) The Y axis value to serve as the base for the columns, for
  45623. * distinguishing between values above and below a threshold. If `null`, the
  45624. * columns extend from the padding Y axis minimum.
  45625. */
  45626. threshold?: (number|null);
  45627. /**
  45628. * (Highstock) The text to display on each flag. This can be defined on
  45629. * series level, or individually for each point. Defaults to `"A"`.
  45630. */
  45631. title?: string;
  45632. /**
  45633. * (Highstock) Specific tooltip options for flag series. Flag series
  45634. * tooltips are different from most other types in that a flag doesn't have
  45635. * a data value, so the tooltip rather displays the `text` option for each
  45636. * point.
  45637. */
  45638. tooltip?: SeriesTooltipOptionsObject;
  45639. /**
  45640. * (Highstock) Whether to use HTML to render the flag texts. Using HTML
  45641. * allows for advanced formatting, images and reliable bi-directional text
  45642. * rendering. Note that exported images won't respect the HTML, and that
  45643. * HTML won't respect Z-index settings.
  45644. */
  45645. useHTML?: boolean;
  45646. /**
  45647. * (Highstock) Set the initial visibility of the series.
  45648. */
  45649. visible?: boolean;
  45650. /**
  45651. * (Highstock) Fixed width of the flag's shape. By default, width is
  45652. * autocalculated according to the flag's title.
  45653. */
  45654. width?: number;
  45655. /**
  45656. * (Highstock) The y position of the top left corner of the flag relative to
  45657. * either the series (if onSeries is defined), or the x axis. Defaults to
  45658. * `-30`.
  45659. */
  45660. y?: number;
  45661. /**
  45662. * (Highmaps) Define the z index of the series.
  45663. */
  45664. zIndex?: number;
  45665. /**
  45666. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  45667. */
  45668. zoneAxis?: string;
  45669. /**
  45670. * (Highcharts, Highstock) An array defining zones within a series. Zones
  45671. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  45672. * the `zoneAxis` option. The zone definitions have to be in ascending order
  45673. * regarding to the value.
  45674. *
  45675. * In styled mode, the color zones are styled with the
  45676. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  45677. * option (view live demo).
  45678. */
  45679. zones?: Array<SeriesZonesOptionsObject>;
  45680. }
  45681. /**
  45682. * (Highcharts) Enable or disable the initial animation when a series is
  45683. * displayed. The animation can also be set as a configuration object. Please
  45684. * note that this option only applies to the initial animation of the series
  45685. * itself. For other animations, see chart.animation and the animation parameter
  45686. * under the API methods. The following properties are supported:
  45687. *
  45688. * - `defer`: The animation delay time in milliseconds.
  45689. *
  45690. * - `duration`: The duration of the animation in milliseconds.
  45691. *
  45692. * - `easing`: Can be a string reference to an easing function set on the `Math`
  45693. * object or a function. See the _Custom easing function_ demo below.
  45694. *
  45695. * Due to poor performance, animation is disabled in old IE browsers for several
  45696. * chart types.
  45697. */
  45698. export interface PlotFunnel3dAnimationOptions {
  45699. defer?: number;
  45700. }
  45701. /**
  45702. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  45703. * animation when a series is displayed for the `dataLabels`. The animation can
  45704. * also be set as a configuration object. Please note that this option only
  45705. * applies to the initial animation. For other animations, see chart.animation
  45706. * and the animation parameter under the API methods. The following properties
  45707. * are supported:
  45708. *
  45709. * - `defer`: The animation delay time in milliseconds.
  45710. */
  45711. export interface PlotFunnel3dDataLabelsAnimationOptions {
  45712. /**
  45713. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  45714. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  45715. * inherits defer time from the series.animation.defer.
  45716. */
  45717. defer?: number;
  45718. }
  45719. /**
  45720. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  45721. * appearing next to each data point.
  45722. *
  45723. * Since v6.2.0, multiple data labels can be applied to each single point by
  45724. * defining them as an array of configs.
  45725. *
  45726. * In styled mode, the data labels can be styled with the
  45727. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  45728. * example).
  45729. */
  45730. export interface PlotFunnel3dDataLabelsOptions {
  45731. /**
  45732. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  45733. * compared to the point. If `right`, the right side of the label should be
  45734. * touching the point. For points with an extent, like columns, the
  45735. * alignments also dictates how to align it inside the box, as given with
  45736. * the inside option. Can be one of `left`, `center` or `right`.
  45737. */
  45738. align?: string;
  45739. /**
  45740. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  45741. * overlap. To make the labels less sensitive for overlapping, the
  45742. * dataLabels.padding can be set to 0.
  45743. */
  45744. allowOverlap?: boolean;
  45745. /**
  45746. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  45747. * animation when a series is displayed for the `dataLabels`. The animation
  45748. * can also be set as a configuration object. Please note that this option
  45749. * only applies to the initial animation. For other animations, see
  45750. * chart.animation and the animation parameter under the API methods. The
  45751. * following properties are supported:
  45752. *
  45753. * - `defer`: The animation delay time in milliseconds.
  45754. */
  45755. animation?: (boolean|PlotFunnel3dDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  45756. /**
  45757. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  45758. * for the data label.
  45759. */
  45760. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  45761. /**
  45762. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  45763. * label. Defaults to `undefined`.
  45764. */
  45765. borderColor?: (ColorString|GradientColorObject|PatternObject);
  45766. /**
  45767. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  45768. * the data label.
  45769. */
  45770. borderRadius?: number;
  45771. /**
  45772. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  45773. * the data label.
  45774. */
  45775. borderWidth?: number;
  45776. /**
  45777. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  45778. * Particularly in styled mode, this can be used to give each series' or
  45779. * point's data label unique styling. In addition to this option, a default
  45780. * color class name is added so that we can give the labels a contrast text
  45781. * shadow.
  45782. */
  45783. className?: string;
  45784. /**
  45785. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  45786. * labels. Defaults to `undefined`. For certain series types, like column or
  45787. * map, the data labels can be drawn inside the points. In this case the
  45788. * data label will be drawn with maximum contrast by default. Additionally,
  45789. * it will be given a `text-outline` style with the opposite color, to
  45790. * further increase the contrast. This can be overridden by setting the
  45791. * `text-outline` style to `none` in the `dataLabels.style` option.
  45792. */
  45793. color?: (ColorString|GradientColorObject|PatternObject);
  45794. /**
  45795. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  45796. * are outside the plot area. By default, the data label is moved inside the
  45797. * plot area according to the overflow option.
  45798. */
  45799. crop?: boolean;
  45800. /**
  45801. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  45802. * labels until the initial series animation has finished. Setting to
  45803. * `false` renders the data label immediately. If set to `true` inherits the
  45804. * defer time set in plotOptions.series.animation. If set to a number, a
  45805. * defer time is specified in milliseconds.
  45806. */
  45807. defer?: (boolean|number);
  45808. /**
  45809. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  45810. * labels.
  45811. */
  45812. enabled?: boolean;
  45813. /**
  45814. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  45815. * of which data labels to display. The declarative filter is designed for
  45816. * use when callback functions are not available, like when the chart
  45817. * options require a pure JSON structure or for use with graphical editors.
  45818. * For programmatic control, use the `formatter` instead, and return
  45819. * `undefined` to disable a single data label.
  45820. */
  45821. filter?: DataLabelsFilterOptionsObject;
  45822. /**
  45823. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  45824. * label. Available variables are the same as for `formatter`.
  45825. */
  45826. format?: string;
  45827. /**
  45828. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  45829. * format the data label. Note that if a `format` is defined, the format
  45830. * takes precedence and the formatter is ignored.
  45831. */
  45832. formatter?: DataLabelsFormatterCallbackFunction;
  45833. /**
  45834. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  45835. * columns or map areas, whether to align the data label inside the box or
  45836. * to the actual value point. Defaults to `false` in most cases, `true` in
  45837. * stacked columns.
  45838. */
  45839. inside?: boolean;
  45840. /**
  45841. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  45842. * of null. Works analogously to format. `nullFormat` can be applied only to
  45843. * series which support displaying null points.
  45844. */
  45845. nullFormat?: (boolean|string);
  45846. /**
  45847. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  45848. * that defines formatting for points with the value of null. Works
  45849. * analogously to formatter. `nullPointFormatter` can be applied only to
  45850. * series which support displaying null points.
  45851. */
  45852. nullFormatter?: DataLabelsFormatterCallbackFunction;
  45853. /**
  45854. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  45855. * flow outside the plot area. The default is `"justify"`, which aligns them
  45856. * inside the plot area. For columns and bars, this means it will be moved
  45857. * inside the bar. To display data labels outside the plot area, set `crop`
  45858. * to `false` and `overflow` to `"allow"`.
  45859. */
  45860. overflow?: string;
  45861. /**
  45862. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  45863. * the `backgroundColor` is set, this is the padding within the box.
  45864. */
  45865. padding?: number;
  45866. /**
  45867. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  45868. * points. If `center` alignment is not possible, it defaults to `right`.
  45869. */
  45870. position?: AlignValue;
  45871. /**
  45872. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  45873. * that due to a more complex structure, backgrounds, borders and padding
  45874. * will be lost on a rotated data label.
  45875. */
  45876. rotation?: number;
  45877. /**
  45878. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  45879. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  45880. * an object configuration containing `color`, `offsetX`, `offsetY`,
  45881. * `opacity` and `width`.
  45882. */
  45883. shadow?: (boolean|ShadowOptionsObject);
  45884. /**
  45885. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  45886. * the border around the label. Symbols are predefined functions on the
  45887. * Renderer object.
  45888. */
  45889. shape?: string;
  45890. /**
  45891. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  45892. * default `color` setting is `"contrast"`, which is a pseudo color that
  45893. * Highcharts picks up and applies the maximum contrast to the underlying
  45894. * point item, for example the bar in a bar chart.
  45895. *
  45896. * The `textOutline` is a pseudo property that applies an outline of the
  45897. * given width with the given color, which by default is the maximum
  45898. * contrast to the text. So a bright text color will result in a black text
  45899. * outline for maximum readability on a mixed background. In some cases,
  45900. * especially with grayscale text, the text outline doesn't work well, in
  45901. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  45902. * is true, the `textOutline` will not be picked up. In this, case, the same
  45903. * effect can be acheived through the `text-shadow` CSS property.
  45904. *
  45905. * For some series types, where each point has an extent, like for example
  45906. * tree maps, the data label may overflow the point. There are two
  45907. * strategies for handling overflow. By default, the text will wrap to
  45908. * multiple lines. The other strategy is to set `style.textOverflow` to
  45909. * `ellipsis`, which will keep the text on one line plus it will break
  45910. * inside long words.
  45911. */
  45912. style?: CSSObject;
  45913. /**
  45914. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  45915. * should follow marker's shape. Border and background are disabled for a
  45916. * label that follows a path.
  45917. *
  45918. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  45919. * to true will disable this option.
  45920. */
  45921. textPath?: DataLabelsTextPathOptionsObject;
  45922. /**
  45923. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  45924. * the labels.
  45925. */
  45926. useHTML?: boolean;
  45927. /**
  45928. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  45929. * label. Can be one of `top`, `middle` or `bottom`. The default value
  45930. * depends on the data, for instance in a column chart, the label is above
  45931. * positive values and below negative values.
  45932. */
  45933. verticalAlign?: string;
  45934. /**
  45935. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  45936. * label relative to the point in pixels.
  45937. */
  45938. x?: number;
  45939. /**
  45940. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  45941. * label relative to the point in pixels.
  45942. */
  45943. y?: number;
  45944. /**
  45945. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  45946. * The default Z index puts it above the series. Use a Z index of 2 to
  45947. * display it behind the series.
  45948. */
  45949. z?: number;
  45950. }
  45951. /**
  45952. * (Highcharts) Style options for the guide box. The guide box has one state by
  45953. * default, the `default` state.
  45954. */
  45955. export interface PlotFunnel3dDragDropGuideBoxOptions {
  45956. /**
  45957. * (Highcharts) Style options for the guide box default state.
  45958. */
  45959. default?: DragDropGuideBoxOptionsObject;
  45960. }
  45961. /**
  45962. * (Highcharts) A funnel3d is a 3d version of funnel series type. Funnel charts
  45963. * are a type of chart often used to visualize stages in a sales project, where
  45964. * the top are the initial stages with the most clients.
  45965. *
  45966. * It requires that the `highcharts-3d.js`, `cylinder.js` and `funnel3d.js`
  45967. * module are loaded.
  45968. *
  45969. * In TypeScript the type option must always be set.
  45970. *
  45971. * Configuration options for the series are given in three levels:
  45972. *
  45973. * 1. Options for all series in a chart are defined in the plotOptions.series
  45974. * object.
  45975. *
  45976. * 2. Options for all `funnel3d` series are defined in plotOptions.funnel3d.
  45977. *
  45978. * 3. Options for one single series are given in the series instance array. (see
  45979. * online documentation for example)
  45980. */
  45981. export interface PlotFunnel3dOptions {
  45982. /**
  45983. * (Highcharts) Accessibility options for a series.
  45984. */
  45985. accessibility?: SeriesAccessibilityOptionsObject;
  45986. /**
  45987. * (Highcharts) Allow this series' points to be selected by clicking on the
  45988. * graphic (columns, point markers, pie slices, map areas etc).
  45989. *
  45990. * The selected points can be handled by point select and unselect events,
  45991. * or collectively by the getSelectedPoints function.
  45992. *
  45993. * And alternative way of selecting points is through dragging.
  45994. */
  45995. allowPointSelect?: boolean;
  45996. /**
  45997. * (Highcharts) Enable or disable the initial animation when a series is
  45998. * displayed. The animation can also be set as a configuration object.
  45999. * Please note that this option only applies to the initial animation of the
  46000. * series itself. For other animations, see chart.animation and the
  46001. * animation parameter under the API methods. The following properties are
  46002. * supported:
  46003. *
  46004. * - `defer`: The animation delay time in milliseconds.
  46005. *
  46006. * - `duration`: The duration of the animation in milliseconds.
  46007. *
  46008. * - `easing`: Can be a string reference to an easing function set on the
  46009. * `Math` object or a function. See the _Custom easing function_ demo below.
  46010. *
  46011. * Due to poor performance, animation is disabled in old IE browsers for
  46012. * several chart types.
  46013. */
  46014. animation?: (boolean|PlotFunnel3dAnimationOptions);
  46015. /**
  46016. * (Highcharts) For some series, there is a limit that shuts down initial
  46017. * animation by default when the total number of points in the chart is too
  46018. * high. For example, for a column chart and its derivatives, animation does
  46019. * not run if there is more than 250 points totally. To disable this cap,
  46020. * set `animationLimit` to `Infinity`.
  46021. */
  46022. animationLimit?: number;
  46023. /**
  46024. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  46025. * column or bar.
  46026. *
  46027. * In styled mode, the border stroke can be set with the `.highcharts-point`
  46028. * rule.
  46029. */
  46030. borderColor?: (ColorString|GradientColorObject|PatternObject);
  46031. /**
  46032. * (Highcharts, Highstock, Gantt) The corner radius of the border
  46033. * surrounding each column or bar.
  46034. */
  46035. borderRadius?: number;
  46036. /**
  46037. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  46038. * column or bar. Defaults to `1` when there is room for a border, but to
  46039. * `0` when the columns are so dense that a border would cover the next
  46040. * column.
  46041. *
  46042. * In styled mode, the stroke width can be set with the `.highcharts-point`
  46043. * rule.
  46044. */
  46045. borderWidth?: number;
  46046. /**
  46047. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  46048. * the category, ignoring null or missing points. When `false`, space will
  46049. * be reserved for null or missing points.
  46050. */
  46051. centerInCategory?: boolean;
  46052. /**
  46053. * (Highcharts) An additional class name to apply to the series' graphical
  46054. * elements. This option does not replace default class names of the
  46055. * graphical element.
  46056. */
  46057. className?: string;
  46058. /**
  46059. * (Highcharts) Disable this option to allow series rendering in the whole
  46060. * plotting area.
  46061. *
  46062. * **Note:** Clipping should be always enabled when chart.zoomType is set
  46063. */
  46064. clip?: boolean;
  46065. /**
  46066. * (Highcharts) The main color of the series. In line type series it applies
  46067. * to the line and the point markers unless otherwise specified. In bar type
  46068. * series it applies to the bars unless a color is specified per point. The
  46069. * default value is pulled from the `options.colors` array.
  46070. *
  46071. * In styled mode, the color can be defined by the colorIndex option. Also,
  46072. * the series color can be set with the `.highcharts-series`,
  46073. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  46074. * `.highcharts-series-{n}` class, or individual classes given by the
  46075. * `className` option.
  46076. */
  46077. color?: (ColorString|GradientColorObject|PatternObject);
  46078. /**
  46079. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  46080. * from the global colors or series-specific plotOptions.column.colors
  46081. * collections, this option determines whether the chart should receive one
  46082. * color per series or one color per point.
  46083. *
  46084. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  46085. * and instead this option gives the points individual color class names on
  46086. * the form `highcharts-color-{n}`.
  46087. */
  46088. colorByPoint?: boolean;
  46089. /**
  46090. * (Highcharts) Styled mode only. A specific color index to use for the
  46091. * series, so its graphic representations are given the class name
  46092. * `highcharts-color-{n}`.
  46093. */
  46094. colorIndex?: number;
  46095. /**
  46096. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  46097. * used to calculate point color if `colorAxis` is used. Requires to set
  46098. * `min` and `max` if some custom point property is used or if approximation
  46099. * for data grouping is set to `'sum'`.
  46100. */
  46101. colorKey?: string;
  46102. /**
  46103. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  46104. * color set to apply instead of the global colors when colorByPoint is
  46105. * true.
  46106. */
  46107. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  46108. /**
  46109. * (Highstock) Defines if comparison should start from the first point
  46110. * within the visible range or should start from the first point **before**
  46111. * the range.
  46112. *
  46113. * In other words, this flag determines if first point within the visible
  46114. * range will have 0% (`compareStart=true`) or should have been already
  46115. * calculated according to the previous point (`compareStart=false`).
  46116. */
  46117. compareStart?: boolean;
  46118. /**
  46119. * (Gantt) Override Pathfinder connector options for a series. Requires
  46120. * Highcharts Gantt to be loaded.
  46121. */
  46122. connectors?: SeriesConnectorsOptionsObject;
  46123. /**
  46124. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  46125. * rounded to its nearest pixel in order to render sharp on screen. In some
  46126. * cases, when there are a lot of densely packed columns, this leads to
  46127. * visible difference in column widths or distance between columns. In these
  46128. * cases, setting `crisp` to `false` may look better, even though each
  46129. * column is rendered blurry.
  46130. */
  46131. crisp?: boolean;
  46132. /**
  46133. * (Highcharts, Highstock, Gantt) When the series contains less points than
  46134. * the crop threshold, all points are drawn, event if the points fall
  46135. * outside the visible plot area at the current zoom. The advantage of
  46136. * drawing all points (including markers and columns), is that animation is
  46137. * performed on updates. On the other hand, when the series contains more
  46138. * points than the crop threshold, the series data is cropped to only
  46139. * contain points that fall within the plot area. The advantage of cropping
  46140. * away invisible points is to increase performance on large series.
  46141. */
  46142. cropThreshold?: number;
  46143. /**
  46144. * (Highcharts) You can set the cursor to "pointer" if you have click events
  46145. * attached to the series, to signal to the user that the points and lines
  46146. * can be clicked.
  46147. *
  46148. * In styled mode, the series cursor can be set with the same classes as
  46149. * listed under series.color.
  46150. */
  46151. cursor?: (string|CursorValue);
  46152. /**
  46153. * (Highcharts) A reserved subspace to store options and values for
  46154. * customized functionality. Here you can add additional data for your own
  46155. * event callbacks and formatter callbacks.
  46156. */
  46157. custom?: Dictionary<any>;
  46158. /**
  46159. * (Highcharts) Name of the dash style to use for the graph, or for some
  46160. * series types the outline of each shape.
  46161. *
  46162. * In styled mode, the stroke dash-array can be set with the same classes as
  46163. * listed under series.color.
  46164. */
  46165. dashStyle?: DashStyleValue;
  46166. /**
  46167. * (Highstock) Data grouping is the concept of sampling the data values into
  46168. * larger blocks in order to ease readability and increase performance of
  46169. * the JavaScript charts. Highcharts Stock by default applies data grouping
  46170. * when the points become closer than a certain pixel value, determined by
  46171. * the `groupPixelWidth` option.
  46172. *
  46173. * If data grouping is applied, the grouping information of grouped points
  46174. * can be read from the Point.dataGroup. If point options other than the
  46175. * data itself are set, for example `name` or `color` or custom properties,
  46176. * the grouping logic doesn't know how to group it. In this case the options
  46177. * of the first point instance are copied over to the group point. This can
  46178. * be altered through a custom `approximation` callback function.
  46179. */
  46180. dataGrouping?: DataGroupingOptionsObject;
  46181. /**
  46182. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  46183. * labels, appearing next to each data point.
  46184. *
  46185. * Since v6.2.0, multiple data labels can be applied to each single point by
  46186. * defining them as an array of configs.
  46187. *
  46188. * In styled mode, the data labels can be styled with the
  46189. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  46190. * (see example).
  46191. */
  46192. dataLabels?: (PlotFunnel3dDataLabelsOptions|Array<PlotFunnel3dDataLabelsOptions>);
  46193. /**
  46194. * (Highcharts) Depth of the columns in a 3D column chart.
  46195. */
  46196. depth?: number;
  46197. /**
  46198. * (Highcharts) A description of the series to add to the screen reader
  46199. * information about the series.
  46200. */
  46201. description?: string;
  46202. /**
  46203. * (Highcharts) The draggable-points module allows points to be moved around
  46204. * or modified in the chart. In addition to the options mentioned under the
  46205. * `dragDrop` API structure, the module fires three events, point.dragStart,
  46206. * point.drag and point.drop.
  46207. */
  46208. dragDrop?: SeriesDragDropOptionsObject;
  46209. /**
  46210. * (Highcharts) 3D columns only. The color of the edges. Similar to
  46211. * `borderColor`, except it defaults to the same color as the column.
  46212. */
  46213. edgeColor?: ColorString;
  46214. /**
  46215. * (Highcharts) 3D columns only. The width of the colored edges.
  46216. */
  46217. edgeWidth?: number;
  46218. /**
  46219. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  46220. * This includes point tooltips and click events on graphs and points. For
  46221. * large datasets it improves performance.
  46222. */
  46223. enableMouseTracking?: boolean;
  46224. /**
  46225. * (Highcharts) General event handlers for the series items. These event
  46226. * hooks can also be attached to the series at run time using the
  46227. * `Highcharts.addEvent` function.
  46228. */
  46229. events?: SeriesEventsOptionsObject;
  46230. /**
  46231. * (Highcharts) Determines whether the series should look for the nearest
  46232. * point in both dimensions or just the x-dimension when hovering the
  46233. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  46234. * series. If the data has duplicate x-values, it is recommended to set this
  46235. * to `'xy'` to allow hovering over all points.
  46236. *
  46237. * Applies only to series types using nearest neighbor search (not direct
  46238. * hover) for tooltip.
  46239. */
  46240. findNearestPointBy?: OptionsFindNearestPointByValue;
  46241. /**
  46242. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  46243. * chart width or only the zoomed area when zooming in on parts of the X
  46244. * axis. By default, the Y axis adjusts to the min and max of the visible
  46245. * data. Cartesian series only.
  46246. */
  46247. getExtremesFromAll?: boolean;
  46248. /**
  46249. * (Highcharts) By deafult sides fill is set to a gradient through this
  46250. * option being set to `true`. Set to `false` to get solid color for the
  46251. * sides.
  46252. */
  46253. gradientForSides?: boolean;
  46254. /**
  46255. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  46256. * let them render independent of each other. Non-grouped columns will be
  46257. * laid out individually and overlap each other.
  46258. */
  46259. grouping?: boolean;
  46260. /**
  46261. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  46262. * axis units.
  46263. */
  46264. groupPadding?: number;
  46265. /**
  46266. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  46267. */
  46268. groupZPadding?: number;
  46269. /**
  46270. * (Highcharts) The height of the series. If it is a number it defines the
  46271. * pixel height, if it is a percentage string it is the percentage of the
  46272. * plot area height.
  46273. */
  46274. height?: (number|string);
  46275. /**
  46276. * (Highcharts) When set to `false` will prevent the series data from being
  46277. * included in any form of data export.
  46278. *
  46279. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  46280. * `includeInCSVExport`.
  46281. */
  46282. includeInDataExport?: boolean;
  46283. /**
  46284. * (Highmaps) What property to join the `mapData` to the value data. For
  46285. * example, if joinBy is "code", the mapData items with a specific code is
  46286. * merged into the data with the same code. For maps loaded from GeoJSON,
  46287. * the keys may be held in each point's `properties` object.
  46288. *
  46289. * The joinBy option can also be an array of two values, where the first
  46290. * points to a key in the `mapData`, and the second points to another key in
  46291. * the `data`.
  46292. *
  46293. * When joinBy is `null`, the map items are joined by their position in the
  46294. * array, which performs much better in maps with many data points. This is
  46295. * the recommended option if you are printing more than a thousand data
  46296. * points and have a backend that can preprocess the data into a parallel
  46297. * array of the mapData.
  46298. */
  46299. joinBy?: (string|Array<string>);
  46300. /**
  46301. * (Highcharts) An array specifying which option maps to which key in the
  46302. * data point array. This makes it convenient to work with unstructured data
  46303. * arrays from different sources.
  46304. */
  46305. keys?: Array<string>;
  46306. /**
  46307. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  46308. * series as possible in a natural way, seeking to avoid other series. The
  46309. * goal of this feature is to make the chart more easily readable, like if a
  46310. * human designer placed the labels in the optimal position.
  46311. *
  46312. * The series labels currently work with series types having a `graph` or an
  46313. * `area`.
  46314. */
  46315. label?: SeriesLabelOptionsObject;
  46316. /**
  46317. * (Highstock) The line marks the last price from all points.
  46318. */
  46319. lastPrice?: SeriesLastPriceOptionsObject;
  46320. /**
  46321. * (Highstock) The line marks the last price from visible range of points.
  46322. */
  46323. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  46324. /**
  46325. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  46326. * Additionally, the value can be ":previous" to link to the previous
  46327. * series. When two series are linked, only the first one appears in the
  46328. * legend. Toggling the visibility of this also toggles the linked series.
  46329. *
  46330. * If master series uses data sorting and linked series does not have its
  46331. * own sorting definition, the linked series will be sorted in the same
  46332. * order as the master one.
  46333. */
  46334. linkedTo?: string;
  46335. /**
  46336. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  46337. * column, translated to the height of a bar in a bar chart. This prevents
  46338. * the columns from becoming too wide when there is a small number of points
  46339. * in the chart.
  46340. */
  46341. maxPointWidth?: number;
  46342. /**
  46343. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  46344. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  46345. * to zero) point, set the minimal point length to a pixel value like 3\. In
  46346. * stacked column charts, minPointLength might not be respected for tightly
  46347. * packed values.
  46348. */
  46349. minPointLength?: number;
  46350. /**
  46351. * (Highstock) Options for the corresponding navigator series if
  46352. * `showInNavigator` is `true` for this series. Available options are the
  46353. * same as any series, documented at plotOptions and series.
  46354. *
  46355. * These options are merged with options in navigator.series, and will take
  46356. * precedence if the same option is defined both places.
  46357. */
  46358. navigatorOptions?: PlotSeriesOptions;
  46359. /**
  46360. * (Highcharts) The height of the neck, the lower part of the funnel. A
  46361. * number defines pixel width, a percentage string defines a percentage of
  46362. * the plot area height.
  46363. */
  46364. neckHeight?: (number|string);
  46365. /**
  46366. * (Highcharts) The width of the neck, the lower part of the funnel. A
  46367. * number defines pixel width, a percentage string defines a percentage of
  46368. * the plot area width.
  46369. */
  46370. neckWidth?: (number|string);
  46371. /**
  46372. * (Highcharts) The color for the parts of the graph or points that are
  46373. * below the threshold. Note that `zones` takes precedence over the negative
  46374. * color. Using `negativeColor` is equivalent to applying a zone with value
  46375. * of 0.
  46376. */
  46377. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  46378. /**
  46379. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  46380. * dataLabels.
  46381. */
  46382. opacity?: number;
  46383. /**
  46384. * (Highcharts) Properties for each single point.
  46385. */
  46386. point?: PlotSeriesPointOptions;
  46387. /**
  46388. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  46389. * individual series. Overrides the chart wide configuration.
  46390. */
  46391. pointDescriptionFormatter?: Function;
  46392. /**
  46393. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  46394. * a series, `pointInterval` defines the interval of the x values. For
  46395. * example, if a series contains one value every decade starting from year
  46396. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  46397. * `pointInterval` is set in milliseconds.
  46398. *
  46399. * It can be also be combined with `pointIntervalUnit` to draw irregular
  46400. * time intervals.
  46401. *
  46402. * Please note that this options applies to the _series data_, not the
  46403. * interval of the axis ticks, which is independent.
  46404. */
  46405. pointInterval?: number;
  46406. /**
  46407. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  46408. * setting the pointInterval to irregular time units, `day`, `month` and
  46409. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  46410. * also takes the DST crossover into consideration when dealing with local
  46411. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  46412. * months, 10 years etc.
  46413. *
  46414. * Please note that this options applies to the _series data_, not the
  46415. * interval of the axis ticks, which is independent.
  46416. */
  46417. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  46418. /**
  46419. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  46420. * axis units.
  46421. */
  46422. pointPadding?: number;
  46423. /**
  46424. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  46425. * `number`.
  46426. *
  46427. * In a column chart, when pointPlacement is `"on"`, the point will not
  46428. * create any padding of the X axis. In a polar column chart this means that
  46429. * the first column points directly north. If the pointPlacement is
  46430. * `"between"`, the columns will be laid out between ticks. This is useful
  46431. * for example for visualising an amount between two points in time or in a
  46432. * certain sector of a polar chart.
  46433. *
  46434. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  46435. * is on the axis value, -0.5 is between this value and the previous, and
  46436. * 0.5 is between this value and the next. Unlike the textual options,
  46437. * numeric point placement options won't affect axis padding.
  46438. *
  46439. * Note that pointPlacement needs a pointRange to work. For column series
  46440. * this is computed, but for line-type series it needs to be set.
  46441. *
  46442. * For the `xrange` series type and gantt charts, if the Y axis is a
  46443. * category axis, the `pointPlacement` applies to the Y axis rather than the
  46444. * (typically datetime) X axis.
  46445. *
  46446. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  46447. */
  46448. pointPlacement?: (number|string);
  46449. /**
  46450. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  46451. * for. This determines the width of the column. On a categorized axis, the
  46452. * range will be 1 by default (one category unit). On linear and datetime
  46453. * axes, the range will be computed as the distance between the two closest
  46454. * data points.
  46455. *
  46456. * The default `null` means it is computed automatically, but this option
  46457. * can be used to override the automatic value.
  46458. *
  46459. * This option is set by default to 1 if data sorting is enabled.
  46460. */
  46461. pointRange?: (number|null);
  46462. /**
  46463. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  46464. * a series, pointStart defines on what value to start. For example, if a
  46465. * series contains one yearly value starting from 1945, set pointStart to
  46466. * 1945.
  46467. */
  46468. pointStart?: number;
  46469. /**
  46470. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  46471. * each column or bar point. When set to `undefined`, the width is
  46472. * calculated from the `pointPadding` and `groupPadding`. The width effects
  46473. * the dimension that is not based on the point value. For column series it
  46474. * is the hoizontal length and for bar series it is the vertical length.
  46475. */
  46476. pointWidth?: number;
  46477. /**
  46478. * (Highcharts) A reversed funnel has the widest area down. A reversed
  46479. * funnel with no neck width and neck height is a pyramid.
  46480. */
  46481. reversed?: boolean;
  46482. /**
  46483. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  46484. * true, the checkbox next to the series name in the legend will be checked
  46485. * for a selected series.
  46486. */
  46487. selected?: boolean;
  46488. /**
  46489. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  46490. * the shadow can be an object configuration containing `color`, `offsetX`,
  46491. * `offsetY`, `opacity` and `width`.
  46492. */
  46493. shadow?: (boolean|ShadowOptionsObject);
  46494. /**
  46495. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  46496. * allow selecting the series. The state of the checkbox is determined by
  46497. * the `selected` option.
  46498. */
  46499. showCheckbox?: boolean;
  46500. /**
  46501. * (Highcharts) Whether to display this particular series or series type in
  46502. * the legend. Standalone series are shown in legend by default, and linked
  46503. * series are not. Since v7.2.0 it is possible to show series that use
  46504. * colorAxis by setting this option to `true`.
  46505. */
  46506. showInLegend?: boolean;
  46507. /**
  46508. * (Highstock) Whether or not to show the series in the navigator. Takes
  46509. * precedence over navigator.baseSeries if defined.
  46510. */
  46511. showInNavigator?: boolean;
  46512. /**
  46513. * (Highcharts) If set to `true`, the accessibility module will skip past
  46514. * the points in this series for keyboard navigation.
  46515. */
  46516. skipKeyboardNavigation?: boolean;
  46517. /**
  46518. * (Highcharts, Highstock) When this is true, the series will not cause the
  46519. * Y axis to cross the zero plane (or threshold option) unless the data
  46520. * actually crosses the plane.
  46521. *
  46522. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  46523. * make the Y axis show negative values according to the `minPadding`
  46524. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  46525. */
  46526. softThreshold?: boolean;
  46527. /**
  46528. * (Highcharts, Highstock) Whether to stack the values of each series on top
  46529. * of each other. Possible values are `undefined` to disable, `"normal"` to
  46530. * stack by value or `"percent"`.
  46531. *
  46532. * When stacking is enabled, data must be sorted in ascending X order.
  46533. *
  46534. * Some stacking options are related to specific series types. In the
  46535. * streamgraph series type, the stacking option is set to `"stream"`. The
  46536. * second one is `"overlap"`, which only applies to waterfall series.
  46537. */
  46538. stacking?: OptionsStackingValue;
  46539. states?: SeriesStatesOptionsObject;
  46540. /**
  46541. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  46542. * event on a series isn't triggered until the mouse moves over another
  46543. * series, or out of the plot area. When false, the `mouseOut` event on a
  46544. * series is triggered when the mouse leaves the area around the series'
  46545. * graph or markers. This also implies the tooltip when not shared. When
  46546. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  46547. * be hidden when moving the mouse between series. Defaults to true for line
  46548. * and area type series, but to false for columns, pies etc.
  46549. *
  46550. * **Note:** The boost module will force this option because of technical
  46551. * limitations.
  46552. */
  46553. stickyTracking?: boolean;
  46554. /**
  46555. * (Highcharts) The Y axis value to serve as the base for the columns, for
  46556. * distinguishing between values above and below a threshold. If `null`, the
  46557. * columns extend from the padding Y axis minimum.
  46558. */
  46559. threshold?: (number|null);
  46560. /**
  46561. * (Highcharts) A configuration object for the tooltip rendering of each
  46562. * single series. Properties are inherited from tooltip, but only the
  46563. * following properties can be defined on a series level.
  46564. */
  46565. tooltip?: SeriesTooltipOptionsObject;
  46566. /**
  46567. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  46568. * is longer than this, only one dimensional arrays of numbers, or two
  46569. * dimensional arrays with x and y values are allowed. Also, only the first
  46570. * point is tested, and the rest are assumed to be the same format. This
  46571. * saves expensive data checking and indexing in long series. Set it to `0`
  46572. * disable.
  46573. *
  46574. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  46575. * two dimensional arrays are allowed.
  46576. */
  46577. turboThreshold?: number;
  46578. /**
  46579. * (Highcharts) Set the initial visibility of the series.
  46580. */
  46581. visible?: boolean;
  46582. /**
  46583. * (Highcharts) The max width of the series compared to the width of the
  46584. * plot area, or the pixel width if it is a number.
  46585. */
  46586. width?: (number|string);
  46587. /**
  46588. * (Highmaps) Define the z index of the series.
  46589. */
  46590. zIndex?: number;
  46591. /**
  46592. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  46593. */
  46594. zoneAxis?: string;
  46595. /**
  46596. * (Highcharts, Highstock) An array defining zones within a series. Zones
  46597. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  46598. * the `zoneAxis` option. The zone definitions have to be in ascending order
  46599. * regarding to the value.
  46600. *
  46601. * In styled mode, the color zones are styled with the
  46602. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  46603. * option (view live demo).
  46604. */
  46605. zones?: Array<SeriesZonesOptionsObject>;
  46606. }
  46607. /**
  46608. * (Highcharts) Initial animation is by default disabled for the funnel chart.
  46609. */
  46610. export interface PlotFunnelAnimationOptions {
  46611. defer?: number;
  46612. }
  46613. /**
  46614. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  46615. * animation when a series is displayed for the `dataLabels`. The animation can
  46616. * also be set as a configuration object. Please note that this option only
  46617. * applies to the initial animation. For other animations, see chart.animation
  46618. * and the animation parameter under the API methods. The following properties
  46619. * are supported:
  46620. *
  46621. * - `defer`: The animation delay time in milliseconds.
  46622. */
  46623. export interface PlotFunnelDataLabelsAnimationOptions {
  46624. /**
  46625. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  46626. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  46627. * inherits defer time from the series.animation.defer.
  46628. */
  46629. defer?: number;
  46630. }
  46631. /**
  46632. * (Highcharts) Funnel charts are a type of chart often used to visualize stages
  46633. * in a sales project, where the top are the initial stages with the most
  46634. * clients. It requires that the modules/funnel.js file is loaded.
  46635. *
  46636. * In TypeScript the type option must always be set.
  46637. *
  46638. * Configuration options for the series are given in three levels:
  46639. *
  46640. * 1. Options for all series in a chart are defined in the plotOptions.series
  46641. * object.
  46642. *
  46643. * 2. Options for all `funnel` series are defined in plotOptions.funnel.
  46644. *
  46645. * 3. Options for one single series are given in the series instance array. (see
  46646. * online documentation for example)
  46647. */
  46648. export interface PlotFunnelOptions {
  46649. /**
  46650. * (Highcharts) Accessibility options for a series.
  46651. */
  46652. accessibility?: SeriesAccessibilityOptionsObject;
  46653. /**
  46654. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  46655. * rendered. If `true`, areas which don't correspond to a data point, are
  46656. * rendered as `null` points. If `false`, those areas are skipped.
  46657. */
  46658. allAreas?: boolean;
  46659. /**
  46660. * (Highcharts) Allow this series' points to be selected by clicking on the
  46661. * graphic (columns, point markers, pie slices, map areas etc).
  46662. *
  46663. * The selected points can be handled by point select and unselect events,
  46664. * or collectively by the getSelectedPoints function.
  46665. *
  46666. * And alternative way of selecting points is through dragging.
  46667. */
  46668. allowPointSelect?: boolean;
  46669. /**
  46670. * (Highcharts) Initial animation is by default disabled for the funnel
  46671. * chart.
  46672. */
  46673. animation?: (boolean|PlotFunnelAnimationOptions);
  46674. /**
  46675. * (Highcharts) The color of the border surrounding each slice. When `null`,
  46676. * the border takes the same color as the slice fill. This can be used
  46677. * together with a `borderWidth` to fill drawing gaps created by
  46678. * antialiazing artefacts in borderless pies.
  46679. *
  46680. * In styled mode, the border stroke is given in the `.highcharts-point`
  46681. * class.
  46682. */
  46683. borderColor?: (ColorString|GradientColorObject|PatternObject);
  46684. /**
  46685. * (Highcharts) The width of the border surrounding each slice.
  46686. *
  46687. * When setting the border width to 0, there may be small gaps between the
  46688. * slices due to SVG antialiasing artefacts. To work around this, keep the
  46689. * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
  46690. *
  46691. * In styled mode, the border stroke width is given in the
  46692. * `.highcharts-point` class.
  46693. */
  46694. borderWidth?: number;
  46695. /**
  46696. * (Highcharts) The center of the series. By default, it is centered in the
  46697. * middle of the plot area, so it fills the plot area height.
  46698. */
  46699. center?: Array<(number|string)>;
  46700. /**
  46701. * (Highcharts) An additional class name to apply to the series' graphical
  46702. * elements. This option does not replace default class names of the
  46703. * graphical element.
  46704. */
  46705. className?: string;
  46706. /**
  46707. * (Highcharts) Disable this option to allow series rendering in the whole
  46708. * plotting area.
  46709. *
  46710. * **Note:** Clipping should be always enabled when chart.zoomType is set
  46711. */
  46712. clip?: boolean;
  46713. /**
  46714. * (Highcharts) The color of the pie series. A pie series is represented as
  46715. * an empty circle if the total sum of its values is 0. Use this property to
  46716. * define the color of its border.
  46717. *
  46718. * In styled mode, the color can be defined by the colorIndex option. Also,
  46719. * the series color can be set with the `.highcharts-series`,
  46720. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  46721. * `.highcharts-series-{n}` class, or individual classes given by the
  46722. * `className` option.
  46723. */
  46724. color?: (ColorString|GradientColorObject|PatternObject);
  46725. /**
  46726. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  46727. * this number defines which colorAxis the particular series is connected
  46728. * to. It refers to either the axis id or the index of the axis in the
  46729. * colorAxis array, with 0 being the first. Set this option to false to
  46730. * prevent a series from connecting to the default color axis.
  46731. *
  46732. * Since v7.2.0 the option can also be an axis id or an axis index instead
  46733. * of a boolean flag.
  46734. */
  46735. colorAxis?: (boolean|number|string);
  46736. /**
  46737. * (Highcharts) Styled mode only. A specific color index to use for the
  46738. * series, so its graphic representations are given the class name
  46739. * `highcharts-color-{n}`.
  46740. */
  46741. colorIndex?: number;
  46742. /**
  46743. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  46744. * used to calculate point color if `colorAxis` is used. Requires to set
  46745. * `min` and `max` if some custom point property is used or if approximation
  46746. * for data grouping is set to `'sum'`.
  46747. */
  46748. colorKey?: string;
  46749. /**
  46750. * (Highcharts) A series specific or series type specific color set to use
  46751. * instead of the global colors.
  46752. */
  46753. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  46754. /**
  46755. * (Highstock) Compare the values of the series against the first non-null,
  46756. * non- zero value in the visible range. The y axis will show percentage or
  46757. * absolute change depending on whether `compare` is set to `"percent"` or
  46758. * `"value"`. When this is applied to multiple series, it allows comparing
  46759. * the development of the series against each other. Adds a `change` field
  46760. * to every point object.
  46761. */
  46762. compare?: string;
  46763. /**
  46764. * (Highstock) When compare is `percent`, this option dictates whether to
  46765. * use 0 or 100 as the base of comparison.
  46766. */
  46767. compareBase?: (0|100);
  46768. /**
  46769. * (Highstock) Defines if comparison should start from the first point
  46770. * within the visible range or should start from the first point **before**
  46771. * the range.
  46772. *
  46773. * In other words, this flag determines if first point within the visible
  46774. * range will have 0% (`compareStart=true`) or should have been already
  46775. * calculated according to the previous point (`compareStart=false`).
  46776. */
  46777. compareStart?: boolean;
  46778. /**
  46779. * (Gantt) Override Pathfinder connector options for a series. Requires
  46780. * Highcharts Gantt to be loaded.
  46781. */
  46782. connectors?: SeriesConnectorsOptionsObject;
  46783. /**
  46784. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  46785. * rounded to its nearest pixel in order to render sharp on screen. In some
  46786. * cases, when there are a lot of densely packed columns, this leads to
  46787. * visible difference in column widths or distance between columns. In these
  46788. * cases, setting `crisp` to `false` may look better, even though each
  46789. * column is rendered blurry.
  46790. */
  46791. crisp?: boolean;
  46792. /**
  46793. * (Highcharts) You can set the cursor to "pointer" if you have click events
  46794. * attached to the series, to signal to the user that the points and lines
  46795. * can be clicked.
  46796. *
  46797. * In styled mode, the series cursor can be set with the same classes as
  46798. * listed under series.color.
  46799. */
  46800. cursor?: (string|CursorValue);
  46801. /**
  46802. * (Highcharts) A reserved subspace to store options and values for
  46803. * customized functionality. Here you can add additional data for your own
  46804. * event callbacks and formatter callbacks.
  46805. */
  46806. custom?: Dictionary<any>;
  46807. /**
  46808. * (Highstock) Data grouping is the concept of sampling the data values into
  46809. * larger blocks in order to ease readability and increase performance of
  46810. * the JavaScript charts. Highcharts Stock by default applies data grouping
  46811. * when the points become closer than a certain pixel value, determined by
  46812. * the `groupPixelWidth` option.
  46813. *
  46814. * If data grouping is applied, the grouping information of grouped points
  46815. * can be read from the Point.dataGroup. If point options other than the
  46816. * data itself are set, for example `name` or `color` or custom properties,
  46817. * the grouping logic doesn't know how to group it. In this case the options
  46818. * of the first point instance are copied over to the group point. This can
  46819. * be altered through a custom `approximation` callback function.
  46820. */
  46821. dataGrouping?: DataGroupingOptionsObject;
  46822. /**
  46823. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  46824. * labels, appearing next to each data point.
  46825. *
  46826. * Since v6.2.0, multiple data labels can be applied to each single point by
  46827. * defining them as an array of configs.
  46828. *
  46829. * In styled mode, the data labels can be styled with the
  46830. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  46831. * (see example).
  46832. */
  46833. dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
  46834. /**
  46835. * (Highcharts) The thickness of a 3D pie.
  46836. */
  46837. depth?: number;
  46838. /**
  46839. * (Highcharts) A description of the series to add to the screen reader
  46840. * information about the series.
  46841. */
  46842. description?: string;
  46843. /**
  46844. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  46845. * This includes point tooltips and click events on graphs and points. For
  46846. * large datasets it improves performance.
  46847. */
  46848. enableMouseTracking?: boolean;
  46849. /**
  46850. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  46851. * right. Defaults to `startAngle` plus 360.
  46852. */
  46853. endAngle?: number;
  46854. /**
  46855. * (Highcharts) General event handlers for the series items. These event
  46856. * hooks can also be attached to the series at run time using the
  46857. * `Highcharts.addEvent` function.
  46858. */
  46859. events?: SeriesEventsOptionsObject;
  46860. /**
  46861. * (Highcharts) If the total sum of the pie's values is 0, the series is
  46862. * represented as an empty circle . The `fillColor` option defines the color
  46863. * of that circle. Use pie.borderWidth to set the border thickness.
  46864. */
  46865. fillColor?: (ColorString|GradientColorObject|PatternObject);
  46866. /**
  46867. * (Highstock) Defines when to display a gap in the graph, together with the
  46868. * gapUnit option.
  46869. *
  46870. * In case when `dataGrouping` is enabled, points can be grouped into a
  46871. * larger time span. This can make the grouped points to have a greater
  46872. * distance than the absolute value of `gapSize` property, which will result
  46873. * in disappearing graph completely. To prevent this situation the mentioned
  46874. * distance between grouped points is used instead of previously defined
  46875. * `gapSize`.
  46876. *
  46877. * In practice, this option is most often used to visualize gaps in time
  46878. * series. In a stock chart, intraday data is available for daytime hours,
  46879. * while gaps will appear in nights and weekends.
  46880. */
  46881. gapSize?: number;
  46882. /**
  46883. * (Highstock) Together with gapSize, this option defines where to draw gaps
  46884. * in the graph.
  46885. *
  46886. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  46887. * if the distance between two points is greater than 5 times that of the
  46888. * two closest points, the graph will be broken.
  46889. *
  46890. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  46891. * values, which on a datetime axis is milliseconds. This also applies to
  46892. * the navigator series that inherits gap options from the base series.
  46893. */
  46894. gapUnit?: OptionsGapUnitValue;
  46895. /**
  46896. * (Highcharts) The height of the funnel or pyramid. If it is a number it
  46897. * defines the pixel height, if it is a percentage string it is the
  46898. * percentage of the plot area height.
  46899. */
  46900. height?: (number|string);
  46901. /**
  46902. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  46903. * whether the series shall be redrawn as if the hidden point were `null`.
  46904. *
  46905. * The default value changed from `false` to `true` with Highcharts 3.0.
  46906. */
  46907. ignoreHiddenPoint?: boolean;
  46908. /**
  46909. * (Highcharts) When set to `false` will prevent the series data from being
  46910. * included in any form of data export.
  46911. *
  46912. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  46913. * `includeInCSVExport`.
  46914. */
  46915. includeInDataExport?: boolean;
  46916. /**
  46917. * (Highmaps) What property to join the `mapData` to the value data. For
  46918. * example, if joinBy is "code", the mapData items with a specific code is
  46919. * merged into the data with the same code. For maps loaded from GeoJSON,
  46920. * the keys may be held in each point's `properties` object.
  46921. *
  46922. * The joinBy option can also be an array of two values, where the first
  46923. * points to a key in the `mapData`, and the second points to another key in
  46924. * the `data`.
  46925. *
  46926. * When joinBy is `null`, the map items are joined by their position in the
  46927. * array, which performs much better in maps with many data points. This is
  46928. * the recommended option if you are printing more than a thousand data
  46929. * points and have a backend that can preprocess the data into a parallel
  46930. * array of the mapData.
  46931. */
  46932. joinBy?: (string|Array<string>);
  46933. /**
  46934. * (Highcharts) An array specifying which option maps to which key in the
  46935. * data point array. This makes it convenient to work with unstructured data
  46936. * arrays from different sources.
  46937. */
  46938. keys?: Array<string>;
  46939. /**
  46940. * (Highstock) The line marks the last price from all points.
  46941. */
  46942. lastPrice?: SeriesLastPriceOptionsObject;
  46943. /**
  46944. * (Highstock) The line marks the last price from visible range of points.
  46945. */
  46946. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  46947. /**
  46948. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  46949. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  46950. * the ends and bends.
  46951. */
  46952. linecap?: SeriesLinecapValue;
  46953. /**
  46954. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  46955. * Additionally, the value can be ":previous" to link to the previous
  46956. * series. When two series are linked, only the first one appears in the
  46957. * legend. Toggling the visibility of this also toggles the linked series.
  46958. *
  46959. * If master series uses data sorting and linked series does not have its
  46960. * own sorting definition, the linked series will be sorted in the same
  46961. * order as the master one.
  46962. */
  46963. linkedTo?: string;
  46964. /**
  46965. * (Highcharts) The minimum size for a pie in response to auto margins. The
  46966. * pie will try to shrink to make room for data labels in side the plot
  46967. * area, but only to this size.
  46968. */
  46969. minSize?: (number|string);
  46970. /**
  46971. * (Highstock) Options for the corresponding navigator series if
  46972. * `showInNavigator` is `true` for this series. Available options are the
  46973. * same as any series, documented at plotOptions and series.
  46974. *
  46975. * These options are merged with options in navigator.series, and will take
  46976. * precedence if the same option is defined both places.
  46977. */
  46978. navigatorOptions?: PlotSeriesOptions;
  46979. /**
  46980. * (Highcharts) The height of the neck, the lower part of the funnel. A
  46981. * number defines pixel width, a percentage string defines a percentage of
  46982. * the plot area height.
  46983. */
  46984. neckHeight?: (number|string);
  46985. /**
  46986. * (Highcharts) The width of the neck, the lower part of the funnel. A
  46987. * number defines pixel width, a percentage string defines a percentage of
  46988. * the plot area width.
  46989. */
  46990. neckWidth?: (number|string);
  46991. /**
  46992. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  46993. * dataLabels.
  46994. */
  46995. opacity?: number;
  46996. /**
  46997. * (Highcharts) Properties for each single point.
  46998. */
  46999. point?: PlotSeriesPointOptions;
  47000. /**
  47001. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  47002. * individual series. Overrides the chart wide configuration.
  47003. */
  47004. pointDescriptionFormatter?: Function;
  47005. /**
  47006. * (Highstock) The width of each point on the x axis. For example in a
  47007. * column chart with one value each day, the pointRange would be 1 day (= 24
  47008. * * 3600
  47009. *
  47010. * * 1000 milliseconds). This is normally computed automatically, but this
  47011. * option can be used to override the automatic value.
  47012. */
  47013. pointRange?: number;
  47014. /**
  47015. * (Highcharts) A reversed funnel has the widest area down. A reversed
  47016. * funnel with no neck width and neck height is a pyramid.
  47017. */
  47018. reversed?: boolean;
  47019. /**
  47020. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  47021. * true, the checkbox next to the series name in the legend will be checked
  47022. * for a selected series.
  47023. */
  47024. selected?: boolean;
  47025. /**
  47026. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  47027. * the shadow can be an object configuration containing `color`, `offsetX`,
  47028. * `offsetY`, `opacity` and `width`.
  47029. */
  47030. shadow?: (boolean|ShadowOptionsObject);
  47031. /**
  47032. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  47033. * allow selecting the series. The state of the checkbox is determined by
  47034. * the `selected` option.
  47035. */
  47036. showCheckbox?: boolean;
  47037. /**
  47038. * (Highcharts) Whether to display this particular series or series type in
  47039. * the legend. Since 2.1, pies are not shown in the legend by default.
  47040. */
  47041. showInLegend?: boolean;
  47042. /**
  47043. * (Highstock) Whether or not to show the series in the navigator. Takes
  47044. * precedence over navigator.baseSeries if defined.
  47045. */
  47046. showInNavigator?: boolean;
  47047. /**
  47048. * (Highcharts) If set to `true`, the accessibility module will skip past
  47049. * the points in this series for keyboard navigation.
  47050. */
  47051. skipKeyboardNavigation?: boolean;
  47052. /**
  47053. * (Highcharts) If a point is sliced, moved out from the center, how many
  47054. * pixels should it be moved?.
  47055. */
  47056. slicedOffset?: number;
  47057. /**
  47058. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  47059. * and 90 right.
  47060. */
  47061. startAngle?: number;
  47062. /**
  47063. * (Highcharts) Options for the series states.
  47064. */
  47065. states?: SeriesStatesOptionsObject;
  47066. /**
  47067. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  47068. * event on a series isn't triggered until the mouse moves over another
  47069. * series, or out of the plot area. When false, the `mouseOut` event on a
  47070. * series is triggered when the mouse leaves the area around the series'
  47071. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  47072. * false and `tooltip.shared` is false, the tooltip will be hidden when
  47073. * moving the mouse between series.
  47074. */
  47075. stickyTracking?: boolean;
  47076. /**
  47077. * (Highcharts) A configuration object for the tooltip rendering of each
  47078. * single series. Properties are inherited from tooltip, but only the
  47079. * following properties can be defined on a series level.
  47080. */
  47081. tooltip?: SeriesTooltipOptionsObject;
  47082. /**
  47083. * (Highstock) The parameter allows setting line series type and use OHLC
  47084. * indicators. Data in OHLC format is required.
  47085. */
  47086. useOhlcData?: boolean;
  47087. /**
  47088. * (Highcharts) Set the initial visibility of the series.
  47089. */
  47090. visible?: boolean;
  47091. /**
  47092. * (Highcharts) The width of the funnel compared to the width of the plot
  47093. * area, or the pixel width if it is a number.
  47094. */
  47095. width?: (number|string);
  47096. /**
  47097. * (Highmaps) Define the z index of the series.
  47098. */
  47099. zIndex?: number;
  47100. }
  47101. /**
  47102. * (Gantt) Enable or disable the initial animation when a series is displayed.
  47103. * The animation can also be set as a configuration object. Please note that
  47104. * this option only applies to the initial animation of the series itself. For
  47105. * other animations, see chart.animation and the animation parameter under the
  47106. * API methods. The following properties are supported:
  47107. *
  47108. * - `defer`: The animation delay time in milliseconds.
  47109. *
  47110. * - `duration`: The duration of the animation in milliseconds.
  47111. *
  47112. * - `easing`: Can be a string reference to an easing function set on the `Math`
  47113. * object or a function. See the _Custom easing function_ demo below.
  47114. *
  47115. * Due to poor performance, animation is disabled in old IE browsers for several
  47116. * chart types.
  47117. */
  47118. export interface PlotGanttAnimationOptions {
  47119. defer?: number;
  47120. }
  47121. /**
  47122. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  47123. * animation when a series is displayed for the `dataLabels`. The animation can
  47124. * also be set as a configuration object. Please note that this option only
  47125. * applies to the initial animation. For other animations, see chart.animation
  47126. * and the animation parameter under the API methods. The following properties
  47127. * are supported:
  47128. *
  47129. * - `defer`: The animation delay time in milliseconds.
  47130. */
  47131. export interface PlotGanttDataLabelsAnimationOptions {
  47132. /**
  47133. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  47134. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  47135. * inherits defer time from the series.animation.defer.
  47136. */
  47137. defer?: number;
  47138. }
  47139. /**
  47140. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  47141. * appearing next to each data point.
  47142. *
  47143. * Since v6.2.0, multiple data labels can be applied to each single point by
  47144. * defining them as an array of configs.
  47145. *
  47146. * In styled mode, the data labels can be styled with the
  47147. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  47148. * example).
  47149. */
  47150. export interface PlotGanttDataLabelsOptions {
  47151. /**
  47152. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  47153. * compared to the point. If `right`, the right side of the label should be
  47154. * touching the point. For points with an extent, like columns, the
  47155. * alignments also dictates how to align it inside the box, as given with
  47156. * the inside option. Can be one of `left`, `center` or `right`.
  47157. */
  47158. align?: string;
  47159. /**
  47160. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  47161. * overlap. To make the labels less sensitive for overlapping, the
  47162. * dataLabels.padding can be set to 0.
  47163. */
  47164. allowOverlap?: boolean;
  47165. /**
  47166. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  47167. * animation when a series is displayed for the `dataLabels`. The animation
  47168. * can also be set as a configuration object. Please note that this option
  47169. * only applies to the initial animation. For other animations, see
  47170. * chart.animation and the animation parameter under the API methods. The
  47171. * following properties are supported:
  47172. *
  47173. * - `defer`: The animation delay time in milliseconds.
  47174. */
  47175. animation?: (boolean|PlotGanttDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  47176. /**
  47177. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  47178. * for the data label.
  47179. */
  47180. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  47181. /**
  47182. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  47183. * label. Defaults to `undefined`.
  47184. */
  47185. borderColor?: (ColorString|GradientColorObject|PatternObject);
  47186. /**
  47187. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  47188. * the data label.
  47189. */
  47190. borderRadius?: number;
  47191. /**
  47192. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  47193. * the data label.
  47194. */
  47195. borderWidth?: number;
  47196. /**
  47197. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  47198. * Particularly in styled mode, this can be used to give each series' or
  47199. * point's data label unique styling. In addition to this option, a default
  47200. * color class name is added so that we can give the labels a contrast text
  47201. * shadow.
  47202. */
  47203. className?: string;
  47204. /**
  47205. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  47206. * labels. Defaults to `undefined`. For certain series types, like column or
  47207. * map, the data labels can be drawn inside the points. In this case the
  47208. * data label will be drawn with maximum contrast by default. Additionally,
  47209. * it will be given a `text-outline` style with the opposite color, to
  47210. * further increase the contrast. This can be overridden by setting the
  47211. * `text-outline` style to `none` in the `dataLabels.style` option.
  47212. */
  47213. color?: (ColorString|GradientColorObject|PatternObject);
  47214. /**
  47215. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  47216. * are outside the plot area. By default, the data label is moved inside the
  47217. * plot area according to the overflow option.
  47218. */
  47219. crop?: boolean;
  47220. /**
  47221. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  47222. * labels until the initial series animation has finished. Setting to
  47223. * `false` renders the data label immediately. If set to `true` inherits the
  47224. * defer time set in plotOptions.series.animation. If set to a number, a
  47225. * defer time is specified in milliseconds.
  47226. */
  47227. defer?: (boolean|number);
  47228. /**
  47229. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  47230. * labels.
  47231. */
  47232. enabled?: boolean;
  47233. /**
  47234. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  47235. * of which data labels to display. The declarative filter is designed for
  47236. * use when callback functions are not available, like when the chart
  47237. * options require a pure JSON structure or for use with graphical editors.
  47238. * For programmatic control, use the `formatter` instead, and return
  47239. * `undefined` to disable a single data label.
  47240. */
  47241. filter?: DataLabelsFilterOptionsObject;
  47242. /**
  47243. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  47244. * label. Available variables are the same as for `formatter`.
  47245. */
  47246. format?: string;
  47247. /**
  47248. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  47249. * format the data label. Note that if a `format` is defined, the format
  47250. * takes precedence and the formatter is ignored.
  47251. */
  47252. formatter?: DataLabelsFormatterCallbackFunction;
  47253. /**
  47254. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  47255. * columns or map areas, whether to align the data label inside the box or
  47256. * to the actual value point. Defaults to `false` in most cases, `true` in
  47257. * stacked columns.
  47258. */
  47259. inside?: boolean;
  47260. /**
  47261. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  47262. * of null. Works analogously to format. `nullFormat` can be applied only to
  47263. * series which support displaying null points.
  47264. */
  47265. nullFormat?: (boolean|string);
  47266. /**
  47267. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  47268. * that defines formatting for points with the value of null. Works
  47269. * analogously to formatter. `nullPointFormatter` can be applied only to
  47270. * series which support displaying null points.
  47271. */
  47272. nullFormatter?: DataLabelsFormatterCallbackFunction;
  47273. /**
  47274. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  47275. * flow outside the plot area. The default is `"justify"`, which aligns them
  47276. * inside the plot area. For columns and bars, this means it will be moved
  47277. * inside the bar. To display data labels outside the plot area, set `crop`
  47278. * to `false` and `overflow` to `"allow"`.
  47279. */
  47280. overflow?: DataLabelsOverflowValue;
  47281. /**
  47282. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  47283. * the `backgroundColor` is set, this is the padding within the box.
  47284. */
  47285. padding?: number;
  47286. /**
  47287. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  47288. * points. If `center` alignment is not possible, it defaults to `right`.
  47289. */
  47290. position?: AlignValue;
  47291. /**
  47292. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  47293. * that due to a more complex structure, backgrounds, borders and padding
  47294. * will be lost on a rotated data label.
  47295. */
  47296. rotation?: number;
  47297. /**
  47298. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  47299. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  47300. * an object configuration containing `color`, `offsetX`, `offsetY`,
  47301. * `opacity` and `width`.
  47302. */
  47303. shadow?: (boolean|ShadowOptionsObject);
  47304. /**
  47305. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  47306. * the border around the label. Symbols are predefined functions on the
  47307. * Renderer object.
  47308. */
  47309. shape?: string;
  47310. /**
  47311. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  47312. * default `color` setting is `"contrast"`, which is a pseudo color that
  47313. * Highcharts picks up and applies the maximum contrast to the underlying
  47314. * point item, for example the bar in a bar chart.
  47315. *
  47316. * The `textOutline` is a pseudo property that applies an outline of the
  47317. * given width with the given color, which by default is the maximum
  47318. * contrast to the text. So a bright text color will result in a black text
  47319. * outline for maximum readability on a mixed background. In some cases,
  47320. * especially with grayscale text, the text outline doesn't work well, in
  47321. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  47322. * is true, the `textOutline` will not be picked up. In this, case, the same
  47323. * effect can be acheived through the `text-shadow` CSS property.
  47324. *
  47325. * For some series types, where each point has an extent, like for example
  47326. * tree maps, the data label may overflow the point. There are two
  47327. * strategies for handling overflow. By default, the text will wrap to
  47328. * multiple lines. The other strategy is to set `style.textOverflow` to
  47329. * `ellipsis`, which will keep the text on one line plus it will break
  47330. * inside long words.
  47331. */
  47332. style?: CSSObject;
  47333. /**
  47334. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  47335. * should follow marker's shape. Border and background are disabled for a
  47336. * label that follows a path.
  47337. *
  47338. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  47339. * to true will disable this option.
  47340. */
  47341. textPath?: DataLabelsTextPathOptionsObject;
  47342. /**
  47343. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  47344. * the labels.
  47345. */
  47346. useHTML?: boolean;
  47347. /**
  47348. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  47349. * label. Can be one of `top`, `middle` or `bottom`. The default value
  47350. * depends on the data, for instance in a column chart, the label is above
  47351. * positive values and below negative values.
  47352. */
  47353. verticalAlign?: string;
  47354. /**
  47355. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  47356. * label relative to the point in pixels.
  47357. */
  47358. x?: number;
  47359. /**
  47360. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  47361. * label relative to the point in pixels.
  47362. */
  47363. y?: number;
  47364. /**
  47365. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  47366. * The default Z index puts it above the series. Use a Z index of 2 to
  47367. * display it behind the series.
  47368. */
  47369. z?: number;
  47370. }
  47371. /**
  47372. * (Gantt) Style options for the guide box. The guide box has one state by
  47373. * default, the `default` state.
  47374. */
  47375. export interface PlotGanttDragDropGuideBoxOptions {
  47376. /**
  47377. * (Gantt) Style options for the guide box default state.
  47378. */
  47379. default?: DragDropGuideBoxOptionsObject;
  47380. }
  47381. /**
  47382. * (Gantt) A `gantt` series. If the type option is not specified, it is
  47383. * inherited from chart.type.
  47384. *
  47385. * In TypeScript the type option must always be set.
  47386. *
  47387. * Configuration options for the series are given in three levels:
  47388. *
  47389. * 1. Options for all series in a chart are defined in the plotOptions.series
  47390. * object.
  47391. *
  47392. * 2. Options for all `gantt` series are defined in plotOptions.gantt.
  47393. *
  47394. * 3. Options for one single series are given in the series instance array. (see
  47395. * online documentation for example)
  47396. */
  47397. export interface PlotGanttOptions {
  47398. /**
  47399. * (Gantt) Accessibility options for a series.
  47400. */
  47401. accessibility?: SeriesAccessibilityOptionsObject;
  47402. /**
  47403. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  47404. * rendered. If `true`, areas which don't correspond to a data point, are
  47405. * rendered as `null` points. If `false`, those areas are skipped.
  47406. */
  47407. allAreas?: boolean;
  47408. /**
  47409. * (Gantt) Allow this series' points to be selected by clicking on the
  47410. * graphic (columns, point markers, pie slices, map areas etc).
  47411. *
  47412. * The selected points can be handled by point select and unselect events,
  47413. * or collectively by the getSelectedPoints function.
  47414. *
  47415. * And alternative way of selecting points is through dragging.
  47416. */
  47417. allowPointSelect?: boolean;
  47418. /**
  47419. * (Gantt) Enable or disable the initial animation when a series is
  47420. * displayed. The animation can also be set as a configuration object.
  47421. * Please note that this option only applies to the initial animation of the
  47422. * series itself. For other animations, see chart.animation and the
  47423. * animation parameter under the API methods. The following properties are
  47424. * supported:
  47425. *
  47426. * - `defer`: The animation delay time in milliseconds.
  47427. *
  47428. * - `duration`: The duration of the animation in milliseconds.
  47429. *
  47430. * - `easing`: Can be a string reference to an easing function set on the
  47431. * `Math` object or a function. See the _Custom easing function_ demo below.
  47432. *
  47433. * Due to poor performance, animation is disabled in old IE browsers for
  47434. * several chart types.
  47435. */
  47436. animation?: (boolean|PlotGanttAnimationOptions|Partial<AnimationOptionsObject>);
  47437. /**
  47438. * (Gantt) For some series, there is a limit that shuts down initial
  47439. * animation by default when the total number of points in the chart is too
  47440. * high. For example, for a column chart and its derivatives, animation does
  47441. * not run if there is more than 250 points totally. To disable this cap,
  47442. * set `animationLimit` to `Infinity`.
  47443. */
  47444. animationLimit?: number;
  47445. /**
  47446. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  47447. * column or bar.
  47448. *
  47449. * In styled mode, the border stroke can be set with the `.highcharts-point`
  47450. * rule.
  47451. */
  47452. borderColor?: (ColorString|GradientColorObject|PatternObject);
  47453. /**
  47454. * (Highcharts, Highstock, Gantt) The corner radius of the border
  47455. * surrounding each column or bar.
  47456. */
  47457. borderRadius?: number;
  47458. /**
  47459. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  47460. * column or bar. Defaults to `1` when there is room for a border, but to
  47461. * `0` when the columns are so dense that a border would cover the next
  47462. * column.
  47463. *
  47464. * In styled mode, the stroke width can be set with the `.highcharts-point`
  47465. * rule.
  47466. */
  47467. borderWidth?: number;
  47468. /**
  47469. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  47470. * the category, ignoring null or missing points. When `false`, space will
  47471. * be reserved for null or missing points.
  47472. */
  47473. centerInCategory?: boolean;
  47474. /**
  47475. * (Gantt) An additional class name to apply to the series' graphical
  47476. * elements. This option does not replace default class names of the
  47477. * graphical element.
  47478. */
  47479. className?: string;
  47480. /**
  47481. * (Gantt) Disable this option to allow series rendering in the whole
  47482. * plotting area.
  47483. *
  47484. * **Note:** Clipping should be always enabled when chart.zoomType is set
  47485. */
  47486. clip?: boolean;
  47487. /**
  47488. * (Gantt) The main color of the series. In line type series it applies to
  47489. * the line and the point markers unless otherwise specified. In bar type
  47490. * series it applies to the bars unless a color is specified per point. The
  47491. * default value is pulled from the `options.colors` array.
  47492. *
  47493. * In styled mode, the color can be defined by the colorIndex option. Also,
  47494. * the series color can be set with the `.highcharts-series`,
  47495. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  47496. * `.highcharts-series-{n}` class, or individual classes given by the
  47497. * `className` option.
  47498. */
  47499. color?: (ColorString|GradientColorObject|PatternObject);
  47500. /**
  47501. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  47502. * this number defines which colorAxis the particular series is connected
  47503. * to. It refers to either the axis id or the index of the axis in the
  47504. * colorAxis array, with 0 being the first. Set this option to false to
  47505. * prevent a series from connecting to the default color axis.
  47506. *
  47507. * Since v7.2.0 the option can also be an axis id or an axis index instead
  47508. * of a boolean flag.
  47509. */
  47510. colorAxis?: (boolean|number|string);
  47511. /**
  47512. * (Highcharts, Highstock, Gantt) In an X-range series, this option makes
  47513. * all points of the same Y-axis category the same color.
  47514. */
  47515. colorByPoint?: boolean;
  47516. /**
  47517. * (Gantt) Styled mode only. A specific color index to use for the series,
  47518. * so its graphic representations are given the class name
  47519. * `highcharts-color-{n}`.
  47520. */
  47521. colorIndex?: number;
  47522. /**
  47523. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  47524. * used to calculate point color if `colorAxis` is used. Requires to set
  47525. * `min` and `max` if some custom point property is used or if approximation
  47526. * for data grouping is set to `'sum'`.
  47527. */
  47528. colorKey?: string;
  47529. /**
  47530. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  47531. * color set to apply instead of the global colors when colorByPoint is
  47532. * true.
  47533. */
  47534. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  47535. /**
  47536. * (Highstock) Compare the values of the series against the first non-null,
  47537. * non- zero value in the visible range. The y axis will show percentage or
  47538. * absolute change depending on whether `compare` is set to `"percent"` or
  47539. * `"value"`. When this is applied to multiple series, it allows comparing
  47540. * the development of the series against each other. Adds a `change` field
  47541. * to every point object.
  47542. */
  47543. compare?: string;
  47544. /**
  47545. * (Highstock) When compare is `percent`, this option dictates whether to
  47546. * use 0 or 100 as the base of comparison.
  47547. */
  47548. compareBase?: (0|100);
  47549. /**
  47550. * (Highstock) Defines if comparison should start from the first point
  47551. * within the visible range or should start from the first point **before**
  47552. * the range.
  47553. *
  47554. * In other words, this flag determines if first point within the visible
  47555. * range will have 0% (`compareStart=true`) or should have been already
  47556. * calculated according to the previous point (`compareStart=false`).
  47557. */
  47558. compareStart?: boolean;
  47559. /**
  47560. * (Gantt) Override Pathfinder connector options for a series. Requires
  47561. * Highcharts Gantt to be loaded.
  47562. */
  47563. connectors?: SeriesConnectorsOptionsObject;
  47564. /**
  47565. * (Gantt) You can set the cursor to "pointer" if you have click events
  47566. * attached to the series, to signal to the user that the points and lines
  47567. * can be clicked.
  47568. *
  47569. * In styled mode, the series cursor can be set with the same classes as
  47570. * listed under series.color.
  47571. */
  47572. cursor?: (string|CursorValue);
  47573. /**
  47574. * (Gantt) A reserved subspace to store options and values for customized
  47575. * functionality. Here you can add additional data for your own event
  47576. * callbacks and formatter callbacks.
  47577. */
  47578. custom?: Dictionary<any>;
  47579. /**
  47580. * (Gantt) Name of the dash style to use for the graph, or for some series
  47581. * types the outline of each shape.
  47582. *
  47583. * In styled mode, the stroke dash-array can be set with the same classes as
  47584. * listed under series.color.
  47585. */
  47586. dashStyle?: DashStyleValue;
  47587. /**
  47588. * (Highstock) Data grouping is the concept of sampling the data values into
  47589. * larger blocks in order to ease readability and increase performance of
  47590. * the JavaScript charts. Highcharts Stock by default applies data grouping
  47591. * when the points become closer than a certain pixel value, determined by
  47592. * the `groupPixelWidth` option.
  47593. *
  47594. * If data grouping is applied, the grouping information of grouped points
  47595. * can be read from the Point.dataGroup. If point options other than the
  47596. * data itself are set, for example `name` or `color` or custom properties,
  47597. * the grouping logic doesn't know how to group it. In this case the options
  47598. * of the first point instance are copied over to the group point. This can
  47599. * be altered through a custom `approximation` callback function.
  47600. */
  47601. dataGrouping?: DataGroupingOptionsObject;
  47602. /**
  47603. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  47604. * labels, appearing next to each data point.
  47605. *
  47606. * Since v6.2.0, multiple data labels can be applied to each single point by
  47607. * defining them as an array of configs.
  47608. *
  47609. * In styled mode, the data labels can be styled with the
  47610. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  47611. * (see example).
  47612. */
  47613. dataLabels?: (PlotGanttDataLabelsOptions|Array<PlotGanttDataLabelsOptions>);
  47614. /**
  47615. * (Gantt) A description of the series to add to the screen reader
  47616. * information about the series.
  47617. */
  47618. description?: string;
  47619. /**
  47620. * (Gantt) The draggable-points module allows points to be moved around or
  47621. * modified in the chart. In addition to the options mentioned under the
  47622. * `dragDrop` API structure, the module fires three events, point.dragStart,
  47623. * point.drag and point.drop.
  47624. */
  47625. dragDrop?: SeriesDragDropOptionsObject;
  47626. /**
  47627. * (Gantt) Enable or disable the mouse tracking for a specific series. This
  47628. * includes point tooltips and click events on graphs and points. For large
  47629. * datasets it improves performance.
  47630. */
  47631. enableMouseTracking?: boolean;
  47632. /**
  47633. * (Gantt) General event handlers for the series items. These event hooks
  47634. * can also be attached to the series at run time using the
  47635. * `Highcharts.addEvent` function.
  47636. */
  47637. events?: SeriesEventsOptionsObject;
  47638. /**
  47639. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  47640. * let them render independent of each other. Non-grouped columns will be
  47641. * laid out individually and overlap each other.
  47642. */
  47643. grouping?: boolean;
  47644. /**
  47645. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  47646. * axis units.
  47647. */
  47648. groupPadding?: number;
  47649. /**
  47650. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  47651. */
  47652. groupZPadding?: number;
  47653. /**
  47654. * (Gantt) When set to `false` will prevent the series data from being
  47655. * included in any form of data export.
  47656. *
  47657. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  47658. * `includeInCSVExport`.
  47659. */
  47660. includeInDataExport?: boolean;
  47661. /**
  47662. * (Highmaps) What property to join the `mapData` to the value data. For
  47663. * example, if joinBy is "code", the mapData items with a specific code is
  47664. * merged into the data with the same code. For maps loaded from GeoJSON,
  47665. * the keys may be held in each point's `properties` object.
  47666. *
  47667. * The joinBy option can also be an array of two values, where the first
  47668. * points to a key in the `mapData`, and the second points to another key in
  47669. * the `data`.
  47670. *
  47671. * When joinBy is `null`, the map items are joined by their position in the
  47672. * array, which performs much better in maps with many data points. This is
  47673. * the recommended option if you are printing more than a thousand data
  47674. * points and have a backend that can preprocess the data into a parallel
  47675. * array of the mapData.
  47676. */
  47677. joinBy?: (string|Array<string>);
  47678. /**
  47679. * (Gantt) An array specifying which option maps to which key in the data
  47680. * point array. This makes it convenient to work with unstructured data
  47681. * arrays from different sources.
  47682. */
  47683. keys?: Array<string>;
  47684. /**
  47685. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  47686. * series as possible in a natural way, seeking to avoid other series. The
  47687. * goal of this feature is to make the chart more easily readable, like if a
  47688. * human designer placed the labels in the optimal position.
  47689. *
  47690. * The series labels currently work with series types having a `graph` or an
  47691. * `area`.
  47692. */
  47693. label?: SeriesLabelOptionsObject;
  47694. /**
  47695. * (Highstock) The line marks the last price from all points.
  47696. */
  47697. lastPrice?: SeriesLastPriceOptionsObject;
  47698. /**
  47699. * (Highstock) The line marks the last price from visible range of points.
  47700. */
  47701. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  47702. /**
  47703. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  47704. * Additionally, the value can be ":previous" to link to the previous
  47705. * series. When two series are linked, only the first one appears in the
  47706. * legend. Toggling the visibility of this also toggles the linked series.
  47707. *
  47708. * If master series uses data sorting and linked series does not have its
  47709. * own sorting definition, the linked series will be sorted in the same
  47710. * order as the master one.
  47711. */
  47712. linkedTo?: string;
  47713. /**
  47714. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  47715. * column, translated to the height of a bar in a bar chart. This prevents
  47716. * the columns from becoming too wide when there is a small number of points
  47717. * in the chart.
  47718. */
  47719. maxPointWidth?: number;
  47720. /**
  47721. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  47722. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  47723. * to zero) point, set the minimal point length to a pixel value like 3\. In
  47724. * stacked column charts, minPointLength might not be respected for tightly
  47725. * packed values.
  47726. */
  47727. minPointLength?: number;
  47728. /**
  47729. * (Highstock) Options for the corresponding navigator series if
  47730. * `showInNavigator` is `true` for this series. Available options are the
  47731. * same as any series, documented at plotOptions and series.
  47732. *
  47733. * These options are merged with options in navigator.series, and will take
  47734. * precedence if the same option is defined both places.
  47735. */
  47736. navigatorOptions?: PlotSeriesOptions;
  47737. /**
  47738. * (Gantt) Opacity of a series parts: line, fill (e.g. area) and dataLabels.
  47739. */
  47740. opacity?: number;
  47741. /**
  47742. * (Gantt) A partial fill for each point, typically used to visualize how
  47743. * much of a task is performed. See completed.
  47744. */
  47745. partialFill?: PlotGanttPartialFillOptions;
  47746. /**
  47747. * (Gantt) Properties for each single point.
  47748. */
  47749. point?: PlotSeriesPointOptions;
  47750. /**
  47751. * (Gantt) Same as accessibility.pointDescriptionFormatter, but for an
  47752. * individual series. Overrides the chart wide configuration.
  47753. */
  47754. pointDescriptionFormatter?: Function;
  47755. /**
  47756. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  47757. * axis units.
  47758. */
  47759. pointPadding?: number;
  47760. pointRange?: number;
  47761. /**
  47762. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  47763. * each column or bar point. When set to `undefined`, the width is
  47764. * calculated from the `pointPadding` and `groupPadding`. The width effects
  47765. * the dimension that is not based on the point value. For column series it
  47766. * is the hoizontal length and for bar series it is the vertical length.
  47767. */
  47768. pointWidth?: number;
  47769. /**
  47770. * (Gantt) Whether to select the series initially. If `showCheckbox` is
  47771. * true, the checkbox next to the series name in the legend will be checked
  47772. * for a selected series.
  47773. */
  47774. selected?: boolean;
  47775. /**
  47776. * (Gantt) Whether to apply a drop shadow to the graph line. Since 2.3 the
  47777. * shadow can be an object configuration containing `color`, `offsetX`,
  47778. * `offsetY`, `opacity` and `width`.
  47779. */
  47780. shadow?: (boolean|ShadowOptionsObject);
  47781. /**
  47782. * (Gantt) If true, a checkbox is displayed next to the legend item to allow
  47783. * selecting the series. The state of the checkbox is determined by the
  47784. * `selected` option.
  47785. */
  47786. showCheckbox?: boolean;
  47787. /**
  47788. * (Gantt) Whether to display this particular series or series type in the
  47789. * legend. Standalone series are shown in legend by default, and linked
  47790. * series are not. Since v7.2.0 it is possible to show series that use
  47791. * colorAxis by setting this option to `true`.
  47792. */
  47793. showInLegend?: boolean;
  47794. /**
  47795. * (Highstock) Whether or not to show the series in the navigator. Takes
  47796. * precedence over navigator.baseSeries if defined.
  47797. */
  47798. showInNavigator?: boolean;
  47799. /**
  47800. * (Gantt) If set to `true`, the accessibility module will skip past the
  47801. * points in this series for keyboard navigation.
  47802. */
  47803. skipKeyboardNavigation?: boolean;
  47804. states?: SeriesStatesOptionsObject;
  47805. /**
  47806. * (Gantt) Sticky tracking of mouse events. When true, the `mouseOut` event
  47807. * on a series isn't triggered until the mouse moves over another series, or
  47808. * out of the plot area. When false, the `mouseOut` event on a series is
  47809. * triggered when the mouse leaves the area around the series' graph or
  47810. * markers. This also implies the tooltip when not shared. When
  47811. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  47812. * be hidden when moving the mouse between series. Defaults to true for line
  47813. * and area type series, but to false for columns, pies etc.
  47814. *
  47815. * **Note:** The boost module will force this option because of technical
  47816. * limitations.
  47817. */
  47818. stickyTracking?: boolean;
  47819. /**
  47820. * (Gantt) A configuration object for the tooltip rendering of each single
  47821. * series. Properties are inherited from tooltip, but only the following
  47822. * properties can be defined on a series level.
  47823. */
  47824. tooltip?: SeriesTooltipOptionsObject;
  47825. /**
  47826. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  47827. * is longer than this, only one dimensional arrays of numbers, or two
  47828. * dimensional arrays with x and y values are allowed. Also, only the first
  47829. * point is tested, and the rest are assumed to be the same format. This
  47830. * saves expensive data checking and indexing in long series. Set it to `0`
  47831. * disable.
  47832. *
  47833. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  47834. * two dimensional arrays are allowed.
  47835. */
  47836. turboThreshold?: number;
  47837. /**
  47838. * (Gantt) Set the initial visibility of the series.
  47839. */
  47840. visible?: boolean;
  47841. /**
  47842. * (Highmaps) Define the z index of the series.
  47843. */
  47844. zIndex?: number;
  47845. /**
  47846. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  47847. */
  47848. zoneAxis?: string;
  47849. /**
  47850. * (Highcharts, Highstock) An array defining zones within a series. Zones
  47851. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  47852. * the `zoneAxis` option. The zone definitions have to be in ascending order
  47853. * regarding to the value.
  47854. *
  47855. * In styled mode, the color zones are styled with the
  47856. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  47857. * option (view live demo).
  47858. */
  47859. zones?: Array<SeriesZonesOptionsObject>;
  47860. }
  47861. /**
  47862. * (Gantt) A partial fill for each point, typically used to visualize how much
  47863. * of a task is performed. See completed.
  47864. */
  47865. export interface PlotGanttPartialFillOptions {
  47866. /**
  47867. * (Highcharts, Highstock, Gantt) The fill color to be used for partial
  47868. * fills. Defaults to a darker shade of the point color.
  47869. */
  47870. fill?: (ColorString|GradientColorObject|PatternObject);
  47871. }
  47872. /**
  47873. * (Highcharts) Enable or disable the initial animation when a series is
  47874. * displayed. The animation can also be set as a configuration object. Please
  47875. * note that this option only applies to the initial animation of the series
  47876. * itself. For other animations, see chart.animation and the animation parameter
  47877. * under the API methods. The following properties are supported:
  47878. *
  47879. * - `defer`: The animation delay time in milliseconds.
  47880. *
  47881. * - `duration`: The duration of the animation in milliseconds.
  47882. *
  47883. * - `easing`: Can be a string reference to an easing function set on the `Math`
  47884. * object or a function. See the _Custom easing function_ demo below.
  47885. *
  47886. * Due to poor performance, animation is disabled in old IE browsers for several
  47887. * chart types.
  47888. */
  47889. export interface PlotGaugeAnimationOptions {
  47890. defer?: number;
  47891. }
  47892. /**
  47893. * (Highcharts) Enable or disable the initial animation when a series is
  47894. * displayed for the `dataLabels`. The animation can also be set as a
  47895. * configuration object. Please note that this option only applies to the
  47896. * initial animation. For other animations, see chart.animation and the
  47897. * animation parameter under the API methods. The following properties are
  47898. * supported:
  47899. *
  47900. * - `defer`: The animation delay time in milliseconds.
  47901. */
  47902. export interface PlotGaugeDataLabelsAnimationOptions {
  47903. /**
  47904. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  47905. * dataLabel immediately. As `undefined` inherits defer time from the
  47906. * series.animation.defer.
  47907. */
  47908. defer?: number;
  47909. }
  47910. /**
  47911. * (Highcharts) Data labels for the gauge. For gauges, the data labels are
  47912. * enabled by default and shown in a bordered box below the point.
  47913. */
  47914. export interface PlotGaugeDataLabelsOptions {
  47915. /**
  47916. * (Highcharts) The alignment of the data label compared to the point. If
  47917. * `right`, the right side of the label should be touching the point. For
  47918. * points with an extent, like columns, the alignments also dictates how to
  47919. * align it inside the box, as given with the inside option. Can be one of
  47920. * `left`, `center` or `right`.
  47921. */
  47922. align?: (AlignValue|null);
  47923. /**
  47924. * (Highcharts) Whether to allow data labels to overlap. To make the labels
  47925. * less sensitive for overlapping, the dataLabels.padding can be set to 0.
  47926. */
  47927. allowOverlap?: boolean;
  47928. /**
  47929. * (Highcharts) Enable or disable the initial animation when a series is
  47930. * displayed for the `dataLabels`. The animation can also be set as a
  47931. * configuration object. Please note that this option only applies to the
  47932. * initial animation. For other animations, see chart.animation and the
  47933. * animation parameter under the API methods. The following properties are
  47934. * supported:
  47935. *
  47936. * - `defer`: The animation delay time in milliseconds.
  47937. */
  47938. animation?: (boolean|PlotGaugeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  47939. /**
  47940. * (Highcharts) The background color or gradient for the data label.
  47941. */
  47942. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  47943. /**
  47944. * (Highcharts) The border color for the data label. Defaults to
  47945. * `undefined`.
  47946. */
  47947. borderColor?: string;
  47948. /**
  47949. * (Highcharts) The border radius in pixels for the data label.
  47950. */
  47951. borderRadius?: number;
  47952. /**
  47953. * (Highcharts) The border width in pixels for the data label.
  47954. */
  47955. borderWidth?: number;
  47956. /**
  47957. * (Highcharts) A class name for the data label. Particularly in styled
  47958. * mode, this can be used to give each series' or point's data label unique
  47959. * styling. In addition to this option, a default color class name is added
  47960. * so that we can give the labels a contrast text shadow.
  47961. */
  47962. className?: string;
  47963. /**
  47964. * (Highcharts) The text color for the data labels. Defaults to `undefined`.
  47965. * For certain series types, like column or map, the data labels can be
  47966. * drawn inside the points. In this case the data label will be drawn with
  47967. * maximum contrast by default. Additionally, it will be given a
  47968. * `text-outline` style with the opposite color, to further increase the
  47969. * contrast. This can be overridden by setting the `text-outline` style to
  47970. * `none` in the `dataLabels.style` option.
  47971. */
  47972. color?: (ColorString|GradientColorObject|PatternObject);
  47973. /**
  47974. * (Highcharts) Whether to hide data labels that are outside the plot area.
  47975. * By default, the data label is moved inside the plot area according to the
  47976. * overflow option.
  47977. */
  47978. crop?: boolean;
  47979. /**
  47980. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  47981. * labels until the initial series animation has finished. Setting to
  47982. * `false` renders the data label immediately. If set to `true` inherits the
  47983. * defer time set in plotOptions.series.animation. If set to a number, a
  47984. * defer time is specified in milliseconds.
  47985. */
  47986. defer?: boolean;
  47987. /**
  47988. * (Highcharts) Enable or disable the data labels.
  47989. */
  47990. enabled?: boolean;
  47991. /**
  47992. * (Highcharts) A declarative filter to control of which data labels to
  47993. * display. The declarative filter is designed for use when callback
  47994. * functions are not available, like when the chart options require a pure
  47995. * JSON structure or for use with graphical editors. For programmatic
  47996. * control, use the `formatter` instead, and return `undefined` to disable a
  47997. * single data label.
  47998. */
  47999. filter?: DataLabelsFilterOptionsObject;
  48000. /**
  48001. * (Highcharts) A format string for the data label. Available variables are
  48002. * the same as for `formatter`.
  48003. */
  48004. format?: string;
  48005. /**
  48006. * (Highcharts) Callback JavaScript function to format the data label. Note
  48007. * that if a `format` is defined, the format takes precedence and the
  48008. * formatter is ignored.
  48009. */
  48010. formatter?: DataLabelsFormatterCallbackFunction;
  48011. /**
  48012. * (Highcharts) For points with an extent, like columns or map areas,
  48013. * whether to align the data label inside the box or to the actual value
  48014. * point. Defaults to `false` in most cases, `true` in stacked columns.
  48015. */
  48016. inside?: boolean;
  48017. /**
  48018. * (Highcharts) Format for points with the value of null. Works analogously
  48019. * to format. `nullFormat` can be applied only to series which support
  48020. * displaying null points.
  48021. */
  48022. nullFormat?: (boolean|string);
  48023. /**
  48024. * (Highcharts) Callback JavaScript function that defines formatting for
  48025. * points with the value of null. Works analogously to formatter.
  48026. * `nullPointFormatter` can be applied only to series which support
  48027. * displaying null points.
  48028. */
  48029. nullFormatter?: DataLabelsFormatterCallbackFunction;
  48030. /**
  48031. * (Highcharts) How to handle data labels that flow outside the plot area.
  48032. * The default is `"justify"`, which aligns them inside the plot area. For
  48033. * columns and bars, this means it will be moved inside the bar. To display
  48034. * data labels outside the plot area, set `crop` to `false` and `overflow`
  48035. * to `"allow"`.
  48036. */
  48037. overflow?: DataLabelsOverflowValue;
  48038. /**
  48039. * (Highcharts) When either the `borderWidth` or the `backgroundColor` is
  48040. * set, this is the padding within the box.
  48041. */
  48042. padding?: number;
  48043. /**
  48044. * (Highcharts) Aligns data labels relative to points. If `center` alignment
  48045. * is not possible, it defaults to `right`.
  48046. */
  48047. position?: AlignValue;
  48048. /**
  48049. * (Highcharts) Text rotation in degrees. Note that due to a more complex
  48050. * structure, backgrounds, borders and padding will be lost on a rotated
  48051. * data label.
  48052. */
  48053. rotation?: number;
  48054. /**
  48055. * (Highcharts) The shadow of the box. Works best with `borderWidth` or
  48056. * `backgroundColor`. Since 2.3 the shadow can be an object configuration
  48057. * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  48058. */
  48059. shadow?: (boolean|ShadowOptionsObject);
  48060. /**
  48061. * (Highcharts) The name of a symbol to use for the border around the label.
  48062. * Symbols are predefined functions on the Renderer object.
  48063. */
  48064. shape?: string;
  48065. /**
  48066. * (Highcharts) Styles for the label. The default `color` setting is
  48067. * `"contrast"`, which is a pseudo color that Highcharts picks up and
  48068. * applies the maximum contrast to the underlying point item, for example
  48069. * the bar in a bar chart.
  48070. *
  48071. * The `textOutline` is a pseudo property that applies an outline of the
  48072. * given width with the given color, which by default is the maximum
  48073. * contrast to the text. So a bright text color will result in a black text
  48074. * outline for maximum readability on a mixed background. In some cases,
  48075. * especially with grayscale text, the text outline doesn't work well, in
  48076. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  48077. * is true, the `textOutline` will not be picked up. In this, case, the same
  48078. * effect can be acheived through the `text-shadow` CSS property.
  48079. *
  48080. * For some series types, where each point has an extent, like for example
  48081. * tree maps, the data label may overflow the point. There are two
  48082. * strategies for handling overflow. By default, the text will wrap to
  48083. * multiple lines. The other strategy is to set `style.textOverflow` to
  48084. * `ellipsis`, which will keep the text on one line plus it will break
  48085. * inside long words.
  48086. */
  48087. style?: CSSObject;
  48088. /**
  48089. * (Highcharts) Options for a label text which should follow marker's shape.
  48090. * Border and background are disabled for a label that follows a path.
  48091. *
  48092. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  48093. * to true will disable this option.
  48094. */
  48095. textPath?: DataLabelsTextPathOptionsObject;
  48096. /**
  48097. * (Highcharts) Whether to use HTML to render the labels.
  48098. */
  48099. useHTML?: boolean;
  48100. /**
  48101. * (Highcharts) The vertical alignment of a data label. Can be one of `top`,
  48102. * `middle` or `bottom`. The default value depends on the data, for instance
  48103. * in a column chart, the label is above positive values and below negative
  48104. * values.
  48105. */
  48106. verticalAlign?: string;
  48107. /**
  48108. * (Highcharts) The x position offset of the label relative to the point in
  48109. * pixels.
  48110. */
  48111. x?: number;
  48112. /**
  48113. * (Highcharts) The y position offset of the label relative to the point in
  48114. * pixels.
  48115. */
  48116. y?: number;
  48117. /**
  48118. * (Highcharts) The Z index of the data labels. The default Z index puts it
  48119. * above the series. Use a Z index of 2 to display it behind the series.
  48120. */
  48121. z?: number;
  48122. zIndex?: number;
  48123. }
  48124. /**
  48125. * (Highcharts) Options for the dial or arrow pointer of the gauge.
  48126. *
  48127. * In styled mode, the dial is styled with the `.highcharts-gauge-series
  48128. * .highcharts-dial` rule.
  48129. */
  48130. export interface PlotGaugeDialOptions {
  48131. /**
  48132. * (Highcharts) The background or fill color of the gauge's dial.
  48133. */
  48134. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  48135. /**
  48136. * (Highcharts) The length of the dial's base part, relative to the total
  48137. * radius or length of the dial.
  48138. */
  48139. baseLength?: string;
  48140. /**
  48141. * (Highcharts) The pixel width of the base of the gauge dial. The base is
  48142. * the part closest to the pivot, defined by baseLength.
  48143. */
  48144. baseWidth?: number;
  48145. /**
  48146. * (Highcharts) The border color or stroke of the gauge's dial. By default,
  48147. * the borderWidth is 0, so this must be set in addition to a custom border
  48148. * color.
  48149. */
  48150. borderColor?: (ColorString|GradientColorObject|PatternObject);
  48151. /**
  48152. * (Highcharts) The width of the gauge dial border in pixels.
  48153. */
  48154. borderWidth?: number;
  48155. /**
  48156. * (Highcharts) The radius or length of the dial, in percentages relative to
  48157. * the radius of the gauge itself.
  48158. */
  48159. radius?: string;
  48160. /**
  48161. * (Highcharts) The length of the dial's rear end, the part that extends out
  48162. * on the other side of the pivot. Relative to the dial's length.
  48163. */
  48164. rearLength?: string;
  48165. /**
  48166. * (Highcharts) The width of the top of the dial, closest to the perimeter.
  48167. * The pivot narrows in from the base to the top.
  48168. */
  48169. topWidth?: number;
  48170. }
  48171. /**
  48172. * (Highcharts) Gauges are circular plots displaying one or more values with a
  48173. * dial pointing to values along the perimeter.
  48174. *
  48175. * In TypeScript the type option must always be set.
  48176. *
  48177. * Configuration options for the series are given in three levels:
  48178. *
  48179. * 1. Options for all series in a chart are defined in the plotOptions.series
  48180. * object.
  48181. *
  48182. * 2. Options for all `gauge` series are defined in plotOptions.gauge.
  48183. *
  48184. * 3. Options for one single series are given in the series instance array. (see
  48185. * online documentation for example)
  48186. */
  48187. export interface PlotGaugeOptions {
  48188. /**
  48189. * (Highcharts) Accessibility options for a series.
  48190. */
  48191. accessibility?: SeriesAccessibilityOptionsObject;
  48192. /**
  48193. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  48194. * rendered. If `true`, areas which don't correspond to a data point, are
  48195. * rendered as `null` points. If `false`, those areas are skipped.
  48196. */
  48197. allAreas?: boolean;
  48198. /**
  48199. * (Highcharts) Allow this series' points to be selected by clicking on the
  48200. * graphic (columns, point markers, pie slices, map areas etc).
  48201. *
  48202. * The selected points can be handled by point select and unselect events,
  48203. * or collectively by the getSelectedPoints function.
  48204. *
  48205. * And alternative way of selecting points is through dragging.
  48206. */
  48207. allowPointSelect?: boolean;
  48208. /**
  48209. * (Highcharts) Enable or disable the initial animation when a series is
  48210. * displayed. The animation can also be set as a configuration object.
  48211. * Please note that this option only applies to the initial animation of the
  48212. * series itself. For other animations, see chart.animation and the
  48213. * animation parameter under the API methods. The following properties are
  48214. * supported:
  48215. *
  48216. * - `defer`: The animation delay time in milliseconds.
  48217. *
  48218. * - `duration`: The duration of the animation in milliseconds.
  48219. *
  48220. * - `easing`: Can be a string reference to an easing function set on the
  48221. * `Math` object or a function. See the _Custom easing function_ demo below.
  48222. *
  48223. * Due to poor performance, animation is disabled in old IE browsers for
  48224. * several chart types.
  48225. */
  48226. animation?: (boolean|PlotGaugeAnimationOptions|Partial<AnimationOptionsObject>);
  48227. /**
  48228. * (Highmaps) The border color of the map areas.
  48229. *
  48230. * In styled mode, the border stroke is given in the `.highcharts-point`
  48231. * class.
  48232. */
  48233. borderColor?: (ColorString|GradientColorObject|PatternObject);
  48234. /**
  48235. * (Highmaps) The border width of each map area.
  48236. *
  48237. * In styled mode, the border stroke width is given in the
  48238. * `.highcharts-point` class.
  48239. */
  48240. borderWidth?: number;
  48241. /**
  48242. * (Highcharts) An additional class name to apply to the series' graphical
  48243. * elements. This option does not replace default class names of the
  48244. * graphical element.
  48245. */
  48246. className?: string;
  48247. /**
  48248. * (Highcharts) Disable this option to allow series rendering in the whole
  48249. * plotting area.
  48250. *
  48251. * **Note:** Clipping should be always enabled when chart.zoomType is set
  48252. */
  48253. clip?: boolean;
  48254. /**
  48255. * (Highcharts) The main color of the series. In line type series it applies
  48256. * to the line and the point markers unless otherwise specified. In bar type
  48257. * series it applies to the bars unless a color is specified per point. The
  48258. * default value is pulled from the `options.colors` array.
  48259. *
  48260. * In styled mode, the color can be defined by the colorIndex option. Also,
  48261. * the series color can be set with the `.highcharts-series`,
  48262. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  48263. * `.highcharts-series-{n}` class, or individual classes given by the
  48264. * `className` option.
  48265. */
  48266. color?: (ColorString|GradientColorObject|PatternObject);
  48267. /**
  48268. * (Highcharts) Styled mode only. A specific color index to use for the
  48269. * series, so its graphic representations are given the class name
  48270. * `highcharts-color-{n}`.
  48271. */
  48272. colorIndex?: number;
  48273. /**
  48274. * (Highstock) Compare the values of the series against the first non-null,
  48275. * non- zero value in the visible range. The y axis will show percentage or
  48276. * absolute change depending on whether `compare` is set to `"percent"` or
  48277. * `"value"`. When this is applied to multiple series, it allows comparing
  48278. * the development of the series against each other. Adds a `change` field
  48279. * to every point object.
  48280. */
  48281. compare?: string;
  48282. /**
  48283. * (Highstock) When compare is `percent`, this option dictates whether to
  48284. * use 0 or 100 as the base of comparison.
  48285. */
  48286. compareBase?: (0|100);
  48287. /**
  48288. * (Highstock) Defines if comparison should start from the first point
  48289. * within the visible range or should start from the first point **before**
  48290. * the range.
  48291. *
  48292. * In other words, this flag determines if first point within the visible
  48293. * range will have 0% (`compareStart=true`) or should have been already
  48294. * calculated according to the previous point (`compareStart=false`).
  48295. */
  48296. compareStart?: boolean;
  48297. /**
  48298. * (Gantt) Override Pathfinder connector options for a series. Requires
  48299. * Highcharts Gantt to be loaded.
  48300. */
  48301. connectors?: SeriesConnectorsOptionsObject;
  48302. /**
  48303. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  48304. * rounded to its nearest pixel in order to render sharp on screen. In some
  48305. * cases, when there are a lot of densely packed columns, this leads to
  48306. * visible difference in column widths or distance between columns. In these
  48307. * cases, setting `crisp` to `false` may look better, even though each
  48308. * column is rendered blurry.
  48309. */
  48310. crisp?: boolean;
  48311. /**
  48312. * (Highcharts) You can set the cursor to "pointer" if you have click events
  48313. * attached to the series, to signal to the user that the points and lines
  48314. * can be clicked.
  48315. *
  48316. * In styled mode, the series cursor can be set with the same classes as
  48317. * listed under series.color.
  48318. */
  48319. cursor?: (string|CursorValue);
  48320. /**
  48321. * (Highcharts) A reserved subspace to store options and values for
  48322. * customized functionality. Here you can add additional data for your own
  48323. * event callbacks and formatter callbacks.
  48324. */
  48325. custom?: Dictionary<any>;
  48326. /**
  48327. * (Highstock) Data grouping is the concept of sampling the data values into
  48328. * larger blocks in order to ease readability and increase performance of
  48329. * the JavaScript charts. Highcharts Stock by default applies data grouping
  48330. * when the points become closer than a certain pixel value, determined by
  48331. * the `groupPixelWidth` option.
  48332. *
  48333. * If data grouping is applied, the grouping information of grouped points
  48334. * can be read from the Point.dataGroup. If point options other than the
  48335. * data itself are set, for example `name` or `color` or custom properties,
  48336. * the grouping logic doesn't know how to group it. In this case the options
  48337. * of the first point instance are copied over to the group point. This can
  48338. * be altered through a custom `approximation` callback function.
  48339. */
  48340. dataGrouping?: DataGroupingOptionsObject;
  48341. /**
  48342. * (Highcharts) Data labels for the gauge. For gauges, the data labels are
  48343. * enabled by default and shown in a bordered box below the point.
  48344. */
  48345. dataLabels?: (PlotGaugeDataLabelsOptions|Array<PlotGaugeDataLabelsOptions>);
  48346. /**
  48347. * (Highcharts) A description of the series to add to the screen reader
  48348. * information about the series.
  48349. */
  48350. description?: string;
  48351. /**
  48352. * (Highcharts) Options for the dial or arrow pointer of the gauge.
  48353. *
  48354. * In styled mode, the dial is styled with the `.highcharts-gauge-series
  48355. * .highcharts-dial` rule.
  48356. */
  48357. dial?: PlotGaugeDialOptions;
  48358. /**
  48359. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  48360. * This includes point tooltips and click events on graphs and points. For
  48361. * large datasets it improves performance.
  48362. */
  48363. enableMouseTracking?: boolean;
  48364. /**
  48365. * (Highcharts) General event handlers for the series items. These event
  48366. * hooks can also be attached to the series at run time using the
  48367. * `Highcharts.addEvent` function.
  48368. */
  48369. events?: SeriesEventsOptionsObject;
  48370. /**
  48371. * (Highstock) Defines when to display a gap in the graph, together with the
  48372. * gapUnit option.
  48373. *
  48374. * In case when `dataGrouping` is enabled, points can be grouped into a
  48375. * larger time span. This can make the grouped points to have a greater
  48376. * distance than the absolute value of `gapSize` property, which will result
  48377. * in disappearing graph completely. To prevent this situation the mentioned
  48378. * distance between grouped points is used instead of previously defined
  48379. * `gapSize`.
  48380. *
  48381. * In practice, this option is most often used to visualize gaps in time
  48382. * series. In a stock chart, intraday data is available for daytime hours,
  48383. * while gaps will appear in nights and weekends.
  48384. */
  48385. gapSize?: number;
  48386. /**
  48387. * (Highstock) Together with gapSize, this option defines where to draw gaps
  48388. * in the graph.
  48389. *
  48390. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  48391. * if the distance between two points is greater than 5 times that of the
  48392. * two closest points, the graph will be broken.
  48393. *
  48394. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  48395. * values, which on a datetime axis is milliseconds. This also applies to
  48396. * the navigator series that inherits gap options from the base series.
  48397. */
  48398. gapUnit?: OptionsGapUnitValue;
  48399. /**
  48400. * (Highcharts) When set to `false` will prevent the series data from being
  48401. * included in any form of data export.
  48402. *
  48403. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  48404. * `includeInCSVExport`.
  48405. */
  48406. includeInDataExport?: boolean;
  48407. /**
  48408. * (Highmaps) What property to join the `mapData` to the value data. For
  48409. * example, if joinBy is "code", the mapData items with a specific code is
  48410. * merged into the data with the same code. For maps loaded from GeoJSON,
  48411. * the keys may be held in each point's `properties` object.
  48412. *
  48413. * The joinBy option can also be an array of two values, where the first
  48414. * points to a key in the `mapData`, and the second points to another key in
  48415. * the `data`.
  48416. *
  48417. * When joinBy is `null`, the map items are joined by their position in the
  48418. * array, which performs much better in maps with many data points. This is
  48419. * the recommended option if you are printing more than a thousand data
  48420. * points and have a backend that can preprocess the data into a parallel
  48421. * array of the mapData.
  48422. */
  48423. joinBy?: (string|Array<string>);
  48424. /**
  48425. * (Highcharts) An array specifying which option maps to which key in the
  48426. * data point array. This makes it convenient to work with unstructured data
  48427. * arrays from different sources.
  48428. */
  48429. keys?: Array<string>;
  48430. /**
  48431. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  48432. * series as possible in a natural way, seeking to avoid other series. The
  48433. * goal of this feature is to make the chart more easily readable, like if a
  48434. * human designer placed the labels in the optimal position.
  48435. *
  48436. * The series labels currently work with series types having a `graph` or an
  48437. * `area`.
  48438. */
  48439. label?: SeriesLabelOptionsObject;
  48440. /**
  48441. * (Highstock) The line marks the last price from all points.
  48442. */
  48443. lastPrice?: SeriesLastPriceOptionsObject;
  48444. /**
  48445. * (Highstock) The line marks the last price from visible range of points.
  48446. */
  48447. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  48448. /**
  48449. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  48450. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  48451. * the ends and bends.
  48452. */
  48453. linecap?: SeriesLinecapValue;
  48454. /**
  48455. * (Highcharts, Highstock) Pixel width of the graph line.
  48456. */
  48457. lineWidth?: number;
  48458. /**
  48459. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  48460. * Additionally, the value can be ":previous" to link to the previous
  48461. * series. When two series are linked, only the first one appears in the
  48462. * legend. Toggling the visibility of this also toggles the linked series.
  48463. *
  48464. * If master series uses data sorting and linked series does not have its
  48465. * own sorting definition, the linked series will be sorted in the same
  48466. * order as the master one.
  48467. */
  48468. linkedTo?: string;
  48469. /**
  48470. * (Highstock) Options for the corresponding navigator series if
  48471. * `showInNavigator` is `true` for this series. Available options are the
  48472. * same as any series, documented at plotOptions and series.
  48473. *
  48474. * These options are merged with options in navigator.series, and will take
  48475. * precedence if the same option is defined both places.
  48476. */
  48477. navigatorOptions?: PlotSeriesOptions;
  48478. /**
  48479. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  48480. * dataLabels.
  48481. */
  48482. opacity?: number;
  48483. /**
  48484. * (Highcharts) Allow the dial to overshoot the end of the perimeter axis by
  48485. * this many degrees. Say if the gauge axis goes from 0 to 60, a value of
  48486. * 100, or 1000, will show 5 degrees beyond the end of the axis when this
  48487. * option is set to 5.
  48488. */
  48489. overshoot?: number;
  48490. /**
  48491. * (Highcharts) Options for the pivot or the center point of the gauge.
  48492. *
  48493. * In styled mode, the pivot is styled with the `.highcharts-gauge-series
  48494. * .highcharts-pivot` rule.
  48495. */
  48496. pivot?: PlotGaugePivotOptions;
  48497. /**
  48498. * (Highcharts) Properties for each single point.
  48499. */
  48500. point?: PlotSeriesPointOptions;
  48501. /**
  48502. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  48503. * individual series. Overrides the chart wide configuration.
  48504. */
  48505. pointDescriptionFormatter?: Function;
  48506. /**
  48507. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  48508. * a series, `pointInterval` defines the interval of the x values. For
  48509. * example, if a series contains one value every decade starting from year
  48510. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  48511. * `pointInterval` is set in milliseconds.
  48512. *
  48513. * It can be also be combined with `pointIntervalUnit` to draw irregular
  48514. * time intervals.
  48515. *
  48516. * Please note that this options applies to the _series data_, not the
  48517. * interval of the axis ticks, which is independent.
  48518. */
  48519. pointInterval?: number;
  48520. /**
  48521. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  48522. * setting the pointInterval to irregular time units, `day`, `month` and
  48523. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  48524. * also takes the DST crossover into consideration when dealing with local
  48525. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  48526. * months, 10 years etc.
  48527. *
  48528. * Please note that this options applies to the _series data_, not the
  48529. * interval of the axis ticks, which is independent.
  48530. */
  48531. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  48532. /**
  48533. * (Highstock) The width of each point on the x axis. For example in a
  48534. * column chart with one value each day, the pointRange would be 1 day (= 24
  48535. * * 3600
  48536. *
  48537. * * 1000 milliseconds). This is normally computed automatically, but this
  48538. * option can be used to override the automatic value.
  48539. */
  48540. pointRange?: number;
  48541. /**
  48542. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  48543. * a series, pointStart defines on what value to start. For example, if a
  48544. * series contains one yearly value starting from 1945, set pointStart to
  48545. * 1945.
  48546. */
  48547. pointStart?: number;
  48548. /**
  48549. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  48550. * true, the checkbox next to the series name in the legend will be checked
  48551. * for a selected series.
  48552. */
  48553. selected?: boolean;
  48554. /**
  48555. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  48556. * allow selecting the series. The state of the checkbox is determined by
  48557. * the `selected` option.
  48558. */
  48559. showCheckbox?: boolean;
  48560. /**
  48561. * (Highcharts) Whether to display this particular series or series type in
  48562. * the legend. Defaults to false for gauge series.
  48563. */
  48564. showInLegend?: boolean;
  48565. /**
  48566. * (Highstock) Whether or not to show the series in the navigator. Takes
  48567. * precedence over navigator.baseSeries if defined.
  48568. */
  48569. showInNavigator?: boolean;
  48570. /**
  48571. * (Highcharts) If set to `true`, the accessibility module will skip past
  48572. * the points in this series for keyboard navigation.
  48573. */
  48574. skipKeyboardNavigation?: boolean;
  48575. /**
  48576. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  48577. * event on a series isn't triggered until the mouse moves over another
  48578. * series, or out of the plot area. When false, the `mouseOut` event on a
  48579. * series is triggered when the mouse leaves the area around the series'
  48580. * graph or markers. This also implies the tooltip when not shared. When
  48581. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  48582. * be hidden when moving the mouse between series. Defaults to true for line
  48583. * and area type series, but to false for columns, pies etc.
  48584. *
  48585. * **Note:** The boost module will force this option because of technical
  48586. * limitations.
  48587. */
  48588. stickyTracking?: boolean;
  48589. /**
  48590. * (Highcharts) A configuration object for the tooltip rendering of each
  48591. * single series. Properties are inherited from tooltip, but only the
  48592. * following properties can be defined on a series level.
  48593. */
  48594. tooltip?: SeriesTooltipOptionsObject;
  48595. /**
  48596. * (Highstock) The parameter allows setting line series type and use OHLC
  48597. * indicators. Data in OHLC format is required.
  48598. */
  48599. useOhlcData?: boolean;
  48600. /**
  48601. * (Highcharts) Set the initial visibility of the series.
  48602. */
  48603. visible?: boolean;
  48604. /**
  48605. * (Highcharts) When this option is `true`, the dial will wrap around the
  48606. * axes. For instance, in a full-range gauge going from 0 to 360, a value of
  48607. * 400 will point to 40\. When `wrap` is `false`, the dial stops at 360.
  48608. */
  48609. wrap?: boolean;
  48610. /**
  48611. * (Highmaps) Define the z index of the series.
  48612. */
  48613. zIndex?: number;
  48614. }
  48615. /**
  48616. * (Highcharts) Options for the pivot or the center point of the gauge.
  48617. *
  48618. * In styled mode, the pivot is styled with the `.highcharts-gauge-series
  48619. * .highcharts-pivot` rule.
  48620. */
  48621. export interface PlotGaugePivotOptions {
  48622. /**
  48623. * (Highcharts) The background color or fill of the pivot.
  48624. */
  48625. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  48626. /**
  48627. * (Highcharts) The border or stroke color of the pivot. In able to change
  48628. * this, the borderWidth must also be set to something other than the
  48629. * default 0.
  48630. */
  48631. borderColor?: (ColorString|GradientColorObject|PatternObject);
  48632. /**
  48633. * (Highcharts) The border or stroke width of the pivot.
  48634. */
  48635. borderWidth?: number;
  48636. /**
  48637. * (Highcharts) The pixel radius of the pivot.
  48638. */
  48639. radius?: number;
  48640. }
  48641. /**
  48642. * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
  48643. * series.
  48644. */
  48645. export interface PlotHeatmapAnimationOptions {
  48646. defer?: number;
  48647. }
  48648. /**
  48649. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  48650. * animation when a series is displayed for the `dataLabels`. The animation can
  48651. * also be set as a configuration object. Please note that this option only
  48652. * applies to the initial animation. For other animations, see chart.animation
  48653. * and the animation parameter under the API methods. The following properties
  48654. * are supported:
  48655. *
  48656. * - `defer`: The animation delay time in milliseconds.
  48657. */
  48658. export interface PlotHeatmapDataLabelsAnimationOptions {
  48659. /**
  48660. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  48661. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  48662. * inherits defer time from the series.animation.defer.
  48663. */
  48664. defer?: number;
  48665. }
  48666. /**
  48667. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  48668. * appearing next to each data point.
  48669. *
  48670. * Since v6.2.0, multiple data labels can be applied to each single point by
  48671. * defining them as an array of configs.
  48672. *
  48673. * In styled mode, the data labels can be styled with the
  48674. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  48675. * example).
  48676. */
  48677. export interface PlotHeatmapDataLabelsOptions {
  48678. /**
  48679. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  48680. * compared to the point. If `right`, the right side of the label should be
  48681. * touching the point. For points with an extent, like columns, the
  48682. * alignments also dictates how to align it inside the box, as given with
  48683. * the inside option. Can be one of `left`, `center` or `right`.
  48684. */
  48685. align?: (AlignValue|null);
  48686. /**
  48687. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  48688. * overlap. To make the labels less sensitive for overlapping, the
  48689. * dataLabels.padding can be set to 0.
  48690. */
  48691. allowOverlap?: boolean;
  48692. /**
  48693. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  48694. * animation when a series is displayed for the `dataLabels`. The animation
  48695. * can also be set as a configuration object. Please note that this option
  48696. * only applies to the initial animation. For other animations, see
  48697. * chart.animation and the animation parameter under the API methods. The
  48698. * following properties are supported:
  48699. *
  48700. * - `defer`: The animation delay time in milliseconds.
  48701. */
  48702. animation?: (boolean|PlotHeatmapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  48703. /**
  48704. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  48705. * for the data label.
  48706. */
  48707. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  48708. /**
  48709. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  48710. * label. Defaults to `undefined`.
  48711. */
  48712. borderColor?: (ColorString|GradientColorObject|PatternObject);
  48713. /**
  48714. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  48715. * the data label.
  48716. */
  48717. borderRadius?: number;
  48718. /**
  48719. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  48720. * the data label.
  48721. */
  48722. borderWidth?: number;
  48723. /**
  48724. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  48725. * Particularly in styled mode, this can be used to give each series' or
  48726. * point's data label unique styling. In addition to this option, a default
  48727. * color class name is added so that we can give the labels a contrast text
  48728. * shadow.
  48729. */
  48730. className?: string;
  48731. /**
  48732. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  48733. * labels. Defaults to `undefined`. For certain series types, like column or
  48734. * map, the data labels can be drawn inside the points. In this case the
  48735. * data label will be drawn with maximum contrast by default. Additionally,
  48736. * it will be given a `text-outline` style with the opposite color, to
  48737. * further increase the contrast. This can be overridden by setting the
  48738. * `text-outline` style to `none` in the `dataLabels.style` option.
  48739. */
  48740. color?: (ColorString|GradientColorObject|PatternObject);
  48741. /**
  48742. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  48743. * are outside the plot area. By default, the data label is moved inside the
  48744. * plot area according to the overflow option.
  48745. */
  48746. crop?: boolean;
  48747. /**
  48748. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  48749. * labels until the initial series animation has finished. Setting to
  48750. * `false` renders the data label immediately. If set to `true` inherits the
  48751. * defer time set in plotOptions.series.animation. If set to a number, a
  48752. * defer time is specified in milliseconds.
  48753. */
  48754. defer?: (boolean|number);
  48755. /**
  48756. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  48757. * labels.
  48758. */
  48759. enabled?: boolean;
  48760. /**
  48761. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  48762. * of which data labels to display. The declarative filter is designed for
  48763. * use when callback functions are not available, like when the chart
  48764. * options require a pure JSON structure or for use with graphical editors.
  48765. * For programmatic control, use the `formatter` instead, and return
  48766. * `undefined` to disable a single data label.
  48767. */
  48768. filter?: DataLabelsFilterOptionsObject;
  48769. /**
  48770. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  48771. * label. Available variables are the same as for `formatter`.
  48772. */
  48773. format?: string;
  48774. /**
  48775. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  48776. * format the data label. Note that if a `format` is defined, the format
  48777. * takes precedence and the formatter is ignored.
  48778. */
  48779. formatter?: DataLabelsFormatterCallbackFunction;
  48780. /**
  48781. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  48782. * columns or map areas, whether to align the data label inside the box or
  48783. * to the actual value point. Defaults to `false` in most cases, `true` in
  48784. * stacked columns.
  48785. */
  48786. inside?: boolean;
  48787. /**
  48788. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  48789. * of null. Works analogously to format. `nullFormat` can be applied only to
  48790. * series which support displaying null points.
  48791. */
  48792. nullFormat?: (boolean|string);
  48793. /**
  48794. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  48795. * that defines formatting for points with the value of null. Works
  48796. * analogously to formatter. `nullPointFormatter` can be applied only to
  48797. * series which support displaying null points.
  48798. */
  48799. nullFormatter?: DataLabelsFormatterCallbackFunction;
  48800. /**
  48801. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  48802. * flow outside the plot area. The default is `"justify"`, which aligns them
  48803. * inside the plot area. For columns and bars, this means it will be moved
  48804. * inside the bar. To display data labels outside the plot area, set `crop`
  48805. * to `false` and `overflow` to `"allow"`.
  48806. */
  48807. overflow?: boolean;
  48808. /**
  48809. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  48810. * the `backgroundColor` is set, this is the padding within the box.
  48811. */
  48812. padding?: number;
  48813. /**
  48814. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  48815. * points. If `center` alignment is not possible, it defaults to `right`.
  48816. */
  48817. position?: AlignValue;
  48818. /**
  48819. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  48820. * that due to a more complex structure, backgrounds, borders and padding
  48821. * will be lost on a rotated data label.
  48822. */
  48823. rotation?: number;
  48824. /**
  48825. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  48826. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  48827. * an object configuration containing `color`, `offsetX`, `offsetY`,
  48828. * `opacity` and `width`.
  48829. */
  48830. shadow?: (boolean|ShadowOptionsObject);
  48831. /**
  48832. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  48833. * the border around the label. Symbols are predefined functions on the
  48834. * Renderer object.
  48835. */
  48836. shape?: string;
  48837. /**
  48838. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  48839. * default `color` setting is `"contrast"`, which is a pseudo color that
  48840. * Highcharts picks up and applies the maximum contrast to the underlying
  48841. * point item, for example the bar in a bar chart.
  48842. *
  48843. * The `textOutline` is a pseudo property that applies an outline of the
  48844. * given width with the given color, which by default is the maximum
  48845. * contrast to the text. So a bright text color will result in a black text
  48846. * outline for maximum readability on a mixed background. In some cases,
  48847. * especially with grayscale text, the text outline doesn't work well, in
  48848. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  48849. * is true, the `textOutline` will not be picked up. In this, case, the same
  48850. * effect can be acheived through the `text-shadow` CSS property.
  48851. *
  48852. * For some series types, where each point has an extent, like for example
  48853. * tree maps, the data label may overflow the point. There are two
  48854. * strategies for handling overflow. By default, the text will wrap to
  48855. * multiple lines. The other strategy is to set `style.textOverflow` to
  48856. * `ellipsis`, which will keep the text on one line plus it will break
  48857. * inside long words.
  48858. */
  48859. style?: CSSObject;
  48860. /**
  48861. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  48862. * should follow marker's shape. Border and background are disabled for a
  48863. * label that follows a path.
  48864. *
  48865. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  48866. * to true will disable this option.
  48867. */
  48868. textPath?: DataLabelsTextPathOptionsObject;
  48869. /**
  48870. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  48871. * the labels.
  48872. */
  48873. useHTML?: boolean;
  48874. /**
  48875. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  48876. * label. Can be one of `top`, `middle` or `bottom`. The default value
  48877. * depends on the data, for instance in a column chart, the label is above
  48878. * positive values and below negative values.
  48879. */
  48880. verticalAlign?: string;
  48881. /**
  48882. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  48883. * label relative to the point in pixels.
  48884. */
  48885. x?: number;
  48886. /**
  48887. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  48888. * label relative to the point in pixels.
  48889. */
  48890. y?: number;
  48891. /**
  48892. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  48893. * The default Z index puts it above the series. Use a Z index of 2 to
  48894. * display it behind the series.
  48895. */
  48896. z?: number;
  48897. }
  48898. /**
  48899. * (Highcharts, Highstock) Options for the series data sorting.
  48900. */
  48901. export interface PlotHeatmapDataSortingOptions {
  48902. /**
  48903. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  48904. * Use xAxis.reversed to change the sorting order.
  48905. */
  48906. enabled?: boolean;
  48907. /**
  48908. * (Highcharts, Highstock) Whether to allow matching points by name in an
  48909. * update. If this option is disabled, points will be matched by order.
  48910. */
  48911. matchByName?: boolean;
  48912. /**
  48913. * (Highcharts, Highstock) Determines what data value should be used to sort
  48914. * by.
  48915. */
  48916. sortKey?: string;
  48917. }
  48918. /**
  48919. * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
  48920. * state by default, the `default` state.
  48921. */
  48922. export interface PlotHeatmapDragDropGuideBoxOptions {
  48923. /**
  48924. * (Highcharts, Highmaps) Style options for the guide box default state.
  48925. */
  48926. default?: DragDropGuideBoxOptionsObject;
  48927. }
  48928. /**
  48929. * (Highcharts, Highmaps) A heatmap is a graphical representation of data where
  48930. * the individual values contained in a matrix are represented as colors.
  48931. *
  48932. * In TypeScript the type option must always be set.
  48933. *
  48934. * Configuration options for the series are given in three levels:
  48935. *
  48936. * 1. Options for all series in a chart are defined in the plotOptions.series
  48937. * object.
  48938. *
  48939. * 2. Options for all `heatmap` series are defined in plotOptions.heatmap.
  48940. *
  48941. * 3. Options for one single series are given in the series instance array. (see
  48942. * online documentation for example)
  48943. */
  48944. export interface PlotHeatmapOptions {
  48945. /**
  48946. * (Highcharts, Highmaps) Accessibility options for a series.
  48947. */
  48948. accessibility?: SeriesAccessibilityOptionsObject;
  48949. /**
  48950. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  48951. * rendered. If `true`, areas which don't correspond to a data point, are
  48952. * rendered as `null` points. If `false`, those areas are skipped.
  48953. */
  48954. allAreas?: boolean;
  48955. /**
  48956. * (Highcharts, Highmaps) Allow this series' points to be selected by
  48957. * clicking on the graphic (columns, point markers, pie slices, map areas
  48958. * etc).
  48959. *
  48960. * The selected points can be handled by point select and unselect events,
  48961. * or collectively by the getSelectedPoints function.
  48962. *
  48963. * And alternative way of selecting points is through dragging.
  48964. */
  48965. allowPointSelect?: boolean;
  48966. /**
  48967. * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
  48968. * series.
  48969. */
  48970. animation?: (boolean|PlotHeatmapAnimationOptions);
  48971. /**
  48972. * (Highcharts, Highmaps) Sets the color blending in the boost module.
  48973. */
  48974. boostBlending?: OptionsBoostBlendingValue;
  48975. /**
  48976. * (Highcharts, Highmaps) Set the point threshold for when a series should
  48977. * enter boost mode.
  48978. *
  48979. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  48980. * there are 2000 or more points in the series.
  48981. *
  48982. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  48983. * it to 1 will force boosting.
  48984. *
  48985. * Note that the cropThreshold also affects this setting. When zooming in on
  48986. * a series that has fewer points than the `cropThreshold`, all points are
  48987. * rendered although outside the visible plot area, and the `boostThreshold`
  48988. * won't take effect.
  48989. */
  48990. boostThreshold?: number;
  48991. /**
  48992. * (Highmaps) The border color of the map areas.
  48993. *
  48994. * In styled mode, the border stroke is given in the `.highcharts-point`
  48995. * class.
  48996. */
  48997. borderColor?: (ColorString|GradientColorObject|PatternObject);
  48998. /**
  48999. * (Highmaps) The border width for each heat map item.
  49000. */
  49001. borderWidth?: number;
  49002. /**
  49003. * (Highcharts, Highmaps) An additional class name to apply to the series'
  49004. * graphical elements. This option does not replace default class names of
  49005. * the graphical element.
  49006. */
  49007. className?: string;
  49008. /**
  49009. * (Highcharts, Highmaps) Disable this option to allow series rendering in
  49010. * the whole plotting area.
  49011. *
  49012. * **Note:** Clipping should be always enabled when chart.zoomType is set
  49013. */
  49014. clip?: boolean;
  49015. /**
  49016. * (Highcharts) The main color of the series. In heat maps this color is
  49017. * rarely used, as we mostly use the color to denote the value of each
  49018. * point. Unless options are set in the colorAxis, the default value is
  49019. * pulled from the options.colors array.
  49020. */
  49021. color?: (ColorString|GradientColorObject|PatternObject);
  49022. /**
  49023. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  49024. * this number defines which colorAxis the particular series is connected
  49025. * to. It refers to either the axis id or the index of the axis in the
  49026. * colorAxis array, with 0 being the first. Set this option to false to
  49027. * prevent a series from connecting to the default color axis.
  49028. *
  49029. * Since v7.2.0 the option can also be an axis id or an axis index instead
  49030. * of a boolean flag.
  49031. */
  49032. colorAxis?: (boolean|number|string);
  49033. /**
  49034. * (Highcharts, Highmaps) Styled mode only. A specific color index to use
  49035. * for the series, so its graphic representations are given the class name
  49036. * `highcharts-color-{n}`.
  49037. */
  49038. colorIndex?: number;
  49039. /**
  49040. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  49041. * used to calculate point color if `colorAxis` is used. Requires to set
  49042. * `min` and `max` if some custom point property is used or if approximation
  49043. * for data grouping is set to `'sum'`.
  49044. */
  49045. colorKey?: string;
  49046. /**
  49047. * (Highcharts, Highmaps) The column size - how many X axis units each
  49048. * column in the heatmap should span.
  49049. */
  49050. colsize?: number;
  49051. /**
  49052. * (Highstock) Compare the values of the series against the first non-null,
  49053. * non- zero value in the visible range. The y axis will show percentage or
  49054. * absolute change depending on whether `compare` is set to `"percent"` or
  49055. * `"value"`. When this is applied to multiple series, it allows comparing
  49056. * the development of the series against each other. Adds a `change` field
  49057. * to every point object.
  49058. */
  49059. compare?: string;
  49060. /**
  49061. * (Highstock) When compare is `percent`, this option dictates whether to
  49062. * use 0 or 100 as the base of comparison.
  49063. */
  49064. compareBase?: (0|100);
  49065. /**
  49066. * (Highstock) Defines if comparison should start from the first point
  49067. * within the visible range or should start from the first point **before**
  49068. * the range.
  49069. *
  49070. * In other words, this flag determines if first point within the visible
  49071. * range will have 0% (`compareStart=true`) or should have been already
  49072. * calculated according to the previous point (`compareStart=false`).
  49073. */
  49074. compareStart?: boolean;
  49075. /**
  49076. * (Gantt) Override Pathfinder connector options for a series. Requires
  49077. * Highcharts Gantt to be loaded.
  49078. */
  49079. connectors?: SeriesConnectorsOptionsObject;
  49080. /**
  49081. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  49082. * rounded to its nearest pixel in order to render sharp on screen. In some
  49083. * cases, when there are a lot of densely packed columns, this leads to
  49084. * visible difference in column widths or distance between columns. In these
  49085. * cases, setting `crisp` to `false` may look better, even though each
  49086. * column is rendered blurry.
  49087. */
  49088. crisp?: boolean;
  49089. /**
  49090. * (Highcharts, Highmaps) You can set the cursor to "pointer" if you have
  49091. * click events attached to the series, to signal to the user that the
  49092. * points and lines can be clicked.
  49093. *
  49094. * In styled mode, the series cursor can be set with the same classes as
  49095. * listed under series.color.
  49096. */
  49097. cursor?: (string|CursorValue);
  49098. /**
  49099. * (Highcharts, Highmaps) A reserved subspace to store options and values
  49100. * for customized functionality. Here you can add additional data for your
  49101. * own event callbacks and formatter callbacks.
  49102. */
  49103. custom?: Dictionary<any>;
  49104. /**
  49105. * (Highstock) Data grouping is the concept of sampling the data values into
  49106. * larger blocks in order to ease readability and increase performance of
  49107. * the JavaScript charts. Highcharts Stock by default applies data grouping
  49108. * when the points become closer than a certain pixel value, determined by
  49109. * the `groupPixelWidth` option.
  49110. *
  49111. * If data grouping is applied, the grouping information of grouped points
  49112. * can be read from the Point.dataGroup. If point options other than the
  49113. * data itself are set, for example `name` or `color` or custom properties,
  49114. * the grouping logic doesn't know how to group it. In this case the options
  49115. * of the first point instance are copied over to the group point. This can
  49116. * be altered through a custom `approximation` callback function.
  49117. */
  49118. dataGrouping?: DataGroupingOptionsObject;
  49119. /**
  49120. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  49121. * labels, appearing next to each data point.
  49122. *
  49123. * Since v6.2.0, multiple data labels can be applied to each single point by
  49124. * defining them as an array of configs.
  49125. *
  49126. * In styled mode, the data labels can be styled with the
  49127. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  49128. * (see example).
  49129. */
  49130. dataLabels?: (PlotHeatmapDataLabelsOptions|Array<PlotHeatmapDataLabelsOptions>);
  49131. /**
  49132. * (Highcharts, Highstock) Options for the series data sorting.
  49133. */
  49134. dataSorting?: (DataSortingOptionsObject|PlotHeatmapDataSortingOptions);
  49135. /**
  49136. * (Highcharts, Highmaps) A description of the series to add to the screen
  49137. * reader information about the series.
  49138. */
  49139. description?: string;
  49140. /**
  49141. * (Highcharts, Highmaps) The draggable-points module allows points to be
  49142. * moved around or modified in the chart. In addition to the options
  49143. * mentioned under the `dragDrop` API structure, the module fires three
  49144. * events, point.dragStart, point.drag and point.drop.
  49145. */
  49146. dragDrop?: SeriesDragDropOptionsObject;
  49147. /**
  49148. * (Highcharts, Highmaps) Enable or disable the mouse tracking for a
  49149. * specific series. This includes point tooltips and click events on graphs
  49150. * and points. For large datasets it improves performance.
  49151. */
  49152. enableMouseTracking?: boolean;
  49153. /**
  49154. * (Highcharts, Highmaps) General event handlers for the series items. These
  49155. * event hooks can also be attached to the series at run time using the
  49156. * `Highcharts.addEvent` function.
  49157. */
  49158. events?: SeriesEventsOptionsObject;
  49159. /**
  49160. * (Highstock) Defines when to display a gap in the graph, together with the
  49161. * gapUnit option.
  49162. *
  49163. * In case when `dataGrouping` is enabled, points can be grouped into a
  49164. * larger time span. This can make the grouped points to have a greater
  49165. * distance than the absolute value of `gapSize` property, which will result
  49166. * in disappearing graph completely. To prevent this situation the mentioned
  49167. * distance between grouped points is used instead of previously defined
  49168. * `gapSize`.
  49169. *
  49170. * In practice, this option is most often used to visualize gaps in time
  49171. * series. In a stock chart, intraday data is available for daytime hours,
  49172. * while gaps will appear in nights and weekends.
  49173. */
  49174. gapSize?: number;
  49175. /**
  49176. * (Highstock) Together with gapSize, this option defines where to draw gaps
  49177. * in the graph.
  49178. *
  49179. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  49180. * if the distance between two points is greater than 5 times that of the
  49181. * two closest points, the graph will be broken.
  49182. *
  49183. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  49184. * values, which on a datetime axis is milliseconds. This also applies to
  49185. * the navigator series that inherits gap options from the base series.
  49186. */
  49187. gapUnit?: OptionsGapUnitValue;
  49188. /**
  49189. * (Highcharts, Highmaps) When set to `false` will prevent the series data
  49190. * from being included in any form of data export.
  49191. *
  49192. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  49193. * `includeInCSVExport`.
  49194. */
  49195. includeInDataExport?: boolean;
  49196. /**
  49197. * (Highmaps) What property to join the `mapData` to the value data. For
  49198. * example, if joinBy is "code", the mapData items with a specific code is
  49199. * merged into the data with the same code. For maps loaded from GeoJSON,
  49200. * the keys may be held in each point's `properties` object.
  49201. *
  49202. * The joinBy option can also be an array of two values, where the first
  49203. * points to a key in the `mapData`, and the second points to another key in
  49204. * the `data`.
  49205. *
  49206. * When joinBy is `null`, the map items are joined by their position in the
  49207. * array, which performs much better in maps with many data points. This is
  49208. * the recommended option if you are printing more than a thousand data
  49209. * points and have a backend that can preprocess the data into a parallel
  49210. * array of the mapData.
  49211. */
  49212. joinBy?: (string|Array<string>);
  49213. /**
  49214. * (Highcharts, Highmaps) An array specifying which option maps to which key
  49215. * in the data point array. This makes it convenient to work with
  49216. * unstructured data arrays from different sources.
  49217. */
  49218. keys?: Array<string>;
  49219. /**
  49220. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  49221. * series as possible in a natural way, seeking to avoid other series. The
  49222. * goal of this feature is to make the chart more easily readable, like if a
  49223. * human designer placed the labels in the optimal position.
  49224. *
  49225. * The series labels currently work with series types having a `graph` or an
  49226. * `area`.
  49227. */
  49228. label?: SeriesLabelOptionsObject;
  49229. /**
  49230. * (Highstock) The line marks the last price from all points.
  49231. */
  49232. lastPrice?: SeriesLastPriceOptionsObject;
  49233. /**
  49234. * (Highstock) The line marks the last price from visible range of points.
  49235. */
  49236. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  49237. /**
  49238. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  49239. * Additionally, the value can be ":previous" to link to the previous
  49240. * series. When two series are linked, only the first one appears in the
  49241. * legend. Toggling the visibility of this also toggles the linked series.
  49242. *
  49243. * If master series uses data sorting and linked series does not have its
  49244. * own sorting definition, the linked series will be sorted in the same
  49245. * order as the master one.
  49246. */
  49247. linkedTo?: string;
  49248. /**
  49249. * (Highcharts, Highmaps) Options for the point markers of line-like series.
  49250. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  49251. * visual appearance of the markers. Other series types, like column series,
  49252. * don't have markers, but have visual options on the series level instead.
  49253. *
  49254. * In styled mode, the markers can be styled with the `.highcharts-point`,
  49255. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  49256. */
  49257. marker?: PointMarkerOptionsObject;
  49258. /**
  49259. * (Highstock) Options for the corresponding navigator series if
  49260. * `showInNavigator` is `true` for this series. Available options are the
  49261. * same as any series, documented at plotOptions and series.
  49262. *
  49263. * These options are merged with options in navigator.series, and will take
  49264. * precedence if the same option is defined both places.
  49265. */
  49266. navigatorOptions?: PlotSeriesOptions;
  49267. /**
  49268. * (Highcharts, Highmaps) The color for the parts of the graph or points
  49269. * that are below the threshold. Note that `zones` takes precedence over the
  49270. * negative color. Using `negativeColor` is equivalent to applying a zone
  49271. * with value of 0.
  49272. */
  49273. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  49274. /**
  49275. * (Highcharts, Highmaps) The color applied to null points. In styled mode,
  49276. * a general CSS class is applied instead.
  49277. */
  49278. nullColor?: (ColorString|GradientColorObject|PatternObject);
  49279. /**
  49280. * (Highcharts, Highmaps) Opacity of a series parts: line, fill (e.g. area)
  49281. * and dataLabels.
  49282. */
  49283. opacity?: number;
  49284. /**
  49285. * (Highcharts, Highmaps) Properties for each single point.
  49286. */
  49287. point?: PlotSeriesPointOptions;
  49288. /**
  49289. * (Highcharts, Highmaps) Same as accessibility.pointDescriptionFormatter,
  49290. * but for an individual series. Overrides the chart wide configuration.
  49291. */
  49292. pointDescriptionFormatter?: Function;
  49293. /**
  49294. * (Highcharts, Highmaps) Padding between the points in the heatmap.
  49295. */
  49296. pointPadding?: number;
  49297. /**
  49298. * (Highcharts, Highmaps) The row size - how many Y axis units each heatmap
  49299. * row should span.
  49300. */
  49301. rowsize?: number;
  49302. /**
  49303. * (Highcharts, Highmaps) Whether to select the series initially. If
  49304. * `showCheckbox` is true, the checkbox next to the series name in the
  49305. * legend will be checked for a selected series.
  49306. */
  49307. selected?: boolean;
  49308. /**
  49309. * (Highcharts, Highmaps) If true, a checkbox is displayed next to the
  49310. * legend item to allow selecting the series. The state of the checkbox is
  49311. * determined by the `selected` option.
  49312. */
  49313. showCheckbox?: boolean;
  49314. /**
  49315. * (Highcharts, Highmaps) Whether to display this particular series or
  49316. * series type in the legend. Standalone series are shown in legend by
  49317. * default, and linked series are not. Since v7.2.0 it is possible to show
  49318. * series that use colorAxis by setting this option to `true`.
  49319. */
  49320. showInLegend?: boolean;
  49321. /**
  49322. * (Highstock) Whether or not to show the series in the navigator. Takes
  49323. * precedence over navigator.baseSeries if defined.
  49324. */
  49325. showInNavigator?: boolean;
  49326. /**
  49327. * (Highcharts, Highmaps) If set to `true`, the accessibility module will
  49328. * skip past the points in this series for keyboard navigation.
  49329. */
  49330. skipKeyboardNavigation?: boolean;
  49331. states?: SeriesStatesOptionsObject;
  49332. /**
  49333. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  49334. * `mouseOut` event on a series isn't triggered until the mouse moves over
  49335. * another series, or out of the plot area. When false, the `mouseOut` event
  49336. * on a series is triggered when the mouse leaves the area around the
  49337. * series' graph or markers. This also implies the tooltip. When
  49338. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  49339. * be hidden when moving the mouse between series.
  49340. */
  49341. stickyTracking?: boolean;
  49342. /**
  49343. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  49344. * of each single series. Properties are inherited from tooltip. Overridable
  49345. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  49346. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  49347. * series.name by default shows in the headerFormat and point.x and point.y
  49348. * in the pointFormat.
  49349. */
  49350. tooltip?: SeriesTooltipOptionsObject;
  49351. /**
  49352. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  49353. * is longer than this, only one dimensional arrays of numbers, or two
  49354. * dimensional arrays with x and y values are allowed. Also, only the first
  49355. * point is tested, and the rest are assumed to be the same format. This
  49356. * saves expensive data checking and indexing in long series. Set it to `0`
  49357. * disable.
  49358. *
  49359. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  49360. * two dimensional arrays are allowed.
  49361. */
  49362. turboThreshold?: number;
  49363. /**
  49364. * (Highcharts, Highmaps) Set the initial visibility of the series.
  49365. */
  49366. visible?: boolean;
  49367. /**
  49368. * (Highmaps) Define the z index of the series.
  49369. */
  49370. zIndex?: number;
  49371. /**
  49372. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  49373. */
  49374. zoneAxis?: string;
  49375. /**
  49376. * (Highcharts, Highstock) An array defining zones within a series. Zones
  49377. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  49378. * the `zoneAxis` option. The zone definitions have to be in ascending order
  49379. * regarding to the value.
  49380. *
  49381. * In styled mode, the color zones are styled with the
  49382. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  49383. * option (view live demo).
  49384. */
  49385. zones?: Array<SeriesZonesOptionsObject>;
  49386. }
  49387. /**
  49388. * (Highcharts) Enable or disable the initial animation when a series is
  49389. * displayed. The animation can also be set as a configuration object. Please
  49390. * note that this option only applies to the initial animation of the series
  49391. * itself. For other animations, see chart.animation and the animation parameter
  49392. * under the API methods. The following properties are supported:
  49393. *
  49394. * - `defer`: The animation delay time in milliseconds.
  49395. *
  49396. * - `duration`: The duration of the animation in milliseconds.
  49397. *
  49398. * - `easing`: Can be a string reference to an easing function set on the `Math`
  49399. * object or a function. See the _Custom easing function_ demo below.
  49400. *
  49401. * Due to poor performance, animation is disabled in old IE browsers for several
  49402. * chart types.
  49403. */
  49404. export interface PlotHistogramAnimationOptions {
  49405. defer?: number;
  49406. }
  49407. /**
  49408. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  49409. * animation when a series is displayed for the `dataLabels`. The animation can
  49410. * also be set as a configuration object. Please note that this option only
  49411. * applies to the initial animation. For other animations, see chart.animation
  49412. * and the animation parameter under the API methods. The following properties
  49413. * are supported:
  49414. *
  49415. * - `defer`: The animation delay time in milliseconds.
  49416. */
  49417. export interface PlotHistogramDataLabelsAnimationOptions {
  49418. /**
  49419. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  49420. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  49421. * inherits defer time from the series.animation.defer.
  49422. */
  49423. defer?: number;
  49424. }
  49425. /**
  49426. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  49427. * appearing next to each data point.
  49428. *
  49429. * Since v6.2.0, multiple data labels can be applied to each single point by
  49430. * defining them as an array of configs.
  49431. *
  49432. * In styled mode, the data labels can be styled with the
  49433. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  49434. * example).
  49435. */
  49436. export interface PlotHistogramDataLabelsOptions {
  49437. /**
  49438. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  49439. * compared to the point. If `right`, the right side of the label should be
  49440. * touching the point. For points with an extent, like columns, the
  49441. * alignments also dictates how to align it inside the box, as given with
  49442. * the inside option. Can be one of `left`, `center` or `right`.
  49443. */
  49444. align?: string;
  49445. /**
  49446. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  49447. * overlap. To make the labels less sensitive for overlapping, the
  49448. * dataLabels.padding can be set to 0.
  49449. */
  49450. allowOverlap?: boolean;
  49451. /**
  49452. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  49453. * animation when a series is displayed for the `dataLabels`. The animation
  49454. * can also be set as a configuration object. Please note that this option
  49455. * only applies to the initial animation. For other animations, see
  49456. * chart.animation and the animation parameter under the API methods. The
  49457. * following properties are supported:
  49458. *
  49459. * - `defer`: The animation delay time in milliseconds.
  49460. */
  49461. animation?: (boolean|PlotHistogramDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  49462. /**
  49463. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  49464. * for the data label.
  49465. */
  49466. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  49467. /**
  49468. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  49469. * label. Defaults to `undefined`.
  49470. */
  49471. borderColor?: (ColorString|GradientColorObject|PatternObject);
  49472. /**
  49473. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  49474. * the data label.
  49475. */
  49476. borderRadius?: number;
  49477. /**
  49478. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  49479. * the data label.
  49480. */
  49481. borderWidth?: number;
  49482. /**
  49483. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  49484. * Particularly in styled mode, this can be used to give each series' or
  49485. * point's data label unique styling. In addition to this option, a default
  49486. * color class name is added so that we can give the labels a contrast text
  49487. * shadow.
  49488. */
  49489. className?: string;
  49490. /**
  49491. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  49492. * labels. Defaults to `undefined`. For certain series types, like column or
  49493. * map, the data labels can be drawn inside the points. In this case the
  49494. * data label will be drawn with maximum contrast by default. Additionally,
  49495. * it will be given a `text-outline` style with the opposite color, to
  49496. * further increase the contrast. This can be overridden by setting the
  49497. * `text-outline` style to `none` in the `dataLabels.style` option.
  49498. */
  49499. color?: (ColorString|GradientColorObject|PatternObject);
  49500. /**
  49501. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  49502. * are outside the plot area. By default, the data label is moved inside the
  49503. * plot area according to the overflow option.
  49504. */
  49505. crop?: boolean;
  49506. /**
  49507. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  49508. * labels until the initial series animation has finished. Setting to
  49509. * `false` renders the data label immediately. If set to `true` inherits the
  49510. * defer time set in plotOptions.series.animation. If set to a number, a
  49511. * defer time is specified in milliseconds.
  49512. */
  49513. defer?: (boolean|number);
  49514. /**
  49515. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  49516. * labels.
  49517. */
  49518. enabled?: boolean;
  49519. /**
  49520. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  49521. * of which data labels to display. The declarative filter is designed for
  49522. * use when callback functions are not available, like when the chart
  49523. * options require a pure JSON structure or for use with graphical editors.
  49524. * For programmatic control, use the `formatter` instead, and return
  49525. * `undefined` to disable a single data label.
  49526. */
  49527. filter?: DataLabelsFilterOptionsObject;
  49528. /**
  49529. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  49530. * label. Available variables are the same as for `formatter`.
  49531. */
  49532. format?: string;
  49533. /**
  49534. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  49535. * format the data label. Note that if a `format` is defined, the format
  49536. * takes precedence and the formatter is ignored.
  49537. */
  49538. formatter?: DataLabelsFormatterCallbackFunction;
  49539. /**
  49540. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  49541. * columns or map areas, whether to align the data label inside the box or
  49542. * to the actual value point. Defaults to `false` in most cases, `true` in
  49543. * stacked columns.
  49544. */
  49545. inside?: boolean;
  49546. /**
  49547. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  49548. * of null. Works analogously to format. `nullFormat` can be applied only to
  49549. * series which support displaying null points.
  49550. */
  49551. nullFormat?: (boolean|string);
  49552. /**
  49553. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  49554. * that defines formatting for points with the value of null. Works
  49555. * analogously to formatter. `nullPointFormatter` can be applied only to
  49556. * series which support displaying null points.
  49557. */
  49558. nullFormatter?: DataLabelsFormatterCallbackFunction;
  49559. /**
  49560. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  49561. * flow outside the plot area. The default is `"justify"`, which aligns them
  49562. * inside the plot area. For columns and bars, this means it will be moved
  49563. * inside the bar. To display data labels outside the plot area, set `crop`
  49564. * to `false` and `overflow` to `"allow"`.
  49565. */
  49566. overflow?: DataLabelsOverflowValue;
  49567. /**
  49568. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  49569. * the `backgroundColor` is set, this is the padding within the box.
  49570. */
  49571. padding?: number;
  49572. /**
  49573. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  49574. * points. If `center` alignment is not possible, it defaults to `right`.
  49575. */
  49576. position?: AlignValue;
  49577. /**
  49578. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  49579. * that due to a more complex structure, backgrounds, borders and padding
  49580. * will be lost on a rotated data label.
  49581. */
  49582. rotation?: number;
  49583. /**
  49584. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  49585. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  49586. * an object configuration containing `color`, `offsetX`, `offsetY`,
  49587. * `opacity` and `width`.
  49588. */
  49589. shadow?: (boolean|ShadowOptionsObject);
  49590. /**
  49591. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  49592. * the border around the label. Symbols are predefined functions on the
  49593. * Renderer object.
  49594. */
  49595. shape?: string;
  49596. /**
  49597. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  49598. * default `color` setting is `"contrast"`, which is a pseudo color that
  49599. * Highcharts picks up and applies the maximum contrast to the underlying
  49600. * point item, for example the bar in a bar chart.
  49601. *
  49602. * The `textOutline` is a pseudo property that applies an outline of the
  49603. * given width with the given color, which by default is the maximum
  49604. * contrast to the text. So a bright text color will result in a black text
  49605. * outline for maximum readability on a mixed background. In some cases,
  49606. * especially with grayscale text, the text outline doesn't work well, in
  49607. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  49608. * is true, the `textOutline` will not be picked up. In this, case, the same
  49609. * effect can be acheived through the `text-shadow` CSS property.
  49610. *
  49611. * For some series types, where each point has an extent, like for example
  49612. * tree maps, the data label may overflow the point. There are two
  49613. * strategies for handling overflow. By default, the text will wrap to
  49614. * multiple lines. The other strategy is to set `style.textOverflow` to
  49615. * `ellipsis`, which will keep the text on one line plus it will break
  49616. * inside long words.
  49617. */
  49618. style?: CSSObject;
  49619. /**
  49620. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  49621. * should follow marker's shape. Border and background are disabled for a
  49622. * label that follows a path.
  49623. *
  49624. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  49625. * to true will disable this option.
  49626. */
  49627. textPath?: DataLabelsTextPathOptionsObject;
  49628. /**
  49629. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  49630. * the labels.
  49631. */
  49632. useHTML?: boolean;
  49633. /**
  49634. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  49635. * label. Can be one of `top`, `middle` or `bottom`. The default value
  49636. * depends on the data, for instance in a column chart, the label is above
  49637. * positive values and below negative values.
  49638. */
  49639. verticalAlign?: string;
  49640. /**
  49641. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  49642. * label relative to the point in pixels.
  49643. */
  49644. x?: number;
  49645. /**
  49646. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  49647. * label relative to the point in pixels.
  49648. */
  49649. y?: number;
  49650. /**
  49651. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  49652. * The default Z index puts it above the series. Use a Z index of 2 to
  49653. * display it behind the series.
  49654. */
  49655. z?: number;
  49656. }
  49657. /**
  49658. * (Highcharts, Highstock) Options for the series data sorting.
  49659. */
  49660. export interface PlotHistogramDataSortingOptions {
  49661. /**
  49662. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  49663. * Use xAxis.reversed to change the sorting order.
  49664. */
  49665. enabled?: boolean;
  49666. /**
  49667. * (Highcharts, Highstock) Whether to allow matching points by name in an
  49668. * update. If this option is disabled, points will be matched by order.
  49669. */
  49670. matchByName?: boolean;
  49671. /**
  49672. * (Highcharts, Highstock) Determines what data value should be used to sort
  49673. * by.
  49674. */
  49675. sortKey?: string;
  49676. }
  49677. /**
  49678. * (Highcharts) A histogram is a column series which represents the distribution
  49679. * of the data set in the base series. Histogram splits data into bins and shows
  49680. * their frequencies.
  49681. *
  49682. * In TypeScript the type option must always be set.
  49683. *
  49684. * Configuration options for the series are given in three levels:
  49685. *
  49686. * 1. Options for all series in a chart are defined in the plotOptions.series
  49687. * object.
  49688. *
  49689. * 2. Options for all `histogram` series are defined in plotOptions.histogram.
  49690. *
  49691. * 3. Options for one single series are given in the series instance array. (see
  49692. * online documentation for example)
  49693. */
  49694. export interface PlotHistogramOptions {
  49695. /**
  49696. * (Highcharts) Accessibility options for a series.
  49697. */
  49698. accessibility?: SeriesAccessibilityOptionsObject;
  49699. /**
  49700. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  49701. * rendered. If `true`, areas which don't correspond to a data point, are
  49702. * rendered as `null` points. If `false`, those areas are skipped.
  49703. */
  49704. allAreas?: boolean;
  49705. /**
  49706. * (Highcharts) Allow this series' points to be selected by clicking on the
  49707. * graphic (columns, point markers, pie slices, map areas etc).
  49708. *
  49709. * The selected points can be handled by point select and unselect events,
  49710. * or collectively by the getSelectedPoints function.
  49711. *
  49712. * And alternative way of selecting points is through dragging.
  49713. */
  49714. allowPointSelect?: boolean;
  49715. /**
  49716. * (Highcharts) Enable or disable the initial animation when a series is
  49717. * displayed. The animation can also be set as a configuration object.
  49718. * Please note that this option only applies to the initial animation of the
  49719. * series itself. For other animations, see chart.animation and the
  49720. * animation parameter under the API methods. The following properties are
  49721. * supported:
  49722. *
  49723. * - `defer`: The animation delay time in milliseconds.
  49724. *
  49725. * - `duration`: The duration of the animation in milliseconds.
  49726. *
  49727. * - `easing`: Can be a string reference to an easing function set on the
  49728. * `Math` object or a function. See the _Custom easing function_ demo below.
  49729. *
  49730. * Due to poor performance, animation is disabled in old IE browsers for
  49731. * several chart types.
  49732. */
  49733. animation?: (boolean|PlotHistogramAnimationOptions|Partial<AnimationOptionsObject>);
  49734. /**
  49735. * (Highcharts) For some series, there is a limit that shuts down initial
  49736. * animation by default when the total number of points in the chart is too
  49737. * high. For example, for a column chart and its derivatives, animation does
  49738. * not run if there is more than 250 points totally. To disable this cap,
  49739. * set `animationLimit` to `Infinity`.
  49740. */
  49741. animationLimit?: number;
  49742. /**
  49743. * (Highcharts) A preferable number of bins. It is a suggestion, so a
  49744. * histogram may have a different number of bins. By default it is set to
  49745. * the square root of the base series' data length. Available options are:
  49746. * `square-root`, `sturges`, `rice`. You can also define a function which
  49747. * takes a `baseSeries` as a parameter and should return a positive integer.
  49748. */
  49749. binsNumber?: ("rice"|"square-root"|"sturges"|number|Function);
  49750. /**
  49751. * (Highcharts) Width of each bin. By default the bin's width is calculated
  49752. * as `(max - min) / number of bins`. This option takes precedence over
  49753. * binsNumber.
  49754. */
  49755. binWidth?: number;
  49756. /**
  49757. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  49758. * column or bar.
  49759. *
  49760. * In styled mode, the border stroke can be set with the `.highcharts-point`
  49761. * rule.
  49762. */
  49763. borderColor?: (ColorString|GradientColorObject|PatternObject);
  49764. /**
  49765. * (Highcharts, Highstock, Gantt) The corner radius of the border
  49766. * surrounding each column or bar.
  49767. */
  49768. borderRadius?: number;
  49769. /**
  49770. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  49771. * column or bar. Defaults to `1` when there is room for a border, but to
  49772. * `0` when the columns are so dense that a border would cover the next
  49773. * column.
  49774. *
  49775. * In styled mode, the stroke width can be set with the `.highcharts-point`
  49776. * rule.
  49777. */
  49778. borderWidth?: number;
  49779. /**
  49780. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  49781. * the category, ignoring null or missing points. When `false`, space will
  49782. * be reserved for null or missing points.
  49783. */
  49784. centerInCategory?: boolean;
  49785. /**
  49786. * (Highcharts) An additional class name to apply to the series' graphical
  49787. * elements. This option does not replace default class names of the
  49788. * graphical element.
  49789. */
  49790. className?: string;
  49791. /**
  49792. * (Highcharts) Disable this option to allow series rendering in the whole
  49793. * plotting area.
  49794. *
  49795. * **Note:** Clipping should be always enabled when chart.zoomType is set
  49796. */
  49797. clip?: boolean;
  49798. /**
  49799. * (Highcharts) The main color of the series. In line type series it applies
  49800. * to the line and the point markers unless otherwise specified. In bar type
  49801. * series it applies to the bars unless a color is specified per point. The
  49802. * default value is pulled from the `options.colors` array.
  49803. *
  49804. * In styled mode, the color can be defined by the colorIndex option. Also,
  49805. * the series color can be set with the `.highcharts-series`,
  49806. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  49807. * `.highcharts-series-{n}` class, or individual classes given by the
  49808. * `className` option.
  49809. */
  49810. color?: (ColorString|GradientColorObject|PatternObject);
  49811. /**
  49812. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  49813. * this number defines which colorAxis the particular series is connected
  49814. * to. It refers to either the axis id or the index of the axis in the
  49815. * colorAxis array, with 0 being the first. Set this option to false to
  49816. * prevent a series from connecting to the default color axis.
  49817. *
  49818. * Since v7.2.0 the option can also be an axis id or an axis index instead
  49819. * of a boolean flag.
  49820. */
  49821. colorAxis?: (boolean|number|string);
  49822. /**
  49823. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  49824. * from the global colors or series-specific plotOptions.column.colors
  49825. * collections, this option determines whether the chart should receive one
  49826. * color per series or one color per point.
  49827. *
  49828. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  49829. * and instead this option gives the points individual color class names on
  49830. * the form `highcharts-color-{n}`.
  49831. */
  49832. colorByPoint?: boolean;
  49833. /**
  49834. * (Highcharts) Styled mode only. A specific color index to use for the
  49835. * series, so its graphic representations are given the class name
  49836. * `highcharts-color-{n}`.
  49837. */
  49838. colorIndex?: number;
  49839. /**
  49840. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  49841. * used to calculate point color if `colorAxis` is used. Requires to set
  49842. * `min` and `max` if some custom point property is used or if approximation
  49843. * for data grouping is set to `'sum'`.
  49844. */
  49845. colorKey?: string;
  49846. /**
  49847. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  49848. * color set to apply instead of the global colors when colorByPoint is
  49849. * true.
  49850. */
  49851. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  49852. /**
  49853. * (Highstock) Compare the values of the series against the first non-null,
  49854. * non- zero value in the visible range. The y axis will show percentage or
  49855. * absolute change depending on whether `compare` is set to `"percent"` or
  49856. * `"value"`. When this is applied to multiple series, it allows comparing
  49857. * the development of the series against each other. Adds a `change` field
  49858. * to every point object.
  49859. */
  49860. compare?: string;
  49861. /**
  49862. * (Highstock) When compare is `percent`, this option dictates whether to
  49863. * use 0 or 100 as the base of comparison.
  49864. */
  49865. compareBase?: (0|100);
  49866. /**
  49867. * (Highstock) Defines if comparison should start from the first point
  49868. * within the visible range or should start from the first point **before**
  49869. * the range.
  49870. *
  49871. * In other words, this flag determines if first point within the visible
  49872. * range will have 0% (`compareStart=true`) or should have been already
  49873. * calculated according to the previous point (`compareStart=false`).
  49874. */
  49875. compareStart?: boolean;
  49876. /**
  49877. * (Gantt) Override Pathfinder connector options for a series. Requires
  49878. * Highcharts Gantt to be loaded.
  49879. */
  49880. connectors?: SeriesConnectorsOptionsObject;
  49881. /**
  49882. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  49883. * rounded to its nearest pixel in order to render sharp on screen. In some
  49884. * cases, when there are a lot of densely packed columns, this leads to
  49885. * visible difference in column widths or distance between columns. In these
  49886. * cases, setting `crisp` to `false` may look better, even though each
  49887. * column is rendered blurry.
  49888. */
  49889. crisp?: boolean;
  49890. /**
  49891. * (Highcharts, Highstock, Gantt) When the series contains less points than
  49892. * the crop threshold, all points are drawn, event if the points fall
  49893. * outside the visible plot area at the current zoom. The advantage of
  49894. * drawing all points (including markers and columns), is that animation is
  49895. * performed on updates. On the other hand, when the series contains more
  49896. * points than the crop threshold, the series data is cropped to only
  49897. * contain points that fall within the plot area. The advantage of cropping
  49898. * away invisible points is to increase performance on large series.
  49899. */
  49900. cropThreshold?: number;
  49901. /**
  49902. * (Highcharts) You can set the cursor to "pointer" if you have click events
  49903. * attached to the series, to signal to the user that the points and lines
  49904. * can be clicked.
  49905. *
  49906. * In styled mode, the series cursor can be set with the same classes as
  49907. * listed under series.color.
  49908. */
  49909. cursor?: (string|CursorValue);
  49910. /**
  49911. * (Highcharts) A reserved subspace to store options and values for
  49912. * customized functionality. Here you can add additional data for your own
  49913. * event callbacks and formatter callbacks.
  49914. */
  49915. custom?: Dictionary<any>;
  49916. /**
  49917. * (Highcharts) Name of the dash style to use for the graph, or for some
  49918. * series types the outline of each shape.
  49919. *
  49920. * In styled mode, the stroke dash-array can be set with the same classes as
  49921. * listed under series.color.
  49922. */
  49923. dashStyle?: DashStyleValue;
  49924. /**
  49925. * (Highstock) Data grouping is the concept of sampling the data values into
  49926. * larger blocks in order to ease readability and increase performance of
  49927. * the JavaScript charts. Highcharts Stock by default applies data grouping
  49928. * when the points become closer than a certain pixel value, determined by
  49929. * the `groupPixelWidth` option.
  49930. *
  49931. * If data grouping is applied, the grouping information of grouped points
  49932. * can be read from the Point.dataGroup. If point options other than the
  49933. * data itself are set, for example `name` or `color` or custom properties,
  49934. * the grouping logic doesn't know how to group it. In this case the options
  49935. * of the first point instance are copied over to the group point. This can
  49936. * be altered through a custom `approximation` callback function.
  49937. */
  49938. dataGrouping?: DataGroupingOptionsObject;
  49939. /**
  49940. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  49941. * labels, appearing next to each data point.
  49942. *
  49943. * Since v6.2.0, multiple data labels can be applied to each single point by
  49944. * defining them as an array of configs.
  49945. *
  49946. * In styled mode, the data labels can be styled with the
  49947. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  49948. * (see example).
  49949. */
  49950. dataLabels?: (PlotHistogramDataLabelsOptions|Array<PlotHistogramDataLabelsOptions>);
  49951. /**
  49952. * (Highcharts, Highstock) Options for the series data sorting.
  49953. */
  49954. dataSorting?: (DataSortingOptionsObject|PlotHistogramDataSortingOptions);
  49955. /**
  49956. * (Highcharts) Depth of the columns in a 3D column chart.
  49957. */
  49958. depth?: number;
  49959. /**
  49960. * (Highcharts) A description of the series to add to the screen reader
  49961. * information about the series.
  49962. */
  49963. description?: string;
  49964. /**
  49965. * (Highcharts) 3D columns only. The color of the edges. Similar to
  49966. * `borderColor`, except it defaults to the same color as the column.
  49967. */
  49968. edgeColor?: ColorString;
  49969. /**
  49970. * (Highcharts) 3D columns only. The width of the colored edges.
  49971. */
  49972. edgeWidth?: number;
  49973. /**
  49974. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  49975. * This includes point tooltips and click events on graphs and points. For
  49976. * large datasets it improves performance.
  49977. */
  49978. enableMouseTracking?: boolean;
  49979. /**
  49980. * (Highcharts) General event handlers for the series items. These event
  49981. * hooks can also be attached to the series at run time using the
  49982. * `Highcharts.addEvent` function.
  49983. */
  49984. events?: SeriesEventsOptionsObject;
  49985. /**
  49986. * (Highcharts) Determines whether the series should look for the nearest
  49987. * point in both dimensions or just the x-dimension when hovering the
  49988. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  49989. * series. If the data has duplicate x-values, it is recommended to set this
  49990. * to `'xy'` to allow hovering over all points.
  49991. *
  49992. * Applies only to series types using nearest neighbor search (not direct
  49993. * hover) for tooltip.
  49994. */
  49995. findNearestPointBy?: OptionsFindNearestPointByValue;
  49996. /**
  49997. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  49998. * chart width or only the zoomed area when zooming in on parts of the X
  49999. * axis. By default, the Y axis adjusts to the min and max of the visible
  50000. * data. Cartesian series only.
  50001. */
  50002. getExtremesFromAll?: boolean;
  50003. /**
  50004. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  50005. * let them render independent of each other. Non-grouped columns will be
  50006. * laid out individually and overlap each other.
  50007. */
  50008. grouping?: boolean;
  50009. /**
  50010. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  50011. * axis units.
  50012. */
  50013. groupPadding?: number;
  50014. /**
  50015. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  50016. */
  50017. groupZPadding?: number;
  50018. /**
  50019. * (Highcharts) When set to `false` will prevent the series data from being
  50020. * included in any form of data export.
  50021. *
  50022. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  50023. * `includeInCSVExport`.
  50024. */
  50025. includeInDataExport?: boolean;
  50026. /**
  50027. * (Highmaps) What property to join the `mapData` to the value data. For
  50028. * example, if joinBy is "code", the mapData items with a specific code is
  50029. * merged into the data with the same code. For maps loaded from GeoJSON,
  50030. * the keys may be held in each point's `properties` object.
  50031. *
  50032. * The joinBy option can also be an array of two values, where the first
  50033. * points to a key in the `mapData`, and the second points to another key in
  50034. * the `data`.
  50035. *
  50036. * When joinBy is `null`, the map items are joined by their position in the
  50037. * array, which performs much better in maps with many data points. This is
  50038. * the recommended option if you are printing more than a thousand data
  50039. * points and have a backend that can preprocess the data into a parallel
  50040. * array of the mapData.
  50041. */
  50042. joinBy?: (string|Array<string>);
  50043. /**
  50044. * (Highcharts) An array specifying which option maps to which key in the
  50045. * data point array. This makes it convenient to work with unstructured data
  50046. * arrays from different sources.
  50047. */
  50048. keys?: Array<string>;
  50049. /**
  50050. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  50051. * series as possible in a natural way, seeking to avoid other series. The
  50052. * goal of this feature is to make the chart more easily readable, like if a
  50053. * human designer placed the labels in the optimal position.
  50054. *
  50055. * The series labels currently work with series types having a `graph` or an
  50056. * `area`.
  50057. */
  50058. label?: SeriesLabelOptionsObject;
  50059. /**
  50060. * (Highstock) The line marks the last price from all points.
  50061. */
  50062. lastPrice?: SeriesLastPriceOptionsObject;
  50063. /**
  50064. * (Highstock) The line marks the last price from visible range of points.
  50065. */
  50066. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  50067. /**
  50068. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  50069. * Additionally, the value can be ":previous" to link to the previous
  50070. * series. When two series are linked, only the first one appears in the
  50071. * legend. Toggling the visibility of this also toggles the linked series.
  50072. *
  50073. * If master series uses data sorting and linked series does not have its
  50074. * own sorting definition, the linked series will be sorted in the same
  50075. * order as the master one.
  50076. */
  50077. linkedTo?: string;
  50078. /**
  50079. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  50080. * column, translated to the height of a bar in a bar chart. This prevents
  50081. * the columns from becoming too wide when there is a small number of points
  50082. * in the chart.
  50083. */
  50084. maxPointWidth?: number;
  50085. /**
  50086. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  50087. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  50088. * to zero) point, set the minimal point length to a pixel value like 3\. In
  50089. * stacked column charts, minPointLength might not be respected for tightly
  50090. * packed values.
  50091. */
  50092. minPointLength?: number;
  50093. /**
  50094. * (Highstock) Options for the corresponding navigator series if
  50095. * `showInNavigator` is `true` for this series. Available options are the
  50096. * same as any series, documented at plotOptions and series.
  50097. *
  50098. * These options are merged with options in navigator.series, and will take
  50099. * precedence if the same option is defined both places.
  50100. */
  50101. navigatorOptions?: PlotSeriesOptions;
  50102. /**
  50103. * (Highcharts) The color for the parts of the graph or points that are
  50104. * below the threshold. Note that `zones` takes precedence over the negative
  50105. * color. Using `negativeColor` is equivalent to applying a zone with value
  50106. * of 0.
  50107. */
  50108. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  50109. /**
  50110. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  50111. * dataLabels.
  50112. */
  50113. opacity?: number;
  50114. /**
  50115. * (Highcharts) Properties for each single point.
  50116. */
  50117. point?: PlotSeriesPointOptions;
  50118. /**
  50119. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  50120. * individual series. Overrides the chart wide configuration.
  50121. */
  50122. pointDescriptionFormatter?: Function;
  50123. /**
  50124. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  50125. * axis units.
  50126. */
  50127. pointPadding?: number;
  50128. /**
  50129. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  50130. * `number`.
  50131. *
  50132. * In a column chart, when pointPlacement is `"on"`, the point will not
  50133. * create any padding of the X axis. In a polar column chart this means that
  50134. * the first column points directly north. If the pointPlacement is
  50135. * `"between"`, the columns will be laid out between ticks. This is useful
  50136. * for example for visualising an amount between two points in time or in a
  50137. * certain sector of a polar chart.
  50138. *
  50139. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  50140. * is on the axis value, -0.5 is between this value and the previous, and
  50141. * 0.5 is between this value and the next. Unlike the textual options,
  50142. * numeric point placement options won't affect axis padding.
  50143. *
  50144. * Note that pointPlacement needs a pointRange to work. For column series
  50145. * this is computed, but for line-type series it needs to be set.
  50146. *
  50147. * For the `xrange` series type and gantt charts, if the Y axis is a
  50148. * category axis, the `pointPlacement` applies to the Y axis rather than the
  50149. * (typically datetime) X axis.
  50150. *
  50151. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  50152. */
  50153. pointPlacement?: string;
  50154. /**
  50155. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  50156. * for. This determines the width of the column. On a categorized axis, the
  50157. * range will be 1 by default (one category unit). On linear and datetime
  50158. * axes, the range will be computed as the distance between the two closest
  50159. * data points.
  50160. *
  50161. * The default `null` means it is computed automatically, but this option
  50162. * can be used to override the automatic value.
  50163. *
  50164. * This option is set by default to 1 if data sorting is enabled.
  50165. */
  50166. pointRange?: (number|null);
  50167. /**
  50168. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  50169. * a series, pointStart defines on what value to start. For example, if a
  50170. * series contains one yearly value starting from 1945, set pointStart to
  50171. * 1945.
  50172. */
  50173. pointStart?: number;
  50174. /**
  50175. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  50176. * each column or bar point. When set to `undefined`, the width is
  50177. * calculated from the `pointPadding` and `groupPadding`. The width effects
  50178. * the dimension that is not based on the point value. For column series it
  50179. * is the hoizontal length and for bar series it is the vertical length.
  50180. */
  50181. pointWidth?: number;
  50182. /**
  50183. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  50184. * true, the checkbox next to the series name in the legend will be checked
  50185. * for a selected series.
  50186. */
  50187. selected?: boolean;
  50188. /**
  50189. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  50190. * the shadow can be an object configuration containing `color`, `offsetX`,
  50191. * `offsetY`, `opacity` and `width`.
  50192. */
  50193. shadow?: (boolean|ShadowOptionsObject);
  50194. /**
  50195. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  50196. * allow selecting the series. The state of the checkbox is determined by
  50197. * the `selected` option.
  50198. */
  50199. showCheckbox?: boolean;
  50200. /**
  50201. * (Highcharts) Whether to display this particular series or series type in
  50202. * the legend. Standalone series are shown in legend by default, and linked
  50203. * series are not. Since v7.2.0 it is possible to show series that use
  50204. * colorAxis by setting this option to `true`.
  50205. */
  50206. showInLegend?: boolean;
  50207. /**
  50208. * (Highstock) Whether or not to show the series in the navigator. Takes
  50209. * precedence over navigator.baseSeries if defined.
  50210. */
  50211. showInNavigator?: boolean;
  50212. /**
  50213. * (Highcharts) If set to `true`, the accessibility module will skip past
  50214. * the points in this series for keyboard navigation.
  50215. */
  50216. skipKeyboardNavigation?: boolean;
  50217. /**
  50218. * (Highcharts, Highstock) When this is true, the series will not cause the
  50219. * Y axis to cross the zero plane (or threshold option) unless the data
  50220. * actually crosses the plane.
  50221. *
  50222. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  50223. * make the Y axis show negative values according to the `minPadding`
  50224. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  50225. */
  50226. softThreshold?: boolean;
  50227. states?: SeriesStatesOptionsObject;
  50228. /**
  50229. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  50230. * event on a series isn't triggered until the mouse moves over another
  50231. * series, or out of the plot area. When false, the `mouseOut` event on a
  50232. * series is triggered when the mouse leaves the area around the series'
  50233. * graph or markers. This also implies the tooltip when not shared. When
  50234. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  50235. * be hidden when moving the mouse between series. Defaults to true for line
  50236. * and area type series, but to false for columns, pies etc.
  50237. *
  50238. * **Note:** The boost module will force this option because of technical
  50239. * limitations.
  50240. */
  50241. stickyTracking?: boolean;
  50242. /**
  50243. * (Highcharts) The Y axis value to serve as the base for the columns, for
  50244. * distinguishing between values above and below a threshold. If `null`, the
  50245. * columns extend from the padding Y axis minimum.
  50246. */
  50247. threshold?: (number|null);
  50248. /**
  50249. * (Highcharts) A configuration object for the tooltip rendering of each
  50250. * single series. Properties are inherited from tooltip, but only the
  50251. * following properties can be defined on a series level.
  50252. */
  50253. tooltip?: SeriesTooltipOptionsObject;
  50254. /**
  50255. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  50256. * is longer than this, only one dimensional arrays of numbers, or two
  50257. * dimensional arrays with x and y values are allowed. Also, only the first
  50258. * point is tested, and the rest are assumed to be the same format. This
  50259. * saves expensive data checking and indexing in long series. Set it to `0`
  50260. * disable.
  50261. *
  50262. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  50263. * two dimensional arrays are allowed.
  50264. */
  50265. turboThreshold?: number;
  50266. /**
  50267. * (Highcharts) Set the initial visibility of the series.
  50268. */
  50269. visible?: boolean;
  50270. /**
  50271. * (Highmaps) Define the z index of the series.
  50272. */
  50273. zIndex?: number;
  50274. /**
  50275. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  50276. */
  50277. zoneAxis?: string;
  50278. /**
  50279. * (Highcharts, Highstock) An array defining zones within a series. Zones
  50280. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  50281. * the `zoneAxis` option. The zone definitions have to be in ascending order
  50282. * regarding to the value.
  50283. *
  50284. * In styled mode, the color zones are styled with the
  50285. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  50286. * option (view live demo).
  50287. */
  50288. zones?: Array<SeriesZonesOptionsObject>;
  50289. }
  50290. /**
  50291. * (Highstock) Enable or disable the initial animation when a series is
  50292. * displayed. The animation can also be set as a configuration object. Please
  50293. * note that this option only applies to the initial animation of the series
  50294. * itself. For other animations, see chart.animation and the animation parameter
  50295. * under the API methods. The following properties are supported:
  50296. *
  50297. * - `defer`: The animation delay time in milliseconds.
  50298. *
  50299. * - `duration`: The duration of the animation in milliseconds.
  50300. *
  50301. * - `easing`: Can be a string reference to an easing function set on the `Math`
  50302. * object or a function. See the _Custom easing function_ demo below.
  50303. *
  50304. * Due to poor performance, animation is disabled in old IE browsers for several
  50305. * chart types.
  50306. */
  50307. export interface PlotIkhAnimationOptions {
  50308. defer?: number;
  50309. }
  50310. /**
  50311. * (Highstock) The styles for Chikou line
  50312. */
  50313. export interface PlotIkhChikouLineOptions {
  50314. styles?: PlotIkhChikouLineStylesOptions;
  50315. }
  50316. export interface PlotIkhChikouLineStylesOptions {
  50317. /**
  50318. * (Highstock) Color of the line.
  50319. */
  50320. lineColor?: ColorString;
  50321. /**
  50322. * (Highstock) Pixel width of the line.
  50323. */
  50324. lineWidth?: number;
  50325. }
  50326. /**
  50327. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  50328. * animation when a series is displayed for the `dataLabels`. The animation can
  50329. * also be set as a configuration object. Please note that this option only
  50330. * applies to the initial animation. For other animations, see chart.animation
  50331. * and the animation parameter under the API methods. The following properties
  50332. * are supported:
  50333. *
  50334. * - `defer`: The animation delay time in milliseconds.
  50335. */
  50336. export interface PlotIkhDataLabelsAnimationOptions {
  50337. /**
  50338. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  50339. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  50340. * inherits defer time from the series.animation.defer.
  50341. */
  50342. defer?: number;
  50343. }
  50344. /**
  50345. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  50346. * appearing next to each data point.
  50347. *
  50348. * Since v6.2.0, multiple data labels can be applied to each single point by
  50349. * defining them as an array of configs.
  50350. *
  50351. * In styled mode, the data labels can be styled with the
  50352. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  50353. * example).
  50354. */
  50355. export interface PlotIkhDataLabelsOptions {
  50356. /**
  50357. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  50358. * compared to the point. If `right`, the right side of the label should be
  50359. * touching the point. For points with an extent, like columns, the
  50360. * alignments also dictates how to align it inside the box, as given with
  50361. * the inside option. Can be one of `left`, `center` or `right`.
  50362. */
  50363. align?: (AlignValue|null);
  50364. /**
  50365. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  50366. * overlap. To make the labels less sensitive for overlapping, the
  50367. * dataLabels.padding can be set to 0.
  50368. */
  50369. allowOverlap?: boolean;
  50370. /**
  50371. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  50372. * animation when a series is displayed for the `dataLabels`. The animation
  50373. * can also be set as a configuration object. Please note that this option
  50374. * only applies to the initial animation. For other animations, see
  50375. * chart.animation and the animation parameter under the API methods. The
  50376. * following properties are supported:
  50377. *
  50378. * - `defer`: The animation delay time in milliseconds.
  50379. */
  50380. animation?: (boolean|PlotIkhDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  50381. /**
  50382. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  50383. * for the data label.
  50384. */
  50385. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  50386. /**
  50387. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  50388. * label. Defaults to `undefined`.
  50389. */
  50390. borderColor?: (ColorString|GradientColorObject|PatternObject);
  50391. /**
  50392. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  50393. * the data label.
  50394. */
  50395. borderRadius?: number;
  50396. /**
  50397. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  50398. * the data label.
  50399. */
  50400. borderWidth?: number;
  50401. /**
  50402. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  50403. * Particularly in styled mode, this can be used to give each series' or
  50404. * point's data label unique styling. In addition to this option, a default
  50405. * color class name is added so that we can give the labels a contrast text
  50406. * shadow.
  50407. */
  50408. className?: string;
  50409. /**
  50410. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  50411. * labels. Defaults to `undefined`. For certain series types, like column or
  50412. * map, the data labels can be drawn inside the points. In this case the
  50413. * data label will be drawn with maximum contrast by default. Additionally,
  50414. * it will be given a `text-outline` style with the opposite color, to
  50415. * further increase the contrast. This can be overridden by setting the
  50416. * `text-outline` style to `none` in the `dataLabels.style` option.
  50417. */
  50418. color?: (ColorString|GradientColorObject|PatternObject);
  50419. /**
  50420. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  50421. * are outside the plot area. By default, the data label is moved inside the
  50422. * plot area according to the overflow option.
  50423. */
  50424. crop?: boolean;
  50425. /**
  50426. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  50427. * labels until the initial series animation has finished. Setting to
  50428. * `false` renders the data label immediately. If set to `true` inherits the
  50429. * defer time set in plotOptions.series.animation. If set to a number, a
  50430. * defer time is specified in milliseconds.
  50431. */
  50432. defer?: (boolean|number);
  50433. /**
  50434. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  50435. * labels.
  50436. */
  50437. enabled?: boolean;
  50438. /**
  50439. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  50440. * of which data labels to display. The declarative filter is designed for
  50441. * use when callback functions are not available, like when the chart
  50442. * options require a pure JSON structure or for use with graphical editors.
  50443. * For programmatic control, use the `formatter` instead, and return
  50444. * `undefined` to disable a single data label.
  50445. */
  50446. filter?: DataLabelsFilterOptionsObject;
  50447. /**
  50448. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  50449. * label. Available variables are the same as for `formatter`.
  50450. */
  50451. format?: string;
  50452. /**
  50453. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  50454. * format the data label. Note that if a `format` is defined, the format
  50455. * takes precedence and the formatter is ignored.
  50456. */
  50457. formatter?: DataLabelsFormatterCallbackFunction;
  50458. /**
  50459. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  50460. * columns or map areas, whether to align the data label inside the box or
  50461. * to the actual value point. Defaults to `false` in most cases, `true` in
  50462. * stacked columns.
  50463. */
  50464. inside?: boolean;
  50465. /**
  50466. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  50467. * of null. Works analogously to format. `nullFormat` can be applied only to
  50468. * series which support displaying null points.
  50469. */
  50470. nullFormat?: (boolean|string);
  50471. /**
  50472. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  50473. * that defines formatting for points with the value of null. Works
  50474. * analogously to formatter. `nullPointFormatter` can be applied only to
  50475. * series which support displaying null points.
  50476. */
  50477. nullFormatter?: DataLabelsFormatterCallbackFunction;
  50478. /**
  50479. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  50480. * flow outside the plot area. The default is `"justify"`, which aligns them
  50481. * inside the plot area. For columns and bars, this means it will be moved
  50482. * inside the bar. To display data labels outside the plot area, set `crop`
  50483. * to `false` and `overflow` to `"allow"`.
  50484. */
  50485. overflow?: DataLabelsOverflowValue;
  50486. /**
  50487. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  50488. * the `backgroundColor` is set, this is the padding within the box.
  50489. */
  50490. padding?: number;
  50491. /**
  50492. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  50493. * points. If `center` alignment is not possible, it defaults to `right`.
  50494. */
  50495. position?: AlignValue;
  50496. /**
  50497. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  50498. * that due to a more complex structure, backgrounds, borders and padding
  50499. * will be lost on a rotated data label.
  50500. */
  50501. rotation?: number;
  50502. /**
  50503. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  50504. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  50505. * an object configuration containing `color`, `offsetX`, `offsetY`,
  50506. * `opacity` and `width`.
  50507. */
  50508. shadow?: (boolean|ShadowOptionsObject);
  50509. /**
  50510. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  50511. * the border around the label. Symbols are predefined functions on the
  50512. * Renderer object.
  50513. */
  50514. shape?: string;
  50515. /**
  50516. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  50517. * default `color` setting is `"contrast"`, which is a pseudo color that
  50518. * Highcharts picks up and applies the maximum contrast to the underlying
  50519. * point item, for example the bar in a bar chart.
  50520. *
  50521. * The `textOutline` is a pseudo property that applies an outline of the
  50522. * given width with the given color, which by default is the maximum
  50523. * contrast to the text. So a bright text color will result in a black text
  50524. * outline for maximum readability on a mixed background. In some cases,
  50525. * especially with grayscale text, the text outline doesn't work well, in
  50526. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  50527. * is true, the `textOutline` will not be picked up. In this, case, the same
  50528. * effect can be acheived through the `text-shadow` CSS property.
  50529. *
  50530. * For some series types, where each point has an extent, like for example
  50531. * tree maps, the data label may overflow the point. There are two
  50532. * strategies for handling overflow. By default, the text will wrap to
  50533. * multiple lines. The other strategy is to set `style.textOverflow` to
  50534. * `ellipsis`, which will keep the text on one line plus it will break
  50535. * inside long words.
  50536. */
  50537. style?: CSSObject;
  50538. /**
  50539. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  50540. * should follow marker's shape. Border and background are disabled for a
  50541. * label that follows a path.
  50542. *
  50543. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  50544. * to true will disable this option.
  50545. */
  50546. textPath?: DataLabelsTextPathOptionsObject;
  50547. /**
  50548. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  50549. * the labels.
  50550. */
  50551. useHTML?: boolean;
  50552. /**
  50553. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  50554. * label. Can be one of `top`, `middle` or `bottom`. The default value
  50555. * depends on the data, for instance in a column chart, the label is above
  50556. * positive values and below negative values.
  50557. */
  50558. verticalAlign?: (VerticalAlignValue|null);
  50559. /**
  50560. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  50561. * label relative to the point in pixels.
  50562. */
  50563. x?: number;
  50564. /**
  50565. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  50566. * label relative to the point in pixels.
  50567. */
  50568. y?: number;
  50569. /**
  50570. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  50571. * The default Z index puts it above the series. Use a Z index of 2 to
  50572. * display it behind the series.
  50573. */
  50574. z?: number;
  50575. }
  50576. /**
  50577. * (Highcharts, Highstock) Options for the series data sorting.
  50578. */
  50579. export interface PlotIkhDataSortingOptions {
  50580. /**
  50581. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  50582. * Use xAxis.reversed to change the sorting order.
  50583. */
  50584. enabled?: boolean;
  50585. /**
  50586. * (Highcharts, Highstock) Whether to allow matching points by name in an
  50587. * update. If this option is disabled, points will be matched by order.
  50588. */
  50589. matchByName?: boolean;
  50590. /**
  50591. * (Highcharts, Highstock) Determines what data value should be used to sort
  50592. * by.
  50593. */
  50594. sortKey?: string;
  50595. }
  50596. /**
  50597. * (Highstock) The styles for Kijun line
  50598. */
  50599. export interface PlotIkhKijunLineOptions {
  50600. styles?: PlotIkhKijunLineStylesOptions;
  50601. }
  50602. export interface PlotIkhKijunLineStylesOptions {
  50603. /**
  50604. * (Highstock) Color of the line.
  50605. */
  50606. lineColor?: ColorString;
  50607. /**
  50608. * (Highstock) Pixel width of the line.
  50609. */
  50610. lineWidth?: number;
  50611. }
  50612. /**
  50613. * (Highstock) Ichimoku Kinko Hyo (IKH). This series requires `linkedTo` option
  50614. * to be set.
  50615. *
  50616. * In TypeScript the type option must always be set.
  50617. *
  50618. * Configuration options for the series are given in three levels:
  50619. *
  50620. * 1. Options for all series in a chart are defined in the plotOptions.series
  50621. * object.
  50622. *
  50623. * 2. Options for all `ikh` series are defined in plotOptions.ikh.
  50624. *
  50625. * 3. Options for one single series are given in the series instance array. (see
  50626. * online documentation for example)
  50627. */
  50628. export interface PlotIkhOptions {
  50629. /**
  50630. * (Highstock) Accessibility options for a series.
  50631. */
  50632. accessibility?: SeriesAccessibilityOptionsObject;
  50633. /**
  50634. * (Highstock) Allow this series' points to be selected by clicking on the
  50635. * graphic (columns, point markers, pie slices, map areas etc).
  50636. *
  50637. * The selected points can be handled by point select and unselect events,
  50638. * or collectively by the getSelectedPoints function.
  50639. *
  50640. * And alternative way of selecting points is through dragging.
  50641. */
  50642. allowPointSelect?: boolean;
  50643. /**
  50644. * (Highstock) Enable or disable the initial animation when a series is
  50645. * displayed. The animation can also be set as a configuration object.
  50646. * Please note that this option only applies to the initial animation of the
  50647. * series itself. For other animations, see chart.animation and the
  50648. * animation parameter under the API methods. The following properties are
  50649. * supported:
  50650. *
  50651. * - `defer`: The animation delay time in milliseconds.
  50652. *
  50653. * - `duration`: The duration of the animation in milliseconds.
  50654. *
  50655. * - `easing`: Can be a string reference to an easing function set on the
  50656. * `Math` object or a function. See the _Custom easing function_ demo below.
  50657. *
  50658. * Due to poor performance, animation is disabled in old IE browsers for
  50659. * several chart types.
  50660. */
  50661. animation?: (boolean|PlotIkhAnimationOptions|Partial<AnimationOptionsObject>);
  50662. /**
  50663. * (Highstock) For some series, there is a limit that shuts down initial
  50664. * animation by default when the total number of points in the chart is too
  50665. * high. For example, for a column chart and its derivatives, animation does
  50666. * not run if there is more than 250 points totally. To disable this cap,
  50667. * set `animationLimit` to `Infinity`.
  50668. */
  50669. animationLimit?: number;
  50670. /**
  50671. * (Highstock) Sets the color blending in the boost module.
  50672. */
  50673. boostBlending?: OptionsBoostBlendingValue;
  50674. /**
  50675. * (Highstock) Set the point threshold for when a series should enter boost
  50676. * mode.
  50677. *
  50678. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  50679. * there are 2000 or more points in the series.
  50680. *
  50681. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  50682. * it to 1 will force boosting.
  50683. *
  50684. * Note that the cropThreshold also affects this setting. When zooming in on
  50685. * a series that has fewer points than the `cropThreshold`, all points are
  50686. * rendered although outside the visible plot area, and the `boostThreshold`
  50687. * won't take effect.
  50688. */
  50689. boostThreshold?: number;
  50690. /**
  50691. * (Highmaps) The border color of the map areas.
  50692. *
  50693. * In styled mode, the border stroke is given in the `.highcharts-point`
  50694. * class.
  50695. */
  50696. borderColor?: (ColorString|GradientColorObject|PatternObject);
  50697. /**
  50698. * (Highmaps) The border width of each map area.
  50699. *
  50700. * In styled mode, the border stroke width is given in the
  50701. * `.highcharts-point` class.
  50702. */
  50703. borderWidth?: number;
  50704. /**
  50705. * (Highstock) The styles for Chikou line
  50706. */
  50707. chikouLine?: PlotIkhChikouLineOptions;
  50708. /**
  50709. * (Highstock) An additional class name to apply to the series' graphical
  50710. * elements. This option does not replace default class names of the
  50711. * graphical element.
  50712. */
  50713. className?: string;
  50714. /**
  50715. * (Highstock) Disable this option to allow series rendering in the whole
  50716. * plotting area.
  50717. *
  50718. * **Note:** Clipping should be always enabled when chart.zoomType is set
  50719. */
  50720. clip?: boolean;
  50721. /**
  50722. * (Highstock) The main color of the series. In line type series it applies
  50723. * to the line and the point markers unless otherwise specified. In bar type
  50724. * series it applies to the bars unless a color is specified per point. The
  50725. * default value is pulled from the `options.colors` array.
  50726. *
  50727. * In styled mode, the color can be defined by the colorIndex option. Also,
  50728. * the series color can be set with the `.highcharts-series`,
  50729. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  50730. * `.highcharts-series-{n}` class, or individual classes given by the
  50731. * `className` option.
  50732. */
  50733. color?: (ColorString|GradientColorObject|PatternObject);
  50734. /**
  50735. * (Highstock) Styled mode only. A specific color index to use for the
  50736. * series, so its graphic representations are given the class name
  50737. * `highcharts-color-{n}`.
  50738. */
  50739. colorIndex?: number;
  50740. /**
  50741. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  50742. * used to calculate point color if `colorAxis` is used. Requires to set
  50743. * `min` and `max` if some custom point property is used or if approximation
  50744. * for data grouping is set to `'sum'`.
  50745. */
  50746. colorKey?: string;
  50747. /**
  50748. * (Highstock) Defines if comparison should start from the first point
  50749. * within the visible range or should start from the first point **before**
  50750. * the range.
  50751. *
  50752. * In other words, this flag determines if first point within the visible
  50753. * range will have 0% (`compareStart=true`) or should have been already
  50754. * calculated according to the previous point (`compareStart=false`).
  50755. */
  50756. compareStart?: boolean;
  50757. /**
  50758. * (Highstock) Whether to compare indicator to the main series values or
  50759. * indicator values.
  50760. */
  50761. compareToMain?: boolean;
  50762. /**
  50763. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  50764. * series plot across the extremes.
  50765. */
  50766. connectEnds?: boolean;
  50767. /**
  50768. * (Highcharts, Highstock) Whether to connect a graph line across null
  50769. * points, or render a gap between the two points on either side of the
  50770. * null.
  50771. */
  50772. connectNulls?: boolean;
  50773. /**
  50774. * (Gantt) Override Pathfinder connector options for a series. Requires
  50775. * Highcharts Gantt to be loaded.
  50776. */
  50777. connectors?: SeriesConnectorsOptionsObject;
  50778. /**
  50779. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  50780. * rounded to its nearest pixel in order to render sharp on screen. In some
  50781. * cases, when there are a lot of densely packed columns, this leads to
  50782. * visible difference in column widths or distance between columns. In these
  50783. * cases, setting `crisp` to `false` may look better, even though each
  50784. * column is rendered blurry.
  50785. */
  50786. crisp?: boolean;
  50787. /**
  50788. * (Highcharts, Highstock) When the series contains less points than the
  50789. * crop threshold, all points are drawn, even if the points fall outside the
  50790. * visible plot area at the current zoom. The advantage of drawing all
  50791. * points (including markers and columns), is that animation is performed on
  50792. * updates. On the other hand, when the series contains more points than the
  50793. * crop threshold, the series data is cropped to only contain points that
  50794. * fall within the plot area. The advantage of cropping away invisible
  50795. * points is to increase performance on large series.
  50796. */
  50797. cropThreshold?: number;
  50798. /**
  50799. * (Highstock) You can set the cursor to "pointer" if you have click events
  50800. * attached to the series, to signal to the user that the points and lines
  50801. * can be clicked.
  50802. *
  50803. * In styled mode, the series cursor can be set with the same classes as
  50804. * listed under series.color.
  50805. */
  50806. cursor?: (string|CursorValue);
  50807. /**
  50808. * (Highstock) A reserved subspace to store options and values for
  50809. * customized functionality. Here you can add additional data for your own
  50810. * event callbacks and formatter callbacks.
  50811. */
  50812. custom?: Dictionary<any>;
  50813. /**
  50814. * (Highstock) Name of the dash style to use for the graph, or for some
  50815. * series types the outline of each shape.
  50816. *
  50817. * In styled mode, the stroke dash-array can be set with the same classes as
  50818. * listed under series.color.
  50819. */
  50820. dashStyle?: DashStyleValue;
  50821. /**
  50822. * (Highstock) Data grouping is the concept of sampling the data values into
  50823. * larger blocks in order to ease readability and increase performance of
  50824. * the JavaScript charts. Highcharts Stock by default applies data grouping
  50825. * when the points become closer than a certain pixel value, determined by
  50826. * the `groupPixelWidth` option.
  50827. *
  50828. * If data grouping is applied, the grouping information of grouped points
  50829. * can be read from the Point.dataGroup. If point options other than the
  50830. * data itself are set, for example `name` or `color` or custom properties,
  50831. * the grouping logic doesn't know how to group it. In this case the options
  50832. * of the first point instance are copied over to the group point. This can
  50833. * be altered through a custom `approximation` callback function.
  50834. */
  50835. dataGrouping?: DataGroupingOptionsObject;
  50836. /**
  50837. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  50838. * labels, appearing next to each data point.
  50839. *
  50840. * Since v6.2.0, multiple data labels can be applied to each single point by
  50841. * defining them as an array of configs.
  50842. *
  50843. * In styled mode, the data labels can be styled with the
  50844. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  50845. * (see example).
  50846. */
  50847. dataLabels?: (PlotIkhDataLabelsOptions|Array<PlotIkhDataLabelsOptions>);
  50848. /**
  50849. * (Highcharts, Highstock) Options for the series data sorting.
  50850. */
  50851. dataSorting?: (DataSortingOptionsObject|PlotIkhDataSortingOptions);
  50852. /**
  50853. * (Highstock) A description of the series to add to the screen reader
  50854. * information about the series.
  50855. */
  50856. description?: string;
  50857. /**
  50858. * (Highstock) Enable or disable the mouse tracking for a specific series.
  50859. * This includes point tooltips and click events on graphs and points. For
  50860. * large datasets it improves performance.
  50861. */
  50862. enableMouseTracking?: boolean;
  50863. /**
  50864. * (Highstock) General event handlers for the series items. These event
  50865. * hooks can also be attached to the series at run time using the
  50866. * `Highcharts.addEvent` function.
  50867. */
  50868. events?: SeriesEventsOptionsObject;
  50869. /**
  50870. * (Highstock) Determines whether the series should look for the nearest
  50871. * point in both dimensions or just the x-dimension when hovering the
  50872. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  50873. * series. If the data has duplicate x-values, it is recommended to set this
  50874. * to `'xy'` to allow hovering over all points.
  50875. *
  50876. * Applies only to series types using nearest neighbor search (not direct
  50877. * hover) for tooltip.
  50878. */
  50879. findNearestPointBy?: OptionsFindNearestPointByValue;
  50880. /**
  50881. * (Highstock) Defines when to display a gap in the graph, together with the
  50882. * gapUnit option.
  50883. *
  50884. * In case when `dataGrouping` is enabled, points can be grouped into a
  50885. * larger time span. This can make the grouped points to have a greater
  50886. * distance than the absolute value of `gapSize` property, which will result
  50887. * in disappearing graph completely. To prevent this situation the mentioned
  50888. * distance between grouped points is used instead of previously defined
  50889. * `gapSize`.
  50890. *
  50891. * In practice, this option is most often used to visualize gaps in time
  50892. * series. In a stock chart, intraday data is available for daytime hours,
  50893. * while gaps will appear in nights and weekends.
  50894. */
  50895. gapSize?: number;
  50896. /**
  50897. * (Highstock) Together with gapSize, this option defines where to draw gaps
  50898. * in the graph.
  50899. *
  50900. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  50901. * if the distance between two points is greater than 5 times that of the
  50902. * two closest points, the graph will be broken.
  50903. *
  50904. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  50905. * values, which on a datetime axis is milliseconds. This also applies to
  50906. * the navigator series that inherits gap options from the base series.
  50907. */
  50908. gapUnit?: OptionsGapUnitValue;
  50909. /**
  50910. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  50911. * chart width or only the zoomed area when zooming in on parts of the X
  50912. * axis. By default, the Y axis adjusts to the min and max of the visible
  50913. * data. Cartesian series only.
  50914. */
  50915. getExtremesFromAll?: boolean;
  50916. /**
  50917. * (Highstock) When set to `false` will prevent the series data from being
  50918. * included in any form of data export.
  50919. *
  50920. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  50921. * `includeInCSVExport`.
  50922. */
  50923. includeInDataExport?: boolean;
  50924. /**
  50925. * (Highstock) The styles for Kijun line
  50926. */
  50927. kijunLine?: PlotIkhKijunLineOptions;
  50928. /**
  50929. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  50930. * series as possible in a natural way, seeking to avoid other series. The
  50931. * goal of this feature is to make the chart more easily readable, like if a
  50932. * human designer placed the labels in the optimal position.
  50933. *
  50934. * The series labels currently work with series types having a `graph` or an
  50935. * `area`.
  50936. */
  50937. label?: SeriesLabelOptionsObject;
  50938. /**
  50939. * (Highstock) The line marks the last price from all points.
  50940. */
  50941. lastPrice?: SeriesLastPriceOptionsObject;
  50942. /**
  50943. * (Highstock) The line marks the last price from visible range of points.
  50944. */
  50945. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  50946. /**
  50947. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  50948. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  50949. * the ends and bends.
  50950. */
  50951. linecap?: SeriesLinecapValue;
  50952. /**
  50953. * (Highcharts, Highstock) Pixel width of the graph line.
  50954. */
  50955. lineWidth?: number;
  50956. /**
  50957. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  50958. * based on. Required for this indicator.
  50959. */
  50960. linkedTo?: string;
  50961. /**
  50962. * (Highstock) Options for the point markers of line-like series. Properties
  50963. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  50964. * appearance of the markers. Other series types, like column series, don't
  50965. * have markers, but have visual options on the series level instead.
  50966. *
  50967. * In styled mode, the markers can be styled with the `.highcharts-point`,
  50968. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  50969. */
  50970. marker?: PointMarkerOptionsObject;
  50971. /**
  50972. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  50973. * If not set, it will be based on a technical indicator type and default
  50974. * params.
  50975. */
  50976. name?: string;
  50977. /**
  50978. * (Highstock) The color for the parts of the graph or points that are below
  50979. * the threshold. Note that `zones` takes precedence over the negative
  50980. * color. Using `negativeColor` is equivalent to applying a zone with value
  50981. * of 0.
  50982. */
  50983. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  50984. /**
  50985. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  50986. * dataLabels.
  50987. */
  50988. opacity?: number;
  50989. /**
  50990. * (Highstock) Paramters used in calculation of regression series' points.
  50991. */
  50992. params?: PlotIkhParamsOptions;
  50993. /**
  50994. * (Highstock) Properties for each single point.
  50995. */
  50996. point?: PlotSeriesPointOptions;
  50997. /**
  50998. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  50999. * individual series. Overrides the chart wide configuration.
  51000. */
  51001. pointDescriptionFormatter?: Function;
  51002. /**
  51003. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  51004. * true, the checkbox next to the series name in the legend will be checked
  51005. * for a selected series.
  51006. */
  51007. selected?: boolean;
  51008. /**
  51009. * (Highstock) The styles for area between Senkou Span A and B.
  51010. */
  51011. senkouSpan?: PlotIkhSenkouSpanOptions;
  51012. /**
  51013. * (Highstock) The styles for Senkou Span A line
  51014. */
  51015. senkouSpanA?: PlotIkhSenkouSpanAOptions;
  51016. /**
  51017. * (Highstock) The styles for Senkou Span B line
  51018. */
  51019. senkouSpanB?: PlotIkhSenkouSpanBOptions;
  51020. /**
  51021. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  51022. * the shadow can be an object configuration containing `color`, `offsetX`,
  51023. * `offsetY`, `opacity` and `width`.
  51024. */
  51025. shadow?: (boolean|ShadowOptionsObject);
  51026. /**
  51027. * (Highstock) If true, a checkbox is displayed next to the legend item to
  51028. * allow selecting the series. The state of the checkbox is determined by
  51029. * the `selected` option.
  51030. */
  51031. showCheckbox?: boolean;
  51032. /**
  51033. * (Highstock) Whether to display this particular series or series type in
  51034. * the legend. Standalone series are shown in legend by default, and linked
  51035. * series are not. Since v7.2.0 it is possible to show series that use
  51036. * colorAxis by setting this option to `true`.
  51037. */
  51038. showInLegend?: boolean;
  51039. /**
  51040. * (Highstock) If set to `true`, the accessibility module will skip past the
  51041. * points in this series for keyboard navigation.
  51042. */
  51043. skipKeyboardNavigation?: boolean;
  51044. /**
  51045. * (Highcharts, Highstock) When this is true, the series will not cause the
  51046. * Y axis to cross the zero plane (or threshold option) unless the data
  51047. * actually crosses the plane.
  51048. *
  51049. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  51050. * make the Y axis show negative values according to the `minPadding`
  51051. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  51052. */
  51053. softThreshold?: boolean;
  51054. states?: SeriesStatesOptionsObject;
  51055. /**
  51056. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  51057. * values are `left`, `center` and `right`.
  51058. */
  51059. step?: OptionsStepValue;
  51060. /**
  51061. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  51062. * event on a series isn't triggered until the mouse moves over another
  51063. * series, or out of the plot area. When false, the `mouseOut` event on a
  51064. * series is triggered when the mouse leaves the area around the series'
  51065. * graph or markers. This also implies the tooltip when not shared. When
  51066. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  51067. * be hidden when moving the mouse between series. Defaults to true for line
  51068. * and area type series, but to false for columns, pies etc.
  51069. *
  51070. * **Note:** The boost module will force this option because of technical
  51071. * limitations.
  51072. */
  51073. stickyTracking?: boolean;
  51074. /**
  51075. * (Highstock) The styles for Tenkan line
  51076. */
  51077. tenkanLine?: PlotIkhTenkanLineOptions;
  51078. /**
  51079. * (Highcharts, Highstock) The threshold, also called zero level or base
  51080. * level. For line type series this is only used in conjunction with
  51081. * negativeColor.
  51082. */
  51083. threshold?: (number|null);
  51084. /**
  51085. * (Highstock) A configuration object for the tooltip rendering of each
  51086. * single series. Properties are inherited from tooltip, but only the
  51087. * following properties can be defined on a series level.
  51088. */
  51089. tooltip?: SeriesTooltipOptionsObject;
  51090. /**
  51091. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  51092. * is longer than this, only one dimensional arrays of numbers, or two
  51093. * dimensional arrays with x and y values are allowed. Also, only the first
  51094. * point is tested, and the rest are assumed to be the same format. This
  51095. * saves expensive data checking and indexing in long series. Set it to `0`
  51096. * disable.
  51097. *
  51098. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  51099. * two dimensional arrays are allowed.
  51100. */
  51101. turboThreshold?: number;
  51102. /**
  51103. * (Highstock) Set the initial visibility of the series.
  51104. */
  51105. visible?: boolean;
  51106. /**
  51107. * (Highmaps) Define the z index of the series.
  51108. */
  51109. zIndex?: number;
  51110. /**
  51111. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  51112. */
  51113. zoneAxis?: string;
  51114. /**
  51115. * (Highcharts, Highstock) An array defining zones within a series. Zones
  51116. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  51117. * the `zoneAxis` option. The zone definitions have to be in ascending order
  51118. * regarding to the value.
  51119. *
  51120. * In styled mode, the color zones are styled with the
  51121. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  51122. * option (view live demo).
  51123. */
  51124. zones?: Array<SeriesZonesOptionsObject>;
  51125. }
  51126. /**
  51127. * (Highstock) Paramters used in calculation of regression series' points.
  51128. */
  51129. export interface PlotIkhParamsOptions {
  51130. index?: string;
  51131. /**
  51132. * (Highstock) The base period for indicator calculations. This is the
  51133. * number of data points which are taken into account for the indicator
  51134. * calculations.
  51135. */
  51136. period?: number;
  51137. /**
  51138. * (Highstock) The base period for Senkou Span B calculations
  51139. */
  51140. periodSenkouSpanB?: number;
  51141. /**
  51142. * (Highstock) The base period for Tenkan calculations.
  51143. */
  51144. periodTenkan?: number;
  51145. }
  51146. /**
  51147. * (Highstock) The styles for Senkou Span A line
  51148. */
  51149. export interface PlotIkhSenkouSpanAOptions {
  51150. styles?: PlotIkhSenkouSpanAStylesOptions;
  51151. }
  51152. export interface PlotIkhSenkouSpanAStylesOptions {
  51153. /**
  51154. * (Highstock) Color of the line.
  51155. */
  51156. lineColor?: ColorString;
  51157. /**
  51158. * (Highstock) Pixel width of the line.
  51159. */
  51160. lineWidth?: number;
  51161. }
  51162. /**
  51163. * (Highstock) The styles for Senkou Span B line
  51164. */
  51165. export interface PlotIkhSenkouSpanBOptions {
  51166. styles?: PlotIkhSenkouSpanBStylesOptions;
  51167. }
  51168. export interface PlotIkhSenkouSpanBStylesOptions {
  51169. /**
  51170. * (Highstock) Color of the line.
  51171. */
  51172. lineColor?: ColorString;
  51173. /**
  51174. * (Highstock) Pixel width of the line.
  51175. */
  51176. lineWidth?: number;
  51177. }
  51178. /**
  51179. * (Highstock) The styles for area between Senkou Span A and B.
  51180. */
  51181. export interface PlotIkhSenkouSpanOptions {
  51182. /**
  51183. * (Highstock) Color of the area between Senkou Span A and B, when Senkou
  51184. * Span A is above Senkou Span B. Note that if a `style.fill` is defined,
  51185. * the `color` takes precedence and the `style.fill` is ignored.
  51186. */
  51187. color?: (ColorString|GradientColorObject|PatternObject);
  51188. /**
  51189. * (Highstock) Color of the area between Senkou Span A and B, when Senkou
  51190. * Span A is under Senkou Span B.
  51191. */
  51192. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  51193. }
  51194. /**
  51195. * (Highstock) The styles for Tenkan line
  51196. */
  51197. export interface PlotIkhTenkanLineOptions {
  51198. styles?: PlotIkhTenkanLineStylesOptions;
  51199. }
  51200. export interface PlotIkhTenkanLineStylesOptions {
  51201. /**
  51202. * (Highstock) Color of the line.
  51203. */
  51204. lineColor?: ColorString;
  51205. /**
  51206. * (Highstock) Pixel width of the line.
  51207. */
  51208. lineWidth?: number;
  51209. }
  51210. /**
  51211. * (Highcharts) Enable or disable the initial animation when a series is
  51212. * displayed. The animation can also be set as a configuration object. Please
  51213. * note that this option only applies to the initial animation of the series
  51214. * itself. For other animations, see chart.animation and the animation parameter
  51215. * under the API methods. The following properties are supported:
  51216. *
  51217. * - `defer`: The animation delay time in milliseconds.
  51218. *
  51219. * - `duration`: The duration of the animation in milliseconds.
  51220. *
  51221. * - `easing`: Can be a string reference to an easing function set on the `Math`
  51222. * object or a function. See the _Custom easing function_ demo below.
  51223. *
  51224. * Due to poor performance, animation is disabled in old IE browsers for several
  51225. * chart types.
  51226. */
  51227. export interface PlotItemAnimationOptions {
  51228. defer?: number;
  51229. }
  51230. /**
  51231. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  51232. * animation when a series is displayed for the `dataLabels`. The animation can
  51233. * also be set as a configuration object. Please note that this option only
  51234. * applies to the initial animation. For other animations, see chart.animation
  51235. * and the animation parameter under the API methods. The following properties
  51236. * are supported:
  51237. *
  51238. * - `defer`: The animation delay time in milliseconds.
  51239. */
  51240. export interface PlotItemDataLabelsAnimationOptions {
  51241. /**
  51242. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  51243. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  51244. * inherits defer time from the series.animation.defer.
  51245. */
  51246. defer?: number;
  51247. }
  51248. /**
  51249. * (Highcharts) An item chart is an infographic chart where a number of items
  51250. * are laid out in either a rectangular or circular pattern. It can be used to
  51251. * visualize counts within a group, or for the circular pattern, typically a
  51252. * parliament.
  51253. *
  51254. * The circular layout has much in common with a pie chart. Many of the item
  51255. * series options, like `center`, `size` and data label positioning, are
  51256. * inherited from the pie series and don't apply for rectangular layouts.
  51257. *
  51258. * In TypeScript the type option must always be set.
  51259. *
  51260. * Configuration options for the series are given in three levels:
  51261. *
  51262. * 1. Options for all series in a chart are defined in the plotOptions.series
  51263. * object.
  51264. *
  51265. * 2. Options for all `item` series are defined in plotOptions.item.
  51266. *
  51267. * 3. Options for one single series are given in the series instance array. (see
  51268. * online documentation for example)
  51269. */
  51270. export interface PlotItemOptions {
  51271. /**
  51272. * (Highcharts) Accessibility options for a series.
  51273. */
  51274. accessibility?: SeriesAccessibilityOptionsObject;
  51275. /**
  51276. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  51277. * rendered. If `true`, areas which don't correspond to a data point, are
  51278. * rendered as `null` points. If `false`, those areas are skipped.
  51279. */
  51280. allAreas?: boolean;
  51281. /**
  51282. * (Highcharts) Allow this series' points to be selected by clicking on the
  51283. * graphic (columns, point markers, pie slices, map areas etc).
  51284. *
  51285. * The selected points can be handled by point select and unselect events,
  51286. * or collectively by the getSelectedPoints function.
  51287. *
  51288. * And alternative way of selecting points is through dragging.
  51289. */
  51290. allowPointSelect?: boolean;
  51291. /**
  51292. * (Highcharts) Enable or disable the initial animation when a series is
  51293. * displayed. The animation can also be set as a configuration object.
  51294. * Please note that this option only applies to the initial animation of the
  51295. * series itself. For other animations, see chart.animation and the
  51296. * animation parameter under the API methods. The following properties are
  51297. * supported:
  51298. *
  51299. * - `defer`: The animation delay time in milliseconds.
  51300. *
  51301. * - `duration`: The duration of the animation in milliseconds.
  51302. *
  51303. * - `easing`: Can be a string reference to an easing function set on the
  51304. * `Math` object or a function. See the _Custom easing function_ demo below.
  51305. *
  51306. * Due to poor performance, animation is disabled in old IE browsers for
  51307. * several chart types.
  51308. */
  51309. animation?: (boolean|PlotItemAnimationOptions|Partial<AnimationOptionsObject>);
  51310. /**
  51311. * (Highcharts) The center of the pie chart relative to the plot area. Can
  51312. * be percentages or pixel values. The default behaviour (as of 3.0) is to
  51313. * center the pie so that all slices and data labels are within the plot
  51314. * area. As a consequence, the pie may actually jump around in a chart with
  51315. * dynamic values, as the data labels move. In that case, the center should
  51316. * be explicitly set, for example to `["50%", "50%"]`.
  51317. */
  51318. center?: [(number|string|null), (number|string|null)];
  51319. /**
  51320. * (Highcharts) An additional class name to apply to the series' graphical
  51321. * elements. This option does not replace default class names of the
  51322. * graphical element.
  51323. */
  51324. className?: string;
  51325. /**
  51326. * (Highcharts) Disable this option to allow series rendering in the whole
  51327. * plotting area.
  51328. *
  51329. * **Note:** Clipping should be always enabled when chart.zoomType is set
  51330. */
  51331. clip?: boolean;
  51332. /**
  51333. * (Highcharts) The color of the pie series. A pie series is represented as
  51334. * an empty circle if the total sum of its values is 0. Use this property to
  51335. * define the color of its border.
  51336. *
  51337. * In styled mode, the color can be defined by the colorIndex option. Also,
  51338. * the series color can be set with the `.highcharts-series`,
  51339. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  51340. * `.highcharts-series-{n}` class, or individual classes given by the
  51341. * `className` option.
  51342. */
  51343. color?: (ColorString|GradientColorObject|PatternObject);
  51344. /**
  51345. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  51346. * this number defines which colorAxis the particular series is connected
  51347. * to. It refers to either the axis id or the index of the axis in the
  51348. * colorAxis array, with 0 being the first. Set this option to false to
  51349. * prevent a series from connecting to the default color axis.
  51350. *
  51351. * Since v7.2.0 the option can also be an axis id or an axis index instead
  51352. * of a boolean flag.
  51353. */
  51354. colorAxis?: (boolean|number|string);
  51355. /**
  51356. * (Highcharts) Styled mode only. A specific color index to use for the
  51357. * series, so its graphic representations are given the class name
  51358. * `highcharts-color-{n}`.
  51359. */
  51360. colorIndex?: number;
  51361. /**
  51362. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  51363. * used to calculate point color if `colorAxis` is used. Requires to set
  51364. * `min` and `max` if some custom point property is used or if approximation
  51365. * for data grouping is set to `'sum'`.
  51366. */
  51367. colorKey?: string;
  51368. /**
  51369. * (Highcharts) A series specific or series type specific color set to use
  51370. * instead of the global colors.
  51371. */
  51372. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  51373. /**
  51374. * (Highstock) Compare the values of the series against the first non-null,
  51375. * non- zero value in the visible range. The y axis will show percentage or
  51376. * absolute change depending on whether `compare` is set to `"percent"` or
  51377. * `"value"`. When this is applied to multiple series, it allows comparing
  51378. * the development of the series against each other. Adds a `change` field
  51379. * to every point object.
  51380. */
  51381. compare?: string;
  51382. /**
  51383. * (Highstock) When compare is `percent`, this option dictates whether to
  51384. * use 0 or 100 as the base of comparison.
  51385. */
  51386. compareBase?: (0|100);
  51387. /**
  51388. * (Highstock) Defines if comparison should start from the first point
  51389. * within the visible range or should start from the first point **before**
  51390. * the range.
  51391. *
  51392. * In other words, this flag determines if first point within the visible
  51393. * range will have 0% (`compareStart=true`) or should have been already
  51394. * calculated according to the previous point (`compareStart=false`).
  51395. */
  51396. compareStart?: boolean;
  51397. /**
  51398. * (Gantt) Override Pathfinder connector options for a series. Requires
  51399. * Highcharts Gantt to be loaded.
  51400. */
  51401. connectors?: SeriesConnectorsOptionsObject;
  51402. /**
  51403. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  51404. * rounded to its nearest pixel in order to render sharp on screen. In some
  51405. * cases, when there are a lot of densely packed columns, this leads to
  51406. * visible difference in column widths or distance between columns. In these
  51407. * cases, setting `crisp` to `false` may look better, even though each
  51408. * column is rendered blurry.
  51409. */
  51410. crisp?: boolean;
  51411. /**
  51412. * (Highcharts) You can set the cursor to "pointer" if you have click events
  51413. * attached to the series, to signal to the user that the points and lines
  51414. * can be clicked.
  51415. *
  51416. * In styled mode, the series cursor can be set with the same classes as
  51417. * listed under series.color.
  51418. */
  51419. cursor?: (string|CursorValue);
  51420. /**
  51421. * (Highcharts) A reserved subspace to store options and values for
  51422. * customized functionality. Here you can add additional data for your own
  51423. * event callbacks and formatter callbacks.
  51424. */
  51425. custom?: Dictionary<any>;
  51426. /**
  51427. * (Highstock) Data grouping is the concept of sampling the data values into
  51428. * larger blocks in order to ease readability and increase performance of
  51429. * the JavaScript charts. Highcharts Stock by default applies data grouping
  51430. * when the points become closer than a certain pixel value, determined by
  51431. * the `groupPixelWidth` option.
  51432. *
  51433. * If data grouping is applied, the grouping information of grouped points
  51434. * can be read from the Point.dataGroup. If point options other than the
  51435. * data itself are set, for example `name` or `color` or custom properties,
  51436. * the grouping logic doesn't know how to group it. In this case the options
  51437. * of the first point instance are copied over to the group point. This can
  51438. * be altered through a custom `approximation` callback function.
  51439. */
  51440. dataGrouping?: DataGroupingOptionsObject;
  51441. /**
  51442. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  51443. * labels, appearing next to each data point.
  51444. *
  51445. * Since v6.2.0, multiple data labels can be applied to each single point by
  51446. * defining them as an array of configs.
  51447. *
  51448. * In styled mode, the data labels can be styled with the
  51449. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  51450. * (see example).
  51451. */
  51452. dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
  51453. /**
  51454. * (Highcharts) A description of the series to add to the screen reader
  51455. * information about the series.
  51456. */
  51457. description?: string;
  51458. /**
  51459. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  51460. * This includes point tooltips and click events on graphs and points. For
  51461. * large datasets it improves performance.
  51462. */
  51463. enableMouseTracking?: boolean;
  51464. /**
  51465. * (Highcharts) In circular view, the end angle of the item layout, in
  51466. * degrees where 0 is up.
  51467. */
  51468. endAngle?: (number|undefined);
  51469. /**
  51470. * (Highcharts) General event handlers for the series items. These event
  51471. * hooks can also be attached to the series at run time using the
  51472. * `Highcharts.addEvent` function.
  51473. */
  51474. events?: SeriesEventsOptionsObject;
  51475. /**
  51476. * (Highcharts) If the total sum of the pie's values is 0, the series is
  51477. * represented as an empty circle . The `fillColor` option defines the color
  51478. * of that circle. Use pie.borderWidth to set the border thickness.
  51479. */
  51480. fillColor?: (ColorString|GradientColorObject|PatternObject);
  51481. /**
  51482. * (Highstock) Defines when to display a gap in the graph, together with the
  51483. * gapUnit option.
  51484. *
  51485. * In case when `dataGrouping` is enabled, points can be grouped into a
  51486. * larger time span. This can make the grouped points to have a greater
  51487. * distance than the absolute value of `gapSize` property, which will result
  51488. * in disappearing graph completely. To prevent this situation the mentioned
  51489. * distance between grouped points is used instead of previously defined
  51490. * `gapSize`.
  51491. *
  51492. * In practice, this option is most often used to visualize gaps in time
  51493. * series. In a stock chart, intraday data is available for daytime hours,
  51494. * while gaps will appear in nights and weekends.
  51495. */
  51496. gapSize?: number;
  51497. /**
  51498. * (Highstock) Together with gapSize, this option defines where to draw gaps
  51499. * in the graph.
  51500. *
  51501. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  51502. * if the distance between two points is greater than 5 times that of the
  51503. * two closest points, the graph will be broken.
  51504. *
  51505. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  51506. * values, which on a datetime axis is milliseconds. This also applies to
  51507. * the navigator series that inherits gap options from the base series.
  51508. */
  51509. gapUnit?: OptionsGapUnitValue;
  51510. /**
  51511. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  51512. * whether the series shall be redrawn as if the hidden point were `null`.
  51513. *
  51514. * The default value changed from `false` to `true` with Highcharts 3.0.
  51515. */
  51516. ignoreHiddenPoint?: boolean;
  51517. /**
  51518. * (Highcharts) When set to `false` will prevent the series data from being
  51519. * included in any form of data export.
  51520. *
  51521. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  51522. * `includeInCSVExport`.
  51523. */
  51524. includeInDataExport?: boolean;
  51525. /**
  51526. * (Highcharts) In circular view, the size of the inner diameter of the
  51527. * circle. Can be a percentage or pixel value. Percentages are relative to
  51528. * the outer perimeter. Pixel values are given as integers.
  51529. *
  51530. * If the `rows` option is set, it overrides the `innerSize` setting.
  51531. */
  51532. innerSize?: (number|string);
  51533. /**
  51534. * (Highcharts) The padding between the items, given in relative size where
  51535. * the size of the item is 1.
  51536. */
  51537. itemPadding?: number;
  51538. /**
  51539. * (Highmaps) What property to join the `mapData` to the value data. For
  51540. * example, if joinBy is "code", the mapData items with a specific code is
  51541. * merged into the data with the same code. For maps loaded from GeoJSON,
  51542. * the keys may be held in each point's `properties` object.
  51543. *
  51544. * The joinBy option can also be an array of two values, where the first
  51545. * points to a key in the `mapData`, and the second points to another key in
  51546. * the `data`.
  51547. *
  51548. * When joinBy is `null`, the map items are joined by their position in the
  51549. * array, which performs much better in maps with many data points. This is
  51550. * the recommended option if you are printing more than a thousand data
  51551. * points and have a backend that can preprocess the data into a parallel
  51552. * array of the mapData.
  51553. */
  51554. joinBy?: (string|Array<string>);
  51555. /**
  51556. * (Highcharts) An array specifying which option maps to which key in the
  51557. * data point array. This makes it convenient to work with unstructured data
  51558. * arrays from different sources.
  51559. */
  51560. keys?: Array<string>;
  51561. /**
  51562. * (Highstock) The line marks the last price from all points.
  51563. */
  51564. lastPrice?: SeriesLastPriceOptionsObject;
  51565. /**
  51566. * (Highstock) The line marks the last price from visible range of points.
  51567. */
  51568. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  51569. /**
  51570. * (Highcharts) The layout of the items in rectangular view. Can be either
  51571. * `horizontal` or `vertical`.
  51572. */
  51573. layout?: string;
  51574. /**
  51575. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  51576. * Additionally, the value can be ":previous" to link to the previous
  51577. * series. When two series are linked, only the first one appears in the
  51578. * legend. Toggling the visibility of this also toggles the linked series.
  51579. *
  51580. * If master series uses data sorting and linked series does not have its
  51581. * own sorting definition, the linked series will be sorted in the same
  51582. * order as the master one.
  51583. */
  51584. linkedTo?: string;
  51585. /**
  51586. * (Highcharts) Options for the point markers of line-like series.
  51587. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  51588. * visual appearance of the markers. Other series types, like column series,
  51589. * don't have markers, but have visual options on the series level instead.
  51590. *
  51591. * In styled mode, the markers can be styled with the `.highcharts-point`,
  51592. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  51593. */
  51594. marker?: PointMarkerOptionsObject;
  51595. /**
  51596. * (Highcharts) The minimum size for a pie in response to auto margins. The
  51597. * pie will try to shrink to make room for data labels in side the plot
  51598. * area, but only to this size.
  51599. */
  51600. minSize?: (number|string);
  51601. /**
  51602. * (Highstock) Options for the corresponding navigator series if
  51603. * `showInNavigator` is `true` for this series. Available options are the
  51604. * same as any series, documented at plotOptions and series.
  51605. *
  51606. * These options are merged with options in navigator.series, and will take
  51607. * precedence if the same option is defined both places.
  51608. */
  51609. navigatorOptions?: PlotSeriesOptions;
  51610. /**
  51611. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  51612. * dataLabels.
  51613. */
  51614. opacity?: number;
  51615. /**
  51616. * (Highcharts) Properties for each single point.
  51617. */
  51618. point?: PlotSeriesPointOptions;
  51619. /**
  51620. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  51621. * individual series. Overrides the chart wide configuration.
  51622. */
  51623. pointDescriptionFormatter?: Function;
  51624. /**
  51625. * (Highstock) The width of each point on the x axis. For example in a
  51626. * column chart with one value each day, the pointRange would be 1 day (= 24
  51627. * * 3600
  51628. *
  51629. * * 1000 milliseconds). This is normally computed automatically, but this
  51630. * option can be used to override the automatic value.
  51631. */
  51632. pointRange?: number;
  51633. /**
  51634. * (Highcharts) The number of rows to display in the rectangular or circular
  51635. * view. If the `innerSize` is set, it will be overridden by the `rows`
  51636. * setting.
  51637. */
  51638. rows?: number;
  51639. /**
  51640. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  51641. * true, the checkbox next to the series name in the legend will be checked
  51642. * for a selected series.
  51643. */
  51644. selected?: boolean;
  51645. /**
  51646. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  51647. * allow selecting the series. The state of the checkbox is determined by
  51648. * the `selected` option.
  51649. */
  51650. showCheckbox?: boolean;
  51651. /**
  51652. * (Highcharts) Whether to display this particular series or series type in
  51653. * the legend. Since 2.1, pies are not shown in the legend by default.
  51654. */
  51655. showInLegend?: boolean;
  51656. /**
  51657. * (Highstock) Whether or not to show the series in the navigator. Takes
  51658. * precedence over navigator.baseSeries if defined.
  51659. */
  51660. showInNavigator?: boolean;
  51661. /**
  51662. * (Highcharts) The diameter of the pie relative to the plot area. Can be a
  51663. * percentage or pixel value. Pixel values are given as integers. The
  51664. * default behaviour (as of 3.0) is to scale to the plot area and give room
  51665. * for data labels within the plot area. slicedOffset is also included in
  51666. * the default size calculation. As a consequence, the size of the pie may
  51667. * vary when points are updated and data labels more around. In that case it
  51668. * is best to set a fixed value, for example `"75%"`.
  51669. */
  51670. size?: (number|string|null);
  51671. /**
  51672. * (Highcharts) If set to `true`, the accessibility module will skip past
  51673. * the points in this series for keyboard navigation.
  51674. */
  51675. skipKeyboardNavigation?: boolean;
  51676. /**
  51677. * (Highcharts) In circular view, the start angle of the item layout, in
  51678. * degrees where 0 is up.
  51679. */
  51680. startAngle?: (number|undefined);
  51681. states?: SeriesStatesOptionsObject;
  51682. /**
  51683. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  51684. * event on a series isn't triggered until the mouse moves over another
  51685. * series, or out of the plot area. When false, the `mouseOut` event on a
  51686. * series is triggered when the mouse leaves the area around the series'
  51687. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  51688. * false and `tooltip.shared` is false, the tooltip will be hidden when
  51689. * moving the mouse between series.
  51690. */
  51691. stickyTracking?: boolean;
  51692. /**
  51693. * (Highcharts) A configuration object for the tooltip rendering of each
  51694. * single series. Properties are inherited from tooltip, but only the
  51695. * following properties can be defined on a series level.
  51696. */
  51697. tooltip?: SeriesTooltipOptionsObject;
  51698. /**
  51699. * (Highstock) The parameter allows setting line series type and use OHLC
  51700. * indicators. Data in OHLC format is required.
  51701. */
  51702. useOhlcData?: boolean;
  51703. /**
  51704. * (Highcharts) Set the initial visibility of the series.
  51705. */
  51706. visible?: boolean;
  51707. /**
  51708. * (Highmaps) Define the z index of the series.
  51709. */
  51710. zIndex?: number;
  51711. }
  51712. /**
  51713. * (Highstock) Enable or disable the initial animation when a series is
  51714. * displayed. The animation can also be set as a configuration object. Please
  51715. * note that this option only applies to the initial animation of the series
  51716. * itself. For other animations, see chart.animation and the animation parameter
  51717. * under the API methods. The following properties are supported:
  51718. *
  51719. * - `defer`: The animation delay time in milliseconds.
  51720. *
  51721. * - `duration`: The duration of the animation in milliseconds.
  51722. *
  51723. * - `easing`: Can be a string reference to an easing function set on the `Math`
  51724. * object or a function. See the _Custom easing function_ demo below.
  51725. *
  51726. * Due to poor performance, animation is disabled in old IE browsers for several
  51727. * chart types.
  51728. */
  51729. export interface PlotKeltnerchannelsAnimationOptions {
  51730. defer?: number;
  51731. }
  51732. /**
  51733. * (Highstock) Bottom line options.
  51734. */
  51735. export interface PlotKeltnerchannelsBottomLineOptions {
  51736. /**
  51737. * (Highstock) Styles for a bottom line.
  51738. */
  51739. styles?: PlotKeltnerchannelsBottomLineStylesOptions;
  51740. }
  51741. /**
  51742. * (Highstock) Styles for a bottom line.
  51743. */
  51744. export interface PlotKeltnerchannelsBottomLineStylesOptions {
  51745. /**
  51746. * (Highstock) Color of the line. If not set, it's inherited from
  51747. * `plotOptions.keltnerchannels.color`
  51748. */
  51749. lineColor?: string;
  51750. /**
  51751. * (Highstock) Pixel width of the line.
  51752. */
  51753. lineWidth?: number;
  51754. }
  51755. /**
  51756. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  51757. * animation when a series is displayed for the `dataLabels`. The animation can
  51758. * also be set as a configuration object. Please note that this option only
  51759. * applies to the initial animation. For other animations, see chart.animation
  51760. * and the animation parameter under the API methods. The following properties
  51761. * are supported:
  51762. *
  51763. * - `defer`: The animation delay time in milliseconds.
  51764. */
  51765. export interface PlotKeltnerchannelsDataLabelsAnimationOptions {
  51766. /**
  51767. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  51768. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  51769. * inherits defer time from the series.animation.defer.
  51770. */
  51771. defer?: number;
  51772. }
  51773. /**
  51774. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  51775. * appearing next to each data point.
  51776. *
  51777. * Since v6.2.0, multiple data labels can be applied to each single point by
  51778. * defining them as an array of configs.
  51779. *
  51780. * In styled mode, the data labels can be styled with the
  51781. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  51782. * example).
  51783. */
  51784. export interface PlotKeltnerchannelsDataLabelsOptions {
  51785. /**
  51786. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  51787. * compared to the point. If `right`, the right side of the label should be
  51788. * touching the point. For points with an extent, like columns, the
  51789. * alignments also dictates how to align it inside the box, as given with
  51790. * the inside option. Can be one of `left`, `center` or `right`.
  51791. */
  51792. align?: (AlignValue|null);
  51793. /**
  51794. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  51795. * overlap. To make the labels less sensitive for overlapping, the
  51796. * dataLabels.padding can be set to 0.
  51797. */
  51798. allowOverlap?: boolean;
  51799. /**
  51800. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  51801. * animation when a series is displayed for the `dataLabels`. The animation
  51802. * can also be set as a configuration object. Please note that this option
  51803. * only applies to the initial animation. For other animations, see
  51804. * chart.animation and the animation parameter under the API methods. The
  51805. * following properties are supported:
  51806. *
  51807. * - `defer`: The animation delay time in milliseconds.
  51808. */
  51809. animation?: (boolean|PlotKeltnerchannelsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  51810. /**
  51811. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  51812. * for the data label.
  51813. */
  51814. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  51815. /**
  51816. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  51817. * label. Defaults to `undefined`.
  51818. */
  51819. borderColor?: (ColorString|GradientColorObject|PatternObject);
  51820. /**
  51821. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  51822. * the data label.
  51823. */
  51824. borderRadius?: number;
  51825. /**
  51826. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  51827. * the data label.
  51828. */
  51829. borderWidth?: number;
  51830. /**
  51831. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  51832. * Particularly in styled mode, this can be used to give each series' or
  51833. * point's data label unique styling. In addition to this option, a default
  51834. * color class name is added so that we can give the labels a contrast text
  51835. * shadow.
  51836. */
  51837. className?: string;
  51838. /**
  51839. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  51840. * labels. Defaults to `undefined`. For certain series types, like column or
  51841. * map, the data labels can be drawn inside the points. In this case the
  51842. * data label will be drawn with maximum contrast by default. Additionally,
  51843. * it will be given a `text-outline` style with the opposite color, to
  51844. * further increase the contrast. This can be overridden by setting the
  51845. * `text-outline` style to `none` in the `dataLabels.style` option.
  51846. */
  51847. color?: (ColorString|GradientColorObject|PatternObject);
  51848. /**
  51849. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  51850. * are outside the plot area. By default, the data label is moved inside the
  51851. * plot area according to the overflow option.
  51852. */
  51853. crop?: boolean;
  51854. /**
  51855. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  51856. * labels until the initial series animation has finished. Setting to
  51857. * `false` renders the data label immediately. If set to `true` inherits the
  51858. * defer time set in plotOptions.series.animation. If set to a number, a
  51859. * defer time is specified in milliseconds.
  51860. */
  51861. defer?: (boolean|number);
  51862. /**
  51863. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  51864. * labels.
  51865. */
  51866. enabled?: boolean;
  51867. /**
  51868. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  51869. * of which data labels to display. The declarative filter is designed for
  51870. * use when callback functions are not available, like when the chart
  51871. * options require a pure JSON structure or for use with graphical editors.
  51872. * For programmatic control, use the `formatter` instead, and return
  51873. * `undefined` to disable a single data label.
  51874. */
  51875. filter?: DataLabelsFilterOptionsObject;
  51876. /**
  51877. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  51878. * label. Available variables are the same as for `formatter`.
  51879. */
  51880. format?: string;
  51881. /**
  51882. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  51883. * format the data label. Note that if a `format` is defined, the format
  51884. * takes precedence and the formatter is ignored.
  51885. */
  51886. formatter?: DataLabelsFormatterCallbackFunction;
  51887. /**
  51888. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  51889. * columns or map areas, whether to align the data label inside the box or
  51890. * to the actual value point. Defaults to `false` in most cases, `true` in
  51891. * stacked columns.
  51892. */
  51893. inside?: boolean;
  51894. /**
  51895. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  51896. * of null. Works analogously to format. `nullFormat` can be applied only to
  51897. * series which support displaying null points.
  51898. */
  51899. nullFormat?: (boolean|string);
  51900. /**
  51901. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  51902. * that defines formatting for points with the value of null. Works
  51903. * analogously to formatter. `nullPointFormatter` can be applied only to
  51904. * series which support displaying null points.
  51905. */
  51906. nullFormatter?: DataLabelsFormatterCallbackFunction;
  51907. /**
  51908. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  51909. * flow outside the plot area. The default is `"justify"`, which aligns them
  51910. * inside the plot area. For columns and bars, this means it will be moved
  51911. * inside the bar. To display data labels outside the plot area, set `crop`
  51912. * to `false` and `overflow` to `"allow"`.
  51913. */
  51914. overflow?: DataLabelsOverflowValue;
  51915. /**
  51916. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  51917. * the `backgroundColor` is set, this is the padding within the box.
  51918. */
  51919. padding?: number;
  51920. /**
  51921. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  51922. * points. If `center` alignment is not possible, it defaults to `right`.
  51923. */
  51924. position?: AlignValue;
  51925. /**
  51926. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  51927. * that due to a more complex structure, backgrounds, borders and padding
  51928. * will be lost on a rotated data label.
  51929. */
  51930. rotation?: number;
  51931. /**
  51932. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  51933. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  51934. * an object configuration containing `color`, `offsetX`, `offsetY`,
  51935. * `opacity` and `width`.
  51936. */
  51937. shadow?: (boolean|ShadowOptionsObject);
  51938. /**
  51939. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  51940. * the border around the label. Symbols are predefined functions on the
  51941. * Renderer object.
  51942. */
  51943. shape?: string;
  51944. /**
  51945. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  51946. * default `color` setting is `"contrast"`, which is a pseudo color that
  51947. * Highcharts picks up and applies the maximum contrast to the underlying
  51948. * point item, for example the bar in a bar chart.
  51949. *
  51950. * The `textOutline` is a pseudo property that applies an outline of the
  51951. * given width with the given color, which by default is the maximum
  51952. * contrast to the text. So a bright text color will result in a black text
  51953. * outline for maximum readability on a mixed background. In some cases,
  51954. * especially with grayscale text, the text outline doesn't work well, in
  51955. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  51956. * is true, the `textOutline` will not be picked up. In this, case, the same
  51957. * effect can be acheived through the `text-shadow` CSS property.
  51958. *
  51959. * For some series types, where each point has an extent, like for example
  51960. * tree maps, the data label may overflow the point. There are two
  51961. * strategies for handling overflow. By default, the text will wrap to
  51962. * multiple lines. The other strategy is to set `style.textOverflow` to
  51963. * `ellipsis`, which will keep the text on one line plus it will break
  51964. * inside long words.
  51965. */
  51966. style?: CSSObject;
  51967. /**
  51968. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  51969. * should follow marker's shape. Border and background are disabled for a
  51970. * label that follows a path.
  51971. *
  51972. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  51973. * to true will disable this option.
  51974. */
  51975. textPath?: DataLabelsTextPathOptionsObject;
  51976. /**
  51977. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  51978. * the labels.
  51979. */
  51980. useHTML?: boolean;
  51981. /**
  51982. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  51983. * label. Can be one of `top`, `middle` or `bottom`. The default value
  51984. * depends on the data, for instance in a column chart, the label is above
  51985. * positive values and below negative values.
  51986. */
  51987. verticalAlign?: (VerticalAlignValue|null);
  51988. /**
  51989. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  51990. * label relative to the point in pixels.
  51991. */
  51992. x?: number;
  51993. /**
  51994. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  51995. * label relative to the point in pixels.
  51996. */
  51997. y?: number;
  51998. /**
  51999. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  52000. * The default Z index puts it above the series. Use a Z index of 2 to
  52001. * display it behind the series.
  52002. */
  52003. z?: number;
  52004. }
  52005. /**
  52006. * (Highcharts, Highstock) Options for the series data sorting.
  52007. */
  52008. export interface PlotKeltnerchannelsDataSortingOptions {
  52009. /**
  52010. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  52011. * Use xAxis.reversed to change the sorting order.
  52012. */
  52013. enabled?: boolean;
  52014. /**
  52015. * (Highcharts, Highstock) Whether to allow matching points by name in an
  52016. * update. If this option is disabled, points will be matched by order.
  52017. */
  52018. matchByName?: boolean;
  52019. /**
  52020. * (Highcharts, Highstock) Determines what data value should be used to sort
  52021. * by.
  52022. */
  52023. sortKey?: string;
  52024. }
  52025. /**
  52026. * (Highstock) Keltner Channels. This series requires the `linkedTo` option to
  52027. * be set and should be loaded after the `stock/indicators/indicators.js`,
  52028. * `stock/indicators/atr.js`, and `stock/ema/.js`.
  52029. *
  52030. * In TypeScript the type option must always be set.
  52031. *
  52032. * Configuration options for the series are given in three levels:
  52033. *
  52034. * 1. Options for all series in a chart are defined in the plotOptions.series
  52035. * object.
  52036. *
  52037. * 2. Options for all `keltnerchannels` series are defined in
  52038. * plotOptions.keltnerchannels.
  52039. *
  52040. * 3. Options for one single series are given in the series instance array. (see
  52041. * online documentation for example)
  52042. */
  52043. export interface PlotKeltnerchannelsOptions {
  52044. /**
  52045. * (Highstock) Accessibility options for a series.
  52046. */
  52047. accessibility?: SeriesAccessibilityOptionsObject;
  52048. /**
  52049. * (Highstock) Allow this series' points to be selected by clicking on the
  52050. * graphic (columns, point markers, pie slices, map areas etc).
  52051. *
  52052. * The selected points can be handled by point select and unselect events,
  52053. * or collectively by the getSelectedPoints function.
  52054. *
  52055. * And alternative way of selecting points is through dragging.
  52056. */
  52057. allowPointSelect?: boolean;
  52058. /**
  52059. * (Highstock) Enable or disable the initial animation when a series is
  52060. * displayed. The animation can also be set as a configuration object.
  52061. * Please note that this option only applies to the initial animation of the
  52062. * series itself. For other animations, see chart.animation and the
  52063. * animation parameter under the API methods. The following properties are
  52064. * supported:
  52065. *
  52066. * - `defer`: The animation delay time in milliseconds.
  52067. *
  52068. * - `duration`: The duration of the animation in milliseconds.
  52069. *
  52070. * - `easing`: Can be a string reference to an easing function set on the
  52071. * `Math` object or a function. See the _Custom easing function_ demo below.
  52072. *
  52073. * Due to poor performance, animation is disabled in old IE browsers for
  52074. * several chart types.
  52075. */
  52076. animation?: (boolean|PlotKeltnerchannelsAnimationOptions|Partial<AnimationOptionsObject>);
  52077. /**
  52078. * (Highstock) For some series, there is a limit that shuts down initial
  52079. * animation by default when the total number of points in the chart is too
  52080. * high. For example, for a column chart and its derivatives, animation does
  52081. * not run if there is more than 250 points totally. To disable this cap,
  52082. * set `animationLimit` to `Infinity`.
  52083. */
  52084. animationLimit?: number;
  52085. /**
  52086. * (Highstock) Sets the color blending in the boost module.
  52087. */
  52088. boostBlending?: OptionsBoostBlendingValue;
  52089. /**
  52090. * (Highstock) Set the point threshold for when a series should enter boost
  52091. * mode.
  52092. *
  52093. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  52094. * there are 2000 or more points in the series.
  52095. *
  52096. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  52097. * it to 1 will force boosting.
  52098. *
  52099. * Note that the cropThreshold also affects this setting. When zooming in on
  52100. * a series that has fewer points than the `cropThreshold`, all points are
  52101. * rendered although outside the visible plot area, and the `boostThreshold`
  52102. * won't take effect.
  52103. */
  52104. boostThreshold?: number;
  52105. /**
  52106. * (Highmaps) The border color of the map areas.
  52107. *
  52108. * In styled mode, the border stroke is given in the `.highcharts-point`
  52109. * class.
  52110. */
  52111. borderColor?: (ColorString|GradientColorObject|PatternObject);
  52112. /**
  52113. * (Highmaps) The border width of each map area.
  52114. *
  52115. * In styled mode, the border stroke width is given in the
  52116. * `.highcharts-point` class.
  52117. */
  52118. borderWidth?: number;
  52119. /**
  52120. * (Highstock) Bottom line options.
  52121. */
  52122. bottomLine?: PlotKeltnerchannelsBottomLineOptions;
  52123. /**
  52124. * (Highstock) An additional class name to apply to the series' graphical
  52125. * elements. This option does not replace default class names of the
  52126. * graphical element.
  52127. */
  52128. className?: string;
  52129. /**
  52130. * (Highstock) Disable this option to allow series rendering in the whole
  52131. * plotting area.
  52132. *
  52133. * **Note:** Clipping should be always enabled when chart.zoomType is set
  52134. */
  52135. clip?: boolean;
  52136. /**
  52137. * (Highstock) The main color of the series. In line type series it applies
  52138. * to the line and the point markers unless otherwise specified. In bar type
  52139. * series it applies to the bars unless a color is specified per point. The
  52140. * default value is pulled from the `options.colors` array.
  52141. *
  52142. * In styled mode, the color can be defined by the colorIndex option. Also,
  52143. * the series color can be set with the `.highcharts-series`,
  52144. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  52145. * `.highcharts-series-{n}` class, or individual classes given by the
  52146. * `className` option.
  52147. */
  52148. color?: (ColorString|GradientColorObject|PatternObject);
  52149. /**
  52150. * (Highstock) Styled mode only. A specific color index to use for the
  52151. * series, so its graphic representations are given the class name
  52152. * `highcharts-color-{n}`.
  52153. */
  52154. colorIndex?: number;
  52155. /**
  52156. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  52157. * used to calculate point color if `colorAxis` is used. Requires to set
  52158. * `min` and `max` if some custom point property is used or if approximation
  52159. * for data grouping is set to `'sum'`.
  52160. */
  52161. colorKey?: string;
  52162. /**
  52163. * (Highstock) Defines if comparison should start from the first point
  52164. * within the visible range or should start from the first point **before**
  52165. * the range.
  52166. *
  52167. * In other words, this flag determines if first point within the visible
  52168. * range will have 0% (`compareStart=true`) or should have been already
  52169. * calculated according to the previous point (`compareStart=false`).
  52170. */
  52171. compareStart?: boolean;
  52172. /**
  52173. * (Highstock) Whether to compare indicator to the main series values or
  52174. * indicator values.
  52175. */
  52176. compareToMain?: boolean;
  52177. /**
  52178. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  52179. * series plot across the extremes.
  52180. */
  52181. connectEnds?: boolean;
  52182. /**
  52183. * (Highcharts, Highstock) Whether to connect a graph line across null
  52184. * points, or render a gap between the two points on either side of the
  52185. * null.
  52186. */
  52187. connectNulls?: boolean;
  52188. /**
  52189. * (Gantt) Override Pathfinder connector options for a series. Requires
  52190. * Highcharts Gantt to be loaded.
  52191. */
  52192. connectors?: SeriesConnectorsOptionsObject;
  52193. /**
  52194. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  52195. * rounded to its nearest pixel in order to render sharp on screen. In some
  52196. * cases, when there are a lot of densely packed columns, this leads to
  52197. * visible difference in column widths or distance between columns. In these
  52198. * cases, setting `crisp` to `false` may look better, even though each
  52199. * column is rendered blurry.
  52200. */
  52201. crisp?: boolean;
  52202. /**
  52203. * (Highcharts, Highstock) When the series contains less points than the
  52204. * crop threshold, all points are drawn, even if the points fall outside the
  52205. * visible plot area at the current zoom. The advantage of drawing all
  52206. * points (including markers and columns), is that animation is performed on
  52207. * updates. On the other hand, when the series contains more points than the
  52208. * crop threshold, the series data is cropped to only contain points that
  52209. * fall within the plot area. The advantage of cropping away invisible
  52210. * points is to increase performance on large series.
  52211. */
  52212. cropThreshold?: number;
  52213. /**
  52214. * (Highstock) You can set the cursor to "pointer" if you have click events
  52215. * attached to the series, to signal to the user that the points and lines
  52216. * can be clicked.
  52217. *
  52218. * In styled mode, the series cursor can be set with the same classes as
  52219. * listed under series.color.
  52220. */
  52221. cursor?: (string|CursorValue);
  52222. /**
  52223. * (Highstock) A reserved subspace to store options and values for
  52224. * customized functionality. Here you can add additional data for your own
  52225. * event callbacks and formatter callbacks.
  52226. */
  52227. custom?: Dictionary<any>;
  52228. /**
  52229. * (Highstock) Name of the dash style to use for the graph, or for some
  52230. * series types the outline of each shape.
  52231. *
  52232. * In styled mode, the stroke dash-array can be set with the same classes as
  52233. * listed under series.color.
  52234. */
  52235. dashStyle?: DashStyleValue;
  52236. /**
  52237. * (Highstock) Data grouping is the concept of sampling the data values into
  52238. * larger blocks in order to ease readability and increase performance of
  52239. * the JavaScript charts. Highcharts Stock by default applies data grouping
  52240. * when the points become closer than a certain pixel value, determined by
  52241. * the `groupPixelWidth` option.
  52242. *
  52243. * If data grouping is applied, the grouping information of grouped points
  52244. * can be read from the Point.dataGroup. If point options other than the
  52245. * data itself are set, for example `name` or `color` or custom properties,
  52246. * the grouping logic doesn't know how to group it. In this case the options
  52247. * of the first point instance are copied over to the group point. This can
  52248. * be altered through a custom `approximation` callback function.
  52249. */
  52250. dataGrouping?: DataGroupingOptionsObject;
  52251. /**
  52252. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  52253. * labels, appearing next to each data point.
  52254. *
  52255. * Since v6.2.0, multiple data labels can be applied to each single point by
  52256. * defining them as an array of configs.
  52257. *
  52258. * In styled mode, the data labels can be styled with the
  52259. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  52260. * (see example).
  52261. */
  52262. dataLabels?: (PlotKeltnerchannelsDataLabelsOptions|Array<PlotKeltnerchannelsDataLabelsOptions>);
  52263. /**
  52264. * (Highcharts, Highstock) Options for the series data sorting.
  52265. */
  52266. dataSorting?: (DataSortingOptionsObject|PlotKeltnerchannelsDataSortingOptions);
  52267. /**
  52268. * (Highstock) A description of the series to add to the screen reader
  52269. * information about the series.
  52270. */
  52271. description?: string;
  52272. /**
  52273. * (Highstock) Enable or disable the mouse tracking for a specific series.
  52274. * This includes point tooltips and click events on graphs and points. For
  52275. * large datasets it improves performance.
  52276. */
  52277. enableMouseTracking?: boolean;
  52278. /**
  52279. * (Highstock) General event handlers for the series items. These event
  52280. * hooks can also be attached to the series at run time using the
  52281. * `Highcharts.addEvent` function.
  52282. */
  52283. events?: SeriesEventsOptionsObject;
  52284. /**
  52285. * (Highstock) Determines whether the series should look for the nearest
  52286. * point in both dimensions or just the x-dimension when hovering the
  52287. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  52288. * series. If the data has duplicate x-values, it is recommended to set this
  52289. * to `'xy'` to allow hovering over all points.
  52290. *
  52291. * Applies only to series types using nearest neighbor search (not direct
  52292. * hover) for tooltip.
  52293. */
  52294. findNearestPointBy?: OptionsFindNearestPointByValue;
  52295. /**
  52296. * (Highstock) Defines when to display a gap in the graph, together with the
  52297. * gapUnit option.
  52298. *
  52299. * In case when `dataGrouping` is enabled, points can be grouped into a
  52300. * larger time span. This can make the grouped points to have a greater
  52301. * distance than the absolute value of `gapSize` property, which will result
  52302. * in disappearing graph completely. To prevent this situation the mentioned
  52303. * distance between grouped points is used instead of previously defined
  52304. * `gapSize`.
  52305. *
  52306. * In practice, this option is most often used to visualize gaps in time
  52307. * series. In a stock chart, intraday data is available for daytime hours,
  52308. * while gaps will appear in nights and weekends.
  52309. */
  52310. gapSize?: number;
  52311. /**
  52312. * (Highstock) Together with gapSize, this option defines where to draw gaps
  52313. * in the graph.
  52314. *
  52315. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  52316. * if the distance between two points is greater than 5 times that of the
  52317. * two closest points, the graph will be broken.
  52318. *
  52319. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  52320. * values, which on a datetime axis is milliseconds. This also applies to
  52321. * the navigator series that inherits gap options from the base series.
  52322. */
  52323. gapUnit?: OptionsGapUnitValue;
  52324. /**
  52325. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  52326. * chart width or only the zoomed area when zooming in on parts of the X
  52327. * axis. By default, the Y axis adjusts to the min and max of the visible
  52328. * data. Cartesian series only.
  52329. */
  52330. getExtremesFromAll?: boolean;
  52331. /**
  52332. * (Highstock) When set to `false` will prevent the series data from being
  52333. * included in any form of data export.
  52334. *
  52335. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  52336. * `includeInCSVExport`.
  52337. */
  52338. includeInDataExport?: boolean;
  52339. /**
  52340. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  52341. * series as possible in a natural way, seeking to avoid other series. The
  52342. * goal of this feature is to make the chart more easily readable, like if a
  52343. * human designer placed the labels in the optimal position.
  52344. *
  52345. * The series labels currently work with series types having a `graph` or an
  52346. * `area`.
  52347. */
  52348. label?: SeriesLabelOptionsObject;
  52349. /**
  52350. * (Highstock) The line marks the last price from all points.
  52351. */
  52352. lastPrice?: SeriesLastPriceOptionsObject;
  52353. /**
  52354. * (Highstock) The line marks the last price from visible range of points.
  52355. */
  52356. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  52357. /**
  52358. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  52359. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  52360. * the ends and bends.
  52361. */
  52362. linecap?: SeriesLinecapValue;
  52363. /**
  52364. * (Highcharts, Highstock) Pixel width of the graph line.
  52365. */
  52366. lineWidth?: number;
  52367. /**
  52368. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  52369. * based on. Required for this indicator.
  52370. */
  52371. linkedTo?: string;
  52372. /**
  52373. * (Highstock) Options for the point markers of line-like series. Properties
  52374. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  52375. * appearance of the markers. Other series types, like column series, don't
  52376. * have markers, but have visual options on the series level instead.
  52377. *
  52378. * In styled mode, the markers can be styled with the `.highcharts-point`,
  52379. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  52380. */
  52381. marker?: PointMarkerOptionsObject;
  52382. /**
  52383. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  52384. * If not set, it will be based on a technical indicator type and default
  52385. * params.
  52386. */
  52387. name?: string;
  52388. /**
  52389. * (Highstock) The color for the parts of the graph or points that are below
  52390. * the threshold. Note that `zones` takes precedence over the negative
  52391. * color. Using `negativeColor` is equivalent to applying a zone with value
  52392. * of 0.
  52393. */
  52394. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  52395. /**
  52396. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  52397. * dataLabels.
  52398. */
  52399. opacity?: number;
  52400. /**
  52401. * (Highstock) Paramters used in calculation of regression series' points.
  52402. */
  52403. params?: PlotKeltnerchannelsParamsOptions;
  52404. /**
  52405. * (Highstock) Properties for each single point.
  52406. */
  52407. point?: PlotSeriesPointOptions;
  52408. /**
  52409. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  52410. * individual series. Overrides the chart wide configuration.
  52411. */
  52412. pointDescriptionFormatter?: Function;
  52413. /**
  52414. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  52415. * true, the checkbox next to the series name in the legend will be checked
  52416. * for a selected series.
  52417. */
  52418. selected?: boolean;
  52419. /**
  52420. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  52421. * the shadow can be an object configuration containing `color`, `offsetX`,
  52422. * `offsetY`, `opacity` and `width`.
  52423. */
  52424. shadow?: (boolean|ShadowOptionsObject);
  52425. /**
  52426. * (Highstock) If true, a checkbox is displayed next to the legend item to
  52427. * allow selecting the series. The state of the checkbox is determined by
  52428. * the `selected` option.
  52429. */
  52430. showCheckbox?: boolean;
  52431. /**
  52432. * (Highstock) Whether to display this particular series or series type in
  52433. * the legend. Standalone series are shown in legend by default, and linked
  52434. * series are not. Since v7.2.0 it is possible to show series that use
  52435. * colorAxis by setting this option to `true`.
  52436. */
  52437. showInLegend?: boolean;
  52438. /**
  52439. * (Highstock) If set to `true`, the accessibility module will skip past the
  52440. * points in this series for keyboard navigation.
  52441. */
  52442. skipKeyboardNavigation?: boolean;
  52443. /**
  52444. * (Highcharts, Highstock) When this is true, the series will not cause the
  52445. * Y axis to cross the zero plane (or threshold option) unless the data
  52446. * actually crosses the plane.
  52447. *
  52448. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  52449. * make the Y axis show negative values according to the `minPadding`
  52450. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  52451. */
  52452. softThreshold?: boolean;
  52453. states?: SeriesStatesOptionsObject;
  52454. /**
  52455. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  52456. * values are `left`, `center` and `right`.
  52457. */
  52458. step?: OptionsStepValue;
  52459. /**
  52460. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  52461. * event on a series isn't triggered until the mouse moves over another
  52462. * series, or out of the plot area. When false, the `mouseOut` event on a
  52463. * series is triggered when the mouse leaves the area around the series'
  52464. * graph or markers. This also implies the tooltip when not shared. When
  52465. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  52466. * be hidden when moving the mouse between series. Defaults to true for line
  52467. * and area type series, but to false for columns, pies etc.
  52468. *
  52469. * **Note:** The boost module will force this option because of technical
  52470. * limitations.
  52471. */
  52472. stickyTracking?: boolean;
  52473. /**
  52474. * (Highcharts, Highstock) The threshold, also called zero level or base
  52475. * level. For line type series this is only used in conjunction with
  52476. * negativeColor.
  52477. */
  52478. threshold?: (number|null);
  52479. /**
  52480. * (Highstock) A configuration object for the tooltip rendering of each
  52481. * single series. Properties are inherited from tooltip, but only the
  52482. * following properties can be defined on a series level.
  52483. */
  52484. tooltip?: SeriesTooltipOptionsObject;
  52485. /**
  52486. * (Highstock) Top line options.
  52487. */
  52488. topLine?: PlotKeltnerchannelsTopLineOptions;
  52489. /**
  52490. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  52491. * is longer than this, only one dimensional arrays of numbers, or two
  52492. * dimensional arrays with x and y values are allowed. Also, only the first
  52493. * point is tested, and the rest are assumed to be the same format. This
  52494. * saves expensive data checking and indexing in long series. Set it to `0`
  52495. * disable.
  52496. *
  52497. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  52498. * two dimensional arrays are allowed.
  52499. */
  52500. turboThreshold?: number;
  52501. /**
  52502. * (Highstock) Set the initial visibility of the series.
  52503. */
  52504. visible?: boolean;
  52505. /**
  52506. * (Highmaps) Define the z index of the series.
  52507. */
  52508. zIndex?: number;
  52509. /**
  52510. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  52511. */
  52512. zoneAxis?: string;
  52513. /**
  52514. * (Highcharts, Highstock) An array defining zones within a series. Zones
  52515. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  52516. * the `zoneAxis` option. The zone definitions have to be in ascending order
  52517. * regarding to the value.
  52518. *
  52519. * In styled mode, the color zones are styled with the
  52520. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  52521. * option (view live demo).
  52522. */
  52523. zones?: Array<SeriesZonesOptionsObject>;
  52524. }
  52525. /**
  52526. * (Highstock) Paramters used in calculation of regression series' points.
  52527. */
  52528. export interface PlotKeltnerchannelsParamsOptions {
  52529. /**
  52530. * (Highstock) The point index which indicator calculations will base. For
  52531. * example using OHLC data, index=2 means the indicator will be calculated
  52532. * using Low values.
  52533. */
  52534. index?: number;
  52535. /**
  52536. * (Highstock) The ATR multiplier.
  52537. */
  52538. multiplierATR?: number;
  52539. /**
  52540. * (Highstock) The base period for indicator calculations. This is the
  52541. * number of data points which are taken into account for the indicator
  52542. * calculations.
  52543. */
  52544. period?: number;
  52545. /**
  52546. * (Highstock) The ATR period.
  52547. */
  52548. periodATR?: number;
  52549. }
  52550. /**
  52551. * (Highstock) Top line options.
  52552. */
  52553. export interface PlotKeltnerchannelsTopLineOptions {
  52554. /**
  52555. * (Highstock) Styles for a bottom line.
  52556. */
  52557. styles?: PlotKeltnerchannelsTopLineStylesOptions;
  52558. }
  52559. /**
  52560. * (Highstock) Styles for a bottom line.
  52561. */
  52562. export interface PlotKeltnerchannelsTopLineStylesOptions {
  52563. /**
  52564. * (Highstock) Color of the line. If not set, it's inherited from
  52565. * `plotOptions.keltnerchannels.color`
  52566. */
  52567. lineColor?: string;
  52568. /**
  52569. * (Highstock) Pixel width of the line.
  52570. */
  52571. lineWidth?: number;
  52572. }
  52573. /**
  52574. * (Highstock) Enable or disable the initial animation when a series is
  52575. * displayed. The animation can also be set as a configuration object. Please
  52576. * note that this option only applies to the initial animation of the series
  52577. * itself. For other animations, see chart.animation and the animation parameter
  52578. * under the API methods. The following properties are supported:
  52579. *
  52580. * - `defer`: The animation delay time in milliseconds.
  52581. *
  52582. * - `duration`: The duration of the animation in milliseconds.
  52583. *
  52584. * - `easing`: Can be a string reference to an easing function set on the `Math`
  52585. * object or a function. See the _Custom easing function_ demo below.
  52586. *
  52587. * Due to poor performance, animation is disabled in old IE browsers for several
  52588. * chart types.
  52589. */
  52590. export interface PlotKlingerAnimationOptions {
  52591. defer?: number;
  52592. }
  52593. /**
  52594. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  52595. * animation when a series is displayed for the `dataLabels`. The animation can
  52596. * also be set as a configuration object. Please note that this option only
  52597. * applies to the initial animation. For other animations, see chart.animation
  52598. * and the animation parameter under the API methods. The following properties
  52599. * are supported:
  52600. *
  52601. * - `defer`: The animation delay time in milliseconds.
  52602. */
  52603. export interface PlotKlingerDataLabelsAnimationOptions {
  52604. /**
  52605. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  52606. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  52607. * inherits defer time from the series.animation.defer.
  52608. */
  52609. defer?: number;
  52610. }
  52611. /**
  52612. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  52613. * appearing next to each data point.
  52614. *
  52615. * Since v6.2.0, multiple data labels can be applied to each single point by
  52616. * defining them as an array of configs.
  52617. *
  52618. * In styled mode, the data labels can be styled with the
  52619. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  52620. * example).
  52621. */
  52622. export interface PlotKlingerDataLabelsOptions {
  52623. /**
  52624. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  52625. * compared to the point. If `right`, the right side of the label should be
  52626. * touching the point. For points with an extent, like columns, the
  52627. * alignments also dictates how to align it inside the box, as given with
  52628. * the inside option. Can be one of `left`, `center` or `right`.
  52629. */
  52630. align?: (AlignValue|null);
  52631. /**
  52632. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  52633. * overlap. To make the labels less sensitive for overlapping, the
  52634. * dataLabels.padding can be set to 0.
  52635. */
  52636. allowOverlap?: boolean;
  52637. /**
  52638. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  52639. * animation when a series is displayed for the `dataLabels`. The animation
  52640. * can also be set as a configuration object. Please note that this option
  52641. * only applies to the initial animation. For other animations, see
  52642. * chart.animation and the animation parameter under the API methods. The
  52643. * following properties are supported:
  52644. *
  52645. * - `defer`: The animation delay time in milliseconds.
  52646. */
  52647. animation?: (boolean|PlotKlingerDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  52648. /**
  52649. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  52650. * for the data label.
  52651. */
  52652. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  52653. /**
  52654. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  52655. * label. Defaults to `undefined`.
  52656. */
  52657. borderColor?: (ColorString|GradientColorObject|PatternObject);
  52658. /**
  52659. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  52660. * the data label.
  52661. */
  52662. borderRadius?: number;
  52663. /**
  52664. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  52665. * the data label.
  52666. */
  52667. borderWidth?: number;
  52668. /**
  52669. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  52670. * Particularly in styled mode, this can be used to give each series' or
  52671. * point's data label unique styling. In addition to this option, a default
  52672. * color class name is added so that we can give the labels a contrast text
  52673. * shadow.
  52674. */
  52675. className?: string;
  52676. /**
  52677. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  52678. * labels. Defaults to `undefined`. For certain series types, like column or
  52679. * map, the data labels can be drawn inside the points. In this case the
  52680. * data label will be drawn with maximum contrast by default. Additionally,
  52681. * it will be given a `text-outline` style with the opposite color, to
  52682. * further increase the contrast. This can be overridden by setting the
  52683. * `text-outline` style to `none` in the `dataLabels.style` option.
  52684. */
  52685. color?: (ColorString|GradientColorObject|PatternObject);
  52686. /**
  52687. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  52688. * are outside the plot area. By default, the data label is moved inside the
  52689. * plot area according to the overflow option.
  52690. */
  52691. crop?: boolean;
  52692. /**
  52693. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  52694. * labels until the initial series animation has finished. Setting to
  52695. * `false` renders the data label immediately. If set to `true` inherits the
  52696. * defer time set in plotOptions.series.animation. If set to a number, a
  52697. * defer time is specified in milliseconds.
  52698. */
  52699. defer?: (boolean|number);
  52700. /**
  52701. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  52702. * labels.
  52703. */
  52704. enabled?: boolean;
  52705. /**
  52706. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  52707. * of which data labels to display. The declarative filter is designed for
  52708. * use when callback functions are not available, like when the chart
  52709. * options require a pure JSON structure or for use with graphical editors.
  52710. * For programmatic control, use the `formatter` instead, and return
  52711. * `undefined` to disable a single data label.
  52712. */
  52713. filter?: DataLabelsFilterOptionsObject;
  52714. /**
  52715. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  52716. * label. Available variables are the same as for `formatter`.
  52717. */
  52718. format?: string;
  52719. /**
  52720. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  52721. * format the data label. Note that if a `format` is defined, the format
  52722. * takes precedence and the formatter is ignored.
  52723. */
  52724. formatter?: DataLabelsFormatterCallbackFunction;
  52725. /**
  52726. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  52727. * columns or map areas, whether to align the data label inside the box or
  52728. * to the actual value point. Defaults to `false` in most cases, `true` in
  52729. * stacked columns.
  52730. */
  52731. inside?: boolean;
  52732. /**
  52733. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  52734. * of null. Works analogously to format. `nullFormat` can be applied only to
  52735. * series which support displaying null points.
  52736. */
  52737. nullFormat?: (boolean|string);
  52738. /**
  52739. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  52740. * that defines formatting for points with the value of null. Works
  52741. * analogously to formatter. `nullPointFormatter` can be applied only to
  52742. * series which support displaying null points.
  52743. */
  52744. nullFormatter?: DataLabelsFormatterCallbackFunction;
  52745. /**
  52746. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  52747. * flow outside the plot area. The default is `"justify"`, which aligns them
  52748. * inside the plot area. For columns and bars, this means it will be moved
  52749. * inside the bar. To display data labels outside the plot area, set `crop`
  52750. * to `false` and `overflow` to `"allow"`.
  52751. */
  52752. overflow?: DataLabelsOverflowValue;
  52753. /**
  52754. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  52755. * the `backgroundColor` is set, this is the padding within the box.
  52756. */
  52757. padding?: number;
  52758. /**
  52759. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  52760. * points. If `center` alignment is not possible, it defaults to `right`.
  52761. */
  52762. position?: AlignValue;
  52763. /**
  52764. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  52765. * that due to a more complex structure, backgrounds, borders and padding
  52766. * will be lost on a rotated data label.
  52767. */
  52768. rotation?: number;
  52769. /**
  52770. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  52771. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  52772. * an object configuration containing `color`, `offsetX`, `offsetY`,
  52773. * `opacity` and `width`.
  52774. */
  52775. shadow?: (boolean|ShadowOptionsObject);
  52776. /**
  52777. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  52778. * the border around the label. Symbols are predefined functions on the
  52779. * Renderer object.
  52780. */
  52781. shape?: string;
  52782. /**
  52783. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  52784. * default `color` setting is `"contrast"`, which is a pseudo color that
  52785. * Highcharts picks up and applies the maximum contrast to the underlying
  52786. * point item, for example the bar in a bar chart.
  52787. *
  52788. * The `textOutline` is a pseudo property that applies an outline of the
  52789. * given width with the given color, which by default is the maximum
  52790. * contrast to the text. So a bright text color will result in a black text
  52791. * outline for maximum readability on a mixed background. In some cases,
  52792. * especially with grayscale text, the text outline doesn't work well, in
  52793. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  52794. * is true, the `textOutline` will not be picked up. In this, case, the same
  52795. * effect can be acheived through the `text-shadow` CSS property.
  52796. *
  52797. * For some series types, where each point has an extent, like for example
  52798. * tree maps, the data label may overflow the point. There are two
  52799. * strategies for handling overflow. By default, the text will wrap to
  52800. * multiple lines. The other strategy is to set `style.textOverflow` to
  52801. * `ellipsis`, which will keep the text on one line plus it will break
  52802. * inside long words.
  52803. */
  52804. style?: CSSObject;
  52805. /**
  52806. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  52807. * should follow marker's shape. Border and background are disabled for a
  52808. * label that follows a path.
  52809. *
  52810. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  52811. * to true will disable this option.
  52812. */
  52813. textPath?: DataLabelsTextPathOptionsObject;
  52814. /**
  52815. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  52816. * the labels.
  52817. */
  52818. useHTML?: boolean;
  52819. /**
  52820. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  52821. * label. Can be one of `top`, `middle` or `bottom`. The default value
  52822. * depends on the data, for instance in a column chart, the label is above
  52823. * positive values and below negative values.
  52824. */
  52825. verticalAlign?: (VerticalAlignValue|null);
  52826. /**
  52827. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  52828. * label relative to the point in pixels.
  52829. */
  52830. x?: number;
  52831. /**
  52832. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  52833. * label relative to the point in pixels.
  52834. */
  52835. y?: number;
  52836. /**
  52837. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  52838. * The default Z index puts it above the series. Use a Z index of 2 to
  52839. * display it behind the series.
  52840. */
  52841. z?: number;
  52842. }
  52843. /**
  52844. * (Highcharts, Highstock) Options for the series data sorting.
  52845. */
  52846. export interface PlotKlingerDataSortingOptions {
  52847. /**
  52848. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  52849. * Use xAxis.reversed to change the sorting order.
  52850. */
  52851. enabled?: boolean;
  52852. /**
  52853. * (Highcharts, Highstock) Whether to allow matching points by name in an
  52854. * update. If this option is disabled, points will be matched by order.
  52855. */
  52856. matchByName?: boolean;
  52857. /**
  52858. * (Highcharts, Highstock) Determines what data value should be used to sort
  52859. * by.
  52860. */
  52861. sortKey?: string;
  52862. }
  52863. /**
  52864. * (Highstock) Klinger oscillator. This series requires the `linkedTo` option to
  52865. * be set and should be loaded after the `stock/indicators/indicators.js` file.
  52866. *
  52867. * In TypeScript the type option must always be set.
  52868. *
  52869. * Configuration options for the series are given in three levels:
  52870. *
  52871. * 1. Options for all series in a chart are defined in the plotOptions.series
  52872. * object.
  52873. *
  52874. * 2. Options for all `klinger` series are defined in plotOptions.klinger.
  52875. *
  52876. * 3. Options for one single series are given in the series instance array. (see
  52877. * online documentation for example)
  52878. */
  52879. export interface PlotKlingerOptions {
  52880. /**
  52881. * (Highstock) Accessibility options for a series.
  52882. */
  52883. accessibility?: SeriesAccessibilityOptionsObject;
  52884. /**
  52885. * (Highstock) Allow this series' points to be selected by clicking on the
  52886. * graphic (columns, point markers, pie slices, map areas etc).
  52887. *
  52888. * The selected points can be handled by point select and unselect events,
  52889. * or collectively by the getSelectedPoints function.
  52890. *
  52891. * And alternative way of selecting points is through dragging.
  52892. */
  52893. allowPointSelect?: boolean;
  52894. /**
  52895. * (Highstock) Enable or disable the initial animation when a series is
  52896. * displayed. The animation can also be set as a configuration object.
  52897. * Please note that this option only applies to the initial animation of the
  52898. * series itself. For other animations, see chart.animation and the
  52899. * animation parameter under the API methods. The following properties are
  52900. * supported:
  52901. *
  52902. * - `defer`: The animation delay time in milliseconds.
  52903. *
  52904. * - `duration`: The duration of the animation in milliseconds.
  52905. *
  52906. * - `easing`: Can be a string reference to an easing function set on the
  52907. * `Math` object or a function. See the _Custom easing function_ demo below.
  52908. *
  52909. * Due to poor performance, animation is disabled in old IE browsers for
  52910. * several chart types.
  52911. */
  52912. animation?: (boolean|PlotKlingerAnimationOptions|Partial<AnimationOptionsObject>);
  52913. /**
  52914. * (Highstock) For some series, there is a limit that shuts down initial
  52915. * animation by default when the total number of points in the chart is too
  52916. * high. For example, for a column chart and its derivatives, animation does
  52917. * not run if there is more than 250 points totally. To disable this cap,
  52918. * set `animationLimit` to `Infinity`.
  52919. */
  52920. animationLimit?: number;
  52921. /**
  52922. * (Highstock) Sets the color blending in the boost module.
  52923. */
  52924. boostBlending?: OptionsBoostBlendingValue;
  52925. /**
  52926. * (Highstock) Set the point threshold for when a series should enter boost
  52927. * mode.
  52928. *
  52929. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  52930. * there are 2000 or more points in the series.
  52931. *
  52932. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  52933. * it to 1 will force boosting.
  52934. *
  52935. * Note that the cropThreshold also affects this setting. When zooming in on
  52936. * a series that has fewer points than the `cropThreshold`, all points are
  52937. * rendered although outside the visible plot area, and the `boostThreshold`
  52938. * won't take effect.
  52939. */
  52940. boostThreshold?: number;
  52941. /**
  52942. * (Highmaps) The border color of the map areas.
  52943. *
  52944. * In styled mode, the border stroke is given in the `.highcharts-point`
  52945. * class.
  52946. */
  52947. borderColor?: (ColorString|GradientColorObject|PatternObject);
  52948. /**
  52949. * (Highmaps) The border width of each map area.
  52950. *
  52951. * In styled mode, the border stroke width is given in the
  52952. * `.highcharts-point` class.
  52953. */
  52954. borderWidth?: number;
  52955. /**
  52956. * (Highstock) An additional class name to apply to the series' graphical
  52957. * elements. This option does not replace default class names of the
  52958. * graphical element.
  52959. */
  52960. className?: string;
  52961. /**
  52962. * (Highstock) Disable this option to allow series rendering in the whole
  52963. * plotting area.
  52964. *
  52965. * **Note:** Clipping should be always enabled when chart.zoomType is set
  52966. */
  52967. clip?: boolean;
  52968. /**
  52969. * (Highstock) The main color of the series. In line type series it applies
  52970. * to the line and the point markers unless otherwise specified. In bar type
  52971. * series it applies to the bars unless a color is specified per point. The
  52972. * default value is pulled from the `options.colors` array.
  52973. *
  52974. * In styled mode, the color can be defined by the colorIndex option. Also,
  52975. * the series color can be set with the `.highcharts-series`,
  52976. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  52977. * `.highcharts-series-{n}` class, or individual classes given by the
  52978. * `className` option.
  52979. */
  52980. color?: (ColorString|GradientColorObject|PatternObject);
  52981. /**
  52982. * (Highstock) Styled mode only. A specific color index to use for the
  52983. * series, so its graphic representations are given the class name
  52984. * `highcharts-color-{n}`.
  52985. */
  52986. colorIndex?: number;
  52987. /**
  52988. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  52989. * used to calculate point color if `colorAxis` is used. Requires to set
  52990. * `min` and `max` if some custom point property is used or if approximation
  52991. * for data grouping is set to `'sum'`.
  52992. */
  52993. colorKey?: string;
  52994. /**
  52995. * (Highstock) Compare the values of the series against the first non-null,
  52996. * non- zero value in the visible range. The y axis will show percentage or
  52997. * absolute change depending on whether `compare` is set to `"percent"` or
  52998. * `"value"`. When this is applied to multiple series, it allows comparing
  52999. * the development of the series against each other. Adds a `change` field
  53000. * to every point object.
  53001. */
  53002. compare?: string;
  53003. /**
  53004. * (Highstock) When compare is `percent`, this option dictates whether to
  53005. * use 0 or 100 as the base of comparison.
  53006. */
  53007. compareBase?: (0|100);
  53008. /**
  53009. * (Highstock) Defines if comparison should start from the first point
  53010. * within the visible range or should start from the first point **before**
  53011. * the range.
  53012. *
  53013. * In other words, this flag determines if first point within the visible
  53014. * range will have 0% (`compareStart=true`) or should have been already
  53015. * calculated according to the previous point (`compareStart=false`).
  53016. */
  53017. compareStart?: boolean;
  53018. /**
  53019. * (Highstock) Whether to compare indicator to the main series values or
  53020. * indicator values.
  53021. */
  53022. compareToMain?: boolean;
  53023. /**
  53024. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  53025. * series plot across the extremes.
  53026. */
  53027. connectEnds?: boolean;
  53028. /**
  53029. * (Highcharts, Highstock) Whether to connect a graph line across null
  53030. * points, or render a gap between the two points on either side of the
  53031. * null.
  53032. */
  53033. connectNulls?: boolean;
  53034. /**
  53035. * (Gantt) Override Pathfinder connector options for a series. Requires
  53036. * Highcharts Gantt to be loaded.
  53037. */
  53038. connectors?: SeriesConnectorsOptionsObject;
  53039. /**
  53040. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  53041. * rounded to its nearest pixel in order to render sharp on screen. In some
  53042. * cases, when there are a lot of densely packed columns, this leads to
  53043. * visible difference in column widths or distance between columns. In these
  53044. * cases, setting `crisp` to `false` may look better, even though each
  53045. * column is rendered blurry.
  53046. */
  53047. crisp?: boolean;
  53048. /**
  53049. * (Highcharts, Highstock) When the series contains less points than the
  53050. * crop threshold, all points are drawn, even if the points fall outside the
  53051. * visible plot area at the current zoom. The advantage of drawing all
  53052. * points (including markers and columns), is that animation is performed on
  53053. * updates. On the other hand, when the series contains more points than the
  53054. * crop threshold, the series data is cropped to only contain points that
  53055. * fall within the plot area. The advantage of cropping away invisible
  53056. * points is to increase performance on large series.
  53057. */
  53058. cropThreshold?: number;
  53059. /**
  53060. * (Highstock) You can set the cursor to "pointer" if you have click events
  53061. * attached to the series, to signal to the user that the points and lines
  53062. * can be clicked.
  53063. *
  53064. * In styled mode, the series cursor can be set with the same classes as
  53065. * listed under series.color.
  53066. */
  53067. cursor?: (string|CursorValue);
  53068. /**
  53069. * (Highstock) A reserved subspace to store options and values for
  53070. * customized functionality. Here you can add additional data for your own
  53071. * event callbacks and formatter callbacks.
  53072. */
  53073. custom?: Dictionary<any>;
  53074. /**
  53075. * (Highstock) Name of the dash style to use for the graph, or for some
  53076. * series types the outline of each shape.
  53077. *
  53078. * In styled mode, the stroke dash-array can be set with the same classes as
  53079. * listed under series.color.
  53080. */
  53081. dashStyle?: DashStyleValue;
  53082. /**
  53083. * (Highstock) Data grouping is the concept of sampling the data values into
  53084. * larger blocks in order to ease readability and increase performance of
  53085. * the JavaScript charts. Highcharts Stock by default applies data grouping
  53086. * when the points become closer than a certain pixel value, determined by
  53087. * the `groupPixelWidth` option.
  53088. *
  53089. * If data grouping is applied, the grouping information of grouped points
  53090. * can be read from the Point.dataGroup. If point options other than the
  53091. * data itself are set, for example `name` or `color` or custom properties,
  53092. * the grouping logic doesn't know how to group it. In this case the options
  53093. * of the first point instance are copied over to the group point. This can
  53094. * be altered through a custom `approximation` callback function.
  53095. */
  53096. dataGrouping?: DataGroupingOptionsObject;
  53097. /**
  53098. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  53099. * labels, appearing next to each data point.
  53100. *
  53101. * Since v6.2.0, multiple data labels can be applied to each single point by
  53102. * defining them as an array of configs.
  53103. *
  53104. * In styled mode, the data labels can be styled with the
  53105. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  53106. * (see example).
  53107. */
  53108. dataLabels?: (PlotKlingerDataLabelsOptions|Array<PlotKlingerDataLabelsOptions>);
  53109. /**
  53110. * (Highcharts, Highstock) Options for the series data sorting.
  53111. */
  53112. dataSorting?: (DataSortingOptionsObject|PlotKlingerDataSortingOptions);
  53113. /**
  53114. * (Highstock) A description of the series to add to the screen reader
  53115. * information about the series.
  53116. */
  53117. description?: string;
  53118. /**
  53119. * (Highstock) Enable or disable the mouse tracking for a specific series.
  53120. * This includes point tooltips and click events on graphs and points. For
  53121. * large datasets it improves performance.
  53122. */
  53123. enableMouseTracking?: boolean;
  53124. /**
  53125. * (Highstock) General event handlers for the series items. These event
  53126. * hooks can also be attached to the series at run time using the
  53127. * `Highcharts.addEvent` function.
  53128. */
  53129. events?: SeriesEventsOptionsObject;
  53130. /**
  53131. * (Highstock) Determines whether the series should look for the nearest
  53132. * point in both dimensions or just the x-dimension when hovering the
  53133. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  53134. * series. If the data has duplicate x-values, it is recommended to set this
  53135. * to `'xy'` to allow hovering over all points.
  53136. *
  53137. * Applies only to series types using nearest neighbor search (not direct
  53138. * hover) for tooltip.
  53139. */
  53140. findNearestPointBy?: OptionsFindNearestPointByValue;
  53141. /**
  53142. * (Highstock) Defines when to display a gap in the graph, together with the
  53143. * gapUnit option.
  53144. *
  53145. * In case when `dataGrouping` is enabled, points can be grouped into a
  53146. * larger time span. This can make the grouped points to have a greater
  53147. * distance than the absolute value of `gapSize` property, which will result
  53148. * in disappearing graph completely. To prevent this situation the mentioned
  53149. * distance between grouped points is used instead of previously defined
  53150. * `gapSize`.
  53151. *
  53152. * In practice, this option is most often used to visualize gaps in time
  53153. * series. In a stock chart, intraday data is available for daytime hours,
  53154. * while gaps will appear in nights and weekends.
  53155. */
  53156. gapSize?: number;
  53157. /**
  53158. * (Highstock) Together with gapSize, this option defines where to draw gaps
  53159. * in the graph.
  53160. *
  53161. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  53162. * if the distance between two points is greater than 5 times that of the
  53163. * two closest points, the graph will be broken.
  53164. *
  53165. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  53166. * values, which on a datetime axis is milliseconds. This also applies to
  53167. * the navigator series that inherits gap options from the base series.
  53168. */
  53169. gapUnit?: OptionsGapUnitValue;
  53170. /**
  53171. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  53172. * chart width or only the zoomed area when zooming in on parts of the X
  53173. * axis. By default, the Y axis adjusts to the min and max of the visible
  53174. * data. Cartesian series only.
  53175. */
  53176. getExtremesFromAll?: boolean;
  53177. /**
  53178. * (Highstock) When set to `false` will prevent the series data from being
  53179. * included in any form of data export.
  53180. *
  53181. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  53182. * `includeInCSVExport`.
  53183. */
  53184. includeInDataExport?: boolean;
  53185. /**
  53186. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  53187. * series as possible in a natural way, seeking to avoid other series. The
  53188. * goal of this feature is to make the chart more easily readable, like if a
  53189. * human designer placed the labels in the optimal position.
  53190. *
  53191. * The series labels currently work with series types having a `graph` or an
  53192. * `area`.
  53193. */
  53194. label?: SeriesLabelOptionsObject;
  53195. /**
  53196. * (Highstock) The line marks the last price from all points.
  53197. */
  53198. lastPrice?: SeriesLastPriceOptionsObject;
  53199. /**
  53200. * (Highstock) The line marks the last price from visible range of points.
  53201. */
  53202. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  53203. /**
  53204. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  53205. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  53206. * the ends and bends.
  53207. */
  53208. linecap?: SeriesLinecapValue;
  53209. /**
  53210. * (Highcharts, Highstock) Pixel width of the graph line.
  53211. */
  53212. lineWidth?: number;
  53213. /**
  53214. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  53215. * based on. Required for this indicator.
  53216. */
  53217. linkedTo?: string;
  53218. /**
  53219. * (Highstock) Options for the point markers of line-like series. Properties
  53220. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  53221. * appearance of the markers. Other series types, like column series, don't
  53222. * have markers, but have visual options on the series level instead.
  53223. *
  53224. * In styled mode, the markers can be styled with the `.highcharts-point`,
  53225. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  53226. */
  53227. marker?: PointMarkerOptionsObject;
  53228. /**
  53229. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  53230. * If not set, it will be based on a technical indicator type and default
  53231. * params.
  53232. */
  53233. name?: string;
  53234. /**
  53235. * (Highstock) The color for the parts of the graph or points that are below
  53236. * the threshold. Note that `zones` takes precedence over the negative
  53237. * color. Using `negativeColor` is equivalent to applying a zone with value
  53238. * of 0.
  53239. */
  53240. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  53241. /**
  53242. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  53243. * dataLabels.
  53244. */
  53245. opacity?: number;
  53246. /**
  53247. * (Highstock) Paramters used in calculation of Klinger Oscillator.
  53248. */
  53249. params?: PlotKlingerParamsOptions;
  53250. /**
  53251. * (Highstock) Properties for each single point.
  53252. */
  53253. point?: PlotSeriesPointOptions;
  53254. /**
  53255. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  53256. * individual series. Overrides the chart wide configuration.
  53257. */
  53258. pointDescriptionFormatter?: Function;
  53259. /**
  53260. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  53261. * true, the checkbox next to the series name in the legend will be checked
  53262. * for a selected series.
  53263. */
  53264. selected?: boolean;
  53265. /**
  53266. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  53267. * the shadow can be an object configuration containing `color`, `offsetX`,
  53268. * `offsetY`, `opacity` and `width`.
  53269. */
  53270. shadow?: (boolean|ShadowOptionsObject);
  53271. /**
  53272. * (Highstock) If true, a checkbox is displayed next to the legend item to
  53273. * allow selecting the series. The state of the checkbox is determined by
  53274. * the `selected` option.
  53275. */
  53276. showCheckbox?: boolean;
  53277. /**
  53278. * (Highstock) Whether to display this particular series or series type in
  53279. * the legend. Standalone series are shown in legend by default, and linked
  53280. * series are not. Since v7.2.0 it is possible to show series that use
  53281. * colorAxis by setting this option to `true`.
  53282. */
  53283. showInLegend?: boolean;
  53284. signalLine?: PlotKlingerSignalLineOptions;
  53285. /**
  53286. * (Highstock) If set to `true`, the accessibility module will skip past the
  53287. * points in this series for keyboard navigation.
  53288. */
  53289. skipKeyboardNavigation?: boolean;
  53290. /**
  53291. * (Highcharts, Highstock) When this is true, the series will not cause the
  53292. * Y axis to cross the zero plane (or threshold option) unless the data
  53293. * actually crosses the plane.
  53294. *
  53295. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  53296. * make the Y axis show negative values according to the `minPadding`
  53297. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  53298. */
  53299. softThreshold?: boolean;
  53300. states?: SeriesStatesOptionsObject;
  53301. /**
  53302. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  53303. * values are `left`, `center` and `right`.
  53304. */
  53305. step?: OptionsStepValue;
  53306. /**
  53307. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  53308. * event on a series isn't triggered until the mouse moves over another
  53309. * series, or out of the plot area. When false, the `mouseOut` event on a
  53310. * series is triggered when the mouse leaves the area around the series'
  53311. * graph or markers. This also implies the tooltip when not shared. When
  53312. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  53313. * be hidden when moving the mouse between series. Defaults to true for line
  53314. * and area type series, but to false for columns, pies etc.
  53315. *
  53316. * **Note:** The boost module will force this option because of technical
  53317. * limitations.
  53318. */
  53319. stickyTracking?: boolean;
  53320. /**
  53321. * (Highcharts, Highstock) The threshold, also called zero level or base
  53322. * level. For line type series this is only used in conjunction with
  53323. * negativeColor.
  53324. */
  53325. threshold?: (number|null);
  53326. /**
  53327. * (Highstock) A configuration object for the tooltip rendering of each
  53328. * single series. Properties are inherited from tooltip, but only the
  53329. * following properties can be defined on a series level.
  53330. */
  53331. tooltip?: SeriesTooltipOptionsObject;
  53332. /**
  53333. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  53334. * is longer than this, only one dimensional arrays of numbers, or two
  53335. * dimensional arrays with x and y values are allowed. Also, only the first
  53336. * point is tested, and the rest are assumed to be the same format. This
  53337. * saves expensive data checking and indexing in long series. Set it to `0`
  53338. * disable.
  53339. *
  53340. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  53341. * two dimensional arrays are allowed.
  53342. */
  53343. turboThreshold?: number;
  53344. /**
  53345. * (Highstock) Set the initial visibility of the series.
  53346. */
  53347. visible?: boolean;
  53348. /**
  53349. * (Highmaps) Define the z index of the series.
  53350. */
  53351. zIndex?: number;
  53352. /**
  53353. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  53354. */
  53355. zoneAxis?: string;
  53356. /**
  53357. * (Highcharts, Highstock) An array defining zones within a series. Zones
  53358. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  53359. * the `zoneAxis` option. The zone definitions have to be in ascending order
  53360. * regarding to the value.
  53361. *
  53362. * In styled mode, the color zones are styled with the
  53363. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  53364. * option (view live demo).
  53365. */
  53366. zones?: Array<SeriesZonesOptionsObject>;
  53367. }
  53368. /**
  53369. * (Highstock) Paramters used in calculation of Klinger Oscillator.
  53370. */
  53371. export interface PlotKlingerParamsOptions {
  53372. /**
  53373. * (Highstock) The fast period for indicator calculations.
  53374. */
  53375. fastAvgPeriod?: number;
  53376. /**
  53377. * (Highstock) The base period for signal calculations.
  53378. */
  53379. signalPeriod?: number;
  53380. /**
  53381. * (Highstock) The slow period for indicator calculations.
  53382. */
  53383. slowAvgPeriod?: number;
  53384. /**
  53385. * (Highstock) The id of another series to use its data as volume data for
  53386. * the indiator calculation.
  53387. */
  53388. volumeSeriesID?: string;
  53389. }
  53390. export interface PlotKlingerSignalLineOptions {
  53391. /**
  53392. * (Highstock) Styles for a signal line.
  53393. */
  53394. styles?: PlotKlingerSignalLineStylesOptions;
  53395. }
  53396. /**
  53397. * (Highstock) Styles for a signal line.
  53398. */
  53399. export interface PlotKlingerSignalLineStylesOptions {
  53400. /**
  53401. * (Highstock) Color of the line. If not set, it's inherited from
  53402. * plotOptions.klinger.color.
  53403. */
  53404. lineColor?: ColorString;
  53405. /**
  53406. * (Highstock) Pixel width of the line.
  53407. */
  53408. lineWidth?: number;
  53409. }
  53410. /**
  53411. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  53412. * is displayed. The animation can also be set as a configuration object. Please
  53413. * note that this option only applies to the initial animation of the series
  53414. * itself. For other animations, see chart.animation and the animation parameter
  53415. * under the API methods. The following properties are supported:
  53416. *
  53417. * - `defer`: The animation delay time in milliseconds.
  53418. *
  53419. * - `duration`: The duration of the animation in milliseconds.
  53420. *
  53421. * - `easing`: Can be a string reference to an easing function set on the `Math`
  53422. * object or a function. See the _Custom easing function_ demo below.
  53423. *
  53424. * Due to poor performance, animation is disabled in old IE browsers for several
  53425. * chart types.
  53426. */
  53427. export interface PlotLineAnimationOptions {
  53428. defer?: number;
  53429. }
  53430. /**
  53431. * (Highstock) Enable or disable the initial animation when a series is
  53432. * displayed. The animation can also be set as a configuration object. Please
  53433. * note that this option only applies to the initial animation of the series
  53434. * itself. For other animations, see chart.animation and the animation parameter
  53435. * under the API methods. The following properties are supported:
  53436. *
  53437. * - `defer`: The animation delay time in milliseconds.
  53438. *
  53439. * - `duration`: The duration of the animation in milliseconds.
  53440. *
  53441. * - `easing`: Can be a string reference to an easing function set on the `Math`
  53442. * object or a function. See the _Custom easing function_ demo below.
  53443. *
  53444. * Due to poor performance, animation is disabled in old IE browsers for several
  53445. * chart types.
  53446. */
  53447. export interface PlotLinearregressionangleAnimationOptions {
  53448. defer?: number;
  53449. }
  53450. /**
  53451. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  53452. * animation when a series is displayed for the `dataLabels`. The animation can
  53453. * also be set as a configuration object. Please note that this option only
  53454. * applies to the initial animation. For other animations, see chart.animation
  53455. * and the animation parameter under the API methods. The following properties
  53456. * are supported:
  53457. *
  53458. * - `defer`: The animation delay time in milliseconds.
  53459. */
  53460. export interface PlotLinearregressionangleDataLabelsAnimationOptions {
  53461. /**
  53462. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  53463. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  53464. * inherits defer time from the series.animation.defer.
  53465. */
  53466. defer?: number;
  53467. }
  53468. /**
  53469. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  53470. * appearing next to each data point.
  53471. *
  53472. * Since v6.2.0, multiple data labels can be applied to each single point by
  53473. * defining them as an array of configs.
  53474. *
  53475. * In styled mode, the data labels can be styled with the
  53476. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  53477. * example).
  53478. */
  53479. export interface PlotLinearregressionangleDataLabelsOptions {
  53480. /**
  53481. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  53482. * compared to the point. If `right`, the right side of the label should be
  53483. * touching the point. For points with an extent, like columns, the
  53484. * alignments also dictates how to align it inside the box, as given with
  53485. * the inside option. Can be one of `left`, `center` or `right`.
  53486. */
  53487. align?: (AlignValue|null);
  53488. /**
  53489. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  53490. * overlap. To make the labels less sensitive for overlapping, the
  53491. * dataLabels.padding can be set to 0.
  53492. */
  53493. allowOverlap?: boolean;
  53494. /**
  53495. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  53496. * animation when a series is displayed for the `dataLabels`. The animation
  53497. * can also be set as a configuration object. Please note that this option
  53498. * only applies to the initial animation. For other animations, see
  53499. * chart.animation and the animation parameter under the API methods. The
  53500. * following properties are supported:
  53501. *
  53502. * - `defer`: The animation delay time in milliseconds.
  53503. */
  53504. animation?: (boolean|PlotLinearregressionangleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  53505. /**
  53506. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  53507. * for the data label.
  53508. */
  53509. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  53510. /**
  53511. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  53512. * label. Defaults to `undefined`.
  53513. */
  53514. borderColor?: (ColorString|GradientColorObject|PatternObject);
  53515. /**
  53516. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  53517. * the data label.
  53518. */
  53519. borderRadius?: number;
  53520. /**
  53521. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  53522. * the data label.
  53523. */
  53524. borderWidth?: number;
  53525. /**
  53526. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  53527. * Particularly in styled mode, this can be used to give each series' or
  53528. * point's data label unique styling. In addition to this option, a default
  53529. * color class name is added so that we can give the labels a contrast text
  53530. * shadow.
  53531. */
  53532. className?: string;
  53533. /**
  53534. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  53535. * labels. Defaults to `undefined`. For certain series types, like column or
  53536. * map, the data labels can be drawn inside the points. In this case the
  53537. * data label will be drawn with maximum contrast by default. Additionally,
  53538. * it will be given a `text-outline` style with the opposite color, to
  53539. * further increase the contrast. This can be overridden by setting the
  53540. * `text-outline` style to `none` in the `dataLabels.style` option.
  53541. */
  53542. color?: (ColorString|GradientColorObject|PatternObject);
  53543. /**
  53544. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  53545. * are outside the plot area. By default, the data label is moved inside the
  53546. * plot area according to the overflow option.
  53547. */
  53548. crop?: boolean;
  53549. /**
  53550. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  53551. * labels until the initial series animation has finished. Setting to
  53552. * `false` renders the data label immediately. If set to `true` inherits the
  53553. * defer time set in plotOptions.series.animation. If set to a number, a
  53554. * defer time is specified in milliseconds.
  53555. */
  53556. defer?: (boolean|number);
  53557. /**
  53558. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  53559. * labels.
  53560. */
  53561. enabled?: boolean;
  53562. /**
  53563. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  53564. * of which data labels to display. The declarative filter is designed for
  53565. * use when callback functions are not available, like when the chart
  53566. * options require a pure JSON structure or for use with graphical editors.
  53567. * For programmatic control, use the `formatter` instead, and return
  53568. * `undefined` to disable a single data label.
  53569. */
  53570. filter?: DataLabelsFilterOptionsObject;
  53571. /**
  53572. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  53573. * label. Available variables are the same as for `formatter`.
  53574. */
  53575. format?: string;
  53576. /**
  53577. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  53578. * format the data label. Note that if a `format` is defined, the format
  53579. * takes precedence and the formatter is ignored.
  53580. */
  53581. formatter?: DataLabelsFormatterCallbackFunction;
  53582. /**
  53583. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  53584. * columns or map areas, whether to align the data label inside the box or
  53585. * to the actual value point. Defaults to `false` in most cases, `true` in
  53586. * stacked columns.
  53587. */
  53588. inside?: boolean;
  53589. /**
  53590. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  53591. * of null. Works analogously to format. `nullFormat` can be applied only to
  53592. * series which support displaying null points.
  53593. */
  53594. nullFormat?: (boolean|string);
  53595. /**
  53596. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  53597. * that defines formatting for points with the value of null. Works
  53598. * analogously to formatter. `nullPointFormatter` can be applied only to
  53599. * series which support displaying null points.
  53600. */
  53601. nullFormatter?: DataLabelsFormatterCallbackFunction;
  53602. /**
  53603. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  53604. * flow outside the plot area. The default is `"justify"`, which aligns them
  53605. * inside the plot area. For columns and bars, this means it will be moved
  53606. * inside the bar. To display data labels outside the plot area, set `crop`
  53607. * to `false` and `overflow` to `"allow"`.
  53608. */
  53609. overflow?: DataLabelsOverflowValue;
  53610. /**
  53611. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  53612. * the `backgroundColor` is set, this is the padding within the box.
  53613. */
  53614. padding?: number;
  53615. /**
  53616. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  53617. * points. If `center` alignment is not possible, it defaults to `right`.
  53618. */
  53619. position?: AlignValue;
  53620. /**
  53621. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  53622. * that due to a more complex structure, backgrounds, borders and padding
  53623. * will be lost on a rotated data label.
  53624. */
  53625. rotation?: number;
  53626. /**
  53627. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  53628. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  53629. * an object configuration containing `color`, `offsetX`, `offsetY`,
  53630. * `opacity` and `width`.
  53631. */
  53632. shadow?: (boolean|ShadowOptionsObject);
  53633. /**
  53634. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  53635. * the border around the label. Symbols are predefined functions on the
  53636. * Renderer object.
  53637. */
  53638. shape?: string;
  53639. /**
  53640. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  53641. * default `color` setting is `"contrast"`, which is a pseudo color that
  53642. * Highcharts picks up and applies the maximum contrast to the underlying
  53643. * point item, for example the bar in a bar chart.
  53644. *
  53645. * The `textOutline` is a pseudo property that applies an outline of the
  53646. * given width with the given color, which by default is the maximum
  53647. * contrast to the text. So a bright text color will result in a black text
  53648. * outline for maximum readability on a mixed background. In some cases,
  53649. * especially with grayscale text, the text outline doesn't work well, in
  53650. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  53651. * is true, the `textOutline` will not be picked up. In this, case, the same
  53652. * effect can be acheived through the `text-shadow` CSS property.
  53653. *
  53654. * For some series types, where each point has an extent, like for example
  53655. * tree maps, the data label may overflow the point. There are two
  53656. * strategies for handling overflow. By default, the text will wrap to
  53657. * multiple lines. The other strategy is to set `style.textOverflow` to
  53658. * `ellipsis`, which will keep the text on one line plus it will break
  53659. * inside long words.
  53660. */
  53661. style?: CSSObject;
  53662. /**
  53663. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  53664. * should follow marker's shape. Border and background are disabled for a
  53665. * label that follows a path.
  53666. *
  53667. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  53668. * to true will disable this option.
  53669. */
  53670. textPath?: DataLabelsTextPathOptionsObject;
  53671. /**
  53672. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  53673. * the labels.
  53674. */
  53675. useHTML?: boolean;
  53676. /**
  53677. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  53678. * label. Can be one of `top`, `middle` or `bottom`. The default value
  53679. * depends on the data, for instance in a column chart, the label is above
  53680. * positive values and below negative values.
  53681. */
  53682. verticalAlign?: (VerticalAlignValue|null);
  53683. /**
  53684. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  53685. * label relative to the point in pixels.
  53686. */
  53687. x?: number;
  53688. /**
  53689. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  53690. * label relative to the point in pixels.
  53691. */
  53692. y?: number;
  53693. /**
  53694. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  53695. * The default Z index puts it above the series. Use a Z index of 2 to
  53696. * display it behind the series.
  53697. */
  53698. z?: number;
  53699. }
  53700. /**
  53701. * (Highcharts, Highstock) Options for the series data sorting.
  53702. */
  53703. export interface PlotLinearregressionangleDataSortingOptions {
  53704. /**
  53705. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  53706. * Use xAxis.reversed to change the sorting order.
  53707. */
  53708. enabled?: boolean;
  53709. /**
  53710. * (Highcharts, Highstock) Whether to allow matching points by name in an
  53711. * update. If this option is disabled, points will be matched by order.
  53712. */
  53713. matchByName?: boolean;
  53714. /**
  53715. * (Highcharts, Highstock) Determines what data value should be used to sort
  53716. * by.
  53717. */
  53718. sortKey?: string;
  53719. }
  53720. /**
  53721. * (Highstock) Linear regression angle indicator. This series requires
  53722. * `linkedTo` option to be set.
  53723. *
  53724. * In TypeScript the type option must always be set.
  53725. *
  53726. * Configuration options for the series are given in three levels:
  53727. *
  53728. * 1. Options for all series in a chart are defined in the plotOptions.series
  53729. * object.
  53730. *
  53731. * 2. Options for all `linearregressionangle` series are defined in
  53732. * plotOptions.linearregressionangle.
  53733. *
  53734. * 3. Options for one single series are given in the series instance array. (see
  53735. * online documentation for example)
  53736. */
  53737. export interface PlotLinearregressionangleOptions {
  53738. /**
  53739. * (Highstock) Accessibility options for a series.
  53740. */
  53741. accessibility?: SeriesAccessibilityOptionsObject;
  53742. /**
  53743. * (Highstock) Allow this series' points to be selected by clicking on the
  53744. * graphic (columns, point markers, pie slices, map areas etc).
  53745. *
  53746. * The selected points can be handled by point select and unselect events,
  53747. * or collectively by the getSelectedPoints function.
  53748. *
  53749. * And alternative way of selecting points is through dragging.
  53750. */
  53751. allowPointSelect?: boolean;
  53752. /**
  53753. * (Highstock) Enable or disable the initial animation when a series is
  53754. * displayed. The animation can also be set as a configuration object.
  53755. * Please note that this option only applies to the initial animation of the
  53756. * series itself. For other animations, see chart.animation and the
  53757. * animation parameter under the API methods. The following properties are
  53758. * supported:
  53759. *
  53760. * - `defer`: The animation delay time in milliseconds.
  53761. *
  53762. * - `duration`: The duration of the animation in milliseconds.
  53763. *
  53764. * - `easing`: Can be a string reference to an easing function set on the
  53765. * `Math` object or a function. See the _Custom easing function_ demo below.
  53766. *
  53767. * Due to poor performance, animation is disabled in old IE browsers for
  53768. * several chart types.
  53769. */
  53770. animation?: (boolean|PlotLinearregressionangleAnimationOptions|Partial<AnimationOptionsObject>);
  53771. /**
  53772. * (Highstock) For some series, there is a limit that shuts down initial
  53773. * animation by default when the total number of points in the chart is too
  53774. * high. For example, for a column chart and its derivatives, animation does
  53775. * not run if there is more than 250 points totally. To disable this cap,
  53776. * set `animationLimit` to `Infinity`.
  53777. */
  53778. animationLimit?: number;
  53779. /**
  53780. * (Highstock) Sets the color blending in the boost module.
  53781. */
  53782. boostBlending?: OptionsBoostBlendingValue;
  53783. /**
  53784. * (Highstock) Set the point threshold for when a series should enter boost
  53785. * mode.
  53786. *
  53787. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  53788. * there are 2000 or more points in the series.
  53789. *
  53790. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  53791. * it to 1 will force boosting.
  53792. *
  53793. * Note that the cropThreshold also affects this setting. When zooming in on
  53794. * a series that has fewer points than the `cropThreshold`, all points are
  53795. * rendered although outside the visible plot area, and the `boostThreshold`
  53796. * won't take effect.
  53797. */
  53798. boostThreshold?: number;
  53799. /**
  53800. * (Highmaps) The border color of the map areas.
  53801. *
  53802. * In styled mode, the border stroke is given in the `.highcharts-point`
  53803. * class.
  53804. */
  53805. borderColor?: (ColorString|GradientColorObject|PatternObject);
  53806. /**
  53807. * (Highmaps) The border width of each map area.
  53808. *
  53809. * In styled mode, the border stroke width is given in the
  53810. * `.highcharts-point` class.
  53811. */
  53812. borderWidth?: number;
  53813. /**
  53814. * (Highstock) An additional class name to apply to the series' graphical
  53815. * elements. This option does not replace default class names of the
  53816. * graphical element.
  53817. */
  53818. className?: string;
  53819. /**
  53820. * (Highstock) Disable this option to allow series rendering in the whole
  53821. * plotting area.
  53822. *
  53823. * **Note:** Clipping should be always enabled when chart.zoomType is set
  53824. */
  53825. clip?: boolean;
  53826. /**
  53827. * (Highstock) The main color of the series. In line type series it applies
  53828. * to the line and the point markers unless otherwise specified. In bar type
  53829. * series it applies to the bars unless a color is specified per point. The
  53830. * default value is pulled from the `options.colors` array.
  53831. *
  53832. * In styled mode, the color can be defined by the colorIndex option. Also,
  53833. * the series color can be set with the `.highcharts-series`,
  53834. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  53835. * `.highcharts-series-{n}` class, or individual classes given by the
  53836. * `className` option.
  53837. */
  53838. color?: (ColorString|GradientColorObject|PatternObject);
  53839. /**
  53840. * (Highstock) Styled mode only. A specific color index to use for the
  53841. * series, so its graphic representations are given the class name
  53842. * `highcharts-color-{n}`.
  53843. */
  53844. colorIndex?: number;
  53845. /**
  53846. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  53847. * used to calculate point color if `colorAxis` is used. Requires to set
  53848. * `min` and `max` if some custom point property is used or if approximation
  53849. * for data grouping is set to `'sum'`.
  53850. */
  53851. colorKey?: string;
  53852. /**
  53853. * (Highstock) Compare the values of the series against the first non-null,
  53854. * non- zero value in the visible range. The y axis will show percentage or
  53855. * absolute change depending on whether `compare` is set to `"percent"` or
  53856. * `"value"`. When this is applied to multiple series, it allows comparing
  53857. * the development of the series against each other. Adds a `change` field
  53858. * to every point object.
  53859. */
  53860. compare?: string;
  53861. /**
  53862. * (Highstock) When compare is `percent`, this option dictates whether to
  53863. * use 0 or 100 as the base of comparison.
  53864. */
  53865. compareBase?: (0|100);
  53866. /**
  53867. * (Highstock) Defines if comparison should start from the first point
  53868. * within the visible range or should start from the first point **before**
  53869. * the range.
  53870. *
  53871. * In other words, this flag determines if first point within the visible
  53872. * range will have 0% (`compareStart=true`) or should have been already
  53873. * calculated according to the previous point (`compareStart=false`).
  53874. */
  53875. compareStart?: boolean;
  53876. /**
  53877. * (Highstock) Whether to compare indicator to the main series values or
  53878. * indicator values.
  53879. */
  53880. compareToMain?: boolean;
  53881. /**
  53882. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  53883. * series plot across the extremes.
  53884. */
  53885. connectEnds?: boolean;
  53886. /**
  53887. * (Highcharts, Highstock) Whether to connect a graph line across null
  53888. * points, or render a gap between the two points on either side of the
  53889. * null.
  53890. */
  53891. connectNulls?: boolean;
  53892. /**
  53893. * (Gantt) Override Pathfinder connector options for a series. Requires
  53894. * Highcharts Gantt to be loaded.
  53895. */
  53896. connectors?: SeriesConnectorsOptionsObject;
  53897. /**
  53898. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  53899. * rounded to its nearest pixel in order to render sharp on screen. In some
  53900. * cases, when there are a lot of densely packed columns, this leads to
  53901. * visible difference in column widths or distance between columns. In these
  53902. * cases, setting `crisp` to `false` may look better, even though each
  53903. * column is rendered blurry.
  53904. */
  53905. crisp?: boolean;
  53906. /**
  53907. * (Highcharts, Highstock) When the series contains less points than the
  53908. * crop threshold, all points are drawn, even if the points fall outside the
  53909. * visible plot area at the current zoom. The advantage of drawing all
  53910. * points (including markers and columns), is that animation is performed on
  53911. * updates. On the other hand, when the series contains more points than the
  53912. * crop threshold, the series data is cropped to only contain points that
  53913. * fall within the plot area. The advantage of cropping away invisible
  53914. * points is to increase performance on large series.
  53915. */
  53916. cropThreshold?: number;
  53917. /**
  53918. * (Highstock) You can set the cursor to "pointer" if you have click events
  53919. * attached to the series, to signal to the user that the points and lines
  53920. * can be clicked.
  53921. *
  53922. * In styled mode, the series cursor can be set with the same classes as
  53923. * listed under series.color.
  53924. */
  53925. cursor?: (string|CursorValue);
  53926. /**
  53927. * (Highstock) A reserved subspace to store options and values for
  53928. * customized functionality. Here you can add additional data for your own
  53929. * event callbacks and formatter callbacks.
  53930. */
  53931. custom?: Dictionary<any>;
  53932. /**
  53933. * (Highstock) Name of the dash style to use for the graph, or for some
  53934. * series types the outline of each shape.
  53935. *
  53936. * In styled mode, the stroke dash-array can be set with the same classes as
  53937. * listed under series.color.
  53938. */
  53939. dashStyle?: DashStyleValue;
  53940. /**
  53941. * (Highstock) Data grouping is the concept of sampling the data values into
  53942. * larger blocks in order to ease readability and increase performance of
  53943. * the JavaScript charts. Highcharts Stock by default applies data grouping
  53944. * when the points become closer than a certain pixel value, determined by
  53945. * the `groupPixelWidth` option.
  53946. *
  53947. * If data grouping is applied, the grouping information of grouped points
  53948. * can be read from the Point.dataGroup. If point options other than the
  53949. * data itself are set, for example `name` or `color` or custom properties,
  53950. * the grouping logic doesn't know how to group it. In this case the options
  53951. * of the first point instance are copied over to the group point. This can
  53952. * be altered through a custom `approximation` callback function.
  53953. */
  53954. dataGrouping?: DataGroupingOptionsObject;
  53955. /**
  53956. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  53957. * labels, appearing next to each data point.
  53958. *
  53959. * Since v6.2.0, multiple data labels can be applied to each single point by
  53960. * defining them as an array of configs.
  53961. *
  53962. * In styled mode, the data labels can be styled with the
  53963. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  53964. * (see example).
  53965. */
  53966. dataLabels?: (PlotLinearregressionangleDataLabelsOptions|Array<PlotLinearregressionangleDataLabelsOptions>);
  53967. /**
  53968. * (Highcharts, Highstock) Options for the series data sorting.
  53969. */
  53970. dataSorting?: (DataSortingOptionsObject|PlotLinearregressionangleDataSortingOptions);
  53971. /**
  53972. * (Highstock) A description of the series to add to the screen reader
  53973. * information about the series.
  53974. */
  53975. description?: string;
  53976. /**
  53977. * (Highstock) Enable or disable the mouse tracking for a specific series.
  53978. * This includes point tooltips and click events on graphs and points. For
  53979. * large datasets it improves performance.
  53980. */
  53981. enableMouseTracking?: boolean;
  53982. /**
  53983. * (Highstock) General event handlers for the series items. These event
  53984. * hooks can also be attached to the series at run time using the
  53985. * `Highcharts.addEvent` function.
  53986. */
  53987. events?: SeriesEventsOptionsObject;
  53988. /**
  53989. * (Highstock) Determines whether the series should look for the nearest
  53990. * point in both dimensions or just the x-dimension when hovering the
  53991. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  53992. * series. If the data has duplicate x-values, it is recommended to set this
  53993. * to `'xy'` to allow hovering over all points.
  53994. *
  53995. * Applies only to series types using nearest neighbor search (not direct
  53996. * hover) for tooltip.
  53997. */
  53998. findNearestPointBy?: OptionsFindNearestPointByValue;
  53999. /**
  54000. * (Highstock) Defines when to display a gap in the graph, together with the
  54001. * gapUnit option.
  54002. *
  54003. * In case when `dataGrouping` is enabled, points can be grouped into a
  54004. * larger time span. This can make the grouped points to have a greater
  54005. * distance than the absolute value of `gapSize` property, which will result
  54006. * in disappearing graph completely. To prevent this situation the mentioned
  54007. * distance between grouped points is used instead of previously defined
  54008. * `gapSize`.
  54009. *
  54010. * In practice, this option is most often used to visualize gaps in time
  54011. * series. In a stock chart, intraday data is available for daytime hours,
  54012. * while gaps will appear in nights and weekends.
  54013. */
  54014. gapSize?: number;
  54015. /**
  54016. * (Highstock) Together with gapSize, this option defines where to draw gaps
  54017. * in the graph.
  54018. *
  54019. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  54020. * if the distance between two points is greater than 5 times that of the
  54021. * two closest points, the graph will be broken.
  54022. *
  54023. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  54024. * values, which on a datetime axis is milliseconds. This also applies to
  54025. * the navigator series that inherits gap options from the base series.
  54026. */
  54027. gapUnit?: OptionsGapUnitValue;
  54028. /**
  54029. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  54030. * chart width or only the zoomed area when zooming in on parts of the X
  54031. * axis. By default, the Y axis adjusts to the min and max of the visible
  54032. * data. Cartesian series only.
  54033. */
  54034. getExtremesFromAll?: boolean;
  54035. /**
  54036. * (Highstock) When set to `false` will prevent the series data from being
  54037. * included in any form of data export.
  54038. *
  54039. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  54040. * `includeInCSVExport`.
  54041. */
  54042. includeInDataExport?: boolean;
  54043. /**
  54044. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  54045. * series as possible in a natural way, seeking to avoid other series. The
  54046. * goal of this feature is to make the chart more easily readable, like if a
  54047. * human designer placed the labels in the optimal position.
  54048. *
  54049. * The series labels currently work with series types having a `graph` or an
  54050. * `area`.
  54051. */
  54052. label?: SeriesLabelOptionsObject;
  54053. /**
  54054. * (Highstock) The line marks the last price from all points.
  54055. */
  54056. lastPrice?: SeriesLastPriceOptionsObject;
  54057. /**
  54058. * (Highstock) The line marks the last price from visible range of points.
  54059. */
  54060. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  54061. /**
  54062. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  54063. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  54064. * the ends and bends.
  54065. */
  54066. linecap?: SeriesLinecapValue;
  54067. /**
  54068. * (Highcharts, Highstock) Pixel width of the graph line.
  54069. */
  54070. lineWidth?: number;
  54071. /**
  54072. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  54073. * based on. Required for this indicator.
  54074. */
  54075. linkedTo?: string;
  54076. /**
  54077. * (Highstock) Options for the point markers of line-like series. Properties
  54078. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  54079. * appearance of the markers. Other series types, like column series, don't
  54080. * have markers, but have visual options on the series level instead.
  54081. *
  54082. * In styled mode, the markers can be styled with the `.highcharts-point`,
  54083. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  54084. */
  54085. marker?: PointMarkerOptionsObject;
  54086. /**
  54087. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  54088. * If not set, it will be based on a technical indicator type and default
  54089. * params.
  54090. */
  54091. name?: string;
  54092. /**
  54093. * (Highstock) The color for the parts of the graph or points that are below
  54094. * the threshold. Note that `zones` takes precedence over the negative
  54095. * color. Using `negativeColor` is equivalent to applying a zone with value
  54096. * of 0.
  54097. */
  54098. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  54099. /**
  54100. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  54101. * dataLabels.
  54102. */
  54103. opacity?: number;
  54104. /**
  54105. * (Highstock) Paramters used in calculation of regression series' points.
  54106. */
  54107. params?: PlotLinearregressionangleParamsOptions;
  54108. /**
  54109. * (Highstock) Properties for each single point.
  54110. */
  54111. point?: PlotSeriesPointOptions;
  54112. /**
  54113. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  54114. * individual series. Overrides the chart wide configuration.
  54115. */
  54116. pointDescriptionFormatter?: Function;
  54117. /**
  54118. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  54119. * true, the checkbox next to the series name in the legend will be checked
  54120. * for a selected series.
  54121. */
  54122. selected?: boolean;
  54123. /**
  54124. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  54125. * the shadow can be an object configuration containing `color`, `offsetX`,
  54126. * `offsetY`, `opacity` and `width`.
  54127. */
  54128. shadow?: (boolean|ShadowOptionsObject);
  54129. /**
  54130. * (Highstock) If true, a checkbox is displayed next to the legend item to
  54131. * allow selecting the series. The state of the checkbox is determined by
  54132. * the `selected` option.
  54133. */
  54134. showCheckbox?: boolean;
  54135. /**
  54136. * (Highstock) Whether to display this particular series or series type in
  54137. * the legend. Standalone series are shown in legend by default, and linked
  54138. * series are not. Since v7.2.0 it is possible to show series that use
  54139. * colorAxis by setting this option to `true`.
  54140. */
  54141. showInLegend?: boolean;
  54142. /**
  54143. * (Highstock) If set to `true`, the accessibility module will skip past the
  54144. * points in this series for keyboard navigation.
  54145. */
  54146. skipKeyboardNavigation?: boolean;
  54147. /**
  54148. * (Highcharts, Highstock) When this is true, the series will not cause the
  54149. * Y axis to cross the zero plane (or threshold option) unless the data
  54150. * actually crosses the plane.
  54151. *
  54152. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  54153. * make the Y axis show negative values according to the `minPadding`
  54154. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  54155. */
  54156. softThreshold?: boolean;
  54157. states?: SeriesStatesOptionsObject;
  54158. /**
  54159. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  54160. * values are `left`, `center` and `right`.
  54161. */
  54162. step?: OptionsStepValue;
  54163. /**
  54164. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  54165. * event on a series isn't triggered until the mouse moves over another
  54166. * series, or out of the plot area. When false, the `mouseOut` event on a
  54167. * series is triggered when the mouse leaves the area around the series'
  54168. * graph or markers. This also implies the tooltip when not shared. When
  54169. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  54170. * be hidden when moving the mouse between series. Defaults to true for line
  54171. * and area type series, but to false for columns, pies etc.
  54172. *
  54173. * **Note:** The boost module will force this option because of technical
  54174. * limitations.
  54175. */
  54176. stickyTracking?: boolean;
  54177. /**
  54178. * (Highcharts, Highstock) The threshold, also called zero level or base
  54179. * level. For line type series this is only used in conjunction with
  54180. * negativeColor.
  54181. */
  54182. threshold?: (number|null);
  54183. /**
  54184. * (Highstock) A configuration object for the tooltip rendering of each
  54185. * single series. Properties are inherited from tooltip, but only the
  54186. * following properties can be defined on a series level.
  54187. */
  54188. tooltip?: SeriesTooltipOptionsObject;
  54189. /**
  54190. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  54191. * is longer than this, only one dimensional arrays of numbers, or two
  54192. * dimensional arrays with x and y values are allowed. Also, only the first
  54193. * point is tested, and the rest are assumed to be the same format. This
  54194. * saves expensive data checking and indexing in long series. Set it to `0`
  54195. * disable.
  54196. *
  54197. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  54198. * two dimensional arrays are allowed.
  54199. */
  54200. turboThreshold?: number;
  54201. /**
  54202. * (Highstock) Set the initial visibility of the series.
  54203. */
  54204. visible?: boolean;
  54205. /**
  54206. * (Highmaps) Define the z index of the series.
  54207. */
  54208. zIndex?: number;
  54209. /**
  54210. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  54211. */
  54212. zoneAxis?: string;
  54213. /**
  54214. * (Highcharts, Highstock) An array defining zones within a series. Zones
  54215. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  54216. * the `zoneAxis` option. The zone definitions have to be in ascending order
  54217. * regarding to the value.
  54218. *
  54219. * In styled mode, the color zones are styled with the
  54220. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  54221. * option (view live demo).
  54222. */
  54223. zones?: Array<SeriesZonesOptionsObject>;
  54224. }
  54225. /**
  54226. * (Highstock) Paramters used in calculation of regression series' points.
  54227. */
  54228. export interface PlotLinearregressionangleParamsOptions {
  54229. /**
  54230. * (Highstock) The point index which indicator calculations will base. For
  54231. * example using OHLC data, index=2 means the indicator will be calculated
  54232. * using Low values.
  54233. */
  54234. index?: number;
  54235. /**
  54236. * (Highstock) The base period for indicator calculations. This is the
  54237. * number of data points which are taken into account for the indicator
  54238. * calculations.
  54239. */
  54240. period?: number;
  54241. /**
  54242. * (Highstock) Unit (in milliseconds) for the x axis distances used to
  54243. * compute the regression line paramters (slope & intercept) for every
  54244. * range. In Highcharts Stock the x axis values are always represented in
  54245. * milliseconds which may cause that distances between points are "big"
  54246. * integer numbers.
  54247. *
  54248. * Highcharts Stock's linear regression algorithm (least squares method)
  54249. * will utilize these "big" integers for finding the slope and the intercept
  54250. * of the regression line for each period. In consequence, this value may be
  54251. * a very "small" decimal number that's hard to interpret by a human.
  54252. *
  54253. * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
  54254. * algorithm to treat `86400000` as `1` while computing the slope and the
  54255. * intercept. This may enchance the legiblitity of the indicator's values.
  54256. *
  54257. * Default value is the closest distance between two data points.
  54258. *
  54259. * In `v9.0.2`, the default value has been changed from `undefined` to
  54260. * `null`.
  54261. */
  54262. xAxisUnit?: (number|null);
  54263. }
  54264. /**
  54265. * (Highstock) Enable or disable the initial animation when a series is
  54266. * displayed. The animation can also be set as a configuration object. Please
  54267. * note that this option only applies to the initial animation of the series
  54268. * itself. For other animations, see chart.animation and the animation parameter
  54269. * under the API methods. The following properties are supported:
  54270. *
  54271. * - `defer`: The animation delay time in milliseconds.
  54272. *
  54273. * - `duration`: The duration of the animation in milliseconds.
  54274. *
  54275. * - `easing`: Can be a string reference to an easing function set on the `Math`
  54276. * object or a function. See the _Custom easing function_ demo below.
  54277. *
  54278. * Due to poor performance, animation is disabled in old IE browsers for several
  54279. * chart types.
  54280. */
  54281. export interface PlotLinearregressionAnimationOptions {
  54282. defer?: number;
  54283. }
  54284. /**
  54285. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  54286. * animation when a series is displayed for the `dataLabels`. The animation can
  54287. * also be set as a configuration object. Please note that this option only
  54288. * applies to the initial animation. For other animations, see chart.animation
  54289. * and the animation parameter under the API methods. The following properties
  54290. * are supported:
  54291. *
  54292. * - `defer`: The animation delay time in milliseconds.
  54293. */
  54294. export interface PlotLinearregressionDataLabelsAnimationOptions {
  54295. /**
  54296. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  54297. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  54298. * inherits defer time from the series.animation.defer.
  54299. */
  54300. defer?: number;
  54301. }
  54302. /**
  54303. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  54304. * appearing next to each data point.
  54305. *
  54306. * Since v6.2.0, multiple data labels can be applied to each single point by
  54307. * defining them as an array of configs.
  54308. *
  54309. * In styled mode, the data labels can be styled with the
  54310. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  54311. * example).
  54312. */
  54313. export interface PlotLinearregressionDataLabelsOptions {
  54314. /**
  54315. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  54316. * compared to the point. If `right`, the right side of the label should be
  54317. * touching the point. For points with an extent, like columns, the
  54318. * alignments also dictates how to align it inside the box, as given with
  54319. * the inside option. Can be one of `left`, `center` or `right`.
  54320. */
  54321. align?: (AlignValue|null);
  54322. /**
  54323. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  54324. * overlap. To make the labels less sensitive for overlapping, the
  54325. * dataLabels.padding can be set to 0.
  54326. */
  54327. allowOverlap?: boolean;
  54328. /**
  54329. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  54330. * animation when a series is displayed for the `dataLabels`. The animation
  54331. * can also be set as a configuration object. Please note that this option
  54332. * only applies to the initial animation. For other animations, see
  54333. * chart.animation and the animation parameter under the API methods. The
  54334. * following properties are supported:
  54335. *
  54336. * - `defer`: The animation delay time in milliseconds.
  54337. */
  54338. animation?: (boolean|PlotLinearregressionDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  54339. /**
  54340. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  54341. * for the data label.
  54342. */
  54343. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  54344. /**
  54345. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  54346. * label. Defaults to `undefined`.
  54347. */
  54348. borderColor?: (ColorString|GradientColorObject|PatternObject);
  54349. /**
  54350. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  54351. * the data label.
  54352. */
  54353. borderRadius?: number;
  54354. /**
  54355. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  54356. * the data label.
  54357. */
  54358. borderWidth?: number;
  54359. /**
  54360. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  54361. * Particularly in styled mode, this can be used to give each series' or
  54362. * point's data label unique styling. In addition to this option, a default
  54363. * color class name is added so that we can give the labels a contrast text
  54364. * shadow.
  54365. */
  54366. className?: string;
  54367. /**
  54368. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  54369. * labels. Defaults to `undefined`. For certain series types, like column or
  54370. * map, the data labels can be drawn inside the points. In this case the
  54371. * data label will be drawn with maximum contrast by default. Additionally,
  54372. * it will be given a `text-outline` style with the opposite color, to
  54373. * further increase the contrast. This can be overridden by setting the
  54374. * `text-outline` style to `none` in the `dataLabels.style` option.
  54375. */
  54376. color?: (ColorString|GradientColorObject|PatternObject);
  54377. /**
  54378. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  54379. * are outside the plot area. By default, the data label is moved inside the
  54380. * plot area according to the overflow option.
  54381. */
  54382. crop?: boolean;
  54383. /**
  54384. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  54385. * labels until the initial series animation has finished. Setting to
  54386. * `false` renders the data label immediately. If set to `true` inherits the
  54387. * defer time set in plotOptions.series.animation. If set to a number, a
  54388. * defer time is specified in milliseconds.
  54389. */
  54390. defer?: (boolean|number);
  54391. /**
  54392. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  54393. * labels.
  54394. */
  54395. enabled?: boolean;
  54396. /**
  54397. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  54398. * of which data labels to display. The declarative filter is designed for
  54399. * use when callback functions are not available, like when the chart
  54400. * options require a pure JSON structure or for use with graphical editors.
  54401. * For programmatic control, use the `formatter` instead, and return
  54402. * `undefined` to disable a single data label.
  54403. */
  54404. filter?: DataLabelsFilterOptionsObject;
  54405. /**
  54406. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  54407. * label. Available variables are the same as for `formatter`.
  54408. */
  54409. format?: string;
  54410. /**
  54411. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  54412. * format the data label. Note that if a `format` is defined, the format
  54413. * takes precedence and the formatter is ignored.
  54414. */
  54415. formatter?: DataLabelsFormatterCallbackFunction;
  54416. /**
  54417. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  54418. * columns or map areas, whether to align the data label inside the box or
  54419. * to the actual value point. Defaults to `false` in most cases, `true` in
  54420. * stacked columns.
  54421. */
  54422. inside?: boolean;
  54423. /**
  54424. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  54425. * of null. Works analogously to format. `nullFormat` can be applied only to
  54426. * series which support displaying null points.
  54427. */
  54428. nullFormat?: (boolean|string);
  54429. /**
  54430. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  54431. * that defines formatting for points with the value of null. Works
  54432. * analogously to formatter. `nullPointFormatter` can be applied only to
  54433. * series which support displaying null points.
  54434. */
  54435. nullFormatter?: DataLabelsFormatterCallbackFunction;
  54436. /**
  54437. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  54438. * flow outside the plot area. The default is `"justify"`, which aligns them
  54439. * inside the plot area. For columns and bars, this means it will be moved
  54440. * inside the bar. To display data labels outside the plot area, set `crop`
  54441. * to `false` and `overflow` to `"allow"`.
  54442. */
  54443. overflow?: DataLabelsOverflowValue;
  54444. /**
  54445. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  54446. * the `backgroundColor` is set, this is the padding within the box.
  54447. */
  54448. padding?: number;
  54449. /**
  54450. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  54451. * points. If `center` alignment is not possible, it defaults to `right`.
  54452. */
  54453. position?: AlignValue;
  54454. /**
  54455. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  54456. * that due to a more complex structure, backgrounds, borders and padding
  54457. * will be lost on a rotated data label.
  54458. */
  54459. rotation?: number;
  54460. /**
  54461. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  54462. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  54463. * an object configuration containing `color`, `offsetX`, `offsetY`,
  54464. * `opacity` and `width`.
  54465. */
  54466. shadow?: (boolean|ShadowOptionsObject);
  54467. /**
  54468. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  54469. * the border around the label. Symbols are predefined functions on the
  54470. * Renderer object.
  54471. */
  54472. shape?: string;
  54473. /**
  54474. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  54475. * default `color` setting is `"contrast"`, which is a pseudo color that
  54476. * Highcharts picks up and applies the maximum contrast to the underlying
  54477. * point item, for example the bar in a bar chart.
  54478. *
  54479. * The `textOutline` is a pseudo property that applies an outline of the
  54480. * given width with the given color, which by default is the maximum
  54481. * contrast to the text. So a bright text color will result in a black text
  54482. * outline for maximum readability on a mixed background. In some cases,
  54483. * especially with grayscale text, the text outline doesn't work well, in
  54484. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  54485. * is true, the `textOutline` will not be picked up. In this, case, the same
  54486. * effect can be acheived through the `text-shadow` CSS property.
  54487. *
  54488. * For some series types, where each point has an extent, like for example
  54489. * tree maps, the data label may overflow the point. There are two
  54490. * strategies for handling overflow. By default, the text will wrap to
  54491. * multiple lines. The other strategy is to set `style.textOverflow` to
  54492. * `ellipsis`, which will keep the text on one line plus it will break
  54493. * inside long words.
  54494. */
  54495. style?: CSSObject;
  54496. /**
  54497. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  54498. * should follow marker's shape. Border and background are disabled for a
  54499. * label that follows a path.
  54500. *
  54501. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  54502. * to true will disable this option.
  54503. */
  54504. textPath?: DataLabelsTextPathOptionsObject;
  54505. /**
  54506. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  54507. * the labels.
  54508. */
  54509. useHTML?: boolean;
  54510. /**
  54511. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  54512. * label. Can be one of `top`, `middle` or `bottom`. The default value
  54513. * depends on the data, for instance in a column chart, the label is above
  54514. * positive values and below negative values.
  54515. */
  54516. verticalAlign?: (VerticalAlignValue|null);
  54517. /**
  54518. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  54519. * label relative to the point in pixels.
  54520. */
  54521. x?: number;
  54522. /**
  54523. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  54524. * label relative to the point in pixels.
  54525. */
  54526. y?: number;
  54527. /**
  54528. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  54529. * The default Z index puts it above the series. Use a Z index of 2 to
  54530. * display it behind the series.
  54531. */
  54532. z?: number;
  54533. }
  54534. /**
  54535. * (Highcharts, Highstock) Options for the series data sorting.
  54536. */
  54537. export interface PlotLinearregressionDataSortingOptions {
  54538. /**
  54539. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  54540. * Use xAxis.reversed to change the sorting order.
  54541. */
  54542. enabled?: boolean;
  54543. /**
  54544. * (Highcharts, Highstock) Whether to allow matching points by name in an
  54545. * update. If this option is disabled, points will be matched by order.
  54546. */
  54547. matchByName?: boolean;
  54548. /**
  54549. * (Highcharts, Highstock) Determines what data value should be used to sort
  54550. * by.
  54551. */
  54552. sortKey?: string;
  54553. }
  54554. /**
  54555. * (Highstock) Enable or disable the initial animation when a series is
  54556. * displayed. The animation can also be set as a configuration object. Please
  54557. * note that this option only applies to the initial animation of the series
  54558. * itself. For other animations, see chart.animation and the animation parameter
  54559. * under the API methods. The following properties are supported:
  54560. *
  54561. * - `defer`: The animation delay time in milliseconds.
  54562. *
  54563. * - `duration`: The duration of the animation in milliseconds.
  54564. *
  54565. * - `easing`: Can be a string reference to an easing function set on the `Math`
  54566. * object or a function. See the _Custom easing function_ demo below.
  54567. *
  54568. * Due to poor performance, animation is disabled in old IE browsers for several
  54569. * chart types.
  54570. */
  54571. export interface PlotLinearregressioninterceptAnimationOptions {
  54572. defer?: number;
  54573. }
  54574. /**
  54575. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  54576. * animation when a series is displayed for the `dataLabels`. The animation can
  54577. * also be set as a configuration object. Please note that this option only
  54578. * applies to the initial animation. For other animations, see chart.animation
  54579. * and the animation parameter under the API methods. The following properties
  54580. * are supported:
  54581. *
  54582. * - `defer`: The animation delay time in milliseconds.
  54583. */
  54584. export interface PlotLinearregressioninterceptDataLabelsAnimationOptions {
  54585. /**
  54586. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  54587. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  54588. * inherits defer time from the series.animation.defer.
  54589. */
  54590. defer?: number;
  54591. }
  54592. /**
  54593. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  54594. * appearing next to each data point.
  54595. *
  54596. * Since v6.2.0, multiple data labels can be applied to each single point by
  54597. * defining them as an array of configs.
  54598. *
  54599. * In styled mode, the data labels can be styled with the
  54600. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  54601. * example).
  54602. */
  54603. export interface PlotLinearregressioninterceptDataLabelsOptions {
  54604. /**
  54605. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  54606. * compared to the point. If `right`, the right side of the label should be
  54607. * touching the point. For points with an extent, like columns, the
  54608. * alignments also dictates how to align it inside the box, as given with
  54609. * the inside option. Can be one of `left`, `center` or `right`.
  54610. */
  54611. align?: (AlignValue|null);
  54612. /**
  54613. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  54614. * overlap. To make the labels less sensitive for overlapping, the
  54615. * dataLabels.padding can be set to 0.
  54616. */
  54617. allowOverlap?: boolean;
  54618. /**
  54619. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  54620. * animation when a series is displayed for the `dataLabels`. The animation
  54621. * can also be set as a configuration object. Please note that this option
  54622. * only applies to the initial animation. For other animations, see
  54623. * chart.animation and the animation parameter under the API methods. The
  54624. * following properties are supported:
  54625. *
  54626. * - `defer`: The animation delay time in milliseconds.
  54627. */
  54628. animation?: (boolean|PlotLinearregressioninterceptDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  54629. /**
  54630. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  54631. * for the data label.
  54632. */
  54633. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  54634. /**
  54635. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  54636. * label. Defaults to `undefined`.
  54637. */
  54638. borderColor?: (ColorString|GradientColorObject|PatternObject);
  54639. /**
  54640. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  54641. * the data label.
  54642. */
  54643. borderRadius?: number;
  54644. /**
  54645. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  54646. * the data label.
  54647. */
  54648. borderWidth?: number;
  54649. /**
  54650. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  54651. * Particularly in styled mode, this can be used to give each series' or
  54652. * point's data label unique styling. In addition to this option, a default
  54653. * color class name is added so that we can give the labels a contrast text
  54654. * shadow.
  54655. */
  54656. className?: string;
  54657. /**
  54658. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  54659. * labels. Defaults to `undefined`. For certain series types, like column or
  54660. * map, the data labels can be drawn inside the points. In this case the
  54661. * data label will be drawn with maximum contrast by default. Additionally,
  54662. * it will be given a `text-outline` style with the opposite color, to
  54663. * further increase the contrast. This can be overridden by setting the
  54664. * `text-outline` style to `none` in the `dataLabels.style` option.
  54665. */
  54666. color?: (ColorString|GradientColorObject|PatternObject);
  54667. /**
  54668. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  54669. * are outside the plot area. By default, the data label is moved inside the
  54670. * plot area according to the overflow option.
  54671. */
  54672. crop?: boolean;
  54673. /**
  54674. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  54675. * labels until the initial series animation has finished. Setting to
  54676. * `false` renders the data label immediately. If set to `true` inherits the
  54677. * defer time set in plotOptions.series.animation. If set to a number, a
  54678. * defer time is specified in milliseconds.
  54679. */
  54680. defer?: (boolean|number);
  54681. /**
  54682. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  54683. * labels.
  54684. */
  54685. enabled?: boolean;
  54686. /**
  54687. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  54688. * of which data labels to display. The declarative filter is designed for
  54689. * use when callback functions are not available, like when the chart
  54690. * options require a pure JSON structure or for use with graphical editors.
  54691. * For programmatic control, use the `formatter` instead, and return
  54692. * `undefined` to disable a single data label.
  54693. */
  54694. filter?: DataLabelsFilterOptionsObject;
  54695. /**
  54696. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  54697. * label. Available variables are the same as for `formatter`.
  54698. */
  54699. format?: string;
  54700. /**
  54701. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  54702. * format the data label. Note that if a `format` is defined, the format
  54703. * takes precedence and the formatter is ignored.
  54704. */
  54705. formatter?: DataLabelsFormatterCallbackFunction;
  54706. /**
  54707. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  54708. * columns or map areas, whether to align the data label inside the box or
  54709. * to the actual value point. Defaults to `false` in most cases, `true` in
  54710. * stacked columns.
  54711. */
  54712. inside?: boolean;
  54713. /**
  54714. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  54715. * of null. Works analogously to format. `nullFormat` can be applied only to
  54716. * series which support displaying null points.
  54717. */
  54718. nullFormat?: (boolean|string);
  54719. /**
  54720. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  54721. * that defines formatting for points with the value of null. Works
  54722. * analogously to formatter. `nullPointFormatter` can be applied only to
  54723. * series which support displaying null points.
  54724. */
  54725. nullFormatter?: DataLabelsFormatterCallbackFunction;
  54726. /**
  54727. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  54728. * flow outside the plot area. The default is `"justify"`, which aligns them
  54729. * inside the plot area. For columns and bars, this means it will be moved
  54730. * inside the bar. To display data labels outside the plot area, set `crop`
  54731. * to `false` and `overflow` to `"allow"`.
  54732. */
  54733. overflow?: DataLabelsOverflowValue;
  54734. /**
  54735. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  54736. * the `backgroundColor` is set, this is the padding within the box.
  54737. */
  54738. padding?: number;
  54739. /**
  54740. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  54741. * points. If `center` alignment is not possible, it defaults to `right`.
  54742. */
  54743. position?: AlignValue;
  54744. /**
  54745. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  54746. * that due to a more complex structure, backgrounds, borders and padding
  54747. * will be lost on a rotated data label.
  54748. */
  54749. rotation?: number;
  54750. /**
  54751. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  54752. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  54753. * an object configuration containing `color`, `offsetX`, `offsetY`,
  54754. * `opacity` and `width`.
  54755. */
  54756. shadow?: (boolean|ShadowOptionsObject);
  54757. /**
  54758. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  54759. * the border around the label. Symbols are predefined functions on the
  54760. * Renderer object.
  54761. */
  54762. shape?: string;
  54763. /**
  54764. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  54765. * default `color` setting is `"contrast"`, which is a pseudo color that
  54766. * Highcharts picks up and applies the maximum contrast to the underlying
  54767. * point item, for example the bar in a bar chart.
  54768. *
  54769. * The `textOutline` is a pseudo property that applies an outline of the
  54770. * given width with the given color, which by default is the maximum
  54771. * contrast to the text. So a bright text color will result in a black text
  54772. * outline for maximum readability on a mixed background. In some cases,
  54773. * especially with grayscale text, the text outline doesn't work well, in
  54774. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  54775. * is true, the `textOutline` will not be picked up. In this, case, the same
  54776. * effect can be acheived through the `text-shadow` CSS property.
  54777. *
  54778. * For some series types, where each point has an extent, like for example
  54779. * tree maps, the data label may overflow the point. There are two
  54780. * strategies for handling overflow. By default, the text will wrap to
  54781. * multiple lines. The other strategy is to set `style.textOverflow` to
  54782. * `ellipsis`, which will keep the text on one line plus it will break
  54783. * inside long words.
  54784. */
  54785. style?: CSSObject;
  54786. /**
  54787. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  54788. * should follow marker's shape. Border and background are disabled for a
  54789. * label that follows a path.
  54790. *
  54791. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  54792. * to true will disable this option.
  54793. */
  54794. textPath?: DataLabelsTextPathOptionsObject;
  54795. /**
  54796. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  54797. * the labels.
  54798. */
  54799. useHTML?: boolean;
  54800. /**
  54801. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  54802. * label. Can be one of `top`, `middle` or `bottom`. The default value
  54803. * depends on the data, for instance in a column chart, the label is above
  54804. * positive values and below negative values.
  54805. */
  54806. verticalAlign?: (VerticalAlignValue|null);
  54807. /**
  54808. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  54809. * label relative to the point in pixels.
  54810. */
  54811. x?: number;
  54812. /**
  54813. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  54814. * label relative to the point in pixels.
  54815. */
  54816. y?: number;
  54817. /**
  54818. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  54819. * The default Z index puts it above the series. Use a Z index of 2 to
  54820. * display it behind the series.
  54821. */
  54822. z?: number;
  54823. }
  54824. /**
  54825. * (Highcharts, Highstock) Options for the series data sorting.
  54826. */
  54827. export interface PlotLinearregressioninterceptDataSortingOptions {
  54828. /**
  54829. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  54830. * Use xAxis.reversed to change the sorting order.
  54831. */
  54832. enabled?: boolean;
  54833. /**
  54834. * (Highcharts, Highstock) Whether to allow matching points by name in an
  54835. * update. If this option is disabled, points will be matched by order.
  54836. */
  54837. matchByName?: boolean;
  54838. /**
  54839. * (Highcharts, Highstock) Determines what data value should be used to sort
  54840. * by.
  54841. */
  54842. sortKey?: string;
  54843. }
  54844. /**
  54845. * (Highstock) Linear regression intercept indicator. This series requires
  54846. * `linkedTo` option to be set.
  54847. *
  54848. * In TypeScript the type option must always be set.
  54849. *
  54850. * Configuration options for the series are given in three levels:
  54851. *
  54852. * 1. Options for all series in a chart are defined in the plotOptions.series
  54853. * object.
  54854. *
  54855. * 2. Options for all `linearregressionintercept` series are defined in
  54856. * plotOptions.linearregressionintercept.
  54857. *
  54858. * 3. Options for one single series are given in the series instance array. (see
  54859. * online documentation for example)
  54860. */
  54861. export interface PlotLinearregressioninterceptOptions {
  54862. /**
  54863. * (Highstock) Accessibility options for a series.
  54864. */
  54865. accessibility?: SeriesAccessibilityOptionsObject;
  54866. /**
  54867. * (Highstock) Allow this series' points to be selected by clicking on the
  54868. * graphic (columns, point markers, pie slices, map areas etc).
  54869. *
  54870. * The selected points can be handled by point select and unselect events,
  54871. * or collectively by the getSelectedPoints function.
  54872. *
  54873. * And alternative way of selecting points is through dragging.
  54874. */
  54875. allowPointSelect?: boolean;
  54876. /**
  54877. * (Highstock) Enable or disable the initial animation when a series is
  54878. * displayed. The animation can also be set as a configuration object.
  54879. * Please note that this option only applies to the initial animation of the
  54880. * series itself. For other animations, see chart.animation and the
  54881. * animation parameter under the API methods. The following properties are
  54882. * supported:
  54883. *
  54884. * - `defer`: The animation delay time in milliseconds.
  54885. *
  54886. * - `duration`: The duration of the animation in milliseconds.
  54887. *
  54888. * - `easing`: Can be a string reference to an easing function set on the
  54889. * `Math` object or a function. See the _Custom easing function_ demo below.
  54890. *
  54891. * Due to poor performance, animation is disabled in old IE browsers for
  54892. * several chart types.
  54893. */
  54894. animation?: (boolean|PlotLinearregressioninterceptAnimationOptions|Partial<AnimationOptionsObject>);
  54895. /**
  54896. * (Highstock) For some series, there is a limit that shuts down initial
  54897. * animation by default when the total number of points in the chart is too
  54898. * high. For example, for a column chart and its derivatives, animation does
  54899. * not run if there is more than 250 points totally. To disable this cap,
  54900. * set `animationLimit` to `Infinity`.
  54901. */
  54902. animationLimit?: number;
  54903. /**
  54904. * (Highstock) Sets the color blending in the boost module.
  54905. */
  54906. boostBlending?: OptionsBoostBlendingValue;
  54907. /**
  54908. * (Highstock) Set the point threshold for when a series should enter boost
  54909. * mode.
  54910. *
  54911. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  54912. * there are 2000 or more points in the series.
  54913. *
  54914. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  54915. * it to 1 will force boosting.
  54916. *
  54917. * Note that the cropThreshold also affects this setting. When zooming in on
  54918. * a series that has fewer points than the `cropThreshold`, all points are
  54919. * rendered although outside the visible plot area, and the `boostThreshold`
  54920. * won't take effect.
  54921. */
  54922. boostThreshold?: number;
  54923. /**
  54924. * (Highmaps) The border color of the map areas.
  54925. *
  54926. * In styled mode, the border stroke is given in the `.highcharts-point`
  54927. * class.
  54928. */
  54929. borderColor?: (ColorString|GradientColorObject|PatternObject);
  54930. /**
  54931. * (Highmaps) The border width of each map area.
  54932. *
  54933. * In styled mode, the border stroke width is given in the
  54934. * `.highcharts-point` class.
  54935. */
  54936. borderWidth?: number;
  54937. /**
  54938. * (Highstock) An additional class name to apply to the series' graphical
  54939. * elements. This option does not replace default class names of the
  54940. * graphical element.
  54941. */
  54942. className?: string;
  54943. /**
  54944. * (Highstock) Disable this option to allow series rendering in the whole
  54945. * plotting area.
  54946. *
  54947. * **Note:** Clipping should be always enabled when chart.zoomType is set
  54948. */
  54949. clip?: boolean;
  54950. /**
  54951. * (Highstock) The main color of the series. In line type series it applies
  54952. * to the line and the point markers unless otherwise specified. In bar type
  54953. * series it applies to the bars unless a color is specified per point. The
  54954. * default value is pulled from the `options.colors` array.
  54955. *
  54956. * In styled mode, the color can be defined by the colorIndex option. Also,
  54957. * the series color can be set with the `.highcharts-series`,
  54958. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  54959. * `.highcharts-series-{n}` class, or individual classes given by the
  54960. * `className` option.
  54961. */
  54962. color?: (ColorString|GradientColorObject|PatternObject);
  54963. /**
  54964. * (Highstock) Styled mode only. A specific color index to use for the
  54965. * series, so its graphic representations are given the class name
  54966. * `highcharts-color-{n}`.
  54967. */
  54968. colorIndex?: number;
  54969. /**
  54970. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  54971. * used to calculate point color if `colorAxis` is used. Requires to set
  54972. * `min` and `max` if some custom point property is used or if approximation
  54973. * for data grouping is set to `'sum'`.
  54974. */
  54975. colorKey?: string;
  54976. /**
  54977. * (Highstock) Compare the values of the series against the first non-null,
  54978. * non- zero value in the visible range. The y axis will show percentage or
  54979. * absolute change depending on whether `compare` is set to `"percent"` or
  54980. * `"value"`. When this is applied to multiple series, it allows comparing
  54981. * the development of the series against each other. Adds a `change` field
  54982. * to every point object.
  54983. */
  54984. compare?: string;
  54985. /**
  54986. * (Highstock) When compare is `percent`, this option dictates whether to
  54987. * use 0 or 100 as the base of comparison.
  54988. */
  54989. compareBase?: (0|100);
  54990. /**
  54991. * (Highstock) Defines if comparison should start from the first point
  54992. * within the visible range or should start from the first point **before**
  54993. * the range.
  54994. *
  54995. * In other words, this flag determines if first point within the visible
  54996. * range will have 0% (`compareStart=true`) or should have been already
  54997. * calculated according to the previous point (`compareStart=false`).
  54998. */
  54999. compareStart?: boolean;
  55000. /**
  55001. * (Highstock) Whether to compare indicator to the main series values or
  55002. * indicator values.
  55003. */
  55004. compareToMain?: boolean;
  55005. /**
  55006. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  55007. * series plot across the extremes.
  55008. */
  55009. connectEnds?: boolean;
  55010. /**
  55011. * (Highcharts, Highstock) Whether to connect a graph line across null
  55012. * points, or render a gap between the two points on either side of the
  55013. * null.
  55014. */
  55015. connectNulls?: boolean;
  55016. /**
  55017. * (Gantt) Override Pathfinder connector options for a series. Requires
  55018. * Highcharts Gantt to be loaded.
  55019. */
  55020. connectors?: SeriesConnectorsOptionsObject;
  55021. /**
  55022. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  55023. * rounded to its nearest pixel in order to render sharp on screen. In some
  55024. * cases, when there are a lot of densely packed columns, this leads to
  55025. * visible difference in column widths or distance between columns. In these
  55026. * cases, setting `crisp` to `false` may look better, even though each
  55027. * column is rendered blurry.
  55028. */
  55029. crisp?: boolean;
  55030. /**
  55031. * (Highcharts, Highstock) When the series contains less points than the
  55032. * crop threshold, all points are drawn, even if the points fall outside the
  55033. * visible plot area at the current zoom. The advantage of drawing all
  55034. * points (including markers and columns), is that animation is performed on
  55035. * updates. On the other hand, when the series contains more points than the
  55036. * crop threshold, the series data is cropped to only contain points that
  55037. * fall within the plot area. The advantage of cropping away invisible
  55038. * points is to increase performance on large series.
  55039. */
  55040. cropThreshold?: number;
  55041. /**
  55042. * (Highstock) You can set the cursor to "pointer" if you have click events
  55043. * attached to the series, to signal to the user that the points and lines
  55044. * can be clicked.
  55045. *
  55046. * In styled mode, the series cursor can be set with the same classes as
  55047. * listed under series.color.
  55048. */
  55049. cursor?: (string|CursorValue);
  55050. /**
  55051. * (Highstock) A reserved subspace to store options and values for
  55052. * customized functionality. Here you can add additional data for your own
  55053. * event callbacks and formatter callbacks.
  55054. */
  55055. custom?: Dictionary<any>;
  55056. /**
  55057. * (Highstock) Name of the dash style to use for the graph, or for some
  55058. * series types the outline of each shape.
  55059. *
  55060. * In styled mode, the stroke dash-array can be set with the same classes as
  55061. * listed under series.color.
  55062. */
  55063. dashStyle?: DashStyleValue;
  55064. /**
  55065. * (Highstock) Data grouping is the concept of sampling the data values into
  55066. * larger blocks in order to ease readability and increase performance of
  55067. * the JavaScript charts. Highcharts Stock by default applies data grouping
  55068. * when the points become closer than a certain pixel value, determined by
  55069. * the `groupPixelWidth` option.
  55070. *
  55071. * If data grouping is applied, the grouping information of grouped points
  55072. * can be read from the Point.dataGroup. If point options other than the
  55073. * data itself are set, for example `name` or `color` or custom properties,
  55074. * the grouping logic doesn't know how to group it. In this case the options
  55075. * of the first point instance are copied over to the group point. This can
  55076. * be altered through a custom `approximation` callback function.
  55077. */
  55078. dataGrouping?: DataGroupingOptionsObject;
  55079. /**
  55080. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  55081. * labels, appearing next to each data point.
  55082. *
  55083. * Since v6.2.0, multiple data labels can be applied to each single point by
  55084. * defining them as an array of configs.
  55085. *
  55086. * In styled mode, the data labels can be styled with the
  55087. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  55088. * (see example).
  55089. */
  55090. dataLabels?: (PlotLinearregressioninterceptDataLabelsOptions|Array<PlotLinearregressioninterceptDataLabelsOptions>);
  55091. /**
  55092. * (Highcharts, Highstock) Options for the series data sorting.
  55093. */
  55094. dataSorting?: (DataSortingOptionsObject|PlotLinearregressioninterceptDataSortingOptions);
  55095. /**
  55096. * (Highstock) A description of the series to add to the screen reader
  55097. * information about the series.
  55098. */
  55099. description?: string;
  55100. /**
  55101. * (Highstock) Enable or disable the mouse tracking for a specific series.
  55102. * This includes point tooltips and click events on graphs and points. For
  55103. * large datasets it improves performance.
  55104. */
  55105. enableMouseTracking?: boolean;
  55106. /**
  55107. * (Highstock) General event handlers for the series items. These event
  55108. * hooks can also be attached to the series at run time using the
  55109. * `Highcharts.addEvent` function.
  55110. */
  55111. events?: SeriesEventsOptionsObject;
  55112. /**
  55113. * (Highstock) Determines whether the series should look for the nearest
  55114. * point in both dimensions or just the x-dimension when hovering the
  55115. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  55116. * series. If the data has duplicate x-values, it is recommended to set this
  55117. * to `'xy'` to allow hovering over all points.
  55118. *
  55119. * Applies only to series types using nearest neighbor search (not direct
  55120. * hover) for tooltip.
  55121. */
  55122. findNearestPointBy?: OptionsFindNearestPointByValue;
  55123. /**
  55124. * (Highstock) Defines when to display a gap in the graph, together with the
  55125. * gapUnit option.
  55126. *
  55127. * In case when `dataGrouping` is enabled, points can be grouped into a
  55128. * larger time span. This can make the grouped points to have a greater
  55129. * distance than the absolute value of `gapSize` property, which will result
  55130. * in disappearing graph completely. To prevent this situation the mentioned
  55131. * distance between grouped points is used instead of previously defined
  55132. * `gapSize`.
  55133. *
  55134. * In practice, this option is most often used to visualize gaps in time
  55135. * series. In a stock chart, intraday data is available for daytime hours,
  55136. * while gaps will appear in nights and weekends.
  55137. */
  55138. gapSize?: number;
  55139. /**
  55140. * (Highstock) Together with gapSize, this option defines where to draw gaps
  55141. * in the graph.
  55142. *
  55143. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  55144. * if the distance between two points is greater than 5 times that of the
  55145. * two closest points, the graph will be broken.
  55146. *
  55147. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  55148. * values, which on a datetime axis is milliseconds. This also applies to
  55149. * the navigator series that inherits gap options from the base series.
  55150. */
  55151. gapUnit?: OptionsGapUnitValue;
  55152. /**
  55153. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  55154. * chart width or only the zoomed area when zooming in on parts of the X
  55155. * axis. By default, the Y axis adjusts to the min and max of the visible
  55156. * data. Cartesian series only.
  55157. */
  55158. getExtremesFromAll?: boolean;
  55159. /**
  55160. * (Highstock) When set to `false` will prevent the series data from being
  55161. * included in any form of data export.
  55162. *
  55163. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  55164. * `includeInCSVExport`.
  55165. */
  55166. includeInDataExport?: boolean;
  55167. /**
  55168. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  55169. * series as possible in a natural way, seeking to avoid other series. The
  55170. * goal of this feature is to make the chart more easily readable, like if a
  55171. * human designer placed the labels in the optimal position.
  55172. *
  55173. * The series labels currently work with series types having a `graph` or an
  55174. * `area`.
  55175. */
  55176. label?: SeriesLabelOptionsObject;
  55177. /**
  55178. * (Highstock) The line marks the last price from all points.
  55179. */
  55180. lastPrice?: SeriesLastPriceOptionsObject;
  55181. /**
  55182. * (Highstock) The line marks the last price from visible range of points.
  55183. */
  55184. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  55185. /**
  55186. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  55187. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  55188. * the ends and bends.
  55189. */
  55190. linecap?: SeriesLinecapValue;
  55191. /**
  55192. * (Highcharts, Highstock) Pixel width of the graph line.
  55193. */
  55194. lineWidth?: number;
  55195. /**
  55196. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  55197. * based on. Required for this indicator.
  55198. */
  55199. linkedTo?: string;
  55200. /**
  55201. * (Highstock) Options for the point markers of line-like series. Properties
  55202. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  55203. * appearance of the markers. Other series types, like column series, don't
  55204. * have markers, but have visual options on the series level instead.
  55205. *
  55206. * In styled mode, the markers can be styled with the `.highcharts-point`,
  55207. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  55208. */
  55209. marker?: PointMarkerOptionsObject;
  55210. /**
  55211. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  55212. * If not set, it will be based on a technical indicator type and default
  55213. * params.
  55214. */
  55215. name?: string;
  55216. /**
  55217. * (Highstock) The color for the parts of the graph or points that are below
  55218. * the threshold. Note that `zones` takes precedence over the negative
  55219. * color. Using `negativeColor` is equivalent to applying a zone with value
  55220. * of 0.
  55221. */
  55222. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  55223. /**
  55224. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  55225. * dataLabels.
  55226. */
  55227. opacity?: number;
  55228. /**
  55229. * (Highstock) Paramters used in calculation of regression series' points.
  55230. */
  55231. params?: PlotLinearregressioninterceptParamsOptions;
  55232. /**
  55233. * (Highstock) Properties for each single point.
  55234. */
  55235. point?: PlotSeriesPointOptions;
  55236. /**
  55237. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  55238. * individual series. Overrides the chart wide configuration.
  55239. */
  55240. pointDescriptionFormatter?: Function;
  55241. /**
  55242. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  55243. * true, the checkbox next to the series name in the legend will be checked
  55244. * for a selected series.
  55245. */
  55246. selected?: boolean;
  55247. /**
  55248. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  55249. * the shadow can be an object configuration containing `color`, `offsetX`,
  55250. * `offsetY`, `opacity` and `width`.
  55251. */
  55252. shadow?: (boolean|ShadowOptionsObject);
  55253. /**
  55254. * (Highstock) If true, a checkbox is displayed next to the legend item to
  55255. * allow selecting the series. The state of the checkbox is determined by
  55256. * the `selected` option.
  55257. */
  55258. showCheckbox?: boolean;
  55259. /**
  55260. * (Highstock) Whether to display this particular series or series type in
  55261. * the legend. Standalone series are shown in legend by default, and linked
  55262. * series are not. Since v7.2.0 it is possible to show series that use
  55263. * colorAxis by setting this option to `true`.
  55264. */
  55265. showInLegend?: boolean;
  55266. /**
  55267. * (Highstock) If set to `true`, the accessibility module will skip past the
  55268. * points in this series for keyboard navigation.
  55269. */
  55270. skipKeyboardNavigation?: boolean;
  55271. /**
  55272. * (Highcharts, Highstock) When this is true, the series will not cause the
  55273. * Y axis to cross the zero plane (or threshold option) unless the data
  55274. * actually crosses the plane.
  55275. *
  55276. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  55277. * make the Y axis show negative values according to the `minPadding`
  55278. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  55279. */
  55280. softThreshold?: boolean;
  55281. states?: SeriesStatesOptionsObject;
  55282. /**
  55283. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  55284. * values are `left`, `center` and `right`.
  55285. */
  55286. step?: OptionsStepValue;
  55287. /**
  55288. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  55289. * event on a series isn't triggered until the mouse moves over another
  55290. * series, or out of the plot area. When false, the `mouseOut` event on a
  55291. * series is triggered when the mouse leaves the area around the series'
  55292. * graph or markers. This also implies the tooltip when not shared. When
  55293. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  55294. * be hidden when moving the mouse between series. Defaults to true for line
  55295. * and area type series, but to false for columns, pies etc.
  55296. *
  55297. * **Note:** The boost module will force this option because of technical
  55298. * limitations.
  55299. */
  55300. stickyTracking?: boolean;
  55301. /**
  55302. * (Highcharts, Highstock) The threshold, also called zero level or base
  55303. * level. For line type series this is only used in conjunction with
  55304. * negativeColor.
  55305. */
  55306. threshold?: (number|null);
  55307. /**
  55308. * (Highstock) A configuration object for the tooltip rendering of each
  55309. * single series. Properties are inherited from tooltip, but only the
  55310. * following properties can be defined on a series level.
  55311. */
  55312. tooltip?: SeriesTooltipOptionsObject;
  55313. /**
  55314. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  55315. * is longer than this, only one dimensional arrays of numbers, or two
  55316. * dimensional arrays with x and y values are allowed. Also, only the first
  55317. * point is tested, and the rest are assumed to be the same format. This
  55318. * saves expensive data checking and indexing in long series. Set it to `0`
  55319. * disable.
  55320. *
  55321. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  55322. * two dimensional arrays are allowed.
  55323. */
  55324. turboThreshold?: number;
  55325. /**
  55326. * (Highstock) Set the initial visibility of the series.
  55327. */
  55328. visible?: boolean;
  55329. /**
  55330. * (Highmaps) Define the z index of the series.
  55331. */
  55332. zIndex?: number;
  55333. /**
  55334. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  55335. */
  55336. zoneAxis?: string;
  55337. /**
  55338. * (Highcharts, Highstock) An array defining zones within a series. Zones
  55339. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  55340. * the `zoneAxis` option. The zone definitions have to be in ascending order
  55341. * regarding to the value.
  55342. *
  55343. * In styled mode, the color zones are styled with the
  55344. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  55345. * option (view live demo).
  55346. */
  55347. zones?: Array<SeriesZonesOptionsObject>;
  55348. }
  55349. /**
  55350. * (Highstock) Paramters used in calculation of regression series' points.
  55351. */
  55352. export interface PlotLinearregressioninterceptParamsOptions {
  55353. /**
  55354. * (Highstock) The point index which indicator calculations will base. For
  55355. * example using OHLC data, index=2 means the indicator will be calculated
  55356. * using Low values.
  55357. */
  55358. index?: number;
  55359. /**
  55360. * (Highstock) The base period for indicator calculations. This is the
  55361. * number of data points which are taken into account for the indicator
  55362. * calculations.
  55363. */
  55364. period?: number;
  55365. /**
  55366. * (Highstock) Unit (in milliseconds) for the x axis distances used to
  55367. * compute the regression line paramters (slope & intercept) for every
  55368. * range. In Highcharts Stock the x axis values are always represented in
  55369. * milliseconds which may cause that distances between points are "big"
  55370. * integer numbers.
  55371. *
  55372. * Highcharts Stock's linear regression algorithm (least squares method)
  55373. * will utilize these "big" integers for finding the slope and the intercept
  55374. * of the regression line for each period. In consequence, this value may be
  55375. * a very "small" decimal number that's hard to interpret by a human.
  55376. *
  55377. * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
  55378. * algorithm to treat `86400000` as `1` while computing the slope and the
  55379. * intercept. This may enchance the legiblitity of the indicator's values.
  55380. *
  55381. * Default value is the closest distance between two data points.
  55382. *
  55383. * In `v9.0.2`, the default value has been changed from `undefined` to
  55384. * `null`.
  55385. */
  55386. xAxisUnit?: (number|null);
  55387. }
  55388. /**
  55389. * (Highstock) Linear regression indicator. This series requires `linkedTo`
  55390. * option to be set.
  55391. *
  55392. * In TypeScript the type option must always be set.
  55393. *
  55394. * Configuration options for the series are given in three levels:
  55395. *
  55396. * 1. Options for all series in a chart are defined in the plotOptions.series
  55397. * object.
  55398. *
  55399. * 2. Options for all `linearregression` series are defined in
  55400. * plotOptions.linearregression.
  55401. *
  55402. * 3. Options for one single series are given in the series instance array. (see
  55403. * online documentation for example)
  55404. */
  55405. export interface PlotLinearregressionOptions {
  55406. /**
  55407. * (Highstock) Accessibility options for a series.
  55408. */
  55409. accessibility?: SeriesAccessibilityOptionsObject;
  55410. /**
  55411. * (Highstock) Allow this series' points to be selected by clicking on the
  55412. * graphic (columns, point markers, pie slices, map areas etc).
  55413. *
  55414. * The selected points can be handled by point select and unselect events,
  55415. * or collectively by the getSelectedPoints function.
  55416. *
  55417. * And alternative way of selecting points is through dragging.
  55418. */
  55419. allowPointSelect?: boolean;
  55420. /**
  55421. * (Highstock) Enable or disable the initial animation when a series is
  55422. * displayed. The animation can also be set as a configuration object.
  55423. * Please note that this option only applies to the initial animation of the
  55424. * series itself. For other animations, see chart.animation and the
  55425. * animation parameter under the API methods. The following properties are
  55426. * supported:
  55427. *
  55428. * - `defer`: The animation delay time in milliseconds.
  55429. *
  55430. * - `duration`: The duration of the animation in milliseconds.
  55431. *
  55432. * - `easing`: Can be a string reference to an easing function set on the
  55433. * `Math` object or a function. See the _Custom easing function_ demo below.
  55434. *
  55435. * Due to poor performance, animation is disabled in old IE browsers for
  55436. * several chart types.
  55437. */
  55438. animation?: (boolean|PlotLinearregressionAnimationOptions|Partial<AnimationOptionsObject>);
  55439. /**
  55440. * (Highstock) For some series, there is a limit that shuts down initial
  55441. * animation by default when the total number of points in the chart is too
  55442. * high. For example, for a column chart and its derivatives, animation does
  55443. * not run if there is more than 250 points totally. To disable this cap,
  55444. * set `animationLimit` to `Infinity`.
  55445. */
  55446. animationLimit?: number;
  55447. /**
  55448. * (Highstock) Sets the color blending in the boost module.
  55449. */
  55450. boostBlending?: OptionsBoostBlendingValue;
  55451. /**
  55452. * (Highstock) Set the point threshold for when a series should enter boost
  55453. * mode.
  55454. *
  55455. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  55456. * there are 2000 or more points in the series.
  55457. *
  55458. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  55459. * it to 1 will force boosting.
  55460. *
  55461. * Note that the cropThreshold also affects this setting. When zooming in on
  55462. * a series that has fewer points than the `cropThreshold`, all points are
  55463. * rendered although outside the visible plot area, and the `boostThreshold`
  55464. * won't take effect.
  55465. */
  55466. boostThreshold?: number;
  55467. /**
  55468. * (Highmaps) The border color of the map areas.
  55469. *
  55470. * In styled mode, the border stroke is given in the `.highcharts-point`
  55471. * class.
  55472. */
  55473. borderColor?: (ColorString|GradientColorObject|PatternObject);
  55474. /**
  55475. * (Highmaps) The border width of each map area.
  55476. *
  55477. * In styled mode, the border stroke width is given in the
  55478. * `.highcharts-point` class.
  55479. */
  55480. borderWidth?: number;
  55481. /**
  55482. * (Highstock) An additional class name to apply to the series' graphical
  55483. * elements. This option does not replace default class names of the
  55484. * graphical element.
  55485. */
  55486. className?: string;
  55487. /**
  55488. * (Highstock) Disable this option to allow series rendering in the whole
  55489. * plotting area.
  55490. *
  55491. * **Note:** Clipping should be always enabled when chart.zoomType is set
  55492. */
  55493. clip?: boolean;
  55494. /**
  55495. * (Highstock) The main color of the series. In line type series it applies
  55496. * to the line and the point markers unless otherwise specified. In bar type
  55497. * series it applies to the bars unless a color is specified per point. The
  55498. * default value is pulled from the `options.colors` array.
  55499. *
  55500. * In styled mode, the color can be defined by the colorIndex option. Also,
  55501. * the series color can be set with the `.highcharts-series`,
  55502. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  55503. * `.highcharts-series-{n}` class, or individual classes given by the
  55504. * `className` option.
  55505. */
  55506. color?: (ColorString|GradientColorObject|PatternObject);
  55507. /**
  55508. * (Highstock) Styled mode only. A specific color index to use for the
  55509. * series, so its graphic representations are given the class name
  55510. * `highcharts-color-{n}`.
  55511. */
  55512. colorIndex?: number;
  55513. /**
  55514. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  55515. * used to calculate point color if `colorAxis` is used. Requires to set
  55516. * `min` and `max` if some custom point property is used or if approximation
  55517. * for data grouping is set to `'sum'`.
  55518. */
  55519. colorKey?: string;
  55520. /**
  55521. * (Highstock) Compare the values of the series against the first non-null,
  55522. * non- zero value in the visible range. The y axis will show percentage or
  55523. * absolute change depending on whether `compare` is set to `"percent"` or
  55524. * `"value"`. When this is applied to multiple series, it allows comparing
  55525. * the development of the series against each other. Adds a `change` field
  55526. * to every point object.
  55527. */
  55528. compare?: string;
  55529. /**
  55530. * (Highstock) When compare is `percent`, this option dictates whether to
  55531. * use 0 or 100 as the base of comparison.
  55532. */
  55533. compareBase?: (0|100);
  55534. /**
  55535. * (Highstock) Defines if comparison should start from the first point
  55536. * within the visible range or should start from the first point **before**
  55537. * the range.
  55538. *
  55539. * In other words, this flag determines if first point within the visible
  55540. * range will have 0% (`compareStart=true`) or should have been already
  55541. * calculated according to the previous point (`compareStart=false`).
  55542. */
  55543. compareStart?: boolean;
  55544. /**
  55545. * (Highstock) Whether to compare indicator to the main series values or
  55546. * indicator values.
  55547. */
  55548. compareToMain?: boolean;
  55549. /**
  55550. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  55551. * series plot across the extremes.
  55552. */
  55553. connectEnds?: boolean;
  55554. /**
  55555. * (Highcharts, Highstock) Whether to connect a graph line across null
  55556. * points, or render a gap between the two points on either side of the
  55557. * null.
  55558. */
  55559. connectNulls?: boolean;
  55560. /**
  55561. * (Gantt) Override Pathfinder connector options for a series. Requires
  55562. * Highcharts Gantt to be loaded.
  55563. */
  55564. connectors?: SeriesConnectorsOptionsObject;
  55565. /**
  55566. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  55567. * rounded to its nearest pixel in order to render sharp on screen. In some
  55568. * cases, when there are a lot of densely packed columns, this leads to
  55569. * visible difference in column widths or distance between columns. In these
  55570. * cases, setting `crisp` to `false` may look better, even though each
  55571. * column is rendered blurry.
  55572. */
  55573. crisp?: boolean;
  55574. /**
  55575. * (Highcharts, Highstock) When the series contains less points than the
  55576. * crop threshold, all points are drawn, even if the points fall outside the
  55577. * visible plot area at the current zoom. The advantage of drawing all
  55578. * points (including markers and columns), is that animation is performed on
  55579. * updates. On the other hand, when the series contains more points than the
  55580. * crop threshold, the series data is cropped to only contain points that
  55581. * fall within the plot area. The advantage of cropping away invisible
  55582. * points is to increase performance on large series.
  55583. */
  55584. cropThreshold?: number;
  55585. /**
  55586. * (Highstock) You can set the cursor to "pointer" if you have click events
  55587. * attached to the series, to signal to the user that the points and lines
  55588. * can be clicked.
  55589. *
  55590. * In styled mode, the series cursor can be set with the same classes as
  55591. * listed under series.color.
  55592. */
  55593. cursor?: (string|CursorValue);
  55594. /**
  55595. * (Highstock) A reserved subspace to store options and values for
  55596. * customized functionality. Here you can add additional data for your own
  55597. * event callbacks and formatter callbacks.
  55598. */
  55599. custom?: Dictionary<any>;
  55600. /**
  55601. * (Highstock) Name of the dash style to use for the graph, or for some
  55602. * series types the outline of each shape.
  55603. *
  55604. * In styled mode, the stroke dash-array can be set with the same classes as
  55605. * listed under series.color.
  55606. */
  55607. dashStyle?: DashStyleValue;
  55608. /**
  55609. * (Highstock) Data grouping is the concept of sampling the data values into
  55610. * larger blocks in order to ease readability and increase performance of
  55611. * the JavaScript charts. Highcharts Stock by default applies data grouping
  55612. * when the points become closer than a certain pixel value, determined by
  55613. * the `groupPixelWidth` option.
  55614. *
  55615. * If data grouping is applied, the grouping information of grouped points
  55616. * can be read from the Point.dataGroup. If point options other than the
  55617. * data itself are set, for example `name` or `color` or custom properties,
  55618. * the grouping logic doesn't know how to group it. In this case the options
  55619. * of the first point instance are copied over to the group point. This can
  55620. * be altered through a custom `approximation` callback function.
  55621. */
  55622. dataGrouping?: DataGroupingOptionsObject;
  55623. /**
  55624. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  55625. * labels, appearing next to each data point.
  55626. *
  55627. * Since v6.2.0, multiple data labels can be applied to each single point by
  55628. * defining them as an array of configs.
  55629. *
  55630. * In styled mode, the data labels can be styled with the
  55631. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  55632. * (see example).
  55633. */
  55634. dataLabels?: (PlotLinearregressionDataLabelsOptions|Array<PlotLinearregressionDataLabelsOptions>);
  55635. /**
  55636. * (Highcharts, Highstock) Options for the series data sorting.
  55637. */
  55638. dataSorting?: (DataSortingOptionsObject|PlotLinearregressionDataSortingOptions);
  55639. /**
  55640. * (Highstock) A description of the series to add to the screen reader
  55641. * information about the series.
  55642. */
  55643. description?: string;
  55644. /**
  55645. * (Highstock) Enable or disable the mouse tracking for a specific series.
  55646. * This includes point tooltips and click events on graphs and points. For
  55647. * large datasets it improves performance.
  55648. */
  55649. enableMouseTracking?: boolean;
  55650. /**
  55651. * (Highstock) General event handlers for the series items. These event
  55652. * hooks can also be attached to the series at run time using the
  55653. * `Highcharts.addEvent` function.
  55654. */
  55655. events?: SeriesEventsOptionsObject;
  55656. /**
  55657. * (Highstock) Determines whether the series should look for the nearest
  55658. * point in both dimensions or just the x-dimension when hovering the
  55659. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  55660. * series. If the data has duplicate x-values, it is recommended to set this
  55661. * to `'xy'` to allow hovering over all points.
  55662. *
  55663. * Applies only to series types using nearest neighbor search (not direct
  55664. * hover) for tooltip.
  55665. */
  55666. findNearestPointBy?: OptionsFindNearestPointByValue;
  55667. /**
  55668. * (Highstock) Defines when to display a gap in the graph, together with the
  55669. * gapUnit option.
  55670. *
  55671. * In case when `dataGrouping` is enabled, points can be grouped into a
  55672. * larger time span. This can make the grouped points to have a greater
  55673. * distance than the absolute value of `gapSize` property, which will result
  55674. * in disappearing graph completely. To prevent this situation the mentioned
  55675. * distance between grouped points is used instead of previously defined
  55676. * `gapSize`.
  55677. *
  55678. * In practice, this option is most often used to visualize gaps in time
  55679. * series. In a stock chart, intraday data is available for daytime hours,
  55680. * while gaps will appear in nights and weekends.
  55681. */
  55682. gapSize?: number;
  55683. /**
  55684. * (Highstock) Together with gapSize, this option defines where to draw gaps
  55685. * in the graph.
  55686. *
  55687. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  55688. * if the distance between two points is greater than 5 times that of the
  55689. * two closest points, the graph will be broken.
  55690. *
  55691. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  55692. * values, which on a datetime axis is milliseconds. This also applies to
  55693. * the navigator series that inherits gap options from the base series.
  55694. */
  55695. gapUnit?: OptionsGapUnitValue;
  55696. /**
  55697. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  55698. * chart width or only the zoomed area when zooming in on parts of the X
  55699. * axis. By default, the Y axis adjusts to the min and max of the visible
  55700. * data. Cartesian series only.
  55701. */
  55702. getExtremesFromAll?: boolean;
  55703. /**
  55704. * (Highstock) When set to `false` will prevent the series data from being
  55705. * included in any form of data export.
  55706. *
  55707. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  55708. * `includeInCSVExport`.
  55709. */
  55710. includeInDataExport?: boolean;
  55711. /**
  55712. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  55713. * series as possible in a natural way, seeking to avoid other series. The
  55714. * goal of this feature is to make the chart more easily readable, like if a
  55715. * human designer placed the labels in the optimal position.
  55716. *
  55717. * The series labels currently work with series types having a `graph` or an
  55718. * `area`.
  55719. */
  55720. label?: SeriesLabelOptionsObject;
  55721. /**
  55722. * (Highstock) The line marks the last price from all points.
  55723. */
  55724. lastPrice?: SeriesLastPriceOptionsObject;
  55725. /**
  55726. * (Highstock) The line marks the last price from visible range of points.
  55727. */
  55728. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  55729. /**
  55730. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  55731. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  55732. * the ends and bends.
  55733. */
  55734. linecap?: SeriesLinecapValue;
  55735. /**
  55736. * (Highcharts, Highstock) Pixel width of the graph line.
  55737. */
  55738. lineWidth?: number;
  55739. /**
  55740. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  55741. * based on. Required for this indicator.
  55742. */
  55743. linkedTo?: string;
  55744. /**
  55745. * (Highstock) Options for the point markers of line-like series. Properties
  55746. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  55747. * appearance of the markers. Other series types, like column series, don't
  55748. * have markers, but have visual options on the series level instead.
  55749. *
  55750. * In styled mode, the markers can be styled with the `.highcharts-point`,
  55751. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  55752. */
  55753. marker?: PointMarkerOptionsObject;
  55754. /**
  55755. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  55756. * If not set, it will be based on a technical indicator type and default
  55757. * params.
  55758. */
  55759. name?: string;
  55760. /**
  55761. * (Highstock) The color for the parts of the graph or points that are below
  55762. * the threshold. Note that `zones` takes precedence over the negative
  55763. * color. Using `negativeColor` is equivalent to applying a zone with value
  55764. * of 0.
  55765. */
  55766. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  55767. /**
  55768. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  55769. * dataLabels.
  55770. */
  55771. opacity?: number;
  55772. /**
  55773. * (Highstock) Paramters used in calculation of regression series' points.
  55774. */
  55775. params?: PlotLinearregressionParamsOptions;
  55776. /**
  55777. * (Highstock) Properties for each single point.
  55778. */
  55779. point?: PlotSeriesPointOptions;
  55780. /**
  55781. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  55782. * individual series. Overrides the chart wide configuration.
  55783. */
  55784. pointDescriptionFormatter?: Function;
  55785. /**
  55786. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  55787. * true, the checkbox next to the series name in the legend will be checked
  55788. * for a selected series.
  55789. */
  55790. selected?: boolean;
  55791. /**
  55792. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  55793. * the shadow can be an object configuration containing `color`, `offsetX`,
  55794. * `offsetY`, `opacity` and `width`.
  55795. */
  55796. shadow?: (boolean|ShadowOptionsObject);
  55797. /**
  55798. * (Highstock) If true, a checkbox is displayed next to the legend item to
  55799. * allow selecting the series. The state of the checkbox is determined by
  55800. * the `selected` option.
  55801. */
  55802. showCheckbox?: boolean;
  55803. /**
  55804. * (Highstock) Whether to display this particular series or series type in
  55805. * the legend. Standalone series are shown in legend by default, and linked
  55806. * series are not. Since v7.2.0 it is possible to show series that use
  55807. * colorAxis by setting this option to `true`.
  55808. */
  55809. showInLegend?: boolean;
  55810. /**
  55811. * (Highstock) If set to `true`, the accessibility module will skip past the
  55812. * points in this series for keyboard navigation.
  55813. */
  55814. skipKeyboardNavigation?: boolean;
  55815. /**
  55816. * (Highcharts, Highstock) When this is true, the series will not cause the
  55817. * Y axis to cross the zero plane (or threshold option) unless the data
  55818. * actually crosses the plane.
  55819. *
  55820. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  55821. * make the Y axis show negative values according to the `minPadding`
  55822. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  55823. */
  55824. softThreshold?: boolean;
  55825. states?: SeriesStatesOptionsObject;
  55826. /**
  55827. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  55828. * values are `left`, `center` and `right`.
  55829. */
  55830. step?: OptionsStepValue;
  55831. /**
  55832. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  55833. * event on a series isn't triggered until the mouse moves over another
  55834. * series, or out of the plot area. When false, the `mouseOut` event on a
  55835. * series is triggered when the mouse leaves the area around the series'
  55836. * graph or markers. This also implies the tooltip when not shared. When
  55837. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  55838. * be hidden when moving the mouse between series. Defaults to true for line
  55839. * and area type series, but to false for columns, pies etc.
  55840. *
  55841. * **Note:** The boost module will force this option because of technical
  55842. * limitations.
  55843. */
  55844. stickyTracking?: boolean;
  55845. /**
  55846. * (Highcharts, Highstock) The threshold, also called zero level or base
  55847. * level. For line type series this is only used in conjunction with
  55848. * negativeColor.
  55849. */
  55850. threshold?: (number|null);
  55851. /**
  55852. * (Highstock) A configuration object for the tooltip rendering of each
  55853. * single series. Properties are inherited from tooltip, but only the
  55854. * following properties can be defined on a series level.
  55855. */
  55856. tooltip?: SeriesTooltipOptionsObject;
  55857. /**
  55858. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  55859. * is longer than this, only one dimensional arrays of numbers, or two
  55860. * dimensional arrays with x and y values are allowed. Also, only the first
  55861. * point is tested, and the rest are assumed to be the same format. This
  55862. * saves expensive data checking and indexing in long series. Set it to `0`
  55863. * disable.
  55864. *
  55865. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  55866. * two dimensional arrays are allowed.
  55867. */
  55868. turboThreshold?: number;
  55869. /**
  55870. * (Highstock) Set the initial visibility of the series.
  55871. */
  55872. visible?: boolean;
  55873. /**
  55874. * (Highmaps) Define the z index of the series.
  55875. */
  55876. zIndex?: number;
  55877. /**
  55878. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  55879. */
  55880. zoneAxis?: string;
  55881. /**
  55882. * (Highcharts, Highstock) An array defining zones within a series. Zones
  55883. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  55884. * the `zoneAxis` option. The zone definitions have to be in ascending order
  55885. * regarding to the value.
  55886. *
  55887. * In styled mode, the color zones are styled with the
  55888. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  55889. * option (view live demo).
  55890. */
  55891. zones?: Array<SeriesZonesOptionsObject>;
  55892. }
  55893. /**
  55894. * (Highstock) Paramters used in calculation of regression series' points.
  55895. */
  55896. export interface PlotLinearregressionParamsOptions {
  55897. /**
  55898. * (Highstock) The point index which indicator calculations will base. For
  55899. * example using OHLC data, index=2 means the indicator will be calculated
  55900. * using Low values.
  55901. */
  55902. index?: number;
  55903. /**
  55904. * (Highstock) The base period for indicator calculations. This is the
  55905. * number of data points which are taken into account for the indicator
  55906. * calculations.
  55907. */
  55908. period?: number;
  55909. /**
  55910. * (Highstock) Unit (in milliseconds) for the x axis distances used to
  55911. * compute the regression line paramters (slope & intercept) for every
  55912. * range. In Highcharts Stock the x axis values are always represented in
  55913. * milliseconds which may cause that distances between points are "big"
  55914. * integer numbers.
  55915. *
  55916. * Highcharts Stock's linear regression algorithm (least squares method)
  55917. * will utilize these "big" integers for finding the slope and the intercept
  55918. * of the regression line for each period. In consequence, this value may be
  55919. * a very "small" decimal number that's hard to interpret by a human.
  55920. *
  55921. * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
  55922. * algorithm to treat `86400000` as `1` while computing the slope and the
  55923. * intercept. This may enchance the legiblitity of the indicator's values.
  55924. *
  55925. * Default value is the closest distance between two data points.
  55926. *
  55927. * In `v9.0.2`, the default value has been changed from `undefined` to
  55928. * `null`.
  55929. */
  55930. xAxisUnit?: (number|null);
  55931. }
  55932. /**
  55933. * (Highstock) Enable or disable the initial animation when a series is
  55934. * displayed. The animation can also be set as a configuration object. Please
  55935. * note that this option only applies to the initial animation of the series
  55936. * itself. For other animations, see chart.animation and the animation parameter
  55937. * under the API methods. The following properties are supported:
  55938. *
  55939. * - `defer`: The animation delay time in milliseconds.
  55940. *
  55941. * - `duration`: The duration of the animation in milliseconds.
  55942. *
  55943. * - `easing`: Can be a string reference to an easing function set on the `Math`
  55944. * object or a function. See the _Custom easing function_ demo below.
  55945. *
  55946. * Due to poor performance, animation is disabled in old IE browsers for several
  55947. * chart types.
  55948. */
  55949. export interface PlotLinearregressionslopeAnimationOptions {
  55950. defer?: number;
  55951. }
  55952. /**
  55953. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  55954. * animation when a series is displayed for the `dataLabels`. The animation can
  55955. * also be set as a configuration object. Please note that this option only
  55956. * applies to the initial animation. For other animations, see chart.animation
  55957. * and the animation parameter under the API methods. The following properties
  55958. * are supported:
  55959. *
  55960. * - `defer`: The animation delay time in milliseconds.
  55961. */
  55962. export interface PlotLinearregressionslopeDataLabelsAnimationOptions {
  55963. /**
  55964. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  55965. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  55966. * inherits defer time from the series.animation.defer.
  55967. */
  55968. defer?: number;
  55969. }
  55970. /**
  55971. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  55972. * appearing next to each data point.
  55973. *
  55974. * Since v6.2.0, multiple data labels can be applied to each single point by
  55975. * defining them as an array of configs.
  55976. *
  55977. * In styled mode, the data labels can be styled with the
  55978. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  55979. * example).
  55980. */
  55981. export interface PlotLinearregressionslopeDataLabelsOptions {
  55982. /**
  55983. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  55984. * compared to the point. If `right`, the right side of the label should be
  55985. * touching the point. For points with an extent, like columns, the
  55986. * alignments also dictates how to align it inside the box, as given with
  55987. * the inside option. Can be one of `left`, `center` or `right`.
  55988. */
  55989. align?: (AlignValue|null);
  55990. /**
  55991. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  55992. * overlap. To make the labels less sensitive for overlapping, the
  55993. * dataLabels.padding can be set to 0.
  55994. */
  55995. allowOverlap?: boolean;
  55996. /**
  55997. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  55998. * animation when a series is displayed for the `dataLabels`. The animation
  55999. * can also be set as a configuration object. Please note that this option
  56000. * only applies to the initial animation. For other animations, see
  56001. * chart.animation and the animation parameter under the API methods. The
  56002. * following properties are supported:
  56003. *
  56004. * - `defer`: The animation delay time in milliseconds.
  56005. */
  56006. animation?: (boolean|PlotLinearregressionslopeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  56007. /**
  56008. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  56009. * for the data label.
  56010. */
  56011. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  56012. /**
  56013. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  56014. * label. Defaults to `undefined`.
  56015. */
  56016. borderColor?: (ColorString|GradientColorObject|PatternObject);
  56017. /**
  56018. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  56019. * the data label.
  56020. */
  56021. borderRadius?: number;
  56022. /**
  56023. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  56024. * the data label.
  56025. */
  56026. borderWidth?: number;
  56027. /**
  56028. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  56029. * Particularly in styled mode, this can be used to give each series' or
  56030. * point's data label unique styling. In addition to this option, a default
  56031. * color class name is added so that we can give the labels a contrast text
  56032. * shadow.
  56033. */
  56034. className?: string;
  56035. /**
  56036. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  56037. * labels. Defaults to `undefined`. For certain series types, like column or
  56038. * map, the data labels can be drawn inside the points. In this case the
  56039. * data label will be drawn with maximum contrast by default. Additionally,
  56040. * it will be given a `text-outline` style with the opposite color, to
  56041. * further increase the contrast. This can be overridden by setting the
  56042. * `text-outline` style to `none` in the `dataLabels.style` option.
  56043. */
  56044. color?: (ColorString|GradientColorObject|PatternObject);
  56045. /**
  56046. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  56047. * are outside the plot area. By default, the data label is moved inside the
  56048. * plot area according to the overflow option.
  56049. */
  56050. crop?: boolean;
  56051. /**
  56052. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  56053. * labels until the initial series animation has finished. Setting to
  56054. * `false` renders the data label immediately. If set to `true` inherits the
  56055. * defer time set in plotOptions.series.animation. If set to a number, a
  56056. * defer time is specified in milliseconds.
  56057. */
  56058. defer?: (boolean|number);
  56059. /**
  56060. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  56061. * labels.
  56062. */
  56063. enabled?: boolean;
  56064. /**
  56065. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  56066. * of which data labels to display. The declarative filter is designed for
  56067. * use when callback functions are not available, like when the chart
  56068. * options require a pure JSON structure or for use with graphical editors.
  56069. * For programmatic control, use the `formatter` instead, and return
  56070. * `undefined` to disable a single data label.
  56071. */
  56072. filter?: DataLabelsFilterOptionsObject;
  56073. /**
  56074. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  56075. * label. Available variables are the same as for `formatter`.
  56076. */
  56077. format?: string;
  56078. /**
  56079. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  56080. * format the data label. Note that if a `format` is defined, the format
  56081. * takes precedence and the formatter is ignored.
  56082. */
  56083. formatter?: DataLabelsFormatterCallbackFunction;
  56084. /**
  56085. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  56086. * columns or map areas, whether to align the data label inside the box or
  56087. * to the actual value point. Defaults to `false` in most cases, `true` in
  56088. * stacked columns.
  56089. */
  56090. inside?: boolean;
  56091. /**
  56092. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  56093. * of null. Works analogously to format. `nullFormat` can be applied only to
  56094. * series which support displaying null points.
  56095. */
  56096. nullFormat?: (boolean|string);
  56097. /**
  56098. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  56099. * that defines formatting for points with the value of null. Works
  56100. * analogously to formatter. `nullPointFormatter` can be applied only to
  56101. * series which support displaying null points.
  56102. */
  56103. nullFormatter?: DataLabelsFormatterCallbackFunction;
  56104. /**
  56105. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  56106. * flow outside the plot area. The default is `"justify"`, which aligns them
  56107. * inside the plot area. For columns and bars, this means it will be moved
  56108. * inside the bar. To display data labels outside the plot area, set `crop`
  56109. * to `false` and `overflow` to `"allow"`.
  56110. */
  56111. overflow?: DataLabelsOverflowValue;
  56112. /**
  56113. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  56114. * the `backgroundColor` is set, this is the padding within the box.
  56115. */
  56116. padding?: number;
  56117. /**
  56118. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  56119. * points. If `center` alignment is not possible, it defaults to `right`.
  56120. */
  56121. position?: AlignValue;
  56122. /**
  56123. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  56124. * that due to a more complex structure, backgrounds, borders and padding
  56125. * will be lost on a rotated data label.
  56126. */
  56127. rotation?: number;
  56128. /**
  56129. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  56130. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  56131. * an object configuration containing `color`, `offsetX`, `offsetY`,
  56132. * `opacity` and `width`.
  56133. */
  56134. shadow?: (boolean|ShadowOptionsObject);
  56135. /**
  56136. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  56137. * the border around the label. Symbols are predefined functions on the
  56138. * Renderer object.
  56139. */
  56140. shape?: string;
  56141. /**
  56142. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  56143. * default `color` setting is `"contrast"`, which is a pseudo color that
  56144. * Highcharts picks up and applies the maximum contrast to the underlying
  56145. * point item, for example the bar in a bar chart.
  56146. *
  56147. * The `textOutline` is a pseudo property that applies an outline of the
  56148. * given width with the given color, which by default is the maximum
  56149. * contrast to the text. So a bright text color will result in a black text
  56150. * outline for maximum readability on a mixed background. In some cases,
  56151. * especially with grayscale text, the text outline doesn't work well, in
  56152. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  56153. * is true, the `textOutline` will not be picked up. In this, case, the same
  56154. * effect can be acheived through the `text-shadow` CSS property.
  56155. *
  56156. * For some series types, where each point has an extent, like for example
  56157. * tree maps, the data label may overflow the point. There are two
  56158. * strategies for handling overflow. By default, the text will wrap to
  56159. * multiple lines. The other strategy is to set `style.textOverflow` to
  56160. * `ellipsis`, which will keep the text on one line plus it will break
  56161. * inside long words.
  56162. */
  56163. style?: CSSObject;
  56164. /**
  56165. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  56166. * should follow marker's shape. Border and background are disabled for a
  56167. * label that follows a path.
  56168. *
  56169. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  56170. * to true will disable this option.
  56171. */
  56172. textPath?: DataLabelsTextPathOptionsObject;
  56173. /**
  56174. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  56175. * the labels.
  56176. */
  56177. useHTML?: boolean;
  56178. /**
  56179. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  56180. * label. Can be one of `top`, `middle` or `bottom`. The default value
  56181. * depends on the data, for instance in a column chart, the label is above
  56182. * positive values and below negative values.
  56183. */
  56184. verticalAlign?: (VerticalAlignValue|null);
  56185. /**
  56186. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  56187. * label relative to the point in pixels.
  56188. */
  56189. x?: number;
  56190. /**
  56191. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  56192. * label relative to the point in pixels.
  56193. */
  56194. y?: number;
  56195. /**
  56196. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  56197. * The default Z index puts it above the series. Use a Z index of 2 to
  56198. * display it behind the series.
  56199. */
  56200. z?: number;
  56201. }
  56202. /**
  56203. * (Highcharts, Highstock) Options for the series data sorting.
  56204. */
  56205. export interface PlotLinearregressionslopeDataSortingOptions {
  56206. /**
  56207. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  56208. * Use xAxis.reversed to change the sorting order.
  56209. */
  56210. enabled?: boolean;
  56211. /**
  56212. * (Highcharts, Highstock) Whether to allow matching points by name in an
  56213. * update. If this option is disabled, points will be matched by order.
  56214. */
  56215. matchByName?: boolean;
  56216. /**
  56217. * (Highcharts, Highstock) Determines what data value should be used to sort
  56218. * by.
  56219. */
  56220. sortKey?: string;
  56221. }
  56222. /**
  56223. * (Highstock) Linear regression slope indicator. This series requires
  56224. * `linkedTo` option to be set.
  56225. *
  56226. * In TypeScript the type option must always be set.
  56227. *
  56228. * Configuration options for the series are given in three levels:
  56229. *
  56230. * 1. Options for all series in a chart are defined in the plotOptions.series
  56231. * object.
  56232. *
  56233. * 2. Options for all `linearregressionslope` series are defined in
  56234. * plotOptions.linearregressionslope.
  56235. *
  56236. * 3. Options for one single series are given in the series instance array. (see
  56237. * online documentation for example)
  56238. */
  56239. export interface PlotLinearregressionslopeOptions {
  56240. /**
  56241. * (Highstock) Accessibility options for a series.
  56242. */
  56243. accessibility?: SeriesAccessibilityOptionsObject;
  56244. /**
  56245. * (Highstock) Allow this series' points to be selected by clicking on the
  56246. * graphic (columns, point markers, pie slices, map areas etc).
  56247. *
  56248. * The selected points can be handled by point select and unselect events,
  56249. * or collectively by the getSelectedPoints function.
  56250. *
  56251. * And alternative way of selecting points is through dragging.
  56252. */
  56253. allowPointSelect?: boolean;
  56254. /**
  56255. * (Highstock) Enable or disable the initial animation when a series is
  56256. * displayed. The animation can also be set as a configuration object.
  56257. * Please note that this option only applies to the initial animation of the
  56258. * series itself. For other animations, see chart.animation and the
  56259. * animation parameter under the API methods. The following properties are
  56260. * supported:
  56261. *
  56262. * - `defer`: The animation delay time in milliseconds.
  56263. *
  56264. * - `duration`: The duration of the animation in milliseconds.
  56265. *
  56266. * - `easing`: Can be a string reference to an easing function set on the
  56267. * `Math` object or a function. See the _Custom easing function_ demo below.
  56268. *
  56269. * Due to poor performance, animation is disabled in old IE browsers for
  56270. * several chart types.
  56271. */
  56272. animation?: (boolean|PlotLinearregressionslopeAnimationOptions|Partial<AnimationOptionsObject>);
  56273. /**
  56274. * (Highstock) For some series, there is a limit that shuts down initial
  56275. * animation by default when the total number of points in the chart is too
  56276. * high. For example, for a column chart and its derivatives, animation does
  56277. * not run if there is more than 250 points totally. To disable this cap,
  56278. * set `animationLimit` to `Infinity`.
  56279. */
  56280. animationLimit?: number;
  56281. /**
  56282. * (Highstock) Sets the color blending in the boost module.
  56283. */
  56284. boostBlending?: OptionsBoostBlendingValue;
  56285. /**
  56286. * (Highstock) Set the point threshold for when a series should enter boost
  56287. * mode.
  56288. *
  56289. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  56290. * there are 2000 or more points in the series.
  56291. *
  56292. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  56293. * it to 1 will force boosting.
  56294. *
  56295. * Note that the cropThreshold also affects this setting. When zooming in on
  56296. * a series that has fewer points than the `cropThreshold`, all points are
  56297. * rendered although outside the visible plot area, and the `boostThreshold`
  56298. * won't take effect.
  56299. */
  56300. boostThreshold?: number;
  56301. /**
  56302. * (Highmaps) The border color of the map areas.
  56303. *
  56304. * In styled mode, the border stroke is given in the `.highcharts-point`
  56305. * class.
  56306. */
  56307. borderColor?: (ColorString|GradientColorObject|PatternObject);
  56308. /**
  56309. * (Highmaps) The border width of each map area.
  56310. *
  56311. * In styled mode, the border stroke width is given in the
  56312. * `.highcharts-point` class.
  56313. */
  56314. borderWidth?: number;
  56315. /**
  56316. * (Highstock) An additional class name to apply to the series' graphical
  56317. * elements. This option does not replace default class names of the
  56318. * graphical element.
  56319. */
  56320. className?: string;
  56321. /**
  56322. * (Highstock) Disable this option to allow series rendering in the whole
  56323. * plotting area.
  56324. *
  56325. * **Note:** Clipping should be always enabled when chart.zoomType is set
  56326. */
  56327. clip?: boolean;
  56328. /**
  56329. * (Highstock) The main color of the series. In line type series it applies
  56330. * to the line and the point markers unless otherwise specified. In bar type
  56331. * series it applies to the bars unless a color is specified per point. The
  56332. * default value is pulled from the `options.colors` array.
  56333. *
  56334. * In styled mode, the color can be defined by the colorIndex option. Also,
  56335. * the series color can be set with the `.highcharts-series`,
  56336. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  56337. * `.highcharts-series-{n}` class, or individual classes given by the
  56338. * `className` option.
  56339. */
  56340. color?: (ColorString|GradientColorObject|PatternObject);
  56341. /**
  56342. * (Highstock) Styled mode only. A specific color index to use for the
  56343. * series, so its graphic representations are given the class name
  56344. * `highcharts-color-{n}`.
  56345. */
  56346. colorIndex?: number;
  56347. /**
  56348. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  56349. * used to calculate point color if `colorAxis` is used. Requires to set
  56350. * `min` and `max` if some custom point property is used or if approximation
  56351. * for data grouping is set to `'sum'`.
  56352. */
  56353. colorKey?: string;
  56354. /**
  56355. * (Highstock) Compare the values of the series against the first non-null,
  56356. * non- zero value in the visible range. The y axis will show percentage or
  56357. * absolute change depending on whether `compare` is set to `"percent"` or
  56358. * `"value"`. When this is applied to multiple series, it allows comparing
  56359. * the development of the series against each other. Adds a `change` field
  56360. * to every point object.
  56361. */
  56362. compare?: string;
  56363. /**
  56364. * (Highstock) When compare is `percent`, this option dictates whether to
  56365. * use 0 or 100 as the base of comparison.
  56366. */
  56367. compareBase?: (0|100);
  56368. /**
  56369. * (Highstock) Defines if comparison should start from the first point
  56370. * within the visible range or should start from the first point **before**
  56371. * the range.
  56372. *
  56373. * In other words, this flag determines if first point within the visible
  56374. * range will have 0% (`compareStart=true`) or should have been already
  56375. * calculated according to the previous point (`compareStart=false`).
  56376. */
  56377. compareStart?: boolean;
  56378. /**
  56379. * (Highstock) Whether to compare indicator to the main series values or
  56380. * indicator values.
  56381. */
  56382. compareToMain?: boolean;
  56383. /**
  56384. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  56385. * series plot across the extremes.
  56386. */
  56387. connectEnds?: boolean;
  56388. /**
  56389. * (Highcharts, Highstock) Whether to connect a graph line across null
  56390. * points, or render a gap between the two points on either side of the
  56391. * null.
  56392. */
  56393. connectNulls?: boolean;
  56394. /**
  56395. * (Gantt) Override Pathfinder connector options for a series. Requires
  56396. * Highcharts Gantt to be loaded.
  56397. */
  56398. connectors?: SeriesConnectorsOptionsObject;
  56399. /**
  56400. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  56401. * rounded to its nearest pixel in order to render sharp on screen. In some
  56402. * cases, when there are a lot of densely packed columns, this leads to
  56403. * visible difference in column widths or distance between columns. In these
  56404. * cases, setting `crisp` to `false` may look better, even though each
  56405. * column is rendered blurry.
  56406. */
  56407. crisp?: boolean;
  56408. /**
  56409. * (Highcharts, Highstock) When the series contains less points than the
  56410. * crop threshold, all points are drawn, even if the points fall outside the
  56411. * visible plot area at the current zoom. The advantage of drawing all
  56412. * points (including markers and columns), is that animation is performed on
  56413. * updates. On the other hand, when the series contains more points than the
  56414. * crop threshold, the series data is cropped to only contain points that
  56415. * fall within the plot area. The advantage of cropping away invisible
  56416. * points is to increase performance on large series.
  56417. */
  56418. cropThreshold?: number;
  56419. /**
  56420. * (Highstock) You can set the cursor to "pointer" if you have click events
  56421. * attached to the series, to signal to the user that the points and lines
  56422. * can be clicked.
  56423. *
  56424. * In styled mode, the series cursor can be set with the same classes as
  56425. * listed under series.color.
  56426. */
  56427. cursor?: (string|CursorValue);
  56428. /**
  56429. * (Highstock) A reserved subspace to store options and values for
  56430. * customized functionality. Here you can add additional data for your own
  56431. * event callbacks and formatter callbacks.
  56432. */
  56433. custom?: Dictionary<any>;
  56434. /**
  56435. * (Highstock) Name of the dash style to use for the graph, or for some
  56436. * series types the outline of each shape.
  56437. *
  56438. * In styled mode, the stroke dash-array can be set with the same classes as
  56439. * listed under series.color.
  56440. */
  56441. dashStyle?: DashStyleValue;
  56442. /**
  56443. * (Highstock) Data grouping is the concept of sampling the data values into
  56444. * larger blocks in order to ease readability and increase performance of
  56445. * the JavaScript charts. Highcharts Stock by default applies data grouping
  56446. * when the points become closer than a certain pixel value, determined by
  56447. * the `groupPixelWidth` option.
  56448. *
  56449. * If data grouping is applied, the grouping information of grouped points
  56450. * can be read from the Point.dataGroup. If point options other than the
  56451. * data itself are set, for example `name` or `color` or custom properties,
  56452. * the grouping logic doesn't know how to group it. In this case the options
  56453. * of the first point instance are copied over to the group point. This can
  56454. * be altered through a custom `approximation` callback function.
  56455. */
  56456. dataGrouping?: DataGroupingOptionsObject;
  56457. /**
  56458. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  56459. * labels, appearing next to each data point.
  56460. *
  56461. * Since v6.2.0, multiple data labels can be applied to each single point by
  56462. * defining them as an array of configs.
  56463. *
  56464. * In styled mode, the data labels can be styled with the
  56465. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  56466. * (see example).
  56467. */
  56468. dataLabels?: (PlotLinearregressionslopeDataLabelsOptions|Array<PlotLinearregressionslopeDataLabelsOptions>);
  56469. /**
  56470. * (Highcharts, Highstock) Options for the series data sorting.
  56471. */
  56472. dataSorting?: (DataSortingOptionsObject|PlotLinearregressionslopeDataSortingOptions);
  56473. /**
  56474. * (Highstock) A description of the series to add to the screen reader
  56475. * information about the series.
  56476. */
  56477. description?: string;
  56478. /**
  56479. * (Highstock) Enable or disable the mouse tracking for a specific series.
  56480. * This includes point tooltips and click events on graphs and points. For
  56481. * large datasets it improves performance.
  56482. */
  56483. enableMouseTracking?: boolean;
  56484. /**
  56485. * (Highstock) General event handlers for the series items. These event
  56486. * hooks can also be attached to the series at run time using the
  56487. * `Highcharts.addEvent` function.
  56488. */
  56489. events?: SeriesEventsOptionsObject;
  56490. /**
  56491. * (Highstock) Determines whether the series should look for the nearest
  56492. * point in both dimensions or just the x-dimension when hovering the
  56493. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  56494. * series. If the data has duplicate x-values, it is recommended to set this
  56495. * to `'xy'` to allow hovering over all points.
  56496. *
  56497. * Applies only to series types using nearest neighbor search (not direct
  56498. * hover) for tooltip.
  56499. */
  56500. findNearestPointBy?: OptionsFindNearestPointByValue;
  56501. /**
  56502. * (Highstock) Defines when to display a gap in the graph, together with the
  56503. * gapUnit option.
  56504. *
  56505. * In case when `dataGrouping` is enabled, points can be grouped into a
  56506. * larger time span. This can make the grouped points to have a greater
  56507. * distance than the absolute value of `gapSize` property, which will result
  56508. * in disappearing graph completely. To prevent this situation the mentioned
  56509. * distance between grouped points is used instead of previously defined
  56510. * `gapSize`.
  56511. *
  56512. * In practice, this option is most often used to visualize gaps in time
  56513. * series. In a stock chart, intraday data is available for daytime hours,
  56514. * while gaps will appear in nights and weekends.
  56515. */
  56516. gapSize?: number;
  56517. /**
  56518. * (Highstock) Together with gapSize, this option defines where to draw gaps
  56519. * in the graph.
  56520. *
  56521. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  56522. * if the distance between two points is greater than 5 times that of the
  56523. * two closest points, the graph will be broken.
  56524. *
  56525. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  56526. * values, which on a datetime axis is milliseconds. This also applies to
  56527. * the navigator series that inherits gap options from the base series.
  56528. */
  56529. gapUnit?: OptionsGapUnitValue;
  56530. /**
  56531. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  56532. * chart width or only the zoomed area when zooming in on parts of the X
  56533. * axis. By default, the Y axis adjusts to the min and max of the visible
  56534. * data. Cartesian series only.
  56535. */
  56536. getExtremesFromAll?: boolean;
  56537. /**
  56538. * (Highstock) When set to `false` will prevent the series data from being
  56539. * included in any form of data export.
  56540. *
  56541. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  56542. * `includeInCSVExport`.
  56543. */
  56544. includeInDataExport?: boolean;
  56545. /**
  56546. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  56547. * series as possible in a natural way, seeking to avoid other series. The
  56548. * goal of this feature is to make the chart more easily readable, like if a
  56549. * human designer placed the labels in the optimal position.
  56550. *
  56551. * The series labels currently work with series types having a `graph` or an
  56552. * `area`.
  56553. */
  56554. label?: SeriesLabelOptionsObject;
  56555. /**
  56556. * (Highstock) The line marks the last price from all points.
  56557. */
  56558. lastPrice?: SeriesLastPriceOptionsObject;
  56559. /**
  56560. * (Highstock) The line marks the last price from visible range of points.
  56561. */
  56562. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  56563. /**
  56564. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  56565. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  56566. * the ends and bends.
  56567. */
  56568. linecap?: SeriesLinecapValue;
  56569. /**
  56570. * (Highcharts, Highstock) Pixel width of the graph line.
  56571. */
  56572. lineWidth?: number;
  56573. /**
  56574. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  56575. * based on. Required for this indicator.
  56576. */
  56577. linkedTo?: string;
  56578. /**
  56579. * (Highstock) Options for the point markers of line-like series. Properties
  56580. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  56581. * appearance of the markers. Other series types, like column series, don't
  56582. * have markers, but have visual options on the series level instead.
  56583. *
  56584. * In styled mode, the markers can be styled with the `.highcharts-point`,
  56585. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  56586. */
  56587. marker?: PointMarkerOptionsObject;
  56588. /**
  56589. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  56590. * If not set, it will be based on a technical indicator type and default
  56591. * params.
  56592. */
  56593. name?: string;
  56594. /**
  56595. * (Highstock) The color for the parts of the graph or points that are below
  56596. * the threshold. Note that `zones` takes precedence over the negative
  56597. * color. Using `negativeColor` is equivalent to applying a zone with value
  56598. * of 0.
  56599. */
  56600. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  56601. /**
  56602. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  56603. * dataLabels.
  56604. */
  56605. opacity?: number;
  56606. /**
  56607. * (Highstock) Paramters used in calculation of regression series' points.
  56608. */
  56609. params?: PlotLinearregressionslopeParamsOptions;
  56610. /**
  56611. * (Highstock) Properties for each single point.
  56612. */
  56613. point?: PlotSeriesPointOptions;
  56614. /**
  56615. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  56616. * individual series. Overrides the chart wide configuration.
  56617. */
  56618. pointDescriptionFormatter?: Function;
  56619. /**
  56620. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  56621. * true, the checkbox next to the series name in the legend will be checked
  56622. * for a selected series.
  56623. */
  56624. selected?: boolean;
  56625. /**
  56626. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  56627. * the shadow can be an object configuration containing `color`, `offsetX`,
  56628. * `offsetY`, `opacity` and `width`.
  56629. */
  56630. shadow?: (boolean|ShadowOptionsObject);
  56631. /**
  56632. * (Highstock) If true, a checkbox is displayed next to the legend item to
  56633. * allow selecting the series. The state of the checkbox is determined by
  56634. * the `selected` option.
  56635. */
  56636. showCheckbox?: boolean;
  56637. /**
  56638. * (Highstock) Whether to display this particular series or series type in
  56639. * the legend. Standalone series are shown in legend by default, and linked
  56640. * series are not. Since v7.2.0 it is possible to show series that use
  56641. * colorAxis by setting this option to `true`.
  56642. */
  56643. showInLegend?: boolean;
  56644. /**
  56645. * (Highstock) If set to `true`, the accessibility module will skip past the
  56646. * points in this series for keyboard navigation.
  56647. */
  56648. skipKeyboardNavigation?: boolean;
  56649. /**
  56650. * (Highcharts, Highstock) When this is true, the series will not cause the
  56651. * Y axis to cross the zero plane (or threshold option) unless the data
  56652. * actually crosses the plane.
  56653. *
  56654. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  56655. * make the Y axis show negative values according to the `minPadding`
  56656. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  56657. */
  56658. softThreshold?: boolean;
  56659. states?: SeriesStatesOptionsObject;
  56660. /**
  56661. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  56662. * values are `left`, `center` and `right`.
  56663. */
  56664. step?: OptionsStepValue;
  56665. /**
  56666. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  56667. * event on a series isn't triggered until the mouse moves over another
  56668. * series, or out of the plot area. When false, the `mouseOut` event on a
  56669. * series is triggered when the mouse leaves the area around the series'
  56670. * graph or markers. This also implies the tooltip when not shared. When
  56671. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  56672. * be hidden when moving the mouse between series. Defaults to true for line
  56673. * and area type series, but to false for columns, pies etc.
  56674. *
  56675. * **Note:** The boost module will force this option because of technical
  56676. * limitations.
  56677. */
  56678. stickyTracking?: boolean;
  56679. /**
  56680. * (Highcharts, Highstock) The threshold, also called zero level or base
  56681. * level. For line type series this is only used in conjunction with
  56682. * negativeColor.
  56683. */
  56684. threshold?: (number|null);
  56685. /**
  56686. * (Highstock) A configuration object for the tooltip rendering of each
  56687. * single series. Properties are inherited from tooltip, but only the
  56688. * following properties can be defined on a series level.
  56689. */
  56690. tooltip?: SeriesTooltipOptionsObject;
  56691. /**
  56692. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  56693. * is longer than this, only one dimensional arrays of numbers, or two
  56694. * dimensional arrays with x and y values are allowed. Also, only the first
  56695. * point is tested, and the rest are assumed to be the same format. This
  56696. * saves expensive data checking and indexing in long series. Set it to `0`
  56697. * disable.
  56698. *
  56699. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  56700. * two dimensional arrays are allowed.
  56701. */
  56702. turboThreshold?: number;
  56703. /**
  56704. * (Highstock) Set the initial visibility of the series.
  56705. */
  56706. visible?: boolean;
  56707. /**
  56708. * (Highmaps) Define the z index of the series.
  56709. */
  56710. zIndex?: number;
  56711. /**
  56712. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  56713. */
  56714. zoneAxis?: string;
  56715. /**
  56716. * (Highcharts, Highstock) An array defining zones within a series. Zones
  56717. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  56718. * the `zoneAxis` option. The zone definitions have to be in ascending order
  56719. * regarding to the value.
  56720. *
  56721. * In styled mode, the color zones are styled with the
  56722. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  56723. * option (view live demo).
  56724. */
  56725. zones?: Array<SeriesZonesOptionsObject>;
  56726. }
  56727. /**
  56728. * (Highstock) Paramters used in calculation of regression series' points.
  56729. */
  56730. export interface PlotLinearregressionslopeParamsOptions {
  56731. /**
  56732. * (Highstock) The point index which indicator calculations will base. For
  56733. * example using OHLC data, index=2 means the indicator will be calculated
  56734. * using Low values.
  56735. */
  56736. index?: number;
  56737. /**
  56738. * (Highstock) The base period for indicator calculations. This is the
  56739. * number of data points which are taken into account for the indicator
  56740. * calculations.
  56741. */
  56742. period?: number;
  56743. /**
  56744. * (Highstock) Unit (in milliseconds) for the x axis distances used to
  56745. * compute the regression line paramters (slope & intercept) for every
  56746. * range. In Highcharts Stock the x axis values are always represented in
  56747. * milliseconds which may cause that distances between points are "big"
  56748. * integer numbers.
  56749. *
  56750. * Highcharts Stock's linear regression algorithm (least squares method)
  56751. * will utilize these "big" integers for finding the slope and the intercept
  56752. * of the regression line for each period. In consequence, this value may be
  56753. * a very "small" decimal number that's hard to interpret by a human.
  56754. *
  56755. * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
  56756. * algorithm to treat `86400000` as `1` while computing the slope and the
  56757. * intercept. This may enchance the legiblitity of the indicator's values.
  56758. *
  56759. * Default value is the closest distance between two data points.
  56760. *
  56761. * In `v9.0.2`, the default value has been changed from `undefined` to
  56762. * `null`.
  56763. */
  56764. xAxisUnit?: (number|null);
  56765. }
  56766. /**
  56767. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  56768. * animation when a series is displayed for the `dataLabels`. The animation can
  56769. * also be set as a configuration object. Please note that this option only
  56770. * applies to the initial animation. For other animations, see chart.animation
  56771. * and the animation parameter under the API methods. The following properties
  56772. * are supported:
  56773. *
  56774. * - `defer`: The animation delay time in milliseconds.
  56775. */
  56776. export interface PlotLineDataLabelsAnimationOptions {
  56777. /**
  56778. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  56779. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  56780. * inherits defer time from the series.animation.defer.
  56781. */
  56782. defer?: number;
  56783. }
  56784. /**
  56785. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  56786. * appearing next to each data point.
  56787. *
  56788. * Since v6.2.0, multiple data labels can be applied to each single point by
  56789. * defining them as an array of configs.
  56790. *
  56791. * In styled mode, the data labels can be styled with the
  56792. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  56793. * example).
  56794. */
  56795. export interface PlotLineDataLabelsOptions {
  56796. /**
  56797. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  56798. * compared to the point. If `right`, the right side of the label should be
  56799. * touching the point. For points with an extent, like columns, the
  56800. * alignments also dictates how to align it inside the box, as given with
  56801. * the inside option. Can be one of `left`, `center` or `right`.
  56802. */
  56803. align?: (AlignValue|null);
  56804. /**
  56805. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  56806. * overlap. To make the labels less sensitive for overlapping, the
  56807. * dataLabels.padding can be set to 0.
  56808. */
  56809. allowOverlap?: boolean;
  56810. /**
  56811. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  56812. * animation when a series is displayed for the `dataLabels`. The animation
  56813. * can also be set as a configuration object. Please note that this option
  56814. * only applies to the initial animation. For other animations, see
  56815. * chart.animation and the animation parameter under the API methods. The
  56816. * following properties are supported:
  56817. *
  56818. * - `defer`: The animation delay time in milliseconds.
  56819. */
  56820. animation?: (boolean|PlotLineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  56821. /**
  56822. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  56823. * for the data label.
  56824. */
  56825. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  56826. /**
  56827. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  56828. * label. Defaults to `undefined`.
  56829. */
  56830. borderColor?: (ColorString|GradientColorObject|PatternObject);
  56831. /**
  56832. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  56833. * the data label.
  56834. */
  56835. borderRadius?: number;
  56836. /**
  56837. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  56838. * the data label.
  56839. */
  56840. borderWidth?: number;
  56841. /**
  56842. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  56843. * Particularly in styled mode, this can be used to give each series' or
  56844. * point's data label unique styling. In addition to this option, a default
  56845. * color class name is added so that we can give the labels a contrast text
  56846. * shadow.
  56847. */
  56848. className?: string;
  56849. /**
  56850. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  56851. * labels. Defaults to `undefined`. For certain series types, like column or
  56852. * map, the data labels can be drawn inside the points. In this case the
  56853. * data label will be drawn with maximum contrast by default. Additionally,
  56854. * it will be given a `text-outline` style with the opposite color, to
  56855. * further increase the contrast. This can be overridden by setting the
  56856. * `text-outline` style to `none` in the `dataLabels.style` option.
  56857. */
  56858. color?: (ColorString|GradientColorObject|PatternObject);
  56859. /**
  56860. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  56861. * are outside the plot area. By default, the data label is moved inside the
  56862. * plot area according to the overflow option.
  56863. */
  56864. crop?: boolean;
  56865. /**
  56866. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  56867. * labels until the initial series animation has finished. Setting to
  56868. * `false` renders the data label immediately. If set to `true` inherits the
  56869. * defer time set in plotOptions.series.animation. If set to a number, a
  56870. * defer time is specified in milliseconds.
  56871. */
  56872. defer?: (boolean|number);
  56873. /**
  56874. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  56875. * labels.
  56876. */
  56877. enabled?: boolean;
  56878. /**
  56879. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  56880. * of which data labels to display. The declarative filter is designed for
  56881. * use when callback functions are not available, like when the chart
  56882. * options require a pure JSON structure or for use with graphical editors.
  56883. * For programmatic control, use the `formatter` instead, and return
  56884. * `undefined` to disable a single data label.
  56885. */
  56886. filter?: DataLabelsFilterOptionsObject;
  56887. /**
  56888. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  56889. * label. Available variables are the same as for `formatter`.
  56890. */
  56891. format?: string;
  56892. /**
  56893. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  56894. * format the data label. Note that if a `format` is defined, the format
  56895. * takes precedence and the formatter is ignored.
  56896. */
  56897. formatter?: DataLabelsFormatterCallbackFunction;
  56898. /**
  56899. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  56900. * columns or map areas, whether to align the data label inside the box or
  56901. * to the actual value point. Defaults to `false` in most cases, `true` in
  56902. * stacked columns.
  56903. */
  56904. inside?: boolean;
  56905. /**
  56906. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  56907. * of null. Works analogously to format. `nullFormat` can be applied only to
  56908. * series which support displaying null points.
  56909. */
  56910. nullFormat?: (boolean|string);
  56911. /**
  56912. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  56913. * that defines formatting for points with the value of null. Works
  56914. * analogously to formatter. `nullPointFormatter` can be applied only to
  56915. * series which support displaying null points.
  56916. */
  56917. nullFormatter?: DataLabelsFormatterCallbackFunction;
  56918. /**
  56919. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  56920. * flow outside the plot area. The default is `"justify"`, which aligns them
  56921. * inside the plot area. For columns and bars, this means it will be moved
  56922. * inside the bar. To display data labels outside the plot area, set `crop`
  56923. * to `false` and `overflow` to `"allow"`.
  56924. */
  56925. overflow?: DataLabelsOverflowValue;
  56926. /**
  56927. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  56928. * the `backgroundColor` is set, this is the padding within the box.
  56929. */
  56930. padding?: number;
  56931. /**
  56932. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  56933. * points. If `center` alignment is not possible, it defaults to `right`.
  56934. */
  56935. position?: AlignValue;
  56936. /**
  56937. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  56938. * that due to a more complex structure, backgrounds, borders and padding
  56939. * will be lost on a rotated data label.
  56940. */
  56941. rotation?: number;
  56942. /**
  56943. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  56944. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  56945. * an object configuration containing `color`, `offsetX`, `offsetY`,
  56946. * `opacity` and `width`.
  56947. */
  56948. shadow?: (boolean|ShadowOptionsObject);
  56949. /**
  56950. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  56951. * the border around the label. Symbols are predefined functions on the
  56952. * Renderer object.
  56953. */
  56954. shape?: string;
  56955. /**
  56956. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  56957. * default `color` setting is `"contrast"`, which is a pseudo color that
  56958. * Highcharts picks up and applies the maximum contrast to the underlying
  56959. * point item, for example the bar in a bar chart.
  56960. *
  56961. * The `textOutline` is a pseudo property that applies an outline of the
  56962. * given width with the given color, which by default is the maximum
  56963. * contrast to the text. So a bright text color will result in a black text
  56964. * outline for maximum readability on a mixed background. In some cases,
  56965. * especially with grayscale text, the text outline doesn't work well, in
  56966. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  56967. * is true, the `textOutline` will not be picked up. In this, case, the same
  56968. * effect can be acheived through the `text-shadow` CSS property.
  56969. *
  56970. * For some series types, where each point has an extent, like for example
  56971. * tree maps, the data label may overflow the point. There are two
  56972. * strategies for handling overflow. By default, the text will wrap to
  56973. * multiple lines. The other strategy is to set `style.textOverflow` to
  56974. * `ellipsis`, which will keep the text on one line plus it will break
  56975. * inside long words.
  56976. */
  56977. style?: CSSObject;
  56978. /**
  56979. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  56980. * should follow marker's shape. Border and background are disabled for a
  56981. * label that follows a path.
  56982. *
  56983. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  56984. * to true will disable this option.
  56985. */
  56986. textPath?: DataLabelsTextPathOptionsObject;
  56987. /**
  56988. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  56989. * the labels.
  56990. */
  56991. useHTML?: boolean;
  56992. /**
  56993. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  56994. * label. Can be one of `top`, `middle` or `bottom`. The default value
  56995. * depends on the data, for instance in a column chart, the label is above
  56996. * positive values and below negative values.
  56997. */
  56998. verticalAlign?: (VerticalAlignValue|null);
  56999. /**
  57000. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  57001. * label relative to the point in pixels.
  57002. */
  57003. x?: number;
  57004. /**
  57005. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  57006. * label relative to the point in pixels.
  57007. */
  57008. y?: number;
  57009. /**
  57010. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  57011. * The default Z index puts it above the series. Use a Z index of 2 to
  57012. * display it behind the series.
  57013. */
  57014. z?: number;
  57015. }
  57016. /**
  57017. * (Highcharts, Highstock) Options for the series data sorting.
  57018. */
  57019. export interface PlotLineDataSortingOptions {
  57020. /**
  57021. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  57022. * Use xAxis.reversed to change the sorting order.
  57023. */
  57024. enabled?: boolean;
  57025. /**
  57026. * (Highcharts, Highstock) Whether to allow matching points by name in an
  57027. * update. If this option is disabled, points will be matched by order.
  57028. */
  57029. matchByName?: boolean;
  57030. /**
  57031. * (Highcharts, Highstock) Determines what data value should be used to sort
  57032. * by.
  57033. */
  57034. sortKey?: string;
  57035. }
  57036. /**
  57037. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  57038. * one state by default, the `default` state.
  57039. */
  57040. export interface PlotLineDragDropGuideBoxOptions {
  57041. /**
  57042. * (Highcharts, Highstock) Style options for the guide box default state.
  57043. */
  57044. default?: DragDropGuideBoxOptionsObject;
  57045. }
  57046. /**
  57047. * (Highcharts, Highstock) A line series displays information as a series of
  57048. * data points connected by straight line segments.
  57049. *
  57050. * In TypeScript the type option must always be set.
  57051. *
  57052. * Configuration options for the series are given in three levels:
  57053. *
  57054. * 1. Options for all series in a chart are defined in the plotOptions.series
  57055. * object.
  57056. *
  57057. * 2. Options for all `line` series are defined in plotOptions.line.
  57058. *
  57059. * 3. Options for one single series are given in the series instance array. (see
  57060. * online documentation for example)
  57061. */
  57062. export interface PlotLineOptions {
  57063. /**
  57064. * (Highcharts, Highstock) Accessibility options for a series.
  57065. */
  57066. accessibility?: SeriesAccessibilityOptionsObject;
  57067. /**
  57068. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  57069. * rendered. If `true`, areas which don't correspond to a data point, are
  57070. * rendered as `null` points. If `false`, those areas are skipped.
  57071. */
  57072. allAreas?: boolean;
  57073. /**
  57074. * (Highcharts, Highstock) Allow this series' points to be selected by
  57075. * clicking on the graphic (columns, point markers, pie slices, map areas
  57076. * etc).
  57077. *
  57078. * The selected points can be handled by point select and unselect events,
  57079. * or collectively by the getSelectedPoints function.
  57080. *
  57081. * And alternative way of selecting points is through dragging.
  57082. */
  57083. allowPointSelect?: boolean;
  57084. /**
  57085. * (Highcharts, Highstock) Enable or disable the initial animation when a
  57086. * series is displayed. The animation can also be set as a configuration
  57087. * object. Please note that this option only applies to the initial
  57088. * animation of the series itself. For other animations, see chart.animation
  57089. * and the animation parameter under the API methods. The following
  57090. * properties are supported:
  57091. *
  57092. * - `defer`: The animation delay time in milliseconds.
  57093. *
  57094. * - `duration`: The duration of the animation in milliseconds.
  57095. *
  57096. * - `easing`: Can be a string reference to an easing function set on the
  57097. * `Math` object or a function. See the _Custom easing function_ demo below.
  57098. *
  57099. * Due to poor performance, animation is disabled in old IE browsers for
  57100. * several chart types.
  57101. */
  57102. animation?: (boolean|PlotLineAnimationOptions|Partial<AnimationOptionsObject>);
  57103. /**
  57104. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  57105. * initial animation by default when the total number of points in the chart
  57106. * is too high. For example, for a column chart and its derivatives,
  57107. * animation does not run if there is more than 250 points totally. To
  57108. * disable this cap, set `animationLimit` to `Infinity`.
  57109. */
  57110. animationLimit?: number;
  57111. /**
  57112. * (Highcharts, Highstock) Sets the color blending in the boost module.
  57113. */
  57114. boostBlending?: OptionsBoostBlendingValue;
  57115. /**
  57116. * (Highcharts, Highstock) Set the point threshold for when a series should
  57117. * enter boost mode.
  57118. *
  57119. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  57120. * there are 2000 or more points in the series.
  57121. *
  57122. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  57123. * it to 1 will force boosting.
  57124. *
  57125. * Note that the cropThreshold also affects this setting. When zooming in on
  57126. * a series that has fewer points than the `cropThreshold`, all points are
  57127. * rendered although outside the visible plot area, and the `boostThreshold`
  57128. * won't take effect.
  57129. */
  57130. boostThreshold?: number;
  57131. /**
  57132. * (Highmaps) The border color of the map areas.
  57133. *
  57134. * In styled mode, the border stroke is given in the `.highcharts-point`
  57135. * class.
  57136. */
  57137. borderColor?: (ColorString|GradientColorObject|PatternObject);
  57138. /**
  57139. * (Highmaps) The border width of each map area.
  57140. *
  57141. * In styled mode, the border stroke width is given in the
  57142. * `.highcharts-point` class.
  57143. */
  57144. borderWidth?: number;
  57145. /**
  57146. * (Highcharts, Highstock) An additional class name to apply to the series'
  57147. * graphical elements. This option does not replace default class names of
  57148. * the graphical element.
  57149. */
  57150. className?: string;
  57151. /**
  57152. * (Highcharts, Highstock) Disable this option to allow series rendering in
  57153. * the whole plotting area.
  57154. *
  57155. * **Note:** Clipping should be always enabled when chart.zoomType is set
  57156. */
  57157. clip?: boolean;
  57158. /**
  57159. * (Highcharts, Highstock) The main color of the series. In line type series
  57160. * it applies to the line and the point markers unless otherwise specified.
  57161. * In bar type series it applies to the bars unless a color is specified per
  57162. * point. The default value is pulled from the `options.colors` array.
  57163. *
  57164. * In styled mode, the color can be defined by the colorIndex option. Also,
  57165. * the series color can be set with the `.highcharts-series`,
  57166. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  57167. * `.highcharts-series-{n}` class, or individual classes given by the
  57168. * `className` option.
  57169. */
  57170. color?: (ColorString|GradientColorObject|PatternObject);
  57171. /**
  57172. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  57173. * this number defines which colorAxis the particular series is connected
  57174. * to. It refers to either the axis id or the index of the axis in the
  57175. * colorAxis array, with 0 being the first. Set this option to false to
  57176. * prevent a series from connecting to the default color axis.
  57177. *
  57178. * Since v7.2.0 the option can also be an axis id or an axis index instead
  57179. * of a boolean flag.
  57180. */
  57181. colorAxis?: (boolean|number|string);
  57182. /**
  57183. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  57184. * for the series, so its graphic representations are given the class name
  57185. * `highcharts-color-{n}`.
  57186. */
  57187. colorIndex?: number;
  57188. /**
  57189. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  57190. * used to calculate point color if `colorAxis` is used. Requires to set
  57191. * `min` and `max` if some custom point property is used or if approximation
  57192. * for data grouping is set to `'sum'`.
  57193. */
  57194. colorKey?: string;
  57195. /**
  57196. * (Highstock) Compare the values of the series against the first non-null,
  57197. * non- zero value in the visible range. The y axis will show percentage or
  57198. * absolute change depending on whether `compare` is set to `"percent"` or
  57199. * `"value"`. When this is applied to multiple series, it allows comparing
  57200. * the development of the series against each other. Adds a `change` field
  57201. * to every point object.
  57202. */
  57203. compare?: string;
  57204. /**
  57205. * (Highstock) When compare is `percent`, this option dictates whether to
  57206. * use 0 or 100 as the base of comparison.
  57207. */
  57208. compareBase?: (0|100);
  57209. /**
  57210. * (Highstock) Defines if comparison should start from the first point
  57211. * within the visible range or should start from the first point **before**
  57212. * the range.
  57213. *
  57214. * In other words, this flag determines if first point within the visible
  57215. * range will have 0% (`compareStart=true`) or should have been already
  57216. * calculated according to the previous point (`compareStart=false`).
  57217. */
  57218. compareStart?: boolean;
  57219. /**
  57220. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  57221. * series plot across the extremes.
  57222. */
  57223. connectEnds?: boolean;
  57224. /**
  57225. * (Highcharts, Highstock) Whether to connect a graph line across null
  57226. * points, or render a gap between the two points on either side of the
  57227. * null.
  57228. */
  57229. connectNulls?: boolean;
  57230. /**
  57231. * (Gantt) Override Pathfinder connector options for a series. Requires
  57232. * Highcharts Gantt to be loaded.
  57233. */
  57234. connectors?: SeriesConnectorsOptionsObject;
  57235. /**
  57236. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  57237. * rounded to its nearest pixel in order to render sharp on screen. In some
  57238. * cases, when there are a lot of densely packed columns, this leads to
  57239. * visible difference in column widths or distance between columns. In these
  57240. * cases, setting `crisp` to `false` may look better, even though each
  57241. * column is rendered blurry.
  57242. */
  57243. crisp?: boolean;
  57244. /**
  57245. * (Highcharts, Highstock) When the series contains less points than the
  57246. * crop threshold, all points are drawn, even if the points fall outside the
  57247. * visible plot area at the current zoom. The advantage of drawing all
  57248. * points (including markers and columns), is that animation is performed on
  57249. * updates. On the other hand, when the series contains more points than the
  57250. * crop threshold, the series data is cropped to only contain points that
  57251. * fall within the plot area. The advantage of cropping away invisible
  57252. * points is to increase performance on large series.
  57253. */
  57254. cropThreshold?: number;
  57255. /**
  57256. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  57257. * click events attached to the series, to signal to the user that the
  57258. * points and lines can be clicked.
  57259. *
  57260. * In styled mode, the series cursor can be set with the same classes as
  57261. * listed under series.color.
  57262. */
  57263. cursor?: (string|CursorValue);
  57264. /**
  57265. * (Highcharts, Highstock) A reserved subspace to store options and values
  57266. * for customized functionality. Here you can add additional data for your
  57267. * own event callbacks and formatter callbacks.
  57268. */
  57269. custom?: Dictionary<any>;
  57270. /**
  57271. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  57272. * for some series types the outline of each shape.
  57273. *
  57274. * In styled mode, the stroke dash-array can be set with the same classes as
  57275. * listed under series.color.
  57276. */
  57277. dashStyle?: DashStyleValue;
  57278. /**
  57279. * (Highstock) Data grouping is the concept of sampling the data values into
  57280. * larger blocks in order to ease readability and increase performance of
  57281. * the JavaScript charts. Highcharts Stock by default applies data grouping
  57282. * when the points become closer than a certain pixel value, determined by
  57283. * the `groupPixelWidth` option.
  57284. *
  57285. * If data grouping is applied, the grouping information of grouped points
  57286. * can be read from the Point.dataGroup. If point options other than the
  57287. * data itself are set, for example `name` or `color` or custom properties,
  57288. * the grouping logic doesn't know how to group it. In this case the options
  57289. * of the first point instance are copied over to the group point. This can
  57290. * be altered through a custom `approximation` callback function.
  57291. */
  57292. dataGrouping?: DataGroupingOptionsObject;
  57293. /**
  57294. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  57295. * labels, appearing next to each data point.
  57296. *
  57297. * Since v6.2.0, multiple data labels can be applied to each single point by
  57298. * defining them as an array of configs.
  57299. *
  57300. * In styled mode, the data labels can be styled with the
  57301. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  57302. * (see example).
  57303. */
  57304. dataLabels?: (PlotLineDataLabelsOptions|Array<PlotLineDataLabelsOptions>);
  57305. /**
  57306. * (Highcharts, Highstock) Options for the series data sorting.
  57307. */
  57308. dataSorting?: (DataSortingOptionsObject|PlotLineDataSortingOptions);
  57309. /**
  57310. * (Highcharts, Highstock) A description of the series to add to the screen
  57311. * reader information about the series.
  57312. */
  57313. description?: string;
  57314. /**
  57315. * (Highcharts, Highstock) The draggable-points module allows points to be
  57316. * moved around or modified in the chart. In addition to the options
  57317. * mentioned under the `dragDrop` API structure, the module fires three
  57318. * events, point.dragStart, point.drag and point.drop.
  57319. */
  57320. dragDrop?: SeriesDragDropOptionsObject;
  57321. /**
  57322. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  57323. * specific series. This includes point tooltips and click events on graphs
  57324. * and points. For large datasets it improves performance.
  57325. */
  57326. enableMouseTracking?: boolean;
  57327. /**
  57328. * (Highcharts, Highstock) General event handlers for the series items.
  57329. * These event hooks can also be attached to the series at run time using
  57330. * the `Highcharts.addEvent` function.
  57331. */
  57332. events?: SeriesEventsOptionsObject;
  57333. /**
  57334. * (Highcharts, Highstock) Determines whether the series should look for the
  57335. * nearest point in both dimensions or just the x-dimension when hovering
  57336. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  57337. * other series. If the data has duplicate x-values, it is recommended to
  57338. * set this to `'xy'` to allow hovering over all points.
  57339. *
  57340. * Applies only to series types using nearest neighbor search (not direct
  57341. * hover) for tooltip.
  57342. */
  57343. findNearestPointBy?: OptionsFindNearestPointByValue;
  57344. /**
  57345. * (Highstock) Defines when to display a gap in the graph, together with the
  57346. * gapUnit option.
  57347. *
  57348. * In case when `dataGrouping` is enabled, points can be grouped into a
  57349. * larger time span. This can make the grouped points to have a greater
  57350. * distance than the absolute value of `gapSize` property, which will result
  57351. * in disappearing graph completely. To prevent this situation the mentioned
  57352. * distance between grouped points is used instead of previously defined
  57353. * `gapSize`.
  57354. *
  57355. * In practice, this option is most often used to visualize gaps in time
  57356. * series. In a stock chart, intraday data is available for daytime hours,
  57357. * while gaps will appear in nights and weekends.
  57358. */
  57359. gapSize?: number;
  57360. /**
  57361. * (Highstock) Together with gapSize, this option defines where to draw gaps
  57362. * in the graph.
  57363. *
  57364. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  57365. * if the distance between two points is greater than 5 times that of the
  57366. * two closest points, the graph will be broken.
  57367. *
  57368. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  57369. * values, which on a datetime axis is milliseconds. This also applies to
  57370. * the navigator series that inherits gap options from the base series.
  57371. */
  57372. gapUnit?: OptionsGapUnitValue;
  57373. /**
  57374. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  57375. * chart width or only the zoomed area when zooming in on parts of the X
  57376. * axis. By default, the Y axis adjusts to the min and max of the visible
  57377. * data. Cartesian series only.
  57378. */
  57379. getExtremesFromAll?: boolean;
  57380. /**
  57381. * (Highcharts, Highstock) When set to `false` will prevent the series data
  57382. * from being included in any form of data export.
  57383. *
  57384. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  57385. * `includeInCSVExport`.
  57386. */
  57387. includeInDataExport?: boolean;
  57388. /**
  57389. * (Highmaps) What property to join the `mapData` to the value data. For
  57390. * example, if joinBy is "code", the mapData items with a specific code is
  57391. * merged into the data with the same code. For maps loaded from GeoJSON,
  57392. * the keys may be held in each point's `properties` object.
  57393. *
  57394. * The joinBy option can also be an array of two values, where the first
  57395. * points to a key in the `mapData`, and the second points to another key in
  57396. * the `data`.
  57397. *
  57398. * When joinBy is `null`, the map items are joined by their position in the
  57399. * array, which performs much better in maps with many data points. This is
  57400. * the recommended option if you are printing more than a thousand data
  57401. * points and have a backend that can preprocess the data into a parallel
  57402. * array of the mapData.
  57403. */
  57404. joinBy?: (string|Array<string>);
  57405. /**
  57406. * (Highcharts, Highstock) An array specifying which option maps to which
  57407. * key in the data point array. This makes it convenient to work with
  57408. * unstructured data arrays from different sources.
  57409. */
  57410. keys?: Array<string>;
  57411. /**
  57412. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  57413. * series as possible in a natural way, seeking to avoid other series. The
  57414. * goal of this feature is to make the chart more easily readable, like if a
  57415. * human designer placed the labels in the optimal position.
  57416. *
  57417. * The series labels currently work with series types having a `graph` or an
  57418. * `area`.
  57419. */
  57420. label?: SeriesLabelOptionsObject;
  57421. /**
  57422. * (Highstock) The line marks the last price from all points.
  57423. */
  57424. lastPrice?: SeriesLastPriceOptionsObject;
  57425. /**
  57426. * (Highstock) The line marks the last price from visible range of points.
  57427. */
  57428. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  57429. /**
  57430. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  57431. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  57432. * the ends and bends.
  57433. */
  57434. linecap?: SeriesLinecapValue;
  57435. /**
  57436. * (Highcharts, Highstock) Pixel width of the graph line.
  57437. */
  57438. lineWidth?: number;
  57439. /**
  57440. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  57441. * Additionally, the value can be ":previous" to link to the previous
  57442. * series. When two series are linked, only the first one appears in the
  57443. * legend. Toggling the visibility of this also toggles the linked series.
  57444. *
  57445. * If master series uses data sorting and linked series does not have its
  57446. * own sorting definition, the linked series will be sorted in the same
  57447. * order as the master one.
  57448. */
  57449. linkedTo?: string;
  57450. /**
  57451. * (Highcharts, Highstock) Options for the point markers of line-like
  57452. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  57453. * the visual appearance of the markers. Other series types, like column
  57454. * series, don't have markers, but have visual options on the series level
  57455. * instead.
  57456. *
  57457. * In styled mode, the markers can be styled with the `.highcharts-point`,
  57458. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  57459. */
  57460. marker?: PointMarkerOptionsObject;
  57461. /**
  57462. * (Highstock) Options for the corresponding navigator series if
  57463. * `showInNavigator` is `true` for this series. Available options are the
  57464. * same as any series, documented at plotOptions and series.
  57465. *
  57466. * These options are merged with options in navigator.series, and will take
  57467. * precedence if the same option is defined both places.
  57468. */
  57469. navigatorOptions?: PlotSeriesOptions;
  57470. /**
  57471. * (Highcharts, Highstock) The color for the parts of the graph or points
  57472. * that are below the threshold. Note that `zones` takes precedence over the
  57473. * negative color. Using `negativeColor` is equivalent to applying a zone
  57474. * with value of 0.
  57475. */
  57476. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  57477. /**
  57478. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  57479. * and dataLabels.
  57480. */
  57481. opacity?: number;
  57482. /**
  57483. * (Highcharts, Highstock) Properties for each single point.
  57484. */
  57485. point?: PlotSeriesPointOptions;
  57486. /**
  57487. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  57488. * but for an individual series. Overrides the chart wide configuration.
  57489. */
  57490. pointDescriptionFormatter?: Function;
  57491. /**
  57492. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  57493. * a series, `pointInterval` defines the interval of the x values. For
  57494. * example, if a series contains one value every decade starting from year
  57495. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  57496. * `pointInterval` is set in milliseconds.
  57497. *
  57498. * It can be also be combined with `pointIntervalUnit` to draw irregular
  57499. * time intervals.
  57500. *
  57501. * Please note that this options applies to the _series data_, not the
  57502. * interval of the axis ticks, which is independent.
  57503. */
  57504. pointInterval?: number;
  57505. /**
  57506. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  57507. * setting the pointInterval to irregular time units, `day`, `month` and
  57508. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  57509. * also takes the DST crossover into consideration when dealing with local
  57510. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  57511. * months, 10 years etc.
  57512. *
  57513. * Please note that this options applies to the _series data_, not the
  57514. * interval of the axis ticks, which is independent.
  57515. */
  57516. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  57517. /**
  57518. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  57519. * `number`.
  57520. *
  57521. * In a column chart, when pointPlacement is `"on"`, the point will not
  57522. * create any padding of the X axis. In a polar column chart this means that
  57523. * the first column points directly north. If the pointPlacement is
  57524. * `"between"`, the columns will be laid out between ticks. This is useful
  57525. * for example for visualising an amount between two points in time or in a
  57526. * certain sector of a polar chart.
  57527. *
  57528. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  57529. * is on the axis value, -0.5 is between this value and the previous, and
  57530. * 0.5 is between this value and the next. Unlike the textual options,
  57531. * numeric point placement options won't affect axis padding.
  57532. *
  57533. * Note that pointPlacement needs a pointRange to work. For column series
  57534. * this is computed, but for line-type series it needs to be set.
  57535. *
  57536. * For the `xrange` series type and gantt charts, if the Y axis is a
  57537. * category axis, the `pointPlacement` applies to the Y axis rather than the
  57538. * (typically datetime) X axis.
  57539. *
  57540. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  57541. */
  57542. pointPlacement?: (number|string);
  57543. /**
  57544. * (Highstock) The width of each point on the x axis. For example in a
  57545. * column chart with one value each day, the pointRange would be 1 day (= 24
  57546. * * 3600
  57547. *
  57548. * * 1000 milliseconds). This is normally computed automatically, but this
  57549. * option can be used to override the automatic value.
  57550. */
  57551. pointRange?: number;
  57552. /**
  57553. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  57554. * a series, pointStart defines on what value to start. For example, if a
  57555. * series contains one yearly value starting from 1945, set pointStart to
  57556. * 1945.
  57557. */
  57558. pointStart?: number;
  57559. /**
  57560. * (Highcharts, Highstock) Whether to select the series initially. If
  57561. * `showCheckbox` is true, the checkbox next to the series name in the
  57562. * legend will be checked for a selected series.
  57563. */
  57564. selected?: boolean;
  57565. /**
  57566. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  57567. * Since 2.3 the shadow can be an object configuration containing `color`,
  57568. * `offsetX`, `offsetY`, `opacity` and `width`.
  57569. */
  57570. shadow?: (boolean|ShadowOptionsObject);
  57571. /**
  57572. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  57573. * legend item to allow selecting the series. The state of the checkbox is
  57574. * determined by the `selected` option.
  57575. */
  57576. showCheckbox?: boolean;
  57577. /**
  57578. * (Highcharts, Highstock) Whether to display this particular series or
  57579. * series type in the legend. Standalone series are shown in legend by
  57580. * default, and linked series are not. Since v7.2.0 it is possible to show
  57581. * series that use colorAxis by setting this option to `true`.
  57582. */
  57583. showInLegend?: boolean;
  57584. /**
  57585. * (Highstock) Whether or not to show the series in the navigator. Takes
  57586. * precedence over navigator.baseSeries if defined.
  57587. */
  57588. showInNavigator?: boolean;
  57589. /**
  57590. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  57591. * skip past the points in this series for keyboard navigation.
  57592. */
  57593. skipKeyboardNavigation?: boolean;
  57594. /**
  57595. * (Highcharts, Highstock) When this is true, the series will not cause the
  57596. * Y axis to cross the zero plane (or threshold option) unless the data
  57597. * actually crosses the plane.
  57598. *
  57599. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  57600. * make the Y axis show negative values according to the `minPadding`
  57601. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  57602. */
  57603. softThreshold?: boolean;
  57604. /**
  57605. * (Highcharts, Highstock) Whether to stack the values of each series on top
  57606. * of each other. Possible values are `undefined` to disable, `"normal"` to
  57607. * stack by value or `"percent"`.
  57608. *
  57609. * When stacking is enabled, data must be sorted in ascending X order.
  57610. *
  57611. * Some stacking options are related to specific series types. In the
  57612. * streamgraph series type, the stacking option is set to `"stream"`. The
  57613. * second one is `"overlap"`, which only applies to waterfall series.
  57614. */
  57615. stacking?: OptionsStackingValue;
  57616. states?: SeriesStatesOptionsObject;
  57617. /**
  57618. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  57619. * values are `left`, `center` and `right`.
  57620. */
  57621. step?: OptionsStepValue;
  57622. /**
  57623. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  57624. * `mouseOut` event on a series isn't triggered until the mouse moves over
  57625. * another series, or out of the plot area. When false, the `mouseOut` event
  57626. * on a series is triggered when the mouse leaves the area around the
  57627. * series' graph or markers. This also implies the tooltip when not shared.
  57628. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  57629. * will be hidden when moving the mouse between series. Defaults to true for
  57630. * line and area type series, but to false for columns, pies etc.
  57631. *
  57632. * **Note:** The boost module will force this option because of technical
  57633. * limitations.
  57634. */
  57635. stickyTracking?: boolean;
  57636. /**
  57637. * (Highcharts, Highstock) The threshold, also called zero level or base
  57638. * level. For line type series this is only used in conjunction with
  57639. * negativeColor.
  57640. */
  57641. threshold?: (number|null);
  57642. /**
  57643. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  57644. * of each single series. Properties are inherited from tooltip, but only
  57645. * the following properties can be defined on a series level.
  57646. */
  57647. tooltip?: SeriesTooltipOptionsObject;
  57648. /**
  57649. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  57650. * is longer than this, only one dimensional arrays of numbers, or two
  57651. * dimensional arrays with x and y values are allowed. Also, only the first
  57652. * point is tested, and the rest are assumed to be the same format. This
  57653. * saves expensive data checking and indexing in long series. Set it to `0`
  57654. * disable.
  57655. *
  57656. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  57657. * two dimensional arrays are allowed.
  57658. */
  57659. turboThreshold?: number;
  57660. /**
  57661. * (Highstock) The parameter allows setting line series type and use OHLC
  57662. * indicators. Data in OHLC format is required.
  57663. */
  57664. useOhlcData?: boolean;
  57665. /**
  57666. * (Highcharts, Highstock) Set the initial visibility of the series.
  57667. */
  57668. visible?: boolean;
  57669. /**
  57670. * (Highmaps) Define the z index of the series.
  57671. */
  57672. zIndex?: number;
  57673. /**
  57674. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  57675. */
  57676. zoneAxis?: string;
  57677. /**
  57678. * (Highcharts, Highstock) An array defining zones within a series. Zones
  57679. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  57680. * the `zoneAxis` option. The zone definitions have to be in ascending order
  57681. * regarding to the value.
  57682. *
  57683. * In styled mode, the color zones are styled with the
  57684. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  57685. * option (view live demo).
  57686. */
  57687. zones?: Array<SeriesZonesOptionsObject>;
  57688. }
  57689. /**
  57690. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  57691. * is displayed. The animation can also be set as a configuration object. Please
  57692. * note that this option only applies to the initial animation of the series
  57693. * itself. For other animations, see chart.animation and the animation parameter
  57694. * under the API methods. The following properties are supported:
  57695. *
  57696. * - `defer`: The animation delay time in milliseconds.
  57697. *
  57698. * - `duration`: The duration of the animation in milliseconds.
  57699. *
  57700. * - `easing`: Can be a string reference to an easing function set on the `Math`
  57701. * object or a function. See the _Custom easing function_ demo below.
  57702. *
  57703. * Due to poor performance, animation is disabled in old IE browsers for several
  57704. * chart types.
  57705. */
  57706. export interface PlotLollipopAnimationOptions {
  57707. defer?: number;
  57708. }
  57709. /**
  57710. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  57711. * is displayed for the `dataLabels`. The animation can also be set as a
  57712. * configuration object. Please note that this option only applies to the
  57713. * initial animation. For other animations, see chart.animation and the
  57714. * animation parameter under the API methods. The following properties are
  57715. * supported:
  57716. *
  57717. * - `defer`: The animation delay time in milliseconds.
  57718. */
  57719. export interface PlotLollipopDataLabelsAnimationOptions {
  57720. /**
  57721. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  57722. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  57723. * from the series.animation.defer.
  57724. */
  57725. defer?: number;
  57726. }
  57727. /**
  57728. * (Highcharts, Highstock) Options for the series data sorting.
  57729. */
  57730. export interface PlotLollipopDataSortingOptions {
  57731. /**
  57732. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  57733. * Use xAxis.reversed to change the sorting order.
  57734. */
  57735. enabled?: boolean;
  57736. /**
  57737. * (Highcharts, Highstock) Whether to allow matching points by name in an
  57738. * update. If this option is disabled, points will be matched by order.
  57739. */
  57740. matchByName?: boolean;
  57741. /**
  57742. * (Highcharts, Highstock) Determines what data value should be used to sort
  57743. * by.
  57744. */
  57745. sortKey?: string;
  57746. }
  57747. /**
  57748. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  57749. * one state by default, the `default` state.
  57750. */
  57751. export interface PlotLollipopDragDropGuideBoxOptions {
  57752. /**
  57753. * (Highcharts, Highstock) Style options for the guide box default state.
  57754. */
  57755. default?: DragDropGuideBoxOptionsObject;
  57756. }
  57757. /**
  57758. * (Highcharts, Highstock) The lollipop series is a carteseian series with a
  57759. * line anchored from the x axis and a dot at the end to mark the value.
  57760. * Requires `highcharts-more.js`, `modules/dumbbell.js` and
  57761. * `modules/lollipop.js`.
  57762. *
  57763. * In TypeScript the type option must always be set.
  57764. *
  57765. * Configuration options for the series are given in three levels:
  57766. *
  57767. * 1. Options for all series in a chart are defined in the plotOptions.series
  57768. * object.
  57769. *
  57770. * 2. Options for all `lollipop` series are defined in plotOptions.lollipop.
  57771. *
  57772. * 3. Options for one single series are given in the series instance array. (see
  57773. * online documentation for example)
  57774. */
  57775. export interface PlotLollipopOptions {
  57776. /**
  57777. * (Highcharts, Highstock) Accessibility options for a series.
  57778. */
  57779. accessibility?: SeriesAccessibilityOptionsObject;
  57780. /**
  57781. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  57782. * rendered. If `true`, areas which don't correspond to a data point, are
  57783. * rendered as `null` points. If `false`, those areas are skipped.
  57784. */
  57785. allAreas?: boolean;
  57786. /**
  57787. * (Highcharts, Highstock) Allow this series' points to be selected by
  57788. * clicking on the graphic (columns, point markers, pie slices, map areas
  57789. * etc).
  57790. *
  57791. * The selected points can be handled by point select and unselect events,
  57792. * or collectively by the getSelectedPoints function.
  57793. *
  57794. * And alternative way of selecting points is through dragging.
  57795. */
  57796. allowPointSelect?: boolean;
  57797. /**
  57798. * (Highcharts, Highstock) Enable or disable the initial animation when a
  57799. * series is displayed. The animation can also be set as a configuration
  57800. * object. Please note that this option only applies to the initial
  57801. * animation of the series itself. For other animations, see chart.animation
  57802. * and the animation parameter under the API methods. The following
  57803. * properties are supported:
  57804. *
  57805. * - `defer`: The animation delay time in milliseconds.
  57806. *
  57807. * - `duration`: The duration of the animation in milliseconds.
  57808. *
  57809. * - `easing`: Can be a string reference to an easing function set on the
  57810. * `Math` object or a function. See the _Custom easing function_ demo below.
  57811. *
  57812. * Due to poor performance, animation is disabled in old IE browsers for
  57813. * several chart types.
  57814. */
  57815. animation?: (boolean|PlotLollipopAnimationOptions|Partial<AnimationOptionsObject>);
  57816. /**
  57817. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  57818. * initial animation by default when the total number of points in the chart
  57819. * is too high. For example, for a column chart and its derivatives,
  57820. * animation does not run if there is more than 250 points totally. To
  57821. * disable this cap, set `animationLimit` to `Infinity`.
  57822. */
  57823. animationLimit?: number;
  57824. /**
  57825. * (Highmaps) The border color of the map areas.
  57826. *
  57827. * In styled mode, the border stroke is given in the `.highcharts-point`
  57828. * class.
  57829. */
  57830. borderColor?: (ColorString|GradientColorObject|PatternObject);
  57831. /**
  57832. * (Highmaps) The border width of each map area.
  57833. *
  57834. * In styled mode, the border stroke width is given in the
  57835. * `.highcharts-point` class.
  57836. */
  57837. borderWidth?: number;
  57838. /**
  57839. * (Highcharts, Highstock) An additional class name to apply to the series'
  57840. * graphical elements. This option does not replace default class names of
  57841. * the graphical element.
  57842. */
  57843. className?: string;
  57844. /**
  57845. * (Highcharts, Highstock) Disable this option to allow series rendering in
  57846. * the whole plotting area.
  57847. *
  57848. * **Note:** Clipping should be always enabled when chart.zoomType is set
  57849. */
  57850. clip?: boolean;
  57851. /**
  57852. * (Highcharts, Highstock) The main color of the series. In line type series
  57853. * it applies to the line and the point markers unless otherwise specified.
  57854. * In bar type series it applies to the bars unless a color is specified per
  57855. * point. The default value is pulled from the `options.colors` array.
  57856. *
  57857. * In styled mode, the color can be defined by the colorIndex option. Also,
  57858. * the series color can be set with the `.highcharts-series`,
  57859. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  57860. * `.highcharts-series-{n}` class, or individual classes given by the
  57861. * `className` option.
  57862. */
  57863. color?: (ColorString|GradientColorObject|PatternObject);
  57864. /**
  57865. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  57866. * this number defines which colorAxis the particular series is connected
  57867. * to. It refers to either the axis id or the index of the axis in the
  57868. * colorAxis array, with 0 being the first. Set this option to false to
  57869. * prevent a series from connecting to the default color axis.
  57870. *
  57871. * Since v7.2.0 the option can also be an axis id or an axis index instead
  57872. * of a boolean flag.
  57873. */
  57874. colorAxis?: (boolean|number|string);
  57875. /**
  57876. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  57877. * for the series, so its graphic representations are given the class name
  57878. * `highcharts-color-{n}`.
  57879. */
  57880. colorIndex?: number;
  57881. /**
  57882. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  57883. * used to calculate point color if `colorAxis` is used. Requires to set
  57884. * `min` and `max` if some custom point property is used or if approximation
  57885. * for data grouping is set to `'sum'`.
  57886. */
  57887. colorKey?: string;
  57888. /**
  57889. * (Highstock) Compare the values of the series against the first non-null,
  57890. * non- zero value in the visible range. The y axis will show percentage or
  57891. * absolute change depending on whether `compare` is set to `"percent"` or
  57892. * `"value"`. When this is applied to multiple series, it allows comparing
  57893. * the development of the series against each other. Adds a `change` field
  57894. * to every point object.
  57895. */
  57896. compare?: string;
  57897. /**
  57898. * (Highstock) When compare is `percent`, this option dictates whether to
  57899. * use 0 or 100 as the base of comparison.
  57900. */
  57901. compareBase?: (0|100);
  57902. /**
  57903. * (Highstock) Defines if comparison should start from the first point
  57904. * within the visible range or should start from the first point **before**
  57905. * the range.
  57906. *
  57907. * In other words, this flag determines if first point within the visible
  57908. * range will have 0% (`compareStart=true`) or should have been already
  57909. * calculated according to the previous point (`compareStart=false`).
  57910. */
  57911. compareStart?: boolean;
  57912. /**
  57913. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  57914. * series plot across the extremes.
  57915. */
  57916. connectEnds?: boolean;
  57917. /**
  57918. * (Highcharts, Highstock) Whether to connect a graph line across null
  57919. * points, or render a gap between the two points on either side of the
  57920. * null.
  57921. */
  57922. connectNulls?: boolean;
  57923. /**
  57924. * (Highcharts, Highstock) Color of the line that connects the dumbbell
  57925. * point's values. By default it is the series' color.
  57926. */
  57927. connectorColor?: string;
  57928. /**
  57929. * (Gantt) Override Pathfinder connector options for a series. Requires
  57930. * Highcharts Gantt to be loaded.
  57931. */
  57932. connectors?: SeriesConnectorsOptionsObject;
  57933. /**
  57934. * (Highcharts, Highstock) Pixel width of the line that connects the
  57935. * dumbbell point's values.
  57936. */
  57937. connectorWidth?: number;
  57938. /**
  57939. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  57940. * rounded to its nearest pixel in order to render sharp on screen. In some
  57941. * cases, when there are a lot of densely packed columns, this leads to
  57942. * visible difference in column widths or distance between columns. In these
  57943. * cases, setting `crisp` to `false` may look better, even though each
  57944. * column is rendered blurry.
  57945. */
  57946. crisp?: boolean;
  57947. /**
  57948. * (Highcharts, Highstock) When the series contains less points than the
  57949. * crop threshold, all points are drawn, even if the points fall outside the
  57950. * visible plot area at the current zoom. The advantage of drawing all
  57951. * points (including markers and columns), is that animation is performed on
  57952. * updates. On the other hand, when the series contains more points than the
  57953. * crop threshold, the series data is cropped to only contain points that
  57954. * fall within the plot area. The advantage of cropping away invisible
  57955. * points is to increase performance on large series.
  57956. */
  57957. cropThreshold?: number;
  57958. /**
  57959. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  57960. * click events attached to the series, to signal to the user that the
  57961. * points and lines can be clicked.
  57962. *
  57963. * In styled mode, the series cursor can be set with the same classes as
  57964. * listed under series.color.
  57965. */
  57966. cursor?: (string|CursorValue);
  57967. /**
  57968. * (Highcharts, Highstock) A reserved subspace to store options and values
  57969. * for customized functionality. Here you can add additional data for your
  57970. * own event callbacks and formatter callbacks.
  57971. */
  57972. custom?: Dictionary<any>;
  57973. /**
  57974. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  57975. * for some series types the outline of each shape.
  57976. *
  57977. * In styled mode, the stroke dash-array can be set with the same classes as
  57978. * listed under series.color.
  57979. */
  57980. dashStyle?: DashStyleValue;
  57981. /**
  57982. * (Highstock) Data grouping is the concept of sampling the data values into
  57983. * larger blocks in order to ease readability and increase performance of
  57984. * the JavaScript charts. Highcharts Stock by default applies data grouping
  57985. * when the points become closer than a certain pixel value, determined by
  57986. * the `groupPixelWidth` option.
  57987. *
  57988. * If data grouping is applied, the grouping information of grouped points
  57989. * can be read from the Point.dataGroup. If point options other than the
  57990. * data itself are set, for example `name` or `color` or custom properties,
  57991. * the grouping logic doesn't know how to group it. In this case the options
  57992. * of the first point instance are copied over to the group point. This can
  57993. * be altered through a custom `approximation` callback function.
  57994. */
  57995. dataGrouping?: DataGroupingOptionsObject;
  57996. /**
  57997. * (Highcharts, Highstock) Extended data labels for range series types.
  57998. * Range series data labels use no `x` and `y` options. Instead, they have
  57999. * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
  58000. * data label sets individually.
  58001. */
  58002. dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
  58003. /**
  58004. * (Highcharts, Highstock) Options for the series data sorting.
  58005. */
  58006. dataSorting?: (DataSortingOptionsObject|PlotLollipopDataSortingOptions);
  58007. /**
  58008. * (Highcharts, Highstock) A description of the series to add to the screen
  58009. * reader information about the series.
  58010. */
  58011. description?: string;
  58012. /**
  58013. * (Highcharts, Highstock) The draggable-points module allows points to be
  58014. * moved around or modified in the chart. In addition to the options
  58015. * mentioned under the `dragDrop` API structure, the module fires three
  58016. * events, point.dragStart, point.drag and point.drop.
  58017. */
  58018. dragDrop?: SeriesDragDropOptionsObject;
  58019. /**
  58020. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  58021. * specific series. This includes point tooltips and click events on graphs
  58022. * and points. For large datasets it improves performance.
  58023. */
  58024. enableMouseTracking?: boolean;
  58025. /**
  58026. * (Highcharts, Highstock) General event handlers for the series items.
  58027. * These event hooks can also be attached to the series at run time using
  58028. * the `Highcharts.addEvent` function.
  58029. */
  58030. events?: SeriesEventsOptionsObject;
  58031. /**
  58032. * (Highcharts, Highstock) Determines whether the series should look for the
  58033. * nearest point in both dimensions or just the x-dimension when hovering
  58034. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  58035. * other series. If the data has duplicate x-values, it is recommended to
  58036. * set this to `'xy'` to allow hovering over all points.
  58037. *
  58038. * Applies only to series types using nearest neighbor search (not direct
  58039. * hover) for tooltip.
  58040. */
  58041. findNearestPointBy?: OptionsFindNearestPointByValue;
  58042. /**
  58043. * (Highstock) Defines when to display a gap in the graph, together with the
  58044. * gapUnit option.
  58045. *
  58046. * In case when `dataGrouping` is enabled, points can be grouped into a
  58047. * larger time span. This can make the grouped points to have a greater
  58048. * distance than the absolute value of `gapSize` property, which will result
  58049. * in disappearing graph completely. To prevent this situation the mentioned
  58050. * distance between grouped points is used instead of previously defined
  58051. * `gapSize`.
  58052. *
  58053. * In practice, this option is most often used to visualize gaps in time
  58054. * series. In a stock chart, intraday data is available for daytime hours,
  58055. * while gaps will appear in nights and weekends.
  58056. */
  58057. gapSize?: number;
  58058. /**
  58059. * (Highstock) Together with gapSize, this option defines where to draw gaps
  58060. * in the graph.
  58061. *
  58062. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  58063. * if the distance between two points is greater than 5 times that of the
  58064. * two closest points, the graph will be broken.
  58065. *
  58066. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  58067. * values, which on a datetime axis is milliseconds. This also applies to
  58068. * the navigator series that inherits gap options from the base series.
  58069. */
  58070. gapUnit?: OptionsGapUnitValue;
  58071. /**
  58072. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  58073. * chart width or only the zoomed area when zooming in on parts of the X
  58074. * axis. By default, the Y axis adjusts to the min and max of the visible
  58075. * data. Cartesian series only.
  58076. */
  58077. getExtremesFromAll?: boolean;
  58078. groupPadding?: number;
  58079. /**
  58080. * (Highcharts, Highstock) When set to `false` will prevent the series data
  58081. * from being included in any form of data export.
  58082. *
  58083. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  58084. * `includeInCSVExport`.
  58085. */
  58086. includeInDataExport?: boolean;
  58087. /**
  58088. * (Highmaps) What property to join the `mapData` to the value data. For
  58089. * example, if joinBy is "code", the mapData items with a specific code is
  58090. * merged into the data with the same code. For maps loaded from GeoJSON,
  58091. * the keys may be held in each point's `properties` object.
  58092. *
  58093. * The joinBy option can also be an array of two values, where the first
  58094. * points to a key in the `mapData`, and the second points to another key in
  58095. * the `data`.
  58096. *
  58097. * When joinBy is `null`, the map items are joined by their position in the
  58098. * array, which performs much better in maps with many data points. This is
  58099. * the recommended option if you are printing more than a thousand data
  58100. * points and have a backend that can preprocess the data into a parallel
  58101. * array of the mapData.
  58102. */
  58103. joinBy?: (string|Array<string>);
  58104. /**
  58105. * (Highcharts, Highstock) An array specifying which option maps to which
  58106. * key in the data point array. This makes it convenient to work with
  58107. * unstructured data arrays from different sources.
  58108. */
  58109. keys?: Array<string>;
  58110. /**
  58111. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  58112. * series as possible in a natural way, seeking to avoid other series. The
  58113. * goal of this feature is to make the chart more easily readable, like if a
  58114. * human designer placed the labels in the optimal position.
  58115. *
  58116. * The series labels currently work with series types having a `graph` or an
  58117. * `area`.
  58118. */
  58119. label?: SeriesLabelOptionsObject;
  58120. /**
  58121. * (Highstock) The line marks the last price from all points.
  58122. */
  58123. lastPrice?: SeriesLastPriceOptionsObject;
  58124. /**
  58125. * (Highstock) The line marks the last price from visible range of points.
  58126. */
  58127. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  58128. /**
  58129. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  58130. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  58131. * the ends and bends.
  58132. */
  58133. linecap?: SeriesLinecapValue;
  58134. /**
  58135. * (Highcharts, Highstock) A separate color for the graph line. By default
  58136. * the line takes the `color` of the series, but the lineColor setting
  58137. * allows setting a separate color for the line without altering the
  58138. * `fillColor`.
  58139. *
  58140. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  58141. * class name.
  58142. */
  58143. lineColor?: (ColorString|GradientColorObject|PatternObject);
  58144. /**
  58145. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  58146. * Additionally, the value can be ":previous" to link to the previous
  58147. * series. When two series are linked, only the first one appears in the
  58148. * legend. Toggling the visibility of this also toggles the linked series.
  58149. *
  58150. * If master series uses data sorting and linked series does not have its
  58151. * own sorting definition, the linked series will be sorted in the same
  58152. * order as the master one.
  58153. */
  58154. linkedTo?: string;
  58155. /**
  58156. * (Highcharts, Highstock) Options for the point markers of line-like
  58157. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  58158. * the visual appearance of the markers. Other series types, like column
  58159. * series, don't have markers, but have visual options on the series level
  58160. * instead.
  58161. *
  58162. * In styled mode, the markers can be styled with the `.highcharts-point`,
  58163. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  58164. */
  58165. marker?: PointMarkerOptionsObject;
  58166. /**
  58167. * (Highstock) Options for the corresponding navigator series if
  58168. * `showInNavigator` is `true` for this series. Available options are the
  58169. * same as any series, documented at plotOptions and series.
  58170. *
  58171. * These options are merged with options in navigator.series, and will take
  58172. * precedence if the same option is defined both places.
  58173. */
  58174. navigatorOptions?: PlotSeriesOptions;
  58175. /**
  58176. * (Highcharts, Highstock) The color for the parts of the graph or points
  58177. * that are below the threshold. Note that `zones` takes precedence over the
  58178. * negative color. Using `negativeColor` is equivalent to applying a zone
  58179. * with value of 0.
  58180. */
  58181. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  58182. /**
  58183. * (Highcharts) A separate color for the negative part of the area.
  58184. *
  58185. * In styled mode, a negative color is set with the `.highcharts-negative`
  58186. * class name.
  58187. */
  58188. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  58189. /**
  58190. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  58191. * and dataLabels.
  58192. */
  58193. opacity?: number;
  58194. /**
  58195. * (Highcharts, Highstock) Properties for each single point.
  58196. */
  58197. point?: PlotSeriesPointOptions;
  58198. /**
  58199. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  58200. * but for an individual series. Overrides the chart wide configuration.
  58201. */
  58202. pointDescriptionFormatter?: Function;
  58203. /**
  58204. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  58205. * a series, `pointInterval` defines the interval of the x values. For
  58206. * example, if a series contains one value every decade starting from year
  58207. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  58208. * `pointInterval` is set in milliseconds.
  58209. *
  58210. * It can be also be combined with `pointIntervalUnit` to draw irregular
  58211. * time intervals.
  58212. *
  58213. * Please note that this options applies to the _series data_, not the
  58214. * interval of the axis ticks, which is independent.
  58215. */
  58216. pointInterval?: number;
  58217. /**
  58218. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  58219. * setting the pointInterval to irregular time units, `day`, `month` and
  58220. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  58221. * also takes the DST crossover into consideration when dealing with local
  58222. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  58223. * months, 10 years etc.
  58224. *
  58225. * Please note that this options applies to the _series data_, not the
  58226. * interval of the axis ticks, which is independent.
  58227. */
  58228. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  58229. pointPadding?: number;
  58230. /**
  58231. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  58232. * `number`.
  58233. *
  58234. * In a column chart, when pointPlacement is `"on"`, the point will not
  58235. * create any padding of the X axis. In a polar column chart this means that
  58236. * the first column points directly north. If the pointPlacement is
  58237. * `"between"`, the columns will be laid out between ticks. This is useful
  58238. * for example for visualising an amount between two points in time or in a
  58239. * certain sector of a polar chart.
  58240. *
  58241. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  58242. * is on the axis value, -0.5 is between this value and the previous, and
  58243. * 0.5 is between this value and the next. Unlike the textual options,
  58244. * numeric point placement options won't affect axis padding.
  58245. *
  58246. * Note that pointPlacement needs a pointRange to work. For column series
  58247. * this is computed, but for line-type series it needs to be set.
  58248. *
  58249. * For the `xrange` series type and gantt charts, if the Y axis is a
  58250. * category axis, the `pointPlacement` applies to the Y axis rather than the
  58251. * (typically datetime) X axis.
  58252. *
  58253. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  58254. */
  58255. pointPlacement?: (number|string);
  58256. /**
  58257. * (Highstock) The width of each point on the x axis. For example in a
  58258. * column chart with one value each day, the pointRange would be 1 day (= 24
  58259. * * 3600
  58260. *
  58261. * * 1000 milliseconds). This is normally computed automatically, but this
  58262. * option can be used to override the automatic value.
  58263. */
  58264. pointRange?: number;
  58265. /**
  58266. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  58267. * a series, pointStart defines on what value to start. For example, if a
  58268. * series contains one yearly value starting from 1945, set pointStart to
  58269. * 1945.
  58270. */
  58271. pointStart?: number;
  58272. /**
  58273. * (Highcharts, Highstock) Whether to select the series initially. If
  58274. * `showCheckbox` is true, the checkbox next to the series name in the
  58275. * legend will be checked for a selected series.
  58276. */
  58277. selected?: boolean;
  58278. /**
  58279. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  58280. * the shadow can be an object configuration containing `color`, `offsetX`,
  58281. * `offsetY`, `opacity` and `width`.
  58282. */
  58283. shadow?: (boolean|ShadowOptionsObject);
  58284. /**
  58285. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  58286. * legend item to allow selecting the series. The state of the checkbox is
  58287. * determined by the `selected` option.
  58288. */
  58289. showCheckbox?: boolean;
  58290. /**
  58291. * (Highcharts, Highstock) Whether to display this particular series or
  58292. * series type in the legend. Standalone series are shown in legend by
  58293. * default, and linked series are not. Since v7.2.0 it is possible to show
  58294. * series that use colorAxis by setting this option to `true`.
  58295. */
  58296. showInLegend?: boolean;
  58297. /**
  58298. * (Highstock) Whether or not to show the series in the navigator. Takes
  58299. * precedence over navigator.baseSeries if defined.
  58300. */
  58301. showInNavigator?: boolean;
  58302. /**
  58303. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  58304. * skip past the points in this series for keyboard navigation.
  58305. */
  58306. skipKeyboardNavigation?: boolean;
  58307. /**
  58308. * (Highcharts, Highstock) When this is true, the series will not cause the
  58309. * Y axis to cross the zero plane (or threshold option) unless the data
  58310. * actually crosses the plane.
  58311. *
  58312. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  58313. * make the Y axis show negative values according to the `minPadding`
  58314. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  58315. */
  58316. softThreshold?: boolean;
  58317. states?: SeriesStatesOptionsObject;
  58318. /**
  58319. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  58320. * values are `left`, `center` and `right`.
  58321. */
  58322. step?: OptionsStepValue;
  58323. /**
  58324. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  58325. * area, for distinguishing between values above and below a threshold. The
  58326. * area between the graph and the threshold is filled.
  58327. *
  58328. * * If a number is given, the Y axis will scale to the threshold.
  58329. *
  58330. * * If `null`, the scaling behaves like a line series with fill between the
  58331. * graph and the Y axis minimum.
  58332. *
  58333. * * If `Infinity` or `-Infinity`, the area between the graph and the
  58334. * corresponding Y axis extreme is filled (since v6.1.0).
  58335. */
  58336. threshold?: (number|null);
  58337. /**
  58338. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  58339. * of each single series. Properties are inherited from tooltip, but only
  58340. * the following properties can be defined on a series level.
  58341. */
  58342. tooltip?: SeriesTooltipOptionsObject;
  58343. /**
  58344. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  58345. * is longer than this, only one dimensional arrays of numbers, or two
  58346. * dimensional arrays with x and y values are allowed. Also, only the first
  58347. * point is tested, and the rest are assumed to be the same format. This
  58348. * saves expensive data checking and indexing in long series. Set it to `0`
  58349. * disable.
  58350. *
  58351. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  58352. * two dimensional arrays are allowed.
  58353. */
  58354. turboThreshold?: number;
  58355. /**
  58356. * (Highcharts, Highstock) Set the initial visibility of the series.
  58357. */
  58358. visible?: boolean;
  58359. /**
  58360. * (Highmaps) Define the z index of the series.
  58361. */
  58362. zIndex?: number;
  58363. /**
  58364. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  58365. */
  58366. zoneAxis?: string;
  58367. /**
  58368. * (Highcharts, Highstock) An array defining zones within a series. Zones
  58369. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  58370. * the `zoneAxis` option. The zone definitions have to be in ascending order
  58371. * regarding to the value.
  58372. *
  58373. * In styled mode, the color zones are styled with the
  58374. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  58375. * option (view live demo).
  58376. */
  58377. zones?: Array<SeriesZonesOptionsObject>;
  58378. }
  58379. /**
  58380. * (Highstock) Enable or disable the initial animation when a series is
  58381. * displayed. The animation can also be set as a configuration object. Please
  58382. * note that this option only applies to the initial animation of the series
  58383. * itself. For other animations, see chart.animation and the animation parameter
  58384. * under the API methods. The following properties are supported:
  58385. *
  58386. * - `defer`: The animation delay time in milliseconds.
  58387. *
  58388. * - `duration`: The duration of the animation in milliseconds.
  58389. *
  58390. * - `easing`: Can be a string reference to an easing function set on the `Math`
  58391. * object or a function. See the _Custom easing function_ demo below.
  58392. *
  58393. * Due to poor performance, animation is disabled in old IE browsers for several
  58394. * chart types.
  58395. */
  58396. export interface PlotMacdAnimationOptions {
  58397. defer?: number;
  58398. }
  58399. /**
  58400. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  58401. * animation when a series is displayed for the `dataLabels`. The animation can
  58402. * also be set as a configuration object. Please note that this option only
  58403. * applies to the initial animation. For other animations, see chart.animation
  58404. * and the animation parameter under the API methods. The following properties
  58405. * are supported:
  58406. *
  58407. * - `defer`: The animation delay time in milliseconds.
  58408. */
  58409. export interface PlotMacdDataLabelsAnimationOptions {
  58410. /**
  58411. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  58412. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  58413. * inherits defer time from the series.animation.defer.
  58414. */
  58415. defer?: number;
  58416. }
  58417. /**
  58418. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  58419. * appearing next to each data point.
  58420. *
  58421. * Since v6.2.0, multiple data labels can be applied to each single point by
  58422. * defining them as an array of configs.
  58423. *
  58424. * In styled mode, the data labels can be styled with the
  58425. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  58426. * example).
  58427. */
  58428. export interface PlotMacdDataLabelsOptions {
  58429. /**
  58430. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  58431. * compared to the point. If `right`, the right side of the label should be
  58432. * touching the point. For points with an extent, like columns, the
  58433. * alignments also dictates how to align it inside the box, as given with
  58434. * the inside option. Can be one of `left`, `center` or `right`.
  58435. */
  58436. align?: (AlignValue|null);
  58437. /**
  58438. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  58439. * overlap. To make the labels less sensitive for overlapping, the
  58440. * dataLabels.padding can be set to 0.
  58441. */
  58442. allowOverlap?: boolean;
  58443. /**
  58444. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  58445. * animation when a series is displayed for the `dataLabels`. The animation
  58446. * can also be set as a configuration object. Please note that this option
  58447. * only applies to the initial animation. For other animations, see
  58448. * chart.animation and the animation parameter under the API methods. The
  58449. * following properties are supported:
  58450. *
  58451. * - `defer`: The animation delay time in milliseconds.
  58452. */
  58453. animation?: (boolean|PlotMacdDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  58454. /**
  58455. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  58456. * for the data label.
  58457. */
  58458. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  58459. /**
  58460. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  58461. * label. Defaults to `undefined`.
  58462. */
  58463. borderColor?: (ColorString|GradientColorObject|PatternObject);
  58464. /**
  58465. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  58466. * the data label.
  58467. */
  58468. borderRadius?: number;
  58469. /**
  58470. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  58471. * the data label.
  58472. */
  58473. borderWidth?: number;
  58474. /**
  58475. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  58476. * Particularly in styled mode, this can be used to give each series' or
  58477. * point's data label unique styling. In addition to this option, a default
  58478. * color class name is added so that we can give the labels a contrast text
  58479. * shadow.
  58480. */
  58481. className?: string;
  58482. /**
  58483. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  58484. * labels. Defaults to `undefined`. For certain series types, like column or
  58485. * map, the data labels can be drawn inside the points. In this case the
  58486. * data label will be drawn with maximum contrast by default. Additionally,
  58487. * it will be given a `text-outline` style with the opposite color, to
  58488. * further increase the contrast. This can be overridden by setting the
  58489. * `text-outline` style to `none` in the `dataLabels.style` option.
  58490. */
  58491. color?: (ColorString|GradientColorObject|PatternObject);
  58492. /**
  58493. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  58494. * are outside the plot area. By default, the data label is moved inside the
  58495. * plot area according to the overflow option.
  58496. */
  58497. crop?: boolean;
  58498. /**
  58499. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  58500. * labels until the initial series animation has finished. Setting to
  58501. * `false` renders the data label immediately. If set to `true` inherits the
  58502. * defer time set in plotOptions.series.animation. If set to a number, a
  58503. * defer time is specified in milliseconds.
  58504. */
  58505. defer?: (boolean|number);
  58506. /**
  58507. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  58508. * labels.
  58509. */
  58510. enabled?: boolean;
  58511. /**
  58512. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  58513. * of which data labels to display. The declarative filter is designed for
  58514. * use when callback functions are not available, like when the chart
  58515. * options require a pure JSON structure or for use with graphical editors.
  58516. * For programmatic control, use the `formatter` instead, and return
  58517. * `undefined` to disable a single data label.
  58518. */
  58519. filter?: DataLabelsFilterOptionsObject;
  58520. /**
  58521. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  58522. * label. Available variables are the same as for `formatter`.
  58523. */
  58524. format?: string;
  58525. /**
  58526. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  58527. * format the data label. Note that if a `format` is defined, the format
  58528. * takes precedence and the formatter is ignored.
  58529. */
  58530. formatter?: DataLabelsFormatterCallbackFunction;
  58531. /**
  58532. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  58533. * columns or map areas, whether to align the data label inside the box or
  58534. * to the actual value point. Defaults to `false` in most cases, `true` in
  58535. * stacked columns.
  58536. */
  58537. inside?: boolean;
  58538. /**
  58539. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  58540. * of null. Works analogously to format. `nullFormat` can be applied only to
  58541. * series which support displaying null points.
  58542. */
  58543. nullFormat?: (boolean|string);
  58544. /**
  58545. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  58546. * that defines formatting for points with the value of null. Works
  58547. * analogously to formatter. `nullPointFormatter` can be applied only to
  58548. * series which support displaying null points.
  58549. */
  58550. nullFormatter?: DataLabelsFormatterCallbackFunction;
  58551. /**
  58552. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  58553. * flow outside the plot area. The default is `"justify"`, which aligns them
  58554. * inside the plot area. For columns and bars, this means it will be moved
  58555. * inside the bar. To display data labels outside the plot area, set `crop`
  58556. * to `false` and `overflow` to `"allow"`.
  58557. */
  58558. overflow?: DataLabelsOverflowValue;
  58559. /**
  58560. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  58561. * the `backgroundColor` is set, this is the padding within the box.
  58562. */
  58563. padding?: number;
  58564. /**
  58565. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  58566. * points. If `center` alignment is not possible, it defaults to `right`.
  58567. */
  58568. position?: AlignValue;
  58569. /**
  58570. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  58571. * that due to a more complex structure, backgrounds, borders and padding
  58572. * will be lost on a rotated data label.
  58573. */
  58574. rotation?: number;
  58575. /**
  58576. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  58577. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  58578. * an object configuration containing `color`, `offsetX`, `offsetY`,
  58579. * `opacity` and `width`.
  58580. */
  58581. shadow?: (boolean|ShadowOptionsObject);
  58582. /**
  58583. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  58584. * the border around the label. Symbols are predefined functions on the
  58585. * Renderer object.
  58586. */
  58587. shape?: string;
  58588. /**
  58589. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  58590. * default `color` setting is `"contrast"`, which is a pseudo color that
  58591. * Highcharts picks up and applies the maximum contrast to the underlying
  58592. * point item, for example the bar in a bar chart.
  58593. *
  58594. * The `textOutline` is a pseudo property that applies an outline of the
  58595. * given width with the given color, which by default is the maximum
  58596. * contrast to the text. So a bright text color will result in a black text
  58597. * outline for maximum readability on a mixed background. In some cases,
  58598. * especially with grayscale text, the text outline doesn't work well, in
  58599. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  58600. * is true, the `textOutline` will not be picked up. In this, case, the same
  58601. * effect can be acheived through the `text-shadow` CSS property.
  58602. *
  58603. * For some series types, where each point has an extent, like for example
  58604. * tree maps, the data label may overflow the point. There are two
  58605. * strategies for handling overflow. By default, the text will wrap to
  58606. * multiple lines. The other strategy is to set `style.textOverflow` to
  58607. * `ellipsis`, which will keep the text on one line plus it will break
  58608. * inside long words.
  58609. */
  58610. style?: CSSObject;
  58611. /**
  58612. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  58613. * should follow marker's shape. Border and background are disabled for a
  58614. * label that follows a path.
  58615. *
  58616. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  58617. * to true will disable this option.
  58618. */
  58619. textPath?: DataLabelsTextPathOptionsObject;
  58620. /**
  58621. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  58622. * the labels.
  58623. */
  58624. useHTML?: boolean;
  58625. /**
  58626. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  58627. * label. Can be one of `top`, `middle` or `bottom`. The default value
  58628. * depends on the data, for instance in a column chart, the label is above
  58629. * positive values and below negative values.
  58630. */
  58631. verticalAlign?: (VerticalAlignValue|null);
  58632. /**
  58633. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  58634. * label relative to the point in pixels.
  58635. */
  58636. x?: number;
  58637. /**
  58638. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  58639. * label relative to the point in pixels.
  58640. */
  58641. y?: number;
  58642. /**
  58643. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  58644. * The default Z index puts it above the series. Use a Z index of 2 to
  58645. * display it behind the series.
  58646. */
  58647. z?: number;
  58648. }
  58649. /**
  58650. * (Highcharts, Highstock) Options for the series data sorting.
  58651. */
  58652. export interface PlotMacdDataSortingOptions {
  58653. /**
  58654. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  58655. * Use xAxis.reversed to change the sorting order.
  58656. */
  58657. enabled?: boolean;
  58658. /**
  58659. * (Highcharts, Highstock) Whether to allow matching points by name in an
  58660. * update. If this option is disabled, points will be matched by order.
  58661. */
  58662. matchByName?: boolean;
  58663. /**
  58664. * (Highcharts, Highstock) Determines what data value should be used to sort
  58665. * by.
  58666. */
  58667. sortKey?: string;
  58668. }
  58669. /**
  58670. * (Highstock) The styles for macd line
  58671. */
  58672. export interface PlotMacdMacdLineOptions {
  58673. styles?: PlotMacdMacdLineStylesOptions;
  58674. /**
  58675. * (Highcharts, Highstock) An array defining zones within a series. Zones
  58676. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  58677. * the `zoneAxis` option. The zone definitions have to be in ascending order
  58678. * regarding to the value.
  58679. *
  58680. * In styled mode, the color zones are styled with the
  58681. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  58682. * option (view live demo).
  58683. */
  58684. zones?: Array<SeriesZonesOptionsObject>;
  58685. }
  58686. export interface PlotMacdMacdLineStylesOptions {
  58687. /**
  58688. * (Highstock) Color of the line.
  58689. */
  58690. lineColor?: ColorString;
  58691. /**
  58692. * (Highstock) Pixel width of the line.
  58693. */
  58694. lineWidth?: number;
  58695. }
  58696. /**
  58697. * (Highstock) Moving Average Convergence Divergence (MACD). This series
  58698. * requires `linkedTo` option to be set and should be loaded after the
  58699. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  58700. *
  58701. * In TypeScript the type option must always be set.
  58702. *
  58703. * Configuration options for the series are given in three levels:
  58704. *
  58705. * 1. Options for all series in a chart are defined in the plotOptions.series
  58706. * object.
  58707. *
  58708. * 2. Options for all `macd` series are defined in plotOptions.macd.
  58709. *
  58710. * 3. Options for one single series are given in the series instance array. (see
  58711. * online documentation for example)
  58712. */
  58713. export interface PlotMacdOptions {
  58714. /**
  58715. * (Highstock) Accessibility options for a series.
  58716. */
  58717. accessibility?: SeriesAccessibilityOptionsObject;
  58718. /**
  58719. * (Highstock) Allow this series' points to be selected by clicking on the
  58720. * graphic (columns, point markers, pie slices, map areas etc).
  58721. *
  58722. * The selected points can be handled by point select and unselect events,
  58723. * or collectively by the getSelectedPoints function.
  58724. *
  58725. * And alternative way of selecting points is through dragging.
  58726. */
  58727. allowPointSelect?: boolean;
  58728. /**
  58729. * (Highstock) Enable or disable the initial animation when a series is
  58730. * displayed. The animation can also be set as a configuration object.
  58731. * Please note that this option only applies to the initial animation of the
  58732. * series itself. For other animations, see chart.animation and the
  58733. * animation parameter under the API methods. The following properties are
  58734. * supported:
  58735. *
  58736. * - `defer`: The animation delay time in milliseconds.
  58737. *
  58738. * - `duration`: The duration of the animation in milliseconds.
  58739. *
  58740. * - `easing`: Can be a string reference to an easing function set on the
  58741. * `Math` object or a function. See the _Custom easing function_ demo below.
  58742. *
  58743. * Due to poor performance, animation is disabled in old IE browsers for
  58744. * several chart types.
  58745. */
  58746. animation?: (boolean|PlotMacdAnimationOptions|Partial<AnimationOptionsObject>);
  58747. /**
  58748. * (Highstock) For some series, there is a limit that shuts down initial
  58749. * animation by default when the total number of points in the chart is too
  58750. * high. For example, for a column chart and its derivatives, animation does
  58751. * not run if there is more than 250 points totally. To disable this cap,
  58752. * set `animationLimit` to `Infinity`.
  58753. */
  58754. animationLimit?: number;
  58755. /**
  58756. * (Highstock) Sets the color blending in the boost module.
  58757. */
  58758. boostBlending?: OptionsBoostBlendingValue;
  58759. /**
  58760. * (Highstock) Set the point threshold for when a series should enter boost
  58761. * mode.
  58762. *
  58763. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  58764. * there are 2000 or more points in the series.
  58765. *
  58766. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  58767. * it to 1 will force boosting.
  58768. *
  58769. * Note that the cropThreshold also affects this setting. When zooming in on
  58770. * a series that has fewer points than the `cropThreshold`, all points are
  58771. * rendered although outside the visible plot area, and the `boostThreshold`
  58772. * won't take effect.
  58773. */
  58774. boostThreshold?: number;
  58775. /**
  58776. * (Highmaps) The border color of the map areas.
  58777. *
  58778. * In styled mode, the border stroke is given in the `.highcharts-point`
  58779. * class.
  58780. */
  58781. borderColor?: (ColorString|GradientColorObject|PatternObject);
  58782. /**
  58783. * (Highmaps) The border width of each map area.
  58784. *
  58785. * In styled mode, the border stroke width is given in the
  58786. * `.highcharts-point` class.
  58787. */
  58788. borderWidth?: number;
  58789. /**
  58790. * (Highstock) An additional class name to apply to the series' graphical
  58791. * elements. This option does not replace default class names of the
  58792. * graphical element.
  58793. */
  58794. className?: string;
  58795. /**
  58796. * (Highstock) Disable this option to allow series rendering in the whole
  58797. * plotting area.
  58798. *
  58799. * **Note:** Clipping should be always enabled when chart.zoomType is set
  58800. */
  58801. clip?: boolean;
  58802. /**
  58803. * (Highstock) The main color of the series. In line type series it applies
  58804. * to the line and the point markers unless otherwise specified. In bar type
  58805. * series it applies to the bars unless a color is specified per point. The
  58806. * default value is pulled from the `options.colors` array.
  58807. *
  58808. * In styled mode, the color can be defined by the colorIndex option. Also,
  58809. * the series color can be set with the `.highcharts-series`,
  58810. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  58811. * `.highcharts-series-{n}` class, or individual classes given by the
  58812. * `className` option.
  58813. */
  58814. color?: (ColorString|GradientColorObject|PatternObject);
  58815. /**
  58816. * (Highstock) Styled mode only. A specific color index to use for the
  58817. * series, so its graphic representations are given the class name
  58818. * `highcharts-color-{n}`.
  58819. */
  58820. colorIndex?: number;
  58821. /**
  58822. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  58823. * used to calculate point color if `colorAxis` is used. Requires to set
  58824. * `min` and `max` if some custom point property is used or if approximation
  58825. * for data grouping is set to `'sum'`.
  58826. */
  58827. colorKey?: string;
  58828. /**
  58829. * (Highstock) Compare the values of the series against the first non-null,
  58830. * non- zero value in the visible range. The y axis will show percentage or
  58831. * absolute change depending on whether `compare` is set to `"percent"` or
  58832. * `"value"`. When this is applied to multiple series, it allows comparing
  58833. * the development of the series against each other. Adds a `change` field
  58834. * to every point object.
  58835. */
  58836. compare?: string;
  58837. /**
  58838. * (Highstock) When compare is `percent`, this option dictates whether to
  58839. * use 0 or 100 as the base of comparison.
  58840. */
  58841. compareBase?: (0|100);
  58842. /**
  58843. * (Highstock) Defines if comparison should start from the first point
  58844. * within the visible range or should start from the first point **before**
  58845. * the range.
  58846. *
  58847. * In other words, this flag determines if first point within the visible
  58848. * range will have 0% (`compareStart=true`) or should have been already
  58849. * calculated according to the previous point (`compareStart=false`).
  58850. */
  58851. compareStart?: boolean;
  58852. /**
  58853. * (Highstock) Whether to compare indicator to the main series values or
  58854. * indicator values.
  58855. */
  58856. compareToMain?: boolean;
  58857. /**
  58858. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  58859. * series plot across the extremes.
  58860. */
  58861. connectEnds?: boolean;
  58862. /**
  58863. * (Highcharts, Highstock) Whether to connect a graph line across null
  58864. * points, or render a gap between the two points on either side of the
  58865. * null.
  58866. */
  58867. connectNulls?: boolean;
  58868. /**
  58869. * (Gantt) Override Pathfinder connector options for a series. Requires
  58870. * Highcharts Gantt to be loaded.
  58871. */
  58872. connectors?: SeriesConnectorsOptionsObject;
  58873. /**
  58874. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  58875. * rounded to its nearest pixel in order to render sharp on screen. In some
  58876. * cases, when there are a lot of densely packed columns, this leads to
  58877. * visible difference in column widths or distance between columns. In these
  58878. * cases, setting `crisp` to `false` may look better, even though each
  58879. * column is rendered blurry.
  58880. */
  58881. crisp?: boolean;
  58882. /**
  58883. * (Highcharts, Highstock) When the series contains less points than the
  58884. * crop threshold, all points are drawn, even if the points fall outside the
  58885. * visible plot area at the current zoom. The advantage of drawing all
  58886. * points (including markers and columns), is that animation is performed on
  58887. * updates. On the other hand, when the series contains more points than the
  58888. * crop threshold, the series data is cropped to only contain points that
  58889. * fall within the plot area. The advantage of cropping away invisible
  58890. * points is to increase performance on large series.
  58891. */
  58892. cropThreshold?: number;
  58893. /**
  58894. * (Highstock) You can set the cursor to "pointer" if you have click events
  58895. * attached to the series, to signal to the user that the points and lines
  58896. * can be clicked.
  58897. *
  58898. * In styled mode, the series cursor can be set with the same classes as
  58899. * listed under series.color.
  58900. */
  58901. cursor?: (string|CursorValue);
  58902. /**
  58903. * (Highstock) A reserved subspace to store options and values for
  58904. * customized functionality. Here you can add additional data for your own
  58905. * event callbacks and formatter callbacks.
  58906. */
  58907. custom?: Dictionary<any>;
  58908. /**
  58909. * (Highstock) Name of the dash style to use for the graph, or for some
  58910. * series types the outline of each shape.
  58911. *
  58912. * In styled mode, the stroke dash-array can be set with the same classes as
  58913. * listed under series.color.
  58914. */
  58915. dashStyle?: DashStyleValue;
  58916. /**
  58917. * (Highstock) Data grouping is the concept of sampling the data values into
  58918. * larger blocks in order to ease readability and increase performance of
  58919. * the JavaScript charts. Highcharts Stock by default applies data grouping
  58920. * when the points become closer than a certain pixel value, determined by
  58921. * the `groupPixelWidth` option.
  58922. *
  58923. * If data grouping is applied, the grouping information of grouped points
  58924. * can be read from the Point.dataGroup. If point options other than the
  58925. * data itself are set, for example `name` or `color` or custom properties,
  58926. * the grouping logic doesn't know how to group it. In this case the options
  58927. * of the first point instance are copied over to the group point. This can
  58928. * be altered through a custom `approximation` callback function.
  58929. */
  58930. dataGrouping?: DataGroupingOptionsObject;
  58931. /**
  58932. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  58933. * labels, appearing next to each data point.
  58934. *
  58935. * Since v6.2.0, multiple data labels can be applied to each single point by
  58936. * defining them as an array of configs.
  58937. *
  58938. * In styled mode, the data labels can be styled with the
  58939. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  58940. * (see example).
  58941. */
  58942. dataLabels?: (PlotMacdDataLabelsOptions|Array<PlotMacdDataLabelsOptions>);
  58943. /**
  58944. * (Highcharts, Highstock) Options for the series data sorting.
  58945. */
  58946. dataSorting?: (DataSortingOptionsObject|PlotMacdDataSortingOptions);
  58947. /**
  58948. * (Highstock) A description of the series to add to the screen reader
  58949. * information about the series.
  58950. */
  58951. description?: string;
  58952. /**
  58953. * (Highstock) Enable or disable the mouse tracking for a specific series.
  58954. * This includes point tooltips and click events on graphs and points. For
  58955. * large datasets it improves performance.
  58956. */
  58957. enableMouseTracking?: boolean;
  58958. /**
  58959. * (Highstock) General event handlers for the series items. These event
  58960. * hooks can also be attached to the series at run time using the
  58961. * `Highcharts.addEvent` function.
  58962. */
  58963. events?: SeriesEventsOptionsObject;
  58964. /**
  58965. * (Highstock) Determines whether the series should look for the nearest
  58966. * point in both dimensions or just the x-dimension when hovering the
  58967. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  58968. * series. If the data has duplicate x-values, it is recommended to set this
  58969. * to `'xy'` to allow hovering over all points.
  58970. *
  58971. * Applies only to series types using nearest neighbor search (not direct
  58972. * hover) for tooltip.
  58973. */
  58974. findNearestPointBy?: OptionsFindNearestPointByValue;
  58975. /**
  58976. * (Highstock) Defines when to display a gap in the graph, together with the
  58977. * gapUnit option.
  58978. *
  58979. * In case when `dataGrouping` is enabled, points can be grouped into a
  58980. * larger time span. This can make the grouped points to have a greater
  58981. * distance than the absolute value of `gapSize` property, which will result
  58982. * in disappearing graph completely. To prevent this situation the mentioned
  58983. * distance between grouped points is used instead of previously defined
  58984. * `gapSize`.
  58985. *
  58986. * In practice, this option is most often used to visualize gaps in time
  58987. * series. In a stock chart, intraday data is available for daytime hours,
  58988. * while gaps will appear in nights and weekends.
  58989. */
  58990. gapSize?: number;
  58991. /**
  58992. * (Highstock) Together with gapSize, this option defines where to draw gaps
  58993. * in the graph.
  58994. *
  58995. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  58996. * if the distance between two points is greater than 5 times that of the
  58997. * two closest points, the graph will be broken.
  58998. *
  58999. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  59000. * values, which on a datetime axis is milliseconds. This also applies to
  59001. * the navigator series that inherits gap options from the base series.
  59002. */
  59003. gapUnit?: OptionsGapUnitValue;
  59004. /**
  59005. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  59006. * chart width or only the zoomed area when zooming in on parts of the X
  59007. * axis. By default, the Y axis adjusts to the min and max of the visible
  59008. * data. Cartesian series only.
  59009. */
  59010. getExtremesFromAll?: boolean;
  59011. groupPadding?: number;
  59012. /**
  59013. * (Highstock) When set to `false` will prevent the series data from being
  59014. * included in any form of data export.
  59015. *
  59016. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  59017. * `includeInCSVExport`.
  59018. */
  59019. includeInDataExport?: boolean;
  59020. /**
  59021. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  59022. * series as possible in a natural way, seeking to avoid other series. The
  59023. * goal of this feature is to make the chart more easily readable, like if a
  59024. * human designer placed the labels in the optimal position.
  59025. *
  59026. * The series labels currently work with series types having a `graph` or an
  59027. * `area`.
  59028. */
  59029. label?: SeriesLabelOptionsObject;
  59030. /**
  59031. * (Highstock) The line marks the last price from all points.
  59032. */
  59033. lastPrice?: SeriesLastPriceOptionsObject;
  59034. /**
  59035. * (Highstock) The line marks the last price from visible range of points.
  59036. */
  59037. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  59038. /**
  59039. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  59040. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  59041. * the ends and bends.
  59042. */
  59043. linecap?: SeriesLinecapValue;
  59044. /**
  59045. * (Highcharts, Highstock) Pixel width of the graph line.
  59046. */
  59047. lineWidth?: number;
  59048. /**
  59049. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  59050. * based on. Required for this indicator.
  59051. */
  59052. linkedTo?: string;
  59053. /**
  59054. * (Highstock) The styles for macd line
  59055. */
  59056. macdLine?: PlotMacdMacdLineOptions;
  59057. /**
  59058. * (Highstock) Options for the point markers of line-like series. Properties
  59059. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  59060. * appearance of the markers. Other series types, like column series, don't
  59061. * have markers, but have visual options on the series level instead.
  59062. *
  59063. * In styled mode, the markers can be styled with the `.highcharts-point`,
  59064. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  59065. */
  59066. marker?: PointMarkerOptionsObject;
  59067. minPointLength?: number;
  59068. /**
  59069. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  59070. * If not set, it will be based on a technical indicator type and default
  59071. * params.
  59072. */
  59073. name?: string;
  59074. /**
  59075. * (Highstock) The color for the parts of the graph or points that are below
  59076. * the threshold. Note that `zones` takes precedence over the negative
  59077. * color. Using `negativeColor` is equivalent to applying a zone with value
  59078. * of 0.
  59079. */
  59080. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  59081. /**
  59082. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  59083. * dataLabels.
  59084. */
  59085. opacity?: number;
  59086. /**
  59087. * (Highstock) Paramters used in calculation of regression series' points.
  59088. */
  59089. params?: PlotMacdParamsOptions;
  59090. /**
  59091. * (Highstock) Properties for each single point.
  59092. */
  59093. point?: PlotSeriesPointOptions;
  59094. /**
  59095. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  59096. * individual series. Overrides the chart wide configuration.
  59097. */
  59098. pointDescriptionFormatter?: Function;
  59099. pointPadding?: number;
  59100. /**
  59101. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  59102. * true, the checkbox next to the series name in the legend will be checked
  59103. * for a selected series.
  59104. */
  59105. selected?: boolean;
  59106. /**
  59107. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  59108. * the shadow can be an object configuration containing `color`, `offsetX`,
  59109. * `offsetY`, `opacity` and `width`.
  59110. */
  59111. shadow?: (boolean|ShadowOptionsObject);
  59112. /**
  59113. * (Highstock) If true, a checkbox is displayed next to the legend item to
  59114. * allow selecting the series. The state of the checkbox is determined by
  59115. * the `selected` option.
  59116. */
  59117. showCheckbox?: boolean;
  59118. /**
  59119. * (Highstock) Whether to display this particular series or series type in
  59120. * the legend. Standalone series are shown in legend by default, and linked
  59121. * series are not. Since v7.2.0 it is possible to show series that use
  59122. * colorAxis by setting this option to `true`.
  59123. */
  59124. showInLegend?: boolean;
  59125. /**
  59126. * (Highstock) The styles for signal line
  59127. */
  59128. signalLine?: PlotMacdSignalLineOptions;
  59129. /**
  59130. * (Highstock) If set to `true`, the accessibility module will skip past the
  59131. * points in this series for keyboard navigation.
  59132. */
  59133. skipKeyboardNavigation?: boolean;
  59134. /**
  59135. * (Highcharts, Highstock) When this is true, the series will not cause the
  59136. * Y axis to cross the zero plane (or threshold option) unless the data
  59137. * actually crosses the plane.
  59138. *
  59139. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  59140. * make the Y axis show negative values according to the `minPadding`
  59141. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  59142. */
  59143. softThreshold?: boolean;
  59144. states?: SeriesStatesOptionsObject;
  59145. /**
  59146. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  59147. * values are `left`, `center` and `right`.
  59148. */
  59149. step?: OptionsStepValue;
  59150. /**
  59151. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  59152. * event on a series isn't triggered until the mouse moves over another
  59153. * series, or out of the plot area. When false, the `mouseOut` event on a
  59154. * series is triggered when the mouse leaves the area around the series'
  59155. * graph or markers. This also implies the tooltip when not shared. When
  59156. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  59157. * be hidden when moving the mouse between series. Defaults to true for line
  59158. * and area type series, but to false for columns, pies etc.
  59159. *
  59160. * **Note:** The boost module will force this option because of technical
  59161. * limitations.
  59162. */
  59163. stickyTracking?: boolean;
  59164. /**
  59165. * (Highcharts, Highstock) The threshold, also called zero level or base
  59166. * level. For line type series this is only used in conjunction with
  59167. * negativeColor.
  59168. */
  59169. threshold?: (number|null);
  59170. /**
  59171. * (Highstock) A configuration object for the tooltip rendering of each
  59172. * single series. Properties are inherited from tooltip, but only the
  59173. * following properties can be defined on a series level.
  59174. */
  59175. tooltip?: SeriesTooltipOptionsObject;
  59176. /**
  59177. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  59178. * is longer than this, only one dimensional arrays of numbers, or two
  59179. * dimensional arrays with x and y values are allowed. Also, only the first
  59180. * point is tested, and the rest are assumed to be the same format. This
  59181. * saves expensive data checking and indexing in long series. Set it to `0`
  59182. * disable.
  59183. *
  59184. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  59185. * two dimensional arrays are allowed.
  59186. */
  59187. turboThreshold?: number;
  59188. /**
  59189. * (Highstock) Set the initial visibility of the series.
  59190. */
  59191. visible?: boolean;
  59192. /**
  59193. * (Highmaps) Define the z index of the series.
  59194. */
  59195. zIndex?: number;
  59196. /**
  59197. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  59198. */
  59199. zoneAxis?: string;
  59200. /**
  59201. * (Highcharts, Highstock) An array defining zones within a series. Zones
  59202. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  59203. * the `zoneAxis` option. The zone definitions have to be in ascending order
  59204. * regarding to the value.
  59205. *
  59206. * In styled mode, the color zones are styled with the
  59207. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  59208. * option (view live demo).
  59209. */
  59210. zones?: Array<SeriesZonesOptionsObject>;
  59211. }
  59212. /**
  59213. * (Highstock) Paramters used in calculation of regression series' points.
  59214. */
  59215. export interface PlotMacdParamsOptions {
  59216. /**
  59217. * (Highstock) The point index which indicator calculations will base. For
  59218. * example using OHLC data, index=2 means the indicator will be calculated
  59219. * using Low values.
  59220. */
  59221. index?: number;
  59222. /**
  59223. * (Highstock) The long period for indicator calculations.
  59224. */
  59225. longPeriod?: number;
  59226. /**
  59227. * (Highstock) The base period for indicator calculations. This is the
  59228. * number of data points which are taken into account for the indicator
  59229. * calculations.
  59230. */
  59231. period?: number;
  59232. /**
  59233. * (Highstock) The short period for indicator calculations.
  59234. */
  59235. shortPeriod?: number;
  59236. /**
  59237. * (Highstock) The base period for signal calculations.
  59238. */
  59239. signalPeriod?: number;
  59240. }
  59241. /**
  59242. * (Highstock) The styles for signal line
  59243. */
  59244. export interface PlotMacdSignalLineOptions {
  59245. styles?: PlotMacdSignalLineStylesOptions;
  59246. /**
  59247. * (Highcharts, Highstock) An array defining zones within a series. Zones
  59248. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  59249. * the `zoneAxis` option. The zone definitions have to be in ascending order
  59250. * regarding to the value.
  59251. *
  59252. * In styled mode, the color zones are styled with the
  59253. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  59254. * option (view live demo).
  59255. */
  59256. zones?: Array<SeriesZonesOptionsObject>;
  59257. }
  59258. export interface PlotMacdSignalLineStylesOptions {
  59259. /**
  59260. * (Highstock) Color of the line.
  59261. */
  59262. lineColor?: ColorString;
  59263. /**
  59264. * (Highstock) Pixel width of the line.
  59265. */
  59266. lineWidth?: number;
  59267. }
  59268. /**
  59269. * (Highmaps) Enable or disable the initial animation when a series is
  59270. * displayed. The animation can also be set as a configuration object. Please
  59271. * note that this option only applies to the initial animation of the series
  59272. * itself. For other animations, see chart.animation and the animation parameter
  59273. * under the API methods. The following properties are supported:
  59274. *
  59275. * - `defer`: The animation delay time in milliseconds.
  59276. *
  59277. * - `duration`: The duration of the animation in milliseconds.
  59278. *
  59279. * - `easing`: Can be a string reference to an easing function set on the `Math`
  59280. * object or a function. See the _Custom easing function_ demo below.
  59281. *
  59282. * Due to poor performance, animation is disabled in old IE browsers for several
  59283. * chart types.
  59284. */
  59285. export interface PlotMapAnimationOptions {
  59286. defer?: number;
  59287. }
  59288. /**
  59289. * (Highmaps) Enable or disable the initial animation when a series is
  59290. * displayed. The animation can also be set as a configuration object. Please
  59291. * note that this option only applies to the initial animation of the series
  59292. * itself. For other animations, see chart.animation and the animation parameter
  59293. * under the API methods. The following properties are supported:
  59294. *
  59295. * - `defer`: The animation delay time in milliseconds.
  59296. *
  59297. * - `duration`: The duration of the animation in milliseconds.
  59298. *
  59299. * - `easing`: Can be a string reference to an easing function set on the `Math`
  59300. * object or a function. See the _Custom easing function_ demo below.
  59301. *
  59302. * Due to poor performance, animation is disabled in old IE browsers for several
  59303. * chart types.
  59304. */
  59305. export interface PlotMapbubbleAnimationOptions {
  59306. defer?: number;
  59307. }
  59308. /**
  59309. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  59310. * animation when a series is displayed for the `dataLabels`. The animation can
  59311. * also be set as a configuration object. Please note that this option only
  59312. * applies to the initial animation. For other animations, see chart.animation
  59313. * and the animation parameter under the API methods. The following properties
  59314. * are supported:
  59315. *
  59316. * - `defer`: The animation delay time in milliseconds.
  59317. */
  59318. export interface PlotMapbubbleDataLabelsAnimationOptions {
  59319. /**
  59320. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  59321. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  59322. * inherits defer time from the series.animation.defer.
  59323. */
  59324. defer?: number;
  59325. }
  59326. /**
  59327. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  59328. * appearing next to each data point.
  59329. *
  59330. * Since v6.2.0, multiple data labels can be applied to each single point by
  59331. * defining them as an array of configs.
  59332. *
  59333. * In styled mode, the data labels can be styled with the
  59334. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  59335. * example).
  59336. */
  59337. export interface PlotMapbubbleDataLabelsOptions {
  59338. /**
  59339. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  59340. * compared to the point. If `right`, the right side of the label should be
  59341. * touching the point. For points with an extent, like columns, the
  59342. * alignments also dictates how to align it inside the box, as given with
  59343. * the inside option. Can be one of `left`, `center` or `right`.
  59344. */
  59345. align?: (AlignValue|null);
  59346. /**
  59347. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  59348. * overlap. To make the labels less sensitive for overlapping, the
  59349. * dataLabels.padding can be set to 0.
  59350. */
  59351. allowOverlap?: boolean;
  59352. /**
  59353. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  59354. * animation when a series is displayed for the `dataLabels`. The animation
  59355. * can also be set as a configuration object. Please note that this option
  59356. * only applies to the initial animation. For other animations, see
  59357. * chart.animation and the animation parameter under the API methods. The
  59358. * following properties are supported:
  59359. *
  59360. * - `defer`: The animation delay time in milliseconds.
  59361. */
  59362. animation?: (boolean|PlotMapbubbleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  59363. /**
  59364. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  59365. * for the data label.
  59366. */
  59367. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  59368. /**
  59369. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  59370. * label. Defaults to `undefined`.
  59371. */
  59372. borderColor?: (ColorString|GradientColorObject|PatternObject);
  59373. /**
  59374. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  59375. * the data label.
  59376. */
  59377. borderRadius?: number;
  59378. /**
  59379. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  59380. * the data label.
  59381. */
  59382. borderWidth?: number;
  59383. /**
  59384. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  59385. * Particularly in styled mode, this can be used to give each series' or
  59386. * point's data label unique styling. In addition to this option, a default
  59387. * color class name is added so that we can give the labels a contrast text
  59388. * shadow.
  59389. */
  59390. className?: string;
  59391. /**
  59392. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  59393. * labels. Defaults to `undefined`. For certain series types, like column or
  59394. * map, the data labels can be drawn inside the points. In this case the
  59395. * data label will be drawn with maximum contrast by default. Additionally,
  59396. * it will be given a `text-outline` style with the opposite color, to
  59397. * further increase the contrast. This can be overridden by setting the
  59398. * `text-outline` style to `none` in the `dataLabels.style` option.
  59399. */
  59400. color?: (ColorString|GradientColorObject|PatternObject);
  59401. /**
  59402. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  59403. * are outside the plot area. By default, the data label is moved inside the
  59404. * plot area according to the overflow option.
  59405. */
  59406. crop?: boolean;
  59407. /**
  59408. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  59409. * labels until the initial series animation has finished. Setting to
  59410. * `false` renders the data label immediately. If set to `true` inherits the
  59411. * defer time set in plotOptions.series.animation. If set to a number, a
  59412. * defer time is specified in milliseconds.
  59413. */
  59414. defer?: (boolean|number);
  59415. /**
  59416. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  59417. * labels.
  59418. */
  59419. enabled?: boolean;
  59420. /**
  59421. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  59422. * of which data labels to display. The declarative filter is designed for
  59423. * use when callback functions are not available, like when the chart
  59424. * options require a pure JSON structure or for use with graphical editors.
  59425. * For programmatic control, use the `formatter` instead, and return
  59426. * `undefined` to disable a single data label.
  59427. */
  59428. filter?: DataLabelsFilterOptionsObject;
  59429. /**
  59430. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  59431. * label. Available variables are the same as for `formatter`.
  59432. */
  59433. format?: string;
  59434. /**
  59435. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  59436. * format the data label. Note that if a `format` is defined, the format
  59437. * takes precedence and the formatter is ignored.
  59438. */
  59439. formatter?: DataLabelsFormatterCallbackFunction;
  59440. /**
  59441. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  59442. * columns or map areas, whether to align the data label inside the box or
  59443. * to the actual value point. Defaults to `false` in most cases, `true` in
  59444. * stacked columns.
  59445. */
  59446. inside?: boolean;
  59447. /**
  59448. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  59449. * of null. Works analogously to format. `nullFormat` can be applied only to
  59450. * series which support displaying null points.
  59451. */
  59452. nullFormat?: (boolean|string);
  59453. /**
  59454. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  59455. * that defines formatting for points with the value of null. Works
  59456. * analogously to formatter. `nullPointFormatter` can be applied only to
  59457. * series which support displaying null points.
  59458. */
  59459. nullFormatter?: DataLabelsFormatterCallbackFunction;
  59460. /**
  59461. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  59462. * flow outside the plot area. The default is `"justify"`, which aligns them
  59463. * inside the plot area. For columns and bars, this means it will be moved
  59464. * inside the bar. To display data labels outside the plot area, set `crop`
  59465. * to `false` and `overflow` to `"allow"`.
  59466. */
  59467. overflow?: DataLabelsOverflowValue;
  59468. /**
  59469. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  59470. * the `backgroundColor` is set, this is the padding within the box.
  59471. */
  59472. padding?: number;
  59473. /**
  59474. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  59475. * points. If `center` alignment is not possible, it defaults to `right`.
  59476. */
  59477. position?: AlignValue;
  59478. /**
  59479. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  59480. * that due to a more complex structure, backgrounds, borders and padding
  59481. * will be lost on a rotated data label.
  59482. */
  59483. rotation?: number;
  59484. /**
  59485. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  59486. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  59487. * an object configuration containing `color`, `offsetX`, `offsetY`,
  59488. * `opacity` and `width`.
  59489. */
  59490. shadow?: (boolean|ShadowOptionsObject);
  59491. /**
  59492. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  59493. * the border around the label. Symbols are predefined functions on the
  59494. * Renderer object.
  59495. */
  59496. shape?: string;
  59497. /**
  59498. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  59499. * default `color` setting is `"contrast"`, which is a pseudo color that
  59500. * Highcharts picks up and applies the maximum contrast to the underlying
  59501. * point item, for example the bar in a bar chart.
  59502. *
  59503. * The `textOutline` is a pseudo property that applies an outline of the
  59504. * given width with the given color, which by default is the maximum
  59505. * contrast to the text. So a bright text color will result in a black text
  59506. * outline for maximum readability on a mixed background. In some cases,
  59507. * especially with grayscale text, the text outline doesn't work well, in
  59508. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  59509. * is true, the `textOutline` will not be picked up. In this, case, the same
  59510. * effect can be acheived through the `text-shadow` CSS property.
  59511. *
  59512. * For some series types, where each point has an extent, like for example
  59513. * tree maps, the data label may overflow the point. There are two
  59514. * strategies for handling overflow. By default, the text will wrap to
  59515. * multiple lines. The other strategy is to set `style.textOverflow` to
  59516. * `ellipsis`, which will keep the text on one line plus it will break
  59517. * inside long words.
  59518. */
  59519. style?: CSSObject;
  59520. /**
  59521. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  59522. * should follow marker's shape. Border and background are disabled for a
  59523. * label that follows a path.
  59524. *
  59525. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  59526. * to true will disable this option.
  59527. */
  59528. textPath?: DataLabelsTextPathOptionsObject;
  59529. /**
  59530. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  59531. * the labels.
  59532. */
  59533. useHTML?: boolean;
  59534. /**
  59535. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  59536. * label. Can be one of `top`, `middle` or `bottom`. The default value
  59537. * depends on the data, for instance in a column chart, the label is above
  59538. * positive values and below negative values.
  59539. */
  59540. verticalAlign?: string;
  59541. /**
  59542. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  59543. * label relative to the point in pixels.
  59544. */
  59545. x?: number;
  59546. /**
  59547. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  59548. * label relative to the point in pixels.
  59549. */
  59550. y?: number;
  59551. /**
  59552. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  59553. * The default Z index puts it above the series. Use a Z index of 2 to
  59554. * display it behind the series.
  59555. */
  59556. z?: number;
  59557. }
  59558. /**
  59559. * (Highcharts, Highstock) Options for the series data sorting.
  59560. */
  59561. export interface PlotMapbubbleDataSortingOptions {
  59562. /**
  59563. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  59564. * Use xAxis.reversed to change the sorting order.
  59565. */
  59566. enabled?: boolean;
  59567. /**
  59568. * (Highcharts, Highstock) Whether to allow matching points by name in an
  59569. * update. If this option is disabled, points will be matched by order.
  59570. */
  59571. matchByName?: boolean;
  59572. /**
  59573. * (Highcharts, Highstock) Determines what data value should be used to sort
  59574. * by.
  59575. */
  59576. sortKey?: string;
  59577. }
  59578. /**
  59579. * (Highmaps) Style options for the guide box. The guide box has one state by
  59580. * default, the `default` state.
  59581. */
  59582. export interface PlotMapbubbleDragDropGuideBoxOptions {
  59583. /**
  59584. * (Highmaps) Style options for the guide box default state.
  59585. */
  59586. default?: DragDropGuideBoxOptionsObject;
  59587. }
  59588. /**
  59589. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  59590. * plotting discrete values, a little random noise may help telling the points
  59591. * apart. The jitter setting applies a random displacement of up to `n` axis
  59592. * units in either direction. So for example on a horizontal X axis, setting the
  59593. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  59594. * units to the left and 0.24 units to the right of the true axis position. On a
  59595. * category axis, setting it to 0.5 will fill up the bin and make the data
  59596. * appear continuous.
  59597. *
  59598. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  59599. * will correspond to the underlying series' default groupPadding and
  59600. * pointPadding settings.
  59601. */
  59602. export interface PlotMapbubbleJitterOptions {
  59603. /**
  59604. * (Highcharts, Highstock) The maximal X offset for the random jitter
  59605. * effect.
  59606. */
  59607. x?: number;
  59608. /**
  59609. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  59610. * effect.
  59611. */
  59612. y?: number;
  59613. }
  59614. /**
  59615. * (Highmaps) A map bubble series is a bubble series laid out on top of a map
  59616. * series, where each bubble is tied to a specific map area.
  59617. *
  59618. * In TypeScript the type option must always be set.
  59619. *
  59620. * Configuration options for the series are given in three levels:
  59621. *
  59622. * 1. Options for all series in a chart are defined in the plotOptions.series
  59623. * object.
  59624. *
  59625. * 2. Options for all `mapbubble` series are defined in plotOptions.mapbubble.
  59626. *
  59627. * 3. Options for one single series are given in the series instance array. (see
  59628. * online documentation for example)
  59629. */
  59630. export interface PlotMapbubbleOptions {
  59631. /**
  59632. * (Highmaps) Accessibility options for a series.
  59633. */
  59634. accessibility?: SeriesAccessibilityOptionsObject;
  59635. /**
  59636. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  59637. * rendered. If `true`, areas which don't correspond to a data point, are
  59638. * rendered as `null` points. If `false`, those areas are skipped.
  59639. */
  59640. allAreas?: boolean;
  59641. /**
  59642. * (Highmaps) Allow this series' points to be selected by clicking on the
  59643. * graphic (columns, point markers, pie slices, map areas etc).
  59644. *
  59645. * The selected points can be handled by point select and unselect events,
  59646. * or collectively by the getSelectedPoints function.
  59647. *
  59648. * And alternative way of selecting points is through dragging.
  59649. */
  59650. allowPointSelect?: boolean;
  59651. /**
  59652. * (Highmaps) Enable or disable the initial animation when a series is
  59653. * displayed. The animation can also be set as a configuration object.
  59654. * Please note that this option only applies to the initial animation of the
  59655. * series itself. For other animations, see chart.animation and the
  59656. * animation parameter under the API methods. The following properties are
  59657. * supported:
  59658. *
  59659. * - `defer`: The animation delay time in milliseconds.
  59660. *
  59661. * - `duration`: The duration of the animation in milliseconds.
  59662. *
  59663. * - `easing`: Can be a string reference to an easing function set on the
  59664. * `Math` object or a function. See the _Custom easing function_ demo below.
  59665. *
  59666. * Due to poor performance, animation is disabled in old IE browsers for
  59667. * several chart types.
  59668. */
  59669. animation?: (boolean|PlotMapbubbleAnimationOptions|Partial<AnimationOptionsObject>);
  59670. /**
  59671. * (Highmaps) If there are more points in the series than the
  59672. * `animationLimit`, the animation won't run. Animation affects overall
  59673. * performance and doesn't work well with heavy data series.
  59674. */
  59675. animationLimit?: number;
  59676. /**
  59677. * (Highmaps) Sets the color blending in the boost module.
  59678. */
  59679. boostBlending?: OptionsBoostBlendingValue;
  59680. /**
  59681. * (Highmaps) Set the point threshold for when a series should enter boost
  59682. * mode.
  59683. *
  59684. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  59685. * there are 2000 or more points in the series.
  59686. *
  59687. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  59688. * it to 1 will force boosting.
  59689. *
  59690. * Note that the cropThreshold also affects this setting. When zooming in on
  59691. * a series that has fewer points than the `cropThreshold`, all points are
  59692. * rendered although outside the visible plot area, and the `boostThreshold`
  59693. * won't take effect.
  59694. */
  59695. boostThreshold?: number;
  59696. /**
  59697. * (Highmaps) The border color of the map areas.
  59698. *
  59699. * In styled mode, the border stroke is given in the `.highcharts-point`
  59700. * class.
  59701. */
  59702. borderColor?: (ColorString|GradientColorObject|PatternObject);
  59703. /**
  59704. * (Highmaps) The border width of each map area.
  59705. *
  59706. * In styled mode, the border stroke width is given in the
  59707. * `.highcharts-point` class.
  59708. */
  59709. borderWidth?: number;
  59710. /**
  59711. * (Highmaps) An additional class name to apply to the series' graphical
  59712. * elements. This option does not replace default class names of the
  59713. * graphical element.
  59714. */
  59715. className?: string;
  59716. /**
  59717. * (Highmaps) Disable this option to allow series rendering in the whole
  59718. * plotting area.
  59719. *
  59720. * **Note:** Clipping should be always enabled when chart.zoomType is set
  59721. */
  59722. clip?: boolean;
  59723. /**
  59724. * (Highmaps) The main color of the series. This color affects both the fill
  59725. * and the stroke of the bubble. For enhanced control, use `marker` options.
  59726. */
  59727. color?: (ColorString|GradientColorObject|PatternObject);
  59728. /**
  59729. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  59730. * this number defines which colorAxis the particular series is connected
  59731. * to. It refers to either the axis id or the index of the axis in the
  59732. * colorAxis array, with 0 being the first. Set this option to false to
  59733. * prevent a series from connecting to the default color axis.
  59734. *
  59735. * Since v7.2.0 the option can also be an axis id or an axis index instead
  59736. * of a boolean flag.
  59737. */
  59738. colorAxis?: (boolean|number|string);
  59739. /**
  59740. * (Highmaps) Styled mode only. A specific color index to use for the
  59741. * series, so its graphic representations are given the class name
  59742. * `highcharts-color-{n}`.
  59743. */
  59744. colorIndex?: number;
  59745. /**
  59746. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  59747. * used to calculate point color if `colorAxis` is used. Requires to set
  59748. * `min` and `max` if some custom point property is used or if approximation
  59749. * for data grouping is set to `'sum'`.
  59750. */
  59751. colorKey?: string;
  59752. /**
  59753. * (Highstock) Compare the values of the series against the first non-null,
  59754. * non- zero value in the visible range. The y axis will show percentage or
  59755. * absolute change depending on whether `compare` is set to `"percent"` or
  59756. * `"value"`. When this is applied to multiple series, it allows comparing
  59757. * the development of the series against each other. Adds a `change` field
  59758. * to every point object.
  59759. */
  59760. compare?: string;
  59761. /**
  59762. * (Highstock) When compare is `percent`, this option dictates whether to
  59763. * use 0 or 100 as the base of comparison.
  59764. */
  59765. compareBase?: (0|100);
  59766. /**
  59767. * (Highstock) Defines if comparison should start from the first point
  59768. * within the visible range or should start from the first point **before**
  59769. * the range.
  59770. *
  59771. * In other words, this flag determines if first point within the visible
  59772. * range will have 0% (`compareStart=true`) or should have been already
  59773. * calculated according to the previous point (`compareStart=false`).
  59774. */
  59775. compareStart?: boolean;
  59776. /**
  59777. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  59778. * series plot across the extremes.
  59779. */
  59780. connectEnds?: boolean;
  59781. /**
  59782. * (Highcharts, Highstock) Whether to connect a graph line across null
  59783. * points, or render a gap between the two points on either side of the
  59784. * null.
  59785. */
  59786. connectNulls?: boolean;
  59787. /**
  59788. * (Gantt) Override Pathfinder connector options for a series. Requires
  59789. * Highcharts Gantt to be loaded.
  59790. */
  59791. connectors?: SeriesConnectorsOptionsObject;
  59792. /**
  59793. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  59794. * rounded to its nearest pixel in order to render sharp on screen. In some
  59795. * cases, when there are a lot of densely packed columns, this leads to
  59796. * visible difference in column widths or distance between columns. In these
  59797. * cases, setting `crisp` to `false` may look better, even though each
  59798. * column is rendered blurry.
  59799. */
  59800. crisp?: boolean;
  59801. /**
  59802. * (Highmaps) You can set the cursor to "pointer" if you have click events
  59803. * attached to the series, to signal to the user that the points and lines
  59804. * can be clicked.
  59805. *
  59806. * In styled mode, the series cursor can be set with the same classes as
  59807. * listed under series.color.
  59808. */
  59809. cursor?: (string|CursorValue);
  59810. /**
  59811. * (Highmaps) A reserved subspace to store options and values for customized
  59812. * functionality. Here you can add additional data for your own event
  59813. * callbacks and formatter callbacks.
  59814. */
  59815. custom?: Dictionary<any>;
  59816. /**
  59817. * (Highmaps) Name of the dash style to use for the graph, or for some
  59818. * series types the outline of each shape.
  59819. *
  59820. * In styled mode, the stroke dash-array can be set with the same classes as
  59821. * listed under series.color.
  59822. */
  59823. dashStyle?: DashStyleValue;
  59824. /**
  59825. * (Highstock) Data grouping is the concept of sampling the data values into
  59826. * larger blocks in order to ease readability and increase performance of
  59827. * the JavaScript charts. Highcharts Stock by default applies data grouping
  59828. * when the points become closer than a certain pixel value, determined by
  59829. * the `groupPixelWidth` option.
  59830. *
  59831. * If data grouping is applied, the grouping information of grouped points
  59832. * can be read from the Point.dataGroup. If point options other than the
  59833. * data itself are set, for example `name` or `color` or custom properties,
  59834. * the grouping logic doesn't know how to group it. In this case the options
  59835. * of the first point instance are copied over to the group point. This can
  59836. * be altered through a custom `approximation` callback function.
  59837. */
  59838. dataGrouping?: DataGroupingOptionsObject;
  59839. /**
  59840. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  59841. * labels, appearing next to each data point.
  59842. *
  59843. * Since v6.2.0, multiple data labels can be applied to each single point by
  59844. * defining them as an array of configs.
  59845. *
  59846. * In styled mode, the data labels can be styled with the
  59847. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  59848. * (see example).
  59849. */
  59850. dataLabels?: (PlotMapbubbleDataLabelsOptions|Array<PlotMapbubbleDataLabelsOptions>);
  59851. /**
  59852. * (Highcharts, Highstock) Options for the series data sorting.
  59853. */
  59854. dataSorting?: (DataSortingOptionsObject|PlotMapbubbleDataSortingOptions);
  59855. /**
  59856. * (Highmaps) A description of the series to add to the screen reader
  59857. * information about the series.
  59858. */
  59859. description?: string;
  59860. /**
  59861. * (Highmaps) Whether to display negative sized bubbles. The threshold is
  59862. * given by the zThreshold option, and negative bubbles can be visualized by
  59863. * setting negativeColor.
  59864. */
  59865. displayNegative?: boolean;
  59866. /**
  59867. * (Highmaps) The draggable-points module allows points to be moved around
  59868. * or modified in the chart. In addition to the options mentioned under the
  59869. * `dragDrop` API structure, the module fires three events, point.dragStart,
  59870. * point.drag and point.drop.
  59871. */
  59872. dragDrop?: SeriesDragDropOptionsObject;
  59873. /**
  59874. * (Highmaps) Enable or disable the mouse tracking for a specific series.
  59875. * This includes point tooltips and click events on graphs and points. For
  59876. * large datasets it improves performance.
  59877. */
  59878. enableMouseTracking?: boolean;
  59879. /**
  59880. * (Highmaps) General event handlers for the series items. These event hooks
  59881. * can also be attached to the series at run time using the
  59882. * `Highcharts.addEvent` function.
  59883. */
  59884. events?: SeriesEventsOptionsObject;
  59885. /**
  59886. * (Highmaps) Determines whether the series should look for the nearest
  59887. * point in both dimensions or just the x-dimension when hovering the
  59888. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  59889. * series. If the data has duplicate x-values, it is recommended to set this
  59890. * to `'xy'` to allow hovering over all points.
  59891. *
  59892. * Applies only to series types using nearest neighbor search (not direct
  59893. * hover) for tooltip.
  59894. */
  59895. findNearestPointBy?: OptionsFindNearestPointByValue;
  59896. /**
  59897. * (Highstock) Defines when to display a gap in the graph, together with the
  59898. * gapUnit option.
  59899. *
  59900. * In case when `dataGrouping` is enabled, points can be grouped into a
  59901. * larger time span. This can make the grouped points to have a greater
  59902. * distance than the absolute value of `gapSize` property, which will result
  59903. * in disappearing graph completely. To prevent this situation the mentioned
  59904. * distance between grouped points is used instead of previously defined
  59905. * `gapSize`.
  59906. *
  59907. * In practice, this option is most often used to visualize gaps in time
  59908. * series. In a stock chart, intraday data is available for daytime hours,
  59909. * while gaps will appear in nights and weekends.
  59910. */
  59911. gapSize?: number;
  59912. /**
  59913. * (Highstock) Together with gapSize, this option defines where to draw gaps
  59914. * in the graph.
  59915. *
  59916. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  59917. * if the distance between two points is greater than 5 times that of the
  59918. * two closest points, the graph will be broken.
  59919. *
  59920. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  59921. * values, which on a datetime axis is milliseconds. This also applies to
  59922. * the navigator series that inherits gap options from the base series.
  59923. */
  59924. gapUnit?: OptionsGapUnitValue;
  59925. /**
  59926. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  59927. * chart width or only the zoomed area when zooming in on parts of the X
  59928. * axis. By default, the Y axis adjusts to the min and max of the visible
  59929. * data. Cartesian series only.
  59930. */
  59931. getExtremesFromAll?: boolean;
  59932. /**
  59933. * (Highmaps) When set to `false` will prevent the series data from being
  59934. * included in any form of data export.
  59935. *
  59936. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  59937. * `includeInCSVExport`.
  59938. */
  59939. includeInDataExport?: boolean;
  59940. /**
  59941. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  59942. * When plotting discrete values, a little random noise may help telling the
  59943. * points apart. The jitter setting applies a random displacement of up to
  59944. * `n` axis units in either direction. So for example on a horizontal X
  59945. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  59946. * position between 0.24 units to the left and 0.24 units to the right of
  59947. * the true axis position. On a category axis, setting it to 0.5 will fill
  59948. * up the bin and make the data appear continuous.
  59949. *
  59950. * When rendered on top of a box plot or a column series, a jitter value of
  59951. * 0.24 will correspond to the underlying series' default groupPadding and
  59952. * pointPadding settings.
  59953. */
  59954. jitter?: PlotMapbubbleJitterOptions;
  59955. /**
  59956. * (Highmaps) What property to join the `mapData` to the value data. For
  59957. * example, if joinBy is "code", the mapData items with a specific code is
  59958. * merged into the data with the same code. For maps loaded from GeoJSON,
  59959. * the keys may be held in each point's `properties` object.
  59960. *
  59961. * The joinBy option can also be an array of two values, where the first
  59962. * points to a key in the `mapData`, and the second points to another key in
  59963. * the `data`.
  59964. *
  59965. * When joinBy is `null`, the map items are joined by their position in the
  59966. * array, which performs much better in maps with many data points. This is
  59967. * the recommended option if you are printing more than a thousand data
  59968. * points and have a backend that can preprocess the data into a parallel
  59969. * array of the mapData.
  59970. */
  59971. joinBy?: (string|Array<string>);
  59972. /**
  59973. * (Highmaps) An array specifying which option maps to which key in the data
  59974. * point array. This makes it convenient to work with unstructured data
  59975. * arrays from different sources.
  59976. */
  59977. keys?: Array<string>;
  59978. /**
  59979. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  59980. * series as possible in a natural way, seeking to avoid other series. The
  59981. * goal of this feature is to make the chart more easily readable, like if a
  59982. * human designer placed the labels in the optimal position.
  59983. *
  59984. * The series labels currently work with series types having a `graph` or an
  59985. * `area`.
  59986. */
  59987. label?: SeriesLabelOptionsObject;
  59988. /**
  59989. * (Highstock) The line marks the last price from all points.
  59990. */
  59991. lastPrice?: SeriesLastPriceOptionsObject;
  59992. /**
  59993. * (Highstock) The line marks the last price from visible range of points.
  59994. */
  59995. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  59996. /**
  59997. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  59998. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  59999. * the ends and bends.
  60000. */
  60001. linecap?: SeriesLinecapValue;
  60002. /**
  60003. * (Highcharts, Highstock) The width of the line connecting the data points.
  60004. */
  60005. lineWidth?: number;
  60006. /**
  60007. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  60008. * Additionally, the value can be ":previous" to link to the previous
  60009. * series. When two series are linked, only the first one appears in the
  60010. * legend. Toggling the visibility of this also toggles the linked series.
  60011. *
  60012. * If master series uses data sorting and linked series does not have its
  60013. * own sorting definition, the linked series will be sorted in the same
  60014. * order as the master one.
  60015. */
  60016. linkedTo?: string;
  60017. /**
  60018. * (Highmaps) Options for the point markers of line-like series. Properties
  60019. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  60020. * appearance of the markers. Other series types, like column series, don't
  60021. * have markers, but have visual options on the series level instead.
  60022. *
  60023. * In styled mode, the markers can be styled with the `.highcharts-point`,
  60024. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  60025. */
  60026. marker?: PointMarkerOptionsObject;
  60027. /**
  60028. * (Highcharts, Highstock) Maximum bubble size. Bubbles will automatically
  60029. * size between the `minSize` and `maxSize` to reflect the `z` value of each
  60030. * bubble. Can be either pixels (when no unit is given), or a percentage of
  60031. * the smallest one of the plot width and height.
  60032. */
  60033. maxSize?: (number|string);
  60034. /**
  60035. * (Highcharts, Highstock) Minimum bubble size. Bubbles will automatically
  60036. * size between the `minSize` and `maxSize` to reflect the `z` value of each
  60037. * bubble. Can be either pixels (when no unit is given), or a percentage of
  60038. * the smallest one of the plot width and height.
  60039. */
  60040. minSize?: (number|string);
  60041. /**
  60042. * (Highstock) Options for the corresponding navigator series if
  60043. * `showInNavigator` is `true` for this series. Available options are the
  60044. * same as any series, documented at plotOptions and series.
  60045. *
  60046. * These options are merged with options in navigator.series, and will take
  60047. * precedence if the same option is defined both places.
  60048. */
  60049. navigatorOptions?: PlotSeriesOptions;
  60050. /**
  60051. * (Highcharts) When a point's Z value is below the zThreshold setting, this
  60052. * color is used.
  60053. */
  60054. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  60055. /**
  60056. * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
  60057. * dataLabels.
  60058. */
  60059. opacity?: number;
  60060. /**
  60061. * (Highmaps) Properties for each single point.
  60062. */
  60063. point?: PlotSeriesPointOptions;
  60064. /**
  60065. * (Highmaps) Same as accessibility.pointDescriptionFormatter, but for an
  60066. * individual series. Overrides the chart wide configuration.
  60067. */
  60068. pointDescriptionFormatter?: Function;
  60069. /**
  60070. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  60071. * a series, `pointInterval` defines the interval of the x values. For
  60072. * example, if a series contains one value every decade starting from year
  60073. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  60074. * `pointInterval` is set in milliseconds.
  60075. *
  60076. * It can be also be combined with `pointIntervalUnit` to draw irregular
  60077. * time intervals.
  60078. *
  60079. * Please note that this options applies to the _series data_, not the
  60080. * interval of the axis ticks, which is independent.
  60081. */
  60082. pointInterval?: number;
  60083. /**
  60084. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  60085. * setting the pointInterval to irregular time units, `day`, `month` and
  60086. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  60087. * also takes the DST crossover into consideration when dealing with local
  60088. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  60089. * months, 10 years etc.
  60090. *
  60091. * Please note that this options applies to the _series data_, not the
  60092. * interval of the axis ticks, which is independent.
  60093. */
  60094. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  60095. /**
  60096. * (Highstock) The width of each point on the x axis. For example in a
  60097. * column chart with one value each day, the pointRange would be 1 day (= 24
  60098. * * 3600
  60099. *
  60100. * * 1000 milliseconds). This is normally computed automatically, but this
  60101. * option can be used to override the automatic value.
  60102. */
  60103. pointRange?: number;
  60104. /**
  60105. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  60106. * a series, pointStart defines on what value to start. For example, if a
  60107. * series contains one yearly value starting from 1945, set pointStart to
  60108. * 1945.
  60109. */
  60110. pointStart?: number;
  60111. /**
  60112. * (Highmaps) Whether to select the series initially. If `showCheckbox` is
  60113. * true, the checkbox next to the series name in the legend will be checked
  60114. * for a selected series.
  60115. */
  60116. selected?: boolean;
  60117. /**
  60118. * (Highmaps) If true, a checkbox is displayed next to the legend item to
  60119. * allow selecting the series. The state of the checkbox is determined by
  60120. * the `selected` option.
  60121. */
  60122. showCheckbox?: boolean;
  60123. /**
  60124. * (Highmaps) Whether to display this particular series or series type in
  60125. * the legend. Standalone series are shown in legend by default, and linked
  60126. * series are not. Since v7.2.0 it is possible to show series that use
  60127. * colorAxis by setting this option to `true`.
  60128. */
  60129. showInLegend?: boolean;
  60130. /**
  60131. * (Highstock) Whether or not to show the series in the navigator. Takes
  60132. * precedence over navigator.baseSeries if defined.
  60133. */
  60134. showInNavigator?: boolean;
  60135. /**
  60136. * (Highmaps) Whether the bubble's value should be represented by the area
  60137. * or the width of the bubble. The default, `area`, corresponds best to the
  60138. * human perception of the size of each bubble.
  60139. */
  60140. sizeBy?: BubbleSizeByValue;
  60141. /**
  60142. * (Highcharts) When this is true, the absolute value of z determines the
  60143. * size of the bubble. This means that with the default `zThreshold` of 0, a
  60144. * bubble of value -1 will have the same size as a bubble of value 1, while
  60145. * a bubble of value 0 will have a smaller size according to `minSize`.
  60146. */
  60147. sizeByAbsoluteValue?: boolean;
  60148. /**
  60149. * (Highmaps) If set to `true`, the accessibility module will skip past the
  60150. * points in this series for keyboard navigation.
  60151. */
  60152. skipKeyboardNavigation?: boolean;
  60153. /**
  60154. * (Highcharts) When this is true, the series will not cause the Y axis to
  60155. * cross the zero plane (or threshold option) unless the data actually
  60156. * crosses the plane.
  60157. *
  60158. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  60159. * make the Y axis show negative values according to the `minPadding`
  60160. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  60161. */
  60162. softThreshold?: boolean;
  60163. /**
  60164. * (Highcharts, Highstock) Whether to stack the values of each series on top
  60165. * of each other. Possible values are `undefined` to disable, `"normal"` to
  60166. * stack by value or `"percent"`.
  60167. *
  60168. * When stacking is enabled, data must be sorted in ascending X order.
  60169. *
  60170. * Some stacking options are related to specific series types. In the
  60171. * streamgraph series type, the stacking option is set to `"stream"`. The
  60172. * second one is `"overlap"`, which only applies to waterfall series.
  60173. */
  60174. stacking?: OptionsStackingValue;
  60175. states?: SeriesStatesOptionsObject;
  60176. /**
  60177. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  60178. * values are `left`, `center` and `right`.
  60179. */
  60180. step?: OptionsStepValue;
  60181. /**
  60182. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  60183. * `mouseOut` event on a series isn't triggered until the mouse moves over
  60184. * another series, or out of the plot area. When false, the `mouseOut` event
  60185. * on a series is triggered when the mouse leaves the area around the
  60186. * series' graph or markers. This also implies the tooltip. When
  60187. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  60188. * be hidden when moving the mouse between series.
  60189. */
  60190. stickyTracking?: boolean;
  60191. /**
  60192. * (Highcharts, Highstock) The threshold, also called zero level or base
  60193. * level. For line type series this is only used in conjunction with
  60194. * negativeColor.
  60195. */
  60196. threshold?: (number|null);
  60197. /**
  60198. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  60199. * of each single series. Properties are inherited from tooltip. Overridable
  60200. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  60201. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  60202. * series.name by default shows in the headerFormat and point.x and point.y
  60203. * in the pointFormat.
  60204. */
  60205. tooltip?: SeriesTooltipOptionsObject;
  60206. /**
  60207. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  60208. * is longer than this, only one dimensional arrays of numbers, or two
  60209. * dimensional arrays with x and y values are allowed. Also, only the first
  60210. * point is tested, and the rest are assumed to be the same format. This
  60211. * saves expensive data checking and indexing in long series. Set it to `0`
  60212. * disable.
  60213. *
  60214. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  60215. * two dimensional arrays are allowed.
  60216. */
  60217. turboThreshold?: number;
  60218. /**
  60219. * (Highmaps) Set the initial visibility of the series.
  60220. */
  60221. visible?: boolean;
  60222. /**
  60223. * (Highmaps) Define the z index of the series.
  60224. */
  60225. zIndex?: number;
  60226. /**
  60227. * (Highcharts) The minimum for the Z value range. Defaults to the highest Z
  60228. * value in the data.
  60229. */
  60230. zMax?: number;
  60231. /**
  60232. * (Highcharts) The minimum for the Z value range. Defaults to the lowest Z
  60233. * value in the data.
  60234. */
  60235. zMin?: number;
  60236. /**
  60237. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  60238. */
  60239. zoneAxis?: string;
  60240. /**
  60241. * (Highcharts, Highstock) An array defining zones within a series. Zones
  60242. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  60243. * the `zoneAxis` option. The zone definitions have to be in ascending order
  60244. * regarding to the value.
  60245. *
  60246. * In styled mode, the color zones are styled with the
  60247. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  60248. * option (view live demo).
  60249. */
  60250. zones?: Array<SeriesZonesOptionsObject>;
  60251. /**
  60252. * (Highcharts) When displayNegative is `false`, bubbles with lower Z values
  60253. * are skipped. When `displayNegative` is `true` and a negativeColor is
  60254. * given, points with lower Z is colored.
  60255. */
  60256. zThreshold?: number;
  60257. }
  60258. /**
  60259. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  60260. * animation when a series is displayed for the `dataLabels`. The animation can
  60261. * also be set as a configuration object. Please note that this option only
  60262. * applies to the initial animation. For other animations, see chart.animation
  60263. * and the animation parameter under the API methods. The following properties
  60264. * are supported:
  60265. *
  60266. * - `defer`: The animation delay time in milliseconds.
  60267. */
  60268. export interface PlotMapDataLabelsAnimationOptions {
  60269. /**
  60270. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  60271. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  60272. * inherits defer time from the series.animation.defer.
  60273. */
  60274. defer?: number;
  60275. }
  60276. /**
  60277. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  60278. * appearing next to each data point.
  60279. *
  60280. * Since v6.2.0, multiple data labels can be applied to each single point by
  60281. * defining them as an array of configs.
  60282. *
  60283. * In styled mode, the data labels can be styled with the
  60284. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  60285. * example).
  60286. */
  60287. export interface PlotMapDataLabelsOptions {
  60288. /**
  60289. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  60290. * compared to the point. If `right`, the right side of the label should be
  60291. * touching the point. For points with an extent, like columns, the
  60292. * alignments also dictates how to align it inside the box, as given with
  60293. * the inside option. Can be one of `left`, `center` or `right`.
  60294. */
  60295. align?: (AlignValue|null);
  60296. /**
  60297. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  60298. * overlap. To make the labels less sensitive for overlapping, the
  60299. * dataLabels.padding can be set to 0.
  60300. */
  60301. allowOverlap?: boolean;
  60302. /**
  60303. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  60304. * animation when a series is displayed for the `dataLabels`. The animation
  60305. * can also be set as a configuration object. Please note that this option
  60306. * only applies to the initial animation. For other animations, see
  60307. * chart.animation and the animation parameter under the API methods. The
  60308. * following properties are supported:
  60309. *
  60310. * - `defer`: The animation delay time in milliseconds.
  60311. */
  60312. animation?: (boolean|PlotMapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  60313. /**
  60314. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  60315. * for the data label.
  60316. */
  60317. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  60318. /**
  60319. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  60320. * label. Defaults to `undefined`.
  60321. */
  60322. borderColor?: (ColorString|GradientColorObject|PatternObject);
  60323. /**
  60324. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  60325. * the data label.
  60326. */
  60327. borderRadius?: number;
  60328. /**
  60329. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  60330. * the data label.
  60331. */
  60332. borderWidth?: number;
  60333. /**
  60334. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  60335. * Particularly in styled mode, this can be used to give each series' or
  60336. * point's data label unique styling. In addition to this option, a default
  60337. * color class name is added so that we can give the labels a contrast text
  60338. * shadow.
  60339. */
  60340. className?: string;
  60341. /**
  60342. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  60343. * labels. Defaults to `undefined`. For certain series types, like column or
  60344. * map, the data labels can be drawn inside the points. In this case the
  60345. * data label will be drawn with maximum contrast by default. Additionally,
  60346. * it will be given a `text-outline` style with the opposite color, to
  60347. * further increase the contrast. This can be overridden by setting the
  60348. * `text-outline` style to `none` in the `dataLabels.style` option.
  60349. */
  60350. color?: (ColorString|GradientColorObject|PatternObject);
  60351. /**
  60352. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  60353. * are outside the plot area. By default, the data label is moved inside the
  60354. * plot area according to the overflow option.
  60355. */
  60356. crop?: boolean;
  60357. /**
  60358. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  60359. * labels until the initial series animation has finished. Setting to
  60360. * `false` renders the data label immediately. If set to `true` inherits the
  60361. * defer time set in plotOptions.series.animation. If set to a number, a
  60362. * defer time is specified in milliseconds.
  60363. */
  60364. defer?: (boolean|number);
  60365. /**
  60366. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  60367. * labels.
  60368. */
  60369. enabled?: boolean;
  60370. /**
  60371. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  60372. * of which data labels to display. The declarative filter is designed for
  60373. * use when callback functions are not available, like when the chart
  60374. * options require a pure JSON structure or for use with graphical editors.
  60375. * For programmatic control, use the `formatter` instead, and return
  60376. * `undefined` to disable a single data label.
  60377. */
  60378. filter?: DataLabelsFilterOptionsObject;
  60379. /**
  60380. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  60381. * label. Available variables are the same as for `formatter`.
  60382. */
  60383. format?: string;
  60384. /**
  60385. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  60386. * format the data label. Note that if a `format` is defined, the format
  60387. * takes precedence and the formatter is ignored.
  60388. */
  60389. formatter?: DataLabelsFormatterCallbackFunction;
  60390. /**
  60391. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  60392. * columns or map areas, whether to align the data label inside the box or
  60393. * to the actual value point. Defaults to `false` in most cases, `true` in
  60394. * stacked columns.
  60395. */
  60396. inside?: boolean;
  60397. /**
  60398. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  60399. * of null. Works analogously to format. `nullFormat` can be applied only to
  60400. * series which support displaying null points.
  60401. */
  60402. nullFormat?: (boolean|string);
  60403. /**
  60404. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  60405. * that defines formatting for points with the value of null. Works
  60406. * analogously to formatter. `nullPointFormatter` can be applied only to
  60407. * series which support displaying null points.
  60408. */
  60409. nullFormatter?: DataLabelsFormatterCallbackFunction;
  60410. /**
  60411. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  60412. * flow outside the plot area. The default is `"justify"`, which aligns them
  60413. * inside the plot area. For columns and bars, this means it will be moved
  60414. * inside the bar. To display data labels outside the plot area, set `crop`
  60415. * to `false` and `overflow` to `"allow"`.
  60416. */
  60417. overflow?: boolean;
  60418. /**
  60419. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  60420. * the `backgroundColor` is set, this is the padding within the box.
  60421. */
  60422. padding?: number;
  60423. /**
  60424. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  60425. * points. If `center` alignment is not possible, it defaults to `right`.
  60426. */
  60427. position?: AlignValue;
  60428. /**
  60429. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  60430. * that due to a more complex structure, backgrounds, borders and padding
  60431. * will be lost on a rotated data label.
  60432. */
  60433. rotation?: number;
  60434. /**
  60435. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  60436. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  60437. * an object configuration containing `color`, `offsetX`, `offsetY`,
  60438. * `opacity` and `width`.
  60439. */
  60440. shadow?: (boolean|ShadowOptionsObject);
  60441. /**
  60442. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  60443. * the border around the label. Symbols are predefined functions on the
  60444. * Renderer object.
  60445. */
  60446. shape?: string;
  60447. /**
  60448. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  60449. * default `color` setting is `"contrast"`, which is a pseudo color that
  60450. * Highcharts picks up and applies the maximum contrast to the underlying
  60451. * point item, for example the bar in a bar chart.
  60452. *
  60453. * The `textOutline` is a pseudo property that applies an outline of the
  60454. * given width with the given color, which by default is the maximum
  60455. * contrast to the text. So a bright text color will result in a black text
  60456. * outline for maximum readability on a mixed background. In some cases,
  60457. * especially with grayscale text, the text outline doesn't work well, in
  60458. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  60459. * is true, the `textOutline` will not be picked up. In this, case, the same
  60460. * effect can be acheived through the `text-shadow` CSS property.
  60461. *
  60462. * For some series types, where each point has an extent, like for example
  60463. * tree maps, the data label may overflow the point. There are two
  60464. * strategies for handling overflow. By default, the text will wrap to
  60465. * multiple lines. The other strategy is to set `style.textOverflow` to
  60466. * `ellipsis`, which will keep the text on one line plus it will break
  60467. * inside long words.
  60468. */
  60469. style?: CSSObject;
  60470. /**
  60471. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  60472. * should follow marker's shape. Border and background are disabled for a
  60473. * label that follows a path.
  60474. *
  60475. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  60476. * to true will disable this option.
  60477. */
  60478. textPath?: DataLabelsTextPathOptionsObject;
  60479. /**
  60480. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  60481. * the labels.
  60482. */
  60483. useHTML?: boolean;
  60484. /**
  60485. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  60486. * label. Can be one of `top`, `middle` or `bottom`. The default value
  60487. * depends on the data, for instance in a column chart, the label is above
  60488. * positive values and below negative values.
  60489. */
  60490. verticalAlign?: string;
  60491. /**
  60492. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  60493. * label relative to the point in pixels.
  60494. */
  60495. x?: number;
  60496. /**
  60497. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  60498. * label relative to the point in pixels.
  60499. */
  60500. y?: number;
  60501. /**
  60502. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  60503. * The default Z index puts it above the series. Use a Z index of 2 to
  60504. * display it behind the series.
  60505. */
  60506. z?: number;
  60507. }
  60508. /**
  60509. * (Highcharts, Highstock) Options for the series data sorting.
  60510. */
  60511. export interface PlotMapDataSortingOptions {
  60512. /**
  60513. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  60514. * Use xAxis.reversed to change the sorting order.
  60515. */
  60516. enabled?: boolean;
  60517. /**
  60518. * (Highcharts, Highstock) Whether to allow matching points by name in an
  60519. * update. If this option is disabled, points will be matched by order.
  60520. */
  60521. matchByName?: boolean;
  60522. /**
  60523. * (Highcharts, Highstock) Determines what data value should be used to sort
  60524. * by.
  60525. */
  60526. sortKey?: string;
  60527. }
  60528. /**
  60529. * (Highmaps) Style options for the guide box. The guide box has one state by
  60530. * default, the `default` state.
  60531. */
  60532. export interface PlotMapDragDropGuideBoxOptions {
  60533. /**
  60534. * (Highmaps) Style options for the guide box default state.
  60535. */
  60536. default?: DragDropGuideBoxOptionsObject;
  60537. }
  60538. /**
  60539. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  60540. * plotting discrete values, a little random noise may help telling the points
  60541. * apart. The jitter setting applies a random displacement of up to `n` axis
  60542. * units in either direction. So for example on a horizontal X axis, setting the
  60543. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  60544. * units to the left and 0.24 units to the right of the true axis position. On a
  60545. * category axis, setting it to 0.5 will fill up the bin and make the data
  60546. * appear continuous.
  60547. *
  60548. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  60549. * will correspond to the underlying series' default groupPadding and
  60550. * pointPadding settings.
  60551. */
  60552. export interface PlotMapJitterOptions {
  60553. /**
  60554. * (Highcharts, Highstock) The maximal X offset for the random jitter
  60555. * effect.
  60556. */
  60557. x?: number;
  60558. /**
  60559. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  60560. * effect.
  60561. */
  60562. y?: number;
  60563. }
  60564. /**
  60565. * (Highmaps) Enable or disable the initial animation when a series is
  60566. * displayed. The animation can also be set as a configuration object. Please
  60567. * note that this option only applies to the initial animation of the series
  60568. * itself. For other animations, see chart.animation and the animation parameter
  60569. * under the API methods. The following properties are supported:
  60570. *
  60571. * - `defer`: The animation delay time in milliseconds.
  60572. *
  60573. * - `duration`: The duration of the animation in milliseconds.
  60574. *
  60575. * - `easing`: Can be a string reference to an easing function set on the `Math`
  60576. * object or a function. See the _Custom easing function_ demo below.
  60577. *
  60578. * Due to poor performance, animation is disabled in old IE browsers for several
  60579. * chart types.
  60580. */
  60581. export interface PlotMaplineAnimationOptions {
  60582. defer?: number;
  60583. }
  60584. /**
  60585. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  60586. * animation when a series is displayed for the `dataLabels`. The animation can
  60587. * also be set as a configuration object. Please note that this option only
  60588. * applies to the initial animation. For other animations, see chart.animation
  60589. * and the animation parameter under the API methods. The following properties
  60590. * are supported:
  60591. *
  60592. * - `defer`: The animation delay time in milliseconds.
  60593. */
  60594. export interface PlotMaplineDataLabelsAnimationOptions {
  60595. /**
  60596. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  60597. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  60598. * inherits defer time from the series.animation.defer.
  60599. */
  60600. defer?: number;
  60601. }
  60602. /**
  60603. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  60604. * appearing next to each data point.
  60605. *
  60606. * Since v6.2.0, multiple data labels can be applied to each single point by
  60607. * defining them as an array of configs.
  60608. *
  60609. * In styled mode, the data labels can be styled with the
  60610. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  60611. * example).
  60612. */
  60613. export interface PlotMaplineDataLabelsOptions {
  60614. /**
  60615. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  60616. * compared to the point. If `right`, the right side of the label should be
  60617. * touching the point. For points with an extent, like columns, the
  60618. * alignments also dictates how to align it inside the box, as given with
  60619. * the inside option. Can be one of `left`, `center` or `right`.
  60620. */
  60621. align?: (AlignValue|null);
  60622. /**
  60623. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  60624. * overlap. To make the labels less sensitive for overlapping, the
  60625. * dataLabels.padding can be set to 0.
  60626. */
  60627. allowOverlap?: boolean;
  60628. /**
  60629. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  60630. * animation when a series is displayed for the `dataLabels`. The animation
  60631. * can also be set as a configuration object. Please note that this option
  60632. * only applies to the initial animation. For other animations, see
  60633. * chart.animation and the animation parameter under the API methods. The
  60634. * following properties are supported:
  60635. *
  60636. * - `defer`: The animation delay time in milliseconds.
  60637. */
  60638. animation?: (boolean|PlotMaplineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  60639. /**
  60640. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  60641. * for the data label.
  60642. */
  60643. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  60644. /**
  60645. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  60646. * label. Defaults to `undefined`.
  60647. */
  60648. borderColor?: (ColorString|GradientColorObject|PatternObject);
  60649. /**
  60650. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  60651. * the data label.
  60652. */
  60653. borderRadius?: number;
  60654. /**
  60655. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  60656. * the data label.
  60657. */
  60658. borderWidth?: number;
  60659. /**
  60660. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  60661. * Particularly in styled mode, this can be used to give each series' or
  60662. * point's data label unique styling. In addition to this option, a default
  60663. * color class name is added so that we can give the labels a contrast text
  60664. * shadow.
  60665. */
  60666. className?: string;
  60667. /**
  60668. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  60669. * labels. Defaults to `undefined`. For certain series types, like column or
  60670. * map, the data labels can be drawn inside the points. In this case the
  60671. * data label will be drawn with maximum contrast by default. Additionally,
  60672. * it will be given a `text-outline` style with the opposite color, to
  60673. * further increase the contrast. This can be overridden by setting the
  60674. * `text-outline` style to `none` in the `dataLabels.style` option.
  60675. */
  60676. color?: (ColorString|GradientColorObject|PatternObject);
  60677. /**
  60678. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  60679. * are outside the plot area. By default, the data label is moved inside the
  60680. * plot area according to the overflow option.
  60681. */
  60682. crop?: boolean;
  60683. /**
  60684. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  60685. * labels until the initial series animation has finished. Setting to
  60686. * `false` renders the data label immediately. If set to `true` inherits the
  60687. * defer time set in plotOptions.series.animation. If set to a number, a
  60688. * defer time is specified in milliseconds.
  60689. */
  60690. defer?: (boolean|number);
  60691. /**
  60692. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  60693. * labels.
  60694. */
  60695. enabled?: boolean;
  60696. /**
  60697. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  60698. * of which data labels to display. The declarative filter is designed for
  60699. * use when callback functions are not available, like when the chart
  60700. * options require a pure JSON structure or for use with graphical editors.
  60701. * For programmatic control, use the `formatter` instead, and return
  60702. * `undefined` to disable a single data label.
  60703. */
  60704. filter?: DataLabelsFilterOptionsObject;
  60705. /**
  60706. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  60707. * label. Available variables are the same as for `formatter`.
  60708. */
  60709. format?: string;
  60710. /**
  60711. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  60712. * format the data label. Note that if a `format` is defined, the format
  60713. * takes precedence and the formatter is ignored.
  60714. */
  60715. formatter?: DataLabelsFormatterCallbackFunction;
  60716. /**
  60717. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  60718. * columns or map areas, whether to align the data label inside the box or
  60719. * to the actual value point. Defaults to `false` in most cases, `true` in
  60720. * stacked columns.
  60721. */
  60722. inside?: boolean;
  60723. /**
  60724. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  60725. * of null. Works analogously to format. `nullFormat` can be applied only to
  60726. * series which support displaying null points.
  60727. */
  60728. nullFormat?: (boolean|string);
  60729. /**
  60730. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  60731. * that defines formatting for points with the value of null. Works
  60732. * analogously to formatter. `nullPointFormatter` can be applied only to
  60733. * series which support displaying null points.
  60734. */
  60735. nullFormatter?: DataLabelsFormatterCallbackFunction;
  60736. /**
  60737. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  60738. * flow outside the plot area. The default is `"justify"`, which aligns them
  60739. * inside the plot area. For columns and bars, this means it will be moved
  60740. * inside the bar. To display data labels outside the plot area, set `crop`
  60741. * to `false` and `overflow` to `"allow"`.
  60742. */
  60743. overflow?: boolean;
  60744. /**
  60745. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  60746. * the `backgroundColor` is set, this is the padding within the box.
  60747. */
  60748. padding?: number;
  60749. /**
  60750. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  60751. * points. If `center` alignment is not possible, it defaults to `right`.
  60752. */
  60753. position?: AlignValue;
  60754. /**
  60755. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  60756. * that due to a more complex structure, backgrounds, borders and padding
  60757. * will be lost on a rotated data label.
  60758. */
  60759. rotation?: number;
  60760. /**
  60761. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  60762. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  60763. * an object configuration containing `color`, `offsetX`, `offsetY`,
  60764. * `opacity` and `width`.
  60765. */
  60766. shadow?: (boolean|ShadowOptionsObject);
  60767. /**
  60768. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  60769. * the border around the label. Symbols are predefined functions on the
  60770. * Renderer object.
  60771. */
  60772. shape?: string;
  60773. /**
  60774. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  60775. * default `color` setting is `"contrast"`, which is a pseudo color that
  60776. * Highcharts picks up and applies the maximum contrast to the underlying
  60777. * point item, for example the bar in a bar chart.
  60778. *
  60779. * The `textOutline` is a pseudo property that applies an outline of the
  60780. * given width with the given color, which by default is the maximum
  60781. * contrast to the text. So a bright text color will result in a black text
  60782. * outline for maximum readability on a mixed background. In some cases,
  60783. * especially with grayscale text, the text outline doesn't work well, in
  60784. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  60785. * is true, the `textOutline` will not be picked up. In this, case, the same
  60786. * effect can be acheived through the `text-shadow` CSS property.
  60787. *
  60788. * For some series types, where each point has an extent, like for example
  60789. * tree maps, the data label may overflow the point. There are two
  60790. * strategies for handling overflow. By default, the text will wrap to
  60791. * multiple lines. The other strategy is to set `style.textOverflow` to
  60792. * `ellipsis`, which will keep the text on one line plus it will break
  60793. * inside long words.
  60794. */
  60795. style?: CSSObject;
  60796. /**
  60797. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  60798. * should follow marker's shape. Border and background are disabled for a
  60799. * label that follows a path.
  60800. *
  60801. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  60802. * to true will disable this option.
  60803. */
  60804. textPath?: DataLabelsTextPathOptionsObject;
  60805. /**
  60806. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  60807. * the labels.
  60808. */
  60809. useHTML?: boolean;
  60810. /**
  60811. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  60812. * label. Can be one of `top`, `middle` or `bottom`. The default value
  60813. * depends on the data, for instance in a column chart, the label is above
  60814. * positive values and below negative values.
  60815. */
  60816. verticalAlign?: string;
  60817. /**
  60818. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  60819. * label relative to the point in pixels.
  60820. */
  60821. x?: number;
  60822. /**
  60823. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  60824. * label relative to the point in pixels.
  60825. */
  60826. y?: number;
  60827. /**
  60828. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  60829. * The default Z index puts it above the series. Use a Z index of 2 to
  60830. * display it behind the series.
  60831. */
  60832. z?: number;
  60833. }
  60834. /**
  60835. * (Highcharts, Highstock) Options for the series data sorting.
  60836. */
  60837. export interface PlotMaplineDataSortingOptions {
  60838. /**
  60839. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  60840. * Use xAxis.reversed to change the sorting order.
  60841. */
  60842. enabled?: boolean;
  60843. /**
  60844. * (Highcharts, Highstock) Whether to allow matching points by name in an
  60845. * update. If this option is disabled, points will be matched by order.
  60846. */
  60847. matchByName?: boolean;
  60848. /**
  60849. * (Highcharts, Highstock) Determines what data value should be used to sort
  60850. * by.
  60851. */
  60852. sortKey?: string;
  60853. }
  60854. /**
  60855. * (Highmaps) Style options for the guide box. The guide box has one state by
  60856. * default, the `default` state.
  60857. */
  60858. export interface PlotMaplineDragDropGuideBoxOptions {
  60859. /**
  60860. * (Highmaps) Style options for the guide box default state.
  60861. */
  60862. default?: DragDropGuideBoxOptionsObject;
  60863. }
  60864. /**
  60865. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  60866. * plotting discrete values, a little random noise may help telling the points
  60867. * apart. The jitter setting applies a random displacement of up to `n` axis
  60868. * units in either direction. So for example on a horizontal X axis, setting the
  60869. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  60870. * units to the left and 0.24 units to the right of the true axis position. On a
  60871. * category axis, setting it to 0.5 will fill up the bin and make the data
  60872. * appear continuous.
  60873. *
  60874. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  60875. * will correspond to the underlying series' default groupPadding and
  60876. * pointPadding settings.
  60877. */
  60878. export interface PlotMaplineJitterOptions {
  60879. /**
  60880. * (Highcharts, Highstock) The maximal X offset for the random jitter
  60881. * effect.
  60882. */
  60883. x?: number;
  60884. /**
  60885. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  60886. * effect.
  60887. */
  60888. y?: number;
  60889. }
  60890. /**
  60891. * (Highmaps) A mapline series is a special case of the map series where the
  60892. * value colors are applied to the strokes rather than the fills. It can also be
  60893. * used for freeform drawing, like dividers, in the map.
  60894. *
  60895. * In TypeScript the type option must always be set.
  60896. *
  60897. * Configuration options for the series are given in three levels:
  60898. *
  60899. * 1. Options for all series in a chart are defined in the plotOptions.series
  60900. * object.
  60901. *
  60902. * 2. Options for all `mapline` series are defined in plotOptions.mapline.
  60903. *
  60904. * 3. Options for one single series are given in the series instance array. (see
  60905. * online documentation for example)
  60906. */
  60907. export interface PlotMaplineOptions {
  60908. /**
  60909. * (Highmaps) Accessibility options for a series.
  60910. */
  60911. accessibility?: SeriesAccessibilityOptionsObject;
  60912. /**
  60913. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  60914. * rendered. If `true`, areas which don't correspond to a data point, are
  60915. * rendered as `null` points. If `false`, those areas are skipped.
  60916. */
  60917. allAreas?: boolean;
  60918. /**
  60919. * (Highmaps) Allow this series' points to be selected by clicking on the
  60920. * graphic (columns, point markers, pie slices, map areas etc).
  60921. *
  60922. * The selected points can be handled by point select and unselect events,
  60923. * or collectively by the getSelectedPoints function.
  60924. *
  60925. * And alternative way of selecting points is through dragging.
  60926. */
  60927. allowPointSelect?: boolean;
  60928. /**
  60929. * (Highmaps) Enable or disable the initial animation when a series is
  60930. * displayed. The animation can also be set as a configuration object.
  60931. * Please note that this option only applies to the initial animation of the
  60932. * series itself. For other animations, see chart.animation and the
  60933. * animation parameter under the API methods. The following properties are
  60934. * supported:
  60935. *
  60936. * - `defer`: The animation delay time in milliseconds.
  60937. *
  60938. * - `duration`: The duration of the animation in milliseconds.
  60939. *
  60940. * - `easing`: Can be a string reference to an easing function set on the
  60941. * `Math` object or a function. See the _Custom easing function_ demo below.
  60942. *
  60943. * Due to poor performance, animation is disabled in old IE browsers for
  60944. * several chart types.
  60945. */
  60946. animation?: (boolean|PlotMaplineAnimationOptions);
  60947. /**
  60948. * (Highmaps) For some series, there is a limit that shuts down initial
  60949. * animation by default when the total number of points in the chart is too
  60950. * high. For example, for a column chart and its derivatives, animation does
  60951. * not run if there is more than 250 points totally. To disable this cap,
  60952. * set `animationLimit` to `Infinity`.
  60953. */
  60954. animationLimit?: number;
  60955. /**
  60956. * (Highmaps) Sets the color blending in the boost module.
  60957. */
  60958. boostBlending?: OptionsBoostBlendingValue;
  60959. /**
  60960. * (Highmaps) Set the point threshold for when a series should enter boost
  60961. * mode.
  60962. *
  60963. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  60964. * there are 2000 or more points in the series.
  60965. *
  60966. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  60967. * it to 1 will force boosting.
  60968. *
  60969. * Note that the cropThreshold also affects this setting. When zooming in on
  60970. * a series that has fewer points than the `cropThreshold`, all points are
  60971. * rendered although outside the visible plot area, and the `boostThreshold`
  60972. * won't take effect.
  60973. */
  60974. boostThreshold?: number;
  60975. /**
  60976. * (Highmaps) The border color of the map areas.
  60977. *
  60978. * In styled mode, the border stroke is given in the `.highcharts-point`
  60979. * class.
  60980. */
  60981. borderColor?: (ColorString|GradientColorObject|PatternObject);
  60982. /**
  60983. * (Highmaps) The border width of each map area.
  60984. *
  60985. * In styled mode, the border stroke width is given in the
  60986. * `.highcharts-point` class.
  60987. */
  60988. borderWidth?: number;
  60989. /**
  60990. * (Highmaps) An additional class name to apply to the series' graphical
  60991. * elements. This option does not replace default class names of the
  60992. * graphical element.
  60993. */
  60994. className?: string;
  60995. /**
  60996. * (Highmaps) Disable this option to allow series rendering in the whole
  60997. * plotting area.
  60998. *
  60999. * **Note:** Clipping should be always enabled when chart.zoomType is set
  61000. */
  61001. clip?: boolean;
  61002. /**
  61003. * (Highmaps) The main color of the series. In line type series it applies
  61004. * to the line and the point markers unless otherwise specified. In bar type
  61005. * series it applies to the bars unless a color is specified per point. The
  61006. * default value is pulled from the `options.colors` array.
  61007. *
  61008. * In styled mode, the color can be defined by the colorIndex option. Also,
  61009. * the series color can be set with the `.highcharts-series`,
  61010. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  61011. * `.highcharts-series-{n}` class, or individual classes given by the
  61012. * `className` option.
  61013. */
  61014. color?: (ColorString|GradientColorObject|PatternObject);
  61015. /**
  61016. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  61017. * this number defines which colorAxis the particular series is connected
  61018. * to. It refers to either the axis id or the index of the axis in the
  61019. * colorAxis array, with 0 being the first. Set this option to false to
  61020. * prevent a series from connecting to the default color axis.
  61021. *
  61022. * Since v7.2.0 the option can also be an axis id or an axis index instead
  61023. * of a boolean flag.
  61024. */
  61025. colorAxis?: (boolean|number|string);
  61026. /**
  61027. * (Highmaps) Styled mode only. A specific color index to use for the
  61028. * series, so its graphic representations are given the class name
  61029. * `highcharts-color-{n}`.
  61030. */
  61031. colorIndex?: number;
  61032. /**
  61033. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  61034. * used to calculate point color if `colorAxis` is used. Requires to set
  61035. * `min` and `max` if some custom point property is used or if approximation
  61036. * for data grouping is set to `'sum'`.
  61037. */
  61038. colorKey?: string;
  61039. /**
  61040. * (Highstock) Compare the values of the series against the first non-null,
  61041. * non- zero value in the visible range. The y axis will show percentage or
  61042. * absolute change depending on whether `compare` is set to `"percent"` or
  61043. * `"value"`. When this is applied to multiple series, it allows comparing
  61044. * the development of the series against each other. Adds a `change` field
  61045. * to every point object.
  61046. */
  61047. compare?: string;
  61048. /**
  61049. * (Highstock) When compare is `percent`, this option dictates whether to
  61050. * use 0 or 100 as the base of comparison.
  61051. */
  61052. compareBase?: (0|100);
  61053. /**
  61054. * (Highstock) Defines if comparison should start from the first point
  61055. * within the visible range or should start from the first point **before**
  61056. * the range.
  61057. *
  61058. * In other words, this flag determines if first point within the visible
  61059. * range will have 0% (`compareStart=true`) or should have been already
  61060. * calculated according to the previous point (`compareStart=false`).
  61061. */
  61062. compareStart?: boolean;
  61063. /**
  61064. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  61065. * series plot across the extremes.
  61066. */
  61067. connectEnds?: boolean;
  61068. /**
  61069. * (Highcharts, Highstock) Whether to connect a graph line across null
  61070. * points, or render a gap between the two points on either side of the
  61071. * null.
  61072. */
  61073. connectNulls?: boolean;
  61074. /**
  61075. * (Gantt) Override Pathfinder connector options for a series. Requires
  61076. * Highcharts Gantt to be loaded.
  61077. */
  61078. connectors?: SeriesConnectorsOptionsObject;
  61079. /**
  61080. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  61081. * rounded to its nearest pixel in order to render sharp on screen. In some
  61082. * cases, when there are a lot of densely packed columns, this leads to
  61083. * visible difference in column widths or distance between columns. In these
  61084. * cases, setting `crisp` to `false` may look better, even though each
  61085. * column is rendered blurry.
  61086. */
  61087. crisp?: boolean;
  61088. /**
  61089. * (Highmaps) You can set the cursor to "pointer" if you have click events
  61090. * attached to the series, to signal to the user that the points and lines
  61091. * can be clicked.
  61092. *
  61093. * In styled mode, the series cursor can be set with the same classes as
  61094. * listed under series.color.
  61095. */
  61096. cursor?: (string|CursorValue);
  61097. /**
  61098. * (Highmaps) A reserved subspace to store options and values for customized
  61099. * functionality. Here you can add additional data for your own event
  61100. * callbacks and formatter callbacks.
  61101. */
  61102. custom?: Dictionary<any>;
  61103. /**
  61104. * (Highmaps) Name of the dash style to use for the graph, or for some
  61105. * series types the outline of each shape.
  61106. *
  61107. * In styled mode, the stroke dash-array can be set with the same classes as
  61108. * listed under series.color.
  61109. */
  61110. dashStyle?: DashStyleValue;
  61111. /**
  61112. * (Highstock) Data grouping is the concept of sampling the data values into
  61113. * larger blocks in order to ease readability and increase performance of
  61114. * the JavaScript charts. Highcharts Stock by default applies data grouping
  61115. * when the points become closer than a certain pixel value, determined by
  61116. * the `groupPixelWidth` option.
  61117. *
  61118. * If data grouping is applied, the grouping information of grouped points
  61119. * can be read from the Point.dataGroup. If point options other than the
  61120. * data itself are set, for example `name` or `color` or custom properties,
  61121. * the grouping logic doesn't know how to group it. In this case the options
  61122. * of the first point instance are copied over to the group point. This can
  61123. * be altered through a custom `approximation` callback function.
  61124. */
  61125. dataGrouping?: DataGroupingOptionsObject;
  61126. /**
  61127. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  61128. * labels, appearing next to each data point.
  61129. *
  61130. * Since v6.2.0, multiple data labels can be applied to each single point by
  61131. * defining them as an array of configs.
  61132. *
  61133. * In styled mode, the data labels can be styled with the
  61134. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  61135. * (see example).
  61136. */
  61137. dataLabels?: (PlotMaplineDataLabelsOptions|Array<PlotMaplineDataLabelsOptions>);
  61138. /**
  61139. * (Highcharts, Highstock) Options for the series data sorting.
  61140. */
  61141. dataSorting?: (DataSortingOptionsObject|PlotMaplineDataSortingOptions);
  61142. /**
  61143. * (Highmaps) A description of the series to add to the screen reader
  61144. * information about the series.
  61145. */
  61146. description?: string;
  61147. /**
  61148. * (Highmaps) The draggable-points module allows points to be moved around
  61149. * or modified in the chart. In addition to the options mentioned under the
  61150. * `dragDrop` API structure, the module fires three events, point.dragStart,
  61151. * point.drag and point.drop.
  61152. */
  61153. dragDrop?: SeriesDragDropOptionsObject;
  61154. /**
  61155. * (Highmaps) Enable or disable the mouse tracking for a specific series.
  61156. * This includes point tooltips and click events on graphs and points. For
  61157. * large datasets it improves performance.
  61158. */
  61159. enableMouseTracking?: boolean;
  61160. /**
  61161. * (Highmaps) General event handlers for the series items. These event hooks
  61162. * can also be attached to the series at run time using the
  61163. * `Highcharts.addEvent` function.
  61164. */
  61165. events?: SeriesEventsOptionsObject;
  61166. /**
  61167. * (Highmaps) Fill color for the map line shapes
  61168. */
  61169. fillColor?: (ColorString|GradientColorObject|PatternObject);
  61170. /**
  61171. * (Highmaps) Determines whether the series should look for the nearest
  61172. * point in both dimensions or just the x-dimension when hovering the
  61173. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  61174. * series. If the data has duplicate x-values, it is recommended to set this
  61175. * to `'xy'` to allow hovering over all points.
  61176. *
  61177. * Applies only to series types using nearest neighbor search (not direct
  61178. * hover) for tooltip.
  61179. */
  61180. findNearestPointBy?: OptionsFindNearestPointByValue;
  61181. /**
  61182. * (Highstock) Defines when to display a gap in the graph, together with the
  61183. * gapUnit option.
  61184. *
  61185. * In case when `dataGrouping` is enabled, points can be grouped into a
  61186. * larger time span. This can make the grouped points to have a greater
  61187. * distance than the absolute value of `gapSize` property, which will result
  61188. * in disappearing graph completely. To prevent this situation the mentioned
  61189. * distance between grouped points is used instead of previously defined
  61190. * `gapSize`.
  61191. *
  61192. * In practice, this option is most often used to visualize gaps in time
  61193. * series. In a stock chart, intraday data is available for daytime hours,
  61194. * while gaps will appear in nights and weekends.
  61195. */
  61196. gapSize?: number;
  61197. /**
  61198. * (Highstock) Together with gapSize, this option defines where to draw gaps
  61199. * in the graph.
  61200. *
  61201. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  61202. * if the distance between two points is greater than 5 times that of the
  61203. * two closest points, the graph will be broken.
  61204. *
  61205. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  61206. * values, which on a datetime axis is milliseconds. This also applies to
  61207. * the navigator series that inherits gap options from the base series.
  61208. */
  61209. gapUnit?: OptionsGapUnitValue;
  61210. /**
  61211. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  61212. * chart width or only the zoomed area when zooming in on parts of the X
  61213. * axis. By default, the Y axis adjusts to the min and max of the visible
  61214. * data. Cartesian series only.
  61215. */
  61216. getExtremesFromAll?: boolean;
  61217. /**
  61218. * (Highmaps) When set to `false` will prevent the series data from being
  61219. * included in any form of data export.
  61220. *
  61221. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  61222. * `includeInCSVExport`.
  61223. */
  61224. includeInDataExport?: boolean;
  61225. /**
  61226. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  61227. * When plotting discrete values, a little random noise may help telling the
  61228. * points apart. The jitter setting applies a random displacement of up to
  61229. * `n` axis units in either direction. So for example on a horizontal X
  61230. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  61231. * position between 0.24 units to the left and 0.24 units to the right of
  61232. * the true axis position. On a category axis, setting it to 0.5 will fill
  61233. * up the bin and make the data appear continuous.
  61234. *
  61235. * When rendered on top of a box plot or a column series, a jitter value of
  61236. * 0.24 will correspond to the underlying series' default groupPadding and
  61237. * pointPadding settings.
  61238. */
  61239. jitter?: PlotMaplineJitterOptions;
  61240. /**
  61241. * (Highmaps) What property to join the `mapData` to the value data. For
  61242. * example, if joinBy is "code", the mapData items with a specific code is
  61243. * merged into the data with the same code. For maps loaded from GeoJSON,
  61244. * the keys may be held in each point's `properties` object.
  61245. *
  61246. * The joinBy option can also be an array of two values, where the first
  61247. * points to a key in the `mapData`, and the second points to another key in
  61248. * the `data`.
  61249. *
  61250. * When joinBy is `null`, the map items are joined by their position in the
  61251. * array, which performs much better in maps with many data points. This is
  61252. * the recommended option if you are printing more than a thousand data
  61253. * points and have a backend that can preprocess the data into a parallel
  61254. * array of the mapData.
  61255. */
  61256. joinBy?: (string|Array<string>);
  61257. /**
  61258. * (Highmaps) An array specifying which option maps to which key in the data
  61259. * point array. This makes it convenient to work with unstructured data
  61260. * arrays from different sources.
  61261. */
  61262. keys?: Array<string>;
  61263. /**
  61264. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  61265. * series as possible in a natural way, seeking to avoid other series. The
  61266. * goal of this feature is to make the chart more easily readable, like if a
  61267. * human designer placed the labels in the optimal position.
  61268. *
  61269. * The series labels currently work with series types having a `graph` or an
  61270. * `area`.
  61271. */
  61272. label?: SeriesLabelOptionsObject;
  61273. /**
  61274. * (Highstock) The line marks the last price from all points.
  61275. */
  61276. lastPrice?: SeriesLastPriceOptionsObject;
  61277. /**
  61278. * (Highstock) The line marks the last price from visible range of points.
  61279. */
  61280. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  61281. /**
  61282. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  61283. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  61284. * the ends and bends.
  61285. */
  61286. linecap?: SeriesLinecapValue;
  61287. /**
  61288. * (Highcharts, Highstock) The width of the map line.
  61289. */
  61290. lineWidth?: number;
  61291. /**
  61292. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  61293. * Additionally, the value can be ":previous" to link to the previous
  61294. * series. When two series are linked, only the first one appears in the
  61295. * legend. Toggling the visibility of this also toggles the linked series.
  61296. *
  61297. * If master series uses data sorting and linked series does not have its
  61298. * own sorting definition, the linked series will be sorted in the same
  61299. * order as the master one.
  61300. */
  61301. linkedTo?: string;
  61302. /**
  61303. * (Highstock) Options for the corresponding navigator series if
  61304. * `showInNavigator` is `true` for this series. Available options are the
  61305. * same as any series, documented at plotOptions and series.
  61306. *
  61307. * These options are merged with options in navigator.series, and will take
  61308. * precedence if the same option is defined both places.
  61309. */
  61310. navigatorOptions?: PlotSeriesOptions;
  61311. /**
  61312. * (Highmaps) The color for the parts of the graph or points that are below
  61313. * the threshold. Note that `zones` takes precedence over the negative
  61314. * color. Using `negativeColor` is equivalent to applying a zone with value
  61315. * of 0.
  61316. */
  61317. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  61318. /**
  61319. * (Highmaps) The color to apply to null points.
  61320. *
  61321. * In styled mode, the null point fill is set in the
  61322. * `.highcharts-null-point` class.
  61323. */
  61324. nullColor?: (ColorString|GradientColorObject|PatternObject);
  61325. /**
  61326. * (Highmaps) Whether to allow pointer interaction like tooltips and mouse
  61327. * events on null points.
  61328. */
  61329. nullInteraction?: boolean;
  61330. /**
  61331. * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
  61332. * dataLabels.
  61333. */
  61334. opacity?: number;
  61335. /**
  61336. * (Highmaps) Properties for each single point.
  61337. */
  61338. point?: PlotSeriesPointOptions;
  61339. /**
  61340. * (Highmaps) Same as accessibility.pointDescriptionFormatter, but for an
  61341. * individual series. Overrides the chart wide configuration.
  61342. */
  61343. pointDescriptionFormatter?: Function;
  61344. /**
  61345. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  61346. * a series, `pointInterval` defines the interval of the x values. For
  61347. * example, if a series contains one value every decade starting from year
  61348. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  61349. * `pointInterval` is set in milliseconds.
  61350. *
  61351. * It can be also be combined with `pointIntervalUnit` to draw irregular
  61352. * time intervals.
  61353. *
  61354. * Please note that this options applies to the _series data_, not the
  61355. * interval of the axis ticks, which is independent.
  61356. */
  61357. pointInterval?: number;
  61358. /**
  61359. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  61360. * setting the pointInterval to irregular time units, `day`, `month` and
  61361. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  61362. * also takes the DST crossover into consideration when dealing with local
  61363. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  61364. * months, 10 years etc.
  61365. *
  61366. * Please note that this options applies to the _series data_, not the
  61367. * interval of the axis ticks, which is independent.
  61368. */
  61369. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  61370. /**
  61371. * (Highstock) The width of each point on the x axis. For example in a
  61372. * column chart with one value each day, the pointRange would be 1 day (= 24
  61373. * * 3600
  61374. *
  61375. * * 1000 milliseconds). This is normally computed automatically, but this
  61376. * option can be used to override the automatic value.
  61377. */
  61378. pointRange?: number;
  61379. /**
  61380. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  61381. * a series, pointStart defines on what value to start. For example, if a
  61382. * series contains one yearly value starting from 1945, set pointStart to
  61383. * 1945.
  61384. */
  61385. pointStart?: number;
  61386. /**
  61387. * (Highmaps) Whether to select the series initially. If `showCheckbox` is
  61388. * true, the checkbox next to the series name in the legend will be checked
  61389. * for a selected series.
  61390. */
  61391. selected?: boolean;
  61392. /**
  61393. * (Highmaps) If true, a checkbox is displayed next to the legend item to
  61394. * allow selecting the series. The state of the checkbox is determined by
  61395. * the `selected` option.
  61396. */
  61397. showCheckbox?: boolean;
  61398. /**
  61399. * (Highmaps) Whether to display this particular series or series type in
  61400. * the legend. Standalone series are shown in legend by default, and linked
  61401. * series are not. Since v7.2.0 it is possible to show series that use
  61402. * colorAxis by setting this option to `true`.
  61403. */
  61404. showInLegend?: boolean;
  61405. /**
  61406. * (Highstock) Whether or not to show the series in the navigator. Takes
  61407. * precedence over navigator.baseSeries if defined.
  61408. */
  61409. showInNavigator?: boolean;
  61410. /**
  61411. * (Highmaps) If set to `true`, the accessibility module will skip past the
  61412. * points in this series for keyboard navigation.
  61413. */
  61414. skipKeyboardNavigation?: boolean;
  61415. /**
  61416. * (Highcharts, Highstock) When this is true, the series will not cause the
  61417. * Y axis to cross the zero plane (or threshold option) unless the data
  61418. * actually crosses the plane.
  61419. *
  61420. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  61421. * make the Y axis show negative values according to the `minPadding`
  61422. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  61423. */
  61424. softThreshold?: boolean;
  61425. /**
  61426. * (Highcharts, Highstock) Whether to stack the values of each series on top
  61427. * of each other. Possible values are `undefined` to disable, `"normal"` to
  61428. * stack by value or `"percent"`.
  61429. *
  61430. * When stacking is enabled, data must be sorted in ascending X order.
  61431. *
  61432. * Some stacking options are related to specific series types. In the
  61433. * streamgraph series type, the stacking option is set to `"stream"`. The
  61434. * second one is `"overlap"`, which only applies to waterfall series.
  61435. */
  61436. stacking?: OptionsStackingValue;
  61437. states?: SeriesStatesOptionsObject;
  61438. /**
  61439. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  61440. * values are `left`, `center` and `right`.
  61441. */
  61442. step?: OptionsStepValue;
  61443. /**
  61444. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  61445. * `mouseOut` event on a series isn't triggered until the mouse moves over
  61446. * another series, or out of the plot area. When false, the `mouseOut` event
  61447. * on a series is triggered when the mouse leaves the area around the
  61448. * series' graph or markers. This also implies the tooltip. When
  61449. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  61450. * be hidden when moving the mouse between series.
  61451. */
  61452. stickyTracking?: boolean;
  61453. /**
  61454. * (Highcharts, Highstock) The threshold, also called zero level or base
  61455. * level. For line type series this is only used in conjunction with
  61456. * negativeColor.
  61457. */
  61458. threshold?: (number|null);
  61459. /**
  61460. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  61461. * of each single series. Properties are inherited from tooltip. Overridable
  61462. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  61463. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  61464. * series.name by default shows in the headerFormat and point.x and point.y
  61465. * in the pointFormat.
  61466. */
  61467. tooltip?: SeriesTooltipOptionsObject;
  61468. /**
  61469. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  61470. * is longer than this, only one dimensional arrays of numbers, or two
  61471. * dimensional arrays with x and y values are allowed. Also, only the first
  61472. * point is tested, and the rest are assumed to be the same format. This
  61473. * saves expensive data checking and indexing in long series. Set it to `0`
  61474. * disable.
  61475. *
  61476. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  61477. * two dimensional arrays are allowed.
  61478. */
  61479. turboThreshold?: number;
  61480. /**
  61481. * (Highmaps) Set the initial visibility of the series.
  61482. */
  61483. visible?: boolean;
  61484. /**
  61485. * (Highmaps) Define the z index of the series.
  61486. */
  61487. zIndex?: number;
  61488. /**
  61489. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  61490. */
  61491. zoneAxis?: string;
  61492. /**
  61493. * (Highcharts, Highstock) An array defining zones within a series. Zones
  61494. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  61495. * the `zoneAxis` option. The zone definitions have to be in ascending order
  61496. * regarding to the value.
  61497. *
  61498. * In styled mode, the color zones are styled with the
  61499. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  61500. * option (view live demo).
  61501. */
  61502. zones?: Array<SeriesZonesOptionsObject>;
  61503. }
  61504. /**
  61505. * (Highmaps) The map series is used for basic choropleth maps, where each map
  61506. * area has a color based on its value.
  61507. *
  61508. * In TypeScript the type option must always be set.
  61509. *
  61510. * Configuration options for the series are given in three levels:
  61511. *
  61512. * 1. Options for all series in a chart are defined in the plotOptions.series
  61513. * object.
  61514. *
  61515. * 2. Options for all `map` series are defined in plotOptions.map.
  61516. *
  61517. * 3. Options for one single series are given in the series instance array. (see
  61518. * online documentation for example)
  61519. */
  61520. export interface PlotMapOptions {
  61521. /**
  61522. * (Highmaps) Accessibility options for a series.
  61523. */
  61524. accessibility?: SeriesAccessibilityOptionsObject;
  61525. /**
  61526. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  61527. * rendered. If `true`, areas which don't correspond to a data point, are
  61528. * rendered as `null` points. If `false`, those areas are skipped.
  61529. */
  61530. allAreas?: boolean;
  61531. /**
  61532. * (Highmaps) Allow this series' points to be selected by clicking on the
  61533. * graphic (columns, point markers, pie slices, map areas etc).
  61534. *
  61535. * The selected points can be handled by point select and unselect events,
  61536. * or collectively by the getSelectedPoints function.
  61537. *
  61538. * And alternative way of selecting points is through dragging.
  61539. */
  61540. allowPointSelect?: boolean;
  61541. /**
  61542. * (Highmaps) Enable or disable the initial animation when a series is
  61543. * displayed. The animation can also be set as a configuration object.
  61544. * Please note that this option only applies to the initial animation of the
  61545. * series itself. For other animations, see chart.animation and the
  61546. * animation parameter under the API methods. The following properties are
  61547. * supported:
  61548. *
  61549. * - `defer`: The animation delay time in milliseconds.
  61550. *
  61551. * - `duration`: The duration of the animation in milliseconds.
  61552. *
  61553. * - `easing`: Can be a string reference to an easing function set on the
  61554. * `Math` object or a function. See the _Custom easing function_ demo below.
  61555. *
  61556. * Due to poor performance, animation is disabled in old IE browsers for
  61557. * several chart types.
  61558. */
  61559. animation?: (boolean|PlotMapAnimationOptions);
  61560. /**
  61561. * (Highmaps) For some series, there is a limit that shuts down initial
  61562. * animation by default when the total number of points in the chart is too
  61563. * high. For example, for a column chart and its derivatives, animation does
  61564. * not run if there is more than 250 points totally. To disable this cap,
  61565. * set `animationLimit` to `Infinity`.
  61566. */
  61567. animationLimit?: number;
  61568. /**
  61569. * (Highmaps) Sets the color blending in the boost module.
  61570. */
  61571. boostBlending?: OptionsBoostBlendingValue;
  61572. /**
  61573. * (Highmaps) Set the point threshold for when a series should enter boost
  61574. * mode.
  61575. *
  61576. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  61577. * there are 2000 or more points in the series.
  61578. *
  61579. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  61580. * it to 1 will force boosting.
  61581. *
  61582. * Note that the cropThreshold also affects this setting. When zooming in on
  61583. * a series that has fewer points than the `cropThreshold`, all points are
  61584. * rendered although outside the visible plot area, and the `boostThreshold`
  61585. * won't take effect.
  61586. */
  61587. boostThreshold?: number;
  61588. /**
  61589. * (Highmaps) The border color of the map areas.
  61590. *
  61591. * In styled mode, the border stroke is given in the `.highcharts-point`
  61592. * class.
  61593. */
  61594. borderColor?: (ColorString|GradientColorObject|PatternObject);
  61595. /**
  61596. * (Highmaps) The border width of each map area.
  61597. *
  61598. * In styled mode, the border stroke width is given in the
  61599. * `.highcharts-point` class.
  61600. */
  61601. borderWidth?: number;
  61602. /**
  61603. * (Highmaps) An additional class name to apply to the series' graphical
  61604. * elements. This option does not replace default class names of the
  61605. * graphical element.
  61606. */
  61607. className?: string;
  61608. /**
  61609. * (Highmaps) Disable this option to allow series rendering in the whole
  61610. * plotting area.
  61611. *
  61612. * **Note:** Clipping should be always enabled when chart.zoomType is set
  61613. */
  61614. clip?: boolean;
  61615. /**
  61616. * (Highmaps) The main color of the series. In line type series it applies
  61617. * to the line and the point markers unless otherwise specified. In bar type
  61618. * series it applies to the bars unless a color is specified per point. The
  61619. * default value is pulled from the `options.colors` array.
  61620. *
  61621. * In styled mode, the color can be defined by the colorIndex option. Also,
  61622. * the series color can be set with the `.highcharts-series`,
  61623. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  61624. * `.highcharts-series-{n}` class, or individual classes given by the
  61625. * `className` option.
  61626. */
  61627. color?: (ColorString|GradientColorObject|PatternObject);
  61628. /**
  61629. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  61630. * this number defines which colorAxis the particular series is connected
  61631. * to. It refers to either the axis id or the index of the axis in the
  61632. * colorAxis array, with 0 being the first. Set this option to false to
  61633. * prevent a series from connecting to the default color axis.
  61634. *
  61635. * Since v7.2.0 the option can also be an axis id or an axis index instead
  61636. * of a boolean flag.
  61637. */
  61638. colorAxis?: (boolean|number|string);
  61639. /**
  61640. * (Highmaps) Styled mode only. A specific color index to use for the
  61641. * series, so its graphic representations are given the class name
  61642. * `highcharts-color-{n}`.
  61643. */
  61644. colorIndex?: number;
  61645. /**
  61646. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  61647. * used to calculate point color if `colorAxis` is used. Requires to set
  61648. * `min` and `max` if some custom point property is used or if approximation
  61649. * for data grouping is set to `'sum'`.
  61650. */
  61651. colorKey?: string;
  61652. /**
  61653. * (Highstock) Compare the values of the series against the first non-null,
  61654. * non- zero value in the visible range. The y axis will show percentage or
  61655. * absolute change depending on whether `compare` is set to `"percent"` or
  61656. * `"value"`. When this is applied to multiple series, it allows comparing
  61657. * the development of the series against each other. Adds a `change` field
  61658. * to every point object.
  61659. */
  61660. compare?: string;
  61661. /**
  61662. * (Highstock) When compare is `percent`, this option dictates whether to
  61663. * use 0 or 100 as the base of comparison.
  61664. */
  61665. compareBase?: (0|100);
  61666. /**
  61667. * (Highstock) Defines if comparison should start from the first point
  61668. * within the visible range or should start from the first point **before**
  61669. * the range.
  61670. *
  61671. * In other words, this flag determines if first point within the visible
  61672. * range will have 0% (`compareStart=true`) or should have been already
  61673. * calculated according to the previous point (`compareStart=false`).
  61674. */
  61675. compareStart?: boolean;
  61676. /**
  61677. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  61678. * series plot across the extremes.
  61679. */
  61680. connectEnds?: boolean;
  61681. /**
  61682. * (Highcharts, Highstock) Whether to connect a graph line across null
  61683. * points, or render a gap between the two points on either side of the
  61684. * null.
  61685. */
  61686. connectNulls?: boolean;
  61687. /**
  61688. * (Gantt) Override Pathfinder connector options for a series. Requires
  61689. * Highcharts Gantt to be loaded.
  61690. */
  61691. connectors?: SeriesConnectorsOptionsObject;
  61692. /**
  61693. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  61694. * rounded to its nearest pixel in order to render sharp on screen. In some
  61695. * cases, when there are a lot of densely packed columns, this leads to
  61696. * visible difference in column widths or distance between columns. In these
  61697. * cases, setting `crisp` to `false` may look better, even though each
  61698. * column is rendered blurry.
  61699. */
  61700. crisp?: boolean;
  61701. /**
  61702. * (Highmaps) You can set the cursor to "pointer" if you have click events
  61703. * attached to the series, to signal to the user that the points and lines
  61704. * can be clicked.
  61705. *
  61706. * In styled mode, the series cursor can be set with the same classes as
  61707. * listed under series.color.
  61708. */
  61709. cursor?: (string|CursorValue);
  61710. /**
  61711. * (Highmaps) A reserved subspace to store options and values for customized
  61712. * functionality. Here you can add additional data for your own event
  61713. * callbacks and formatter callbacks.
  61714. */
  61715. custom?: Dictionary<any>;
  61716. /**
  61717. * (Highmaps) Name of the dash style to use for the graph, or for some
  61718. * series types the outline of each shape.
  61719. *
  61720. * In styled mode, the stroke dash-array can be set with the same classes as
  61721. * listed under series.color.
  61722. */
  61723. dashStyle?: DashStyleValue;
  61724. /**
  61725. * (Highstock) Data grouping is the concept of sampling the data values into
  61726. * larger blocks in order to ease readability and increase performance of
  61727. * the JavaScript charts. Highcharts Stock by default applies data grouping
  61728. * when the points become closer than a certain pixel value, determined by
  61729. * the `groupPixelWidth` option.
  61730. *
  61731. * If data grouping is applied, the grouping information of grouped points
  61732. * can be read from the Point.dataGroup. If point options other than the
  61733. * data itself are set, for example `name` or `color` or custom properties,
  61734. * the grouping logic doesn't know how to group it. In this case the options
  61735. * of the first point instance are copied over to the group point. This can
  61736. * be altered through a custom `approximation` callback function.
  61737. */
  61738. dataGrouping?: DataGroupingOptionsObject;
  61739. /**
  61740. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  61741. * labels, appearing next to each data point.
  61742. *
  61743. * Since v6.2.0, multiple data labels can be applied to each single point by
  61744. * defining them as an array of configs.
  61745. *
  61746. * In styled mode, the data labels can be styled with the
  61747. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  61748. * (see example).
  61749. */
  61750. dataLabels?: (PlotMapDataLabelsOptions|Array<PlotMapDataLabelsOptions>);
  61751. /**
  61752. * (Highcharts, Highstock) Options for the series data sorting.
  61753. */
  61754. dataSorting?: (DataSortingOptionsObject|PlotMapDataSortingOptions);
  61755. /**
  61756. * (Highmaps) A description of the series to add to the screen reader
  61757. * information about the series.
  61758. */
  61759. description?: string;
  61760. /**
  61761. * (Highmaps) The draggable-points module allows points to be moved around
  61762. * or modified in the chart. In addition to the options mentioned under the
  61763. * `dragDrop` API structure, the module fires three events, point.dragStart,
  61764. * point.drag and point.drop.
  61765. */
  61766. dragDrop?: SeriesDragDropOptionsObject;
  61767. /**
  61768. * (Highmaps) Enable or disable the mouse tracking for a specific series.
  61769. * This includes point tooltips and click events on graphs and points. For
  61770. * large datasets it improves performance.
  61771. */
  61772. enableMouseTracking?: boolean;
  61773. /**
  61774. * (Highmaps) General event handlers for the series items. These event hooks
  61775. * can also be attached to the series at run time using the
  61776. * `Highcharts.addEvent` function.
  61777. */
  61778. events?: SeriesEventsOptionsObject;
  61779. /**
  61780. * (Highmaps) Determines whether the series should look for the nearest
  61781. * point in both dimensions or just the x-dimension when hovering the
  61782. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  61783. * series. If the data has duplicate x-values, it is recommended to set this
  61784. * to `'xy'` to allow hovering over all points.
  61785. *
  61786. * Applies only to series types using nearest neighbor search (not direct
  61787. * hover) for tooltip.
  61788. */
  61789. findNearestPointBy?: OptionsFindNearestPointByValue;
  61790. /**
  61791. * (Highstock) Defines when to display a gap in the graph, together with the
  61792. * gapUnit option.
  61793. *
  61794. * In case when `dataGrouping` is enabled, points can be grouped into a
  61795. * larger time span. This can make the grouped points to have a greater
  61796. * distance than the absolute value of `gapSize` property, which will result
  61797. * in disappearing graph completely. To prevent this situation the mentioned
  61798. * distance between grouped points is used instead of previously defined
  61799. * `gapSize`.
  61800. *
  61801. * In practice, this option is most often used to visualize gaps in time
  61802. * series. In a stock chart, intraday data is available for daytime hours,
  61803. * while gaps will appear in nights and weekends.
  61804. */
  61805. gapSize?: number;
  61806. /**
  61807. * (Highstock) Together with gapSize, this option defines where to draw gaps
  61808. * in the graph.
  61809. *
  61810. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  61811. * if the distance between two points is greater than 5 times that of the
  61812. * two closest points, the graph will be broken.
  61813. *
  61814. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  61815. * values, which on a datetime axis is milliseconds. This also applies to
  61816. * the navigator series that inherits gap options from the base series.
  61817. */
  61818. gapUnit?: OptionsGapUnitValue;
  61819. /**
  61820. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  61821. * chart width or only the zoomed area when zooming in on parts of the X
  61822. * axis. By default, the Y axis adjusts to the min and max of the visible
  61823. * data. Cartesian series only.
  61824. */
  61825. getExtremesFromAll?: boolean;
  61826. /**
  61827. * (Highmaps) When set to `false` will prevent the series data from being
  61828. * included in any form of data export.
  61829. *
  61830. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  61831. * `includeInCSVExport`.
  61832. */
  61833. includeInDataExport?: boolean;
  61834. /**
  61835. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  61836. * When plotting discrete values, a little random noise may help telling the
  61837. * points apart. The jitter setting applies a random displacement of up to
  61838. * `n` axis units in either direction. So for example on a horizontal X
  61839. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  61840. * position between 0.24 units to the left and 0.24 units to the right of
  61841. * the true axis position. On a category axis, setting it to 0.5 will fill
  61842. * up the bin and make the data appear continuous.
  61843. *
  61844. * When rendered on top of a box plot or a column series, a jitter value of
  61845. * 0.24 will correspond to the underlying series' default groupPadding and
  61846. * pointPadding settings.
  61847. */
  61848. jitter?: PlotMapJitterOptions;
  61849. /**
  61850. * (Highmaps) What property to join the `mapData` to the value data. For
  61851. * example, if joinBy is "code", the mapData items with a specific code is
  61852. * merged into the data with the same code. For maps loaded from GeoJSON,
  61853. * the keys may be held in each point's `properties` object.
  61854. *
  61855. * The joinBy option can also be an array of two values, where the first
  61856. * points to a key in the `mapData`, and the second points to another key in
  61857. * the `data`.
  61858. *
  61859. * When joinBy is `null`, the map items are joined by their position in the
  61860. * array, which performs much better in maps with many data points. This is
  61861. * the recommended option if you are printing more than a thousand data
  61862. * points and have a backend that can preprocess the data into a parallel
  61863. * array of the mapData.
  61864. */
  61865. joinBy?: (string|Array<string>);
  61866. /**
  61867. * (Highmaps) An array specifying which option maps to which key in the data
  61868. * point array. This makes it convenient to work with unstructured data
  61869. * arrays from different sources.
  61870. */
  61871. keys?: Array<string>;
  61872. /**
  61873. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  61874. * series as possible in a natural way, seeking to avoid other series. The
  61875. * goal of this feature is to make the chart more easily readable, like if a
  61876. * human designer placed the labels in the optimal position.
  61877. *
  61878. * The series labels currently work with series types having a `graph` or an
  61879. * `area`.
  61880. */
  61881. label?: SeriesLabelOptionsObject;
  61882. /**
  61883. * (Highstock) The line marks the last price from all points.
  61884. */
  61885. lastPrice?: SeriesLastPriceOptionsObject;
  61886. /**
  61887. * (Highstock) The line marks the last price from visible range of points.
  61888. */
  61889. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  61890. /**
  61891. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  61892. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  61893. * the ends and bends.
  61894. */
  61895. linecap?: SeriesLinecapValue;
  61896. /**
  61897. * (Highcharts, Highstock) The width of the line connecting the data points.
  61898. */
  61899. lineWidth?: number;
  61900. /**
  61901. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  61902. * Additionally, the value can be ":previous" to link to the previous
  61903. * series. When two series are linked, only the first one appears in the
  61904. * legend. Toggling the visibility of this also toggles the linked series.
  61905. *
  61906. * If master series uses data sorting and linked series does not have its
  61907. * own sorting definition, the linked series will be sorted in the same
  61908. * order as the master one.
  61909. */
  61910. linkedTo?: string;
  61911. /**
  61912. * (Highstock) Options for the corresponding navigator series if
  61913. * `showInNavigator` is `true` for this series. Available options are the
  61914. * same as any series, documented at plotOptions and series.
  61915. *
  61916. * These options are merged with options in navigator.series, and will take
  61917. * precedence if the same option is defined both places.
  61918. */
  61919. navigatorOptions?: PlotSeriesOptions;
  61920. /**
  61921. * (Highmaps) The color for the parts of the graph or points that are below
  61922. * the threshold. Note that `zones` takes precedence over the negative
  61923. * color. Using `negativeColor` is equivalent to applying a zone with value
  61924. * of 0.
  61925. */
  61926. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  61927. /**
  61928. * (Highmaps) The color to apply to null points.
  61929. *
  61930. * In styled mode, the null point fill is set in the
  61931. * `.highcharts-null-point` class.
  61932. */
  61933. nullColor?: (ColorString|GradientColorObject|PatternObject);
  61934. /**
  61935. * (Highmaps) Whether to allow pointer interaction like tooltips and mouse
  61936. * events on null points.
  61937. */
  61938. nullInteraction?: boolean;
  61939. /**
  61940. * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
  61941. * dataLabels.
  61942. */
  61943. opacity?: number;
  61944. /**
  61945. * (Highmaps) Properties for each single point.
  61946. */
  61947. point?: PlotSeriesPointOptions;
  61948. /**
  61949. * (Highmaps) Same as accessibility.pointDescriptionFormatter, but for an
  61950. * individual series. Overrides the chart wide configuration.
  61951. */
  61952. pointDescriptionFormatter?: Function;
  61953. /**
  61954. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  61955. * a series, `pointInterval` defines the interval of the x values. For
  61956. * example, if a series contains one value every decade starting from year
  61957. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  61958. * `pointInterval` is set in milliseconds.
  61959. *
  61960. * It can be also be combined with `pointIntervalUnit` to draw irregular
  61961. * time intervals.
  61962. *
  61963. * Please note that this options applies to the _series data_, not the
  61964. * interval of the axis ticks, which is independent.
  61965. */
  61966. pointInterval?: number;
  61967. /**
  61968. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  61969. * setting the pointInterval to irregular time units, `day`, `month` and
  61970. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  61971. * also takes the DST crossover into consideration when dealing with local
  61972. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  61973. * months, 10 years etc.
  61974. *
  61975. * Please note that this options applies to the _series data_, not the
  61976. * interval of the axis ticks, which is independent.
  61977. */
  61978. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  61979. /**
  61980. * (Highstock) The width of each point on the x axis. For example in a
  61981. * column chart with one value each day, the pointRange would be 1 day (= 24
  61982. * * 3600
  61983. *
  61984. * * 1000 milliseconds). This is normally computed automatically, but this
  61985. * option can be used to override the automatic value.
  61986. */
  61987. pointRange?: number;
  61988. /**
  61989. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  61990. * a series, pointStart defines on what value to start. For example, if a
  61991. * series contains one yearly value starting from 1945, set pointStart to
  61992. * 1945.
  61993. */
  61994. pointStart?: number;
  61995. /**
  61996. * (Highmaps) Whether to select the series initially. If `showCheckbox` is
  61997. * true, the checkbox next to the series name in the legend will be checked
  61998. * for a selected series.
  61999. */
  62000. selected?: boolean;
  62001. /**
  62002. * (Highmaps) If true, a checkbox is displayed next to the legend item to
  62003. * allow selecting the series. The state of the checkbox is determined by
  62004. * the `selected` option.
  62005. */
  62006. showCheckbox?: boolean;
  62007. /**
  62008. * (Highmaps) Whether to display this particular series or series type in
  62009. * the legend. Standalone series are shown in legend by default, and linked
  62010. * series are not. Since v7.2.0 it is possible to show series that use
  62011. * colorAxis by setting this option to `true`.
  62012. */
  62013. showInLegend?: boolean;
  62014. /**
  62015. * (Highstock) Whether or not to show the series in the navigator. Takes
  62016. * precedence over navigator.baseSeries if defined.
  62017. */
  62018. showInNavigator?: boolean;
  62019. /**
  62020. * (Highmaps) If set to `true`, the accessibility module will skip past the
  62021. * points in this series for keyboard navigation.
  62022. */
  62023. skipKeyboardNavigation?: boolean;
  62024. /**
  62025. * (Highcharts, Highstock) When this is true, the series will not cause the
  62026. * Y axis to cross the zero plane (or threshold option) unless the data
  62027. * actually crosses the plane.
  62028. *
  62029. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  62030. * make the Y axis show negative values according to the `minPadding`
  62031. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  62032. */
  62033. softThreshold?: boolean;
  62034. /**
  62035. * (Highcharts, Highstock) Whether to stack the values of each series on top
  62036. * of each other. Possible values are `undefined` to disable, `"normal"` to
  62037. * stack by value or `"percent"`.
  62038. *
  62039. * When stacking is enabled, data must be sorted in ascending X order.
  62040. *
  62041. * Some stacking options are related to specific series types. In the
  62042. * streamgraph series type, the stacking option is set to `"stream"`. The
  62043. * second one is `"overlap"`, which only applies to waterfall series.
  62044. */
  62045. stacking?: OptionsStackingValue;
  62046. states?: SeriesStatesOptionsObject;
  62047. /**
  62048. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  62049. * values are `left`, `center` and `right`.
  62050. */
  62051. step?: OptionsStepValue;
  62052. /**
  62053. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  62054. * `mouseOut` event on a series isn't triggered until the mouse moves over
  62055. * another series, or out of the plot area. When false, the `mouseOut` event
  62056. * on a series is triggered when the mouse leaves the area around the
  62057. * series' graph or markers. This also implies the tooltip. When
  62058. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  62059. * be hidden when moving the mouse between series.
  62060. */
  62061. stickyTracking?: boolean;
  62062. /**
  62063. * (Highcharts, Highstock) The threshold, also called zero level or base
  62064. * level. For line type series this is only used in conjunction with
  62065. * negativeColor.
  62066. */
  62067. threshold?: (number|null);
  62068. /**
  62069. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  62070. * of each single series. Properties are inherited from tooltip. Overridable
  62071. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  62072. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  62073. * series.name by default shows in the headerFormat and point.x and point.y
  62074. * in the pointFormat.
  62075. */
  62076. tooltip?: SeriesTooltipOptionsObject;
  62077. /**
  62078. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  62079. * is longer than this, only one dimensional arrays of numbers, or two
  62080. * dimensional arrays with x and y values are allowed. Also, only the first
  62081. * point is tested, and the rest are assumed to be the same format. This
  62082. * saves expensive data checking and indexing in long series. Set it to `0`
  62083. * disable.
  62084. *
  62085. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  62086. * two dimensional arrays are allowed.
  62087. */
  62088. turboThreshold?: number;
  62089. /**
  62090. * (Highmaps) Set the initial visibility of the series.
  62091. */
  62092. visible?: boolean;
  62093. /**
  62094. * (Highmaps) Define the z index of the series.
  62095. */
  62096. zIndex?: number;
  62097. /**
  62098. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  62099. */
  62100. zoneAxis?: string;
  62101. /**
  62102. * (Highcharts, Highstock) An array defining zones within a series. Zones
  62103. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  62104. * the `zoneAxis` option. The zone definitions have to be in ascending order
  62105. * regarding to the value.
  62106. *
  62107. * In styled mode, the color zones are styled with the
  62108. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  62109. * option (view live demo).
  62110. */
  62111. zones?: Array<SeriesZonesOptionsObject>;
  62112. }
  62113. /**
  62114. * (Highmaps) Enable or disable the initial animation when a series is
  62115. * displayed. The animation can also be set as a configuration object. Please
  62116. * note that this option only applies to the initial animation of the series
  62117. * itself. For other animations, see chart.animation and the animation parameter
  62118. * under the API methods. The following properties are supported:
  62119. *
  62120. * - `defer`: The animation delay time in milliseconds.
  62121. *
  62122. * - `duration`: The duration of the animation in milliseconds.
  62123. *
  62124. * - `easing`: Can be a string reference to an easing function set on the `Math`
  62125. * object or a function. See the _Custom easing function_ demo below.
  62126. *
  62127. * Due to poor performance, animation is disabled in old IE browsers for several
  62128. * chart types.
  62129. */
  62130. export interface PlotMappointAnimationOptions {
  62131. defer?: number;
  62132. }
  62133. export interface PlotMappointClusterEventsOptions {
  62134. /**
  62135. * (Highcharts, Highmaps) Fires when the cluster point is clicked and
  62136. * `drillToCluster` is enabled. One parameter, `event`, is passed to the
  62137. * function. The default action is to zoom to the cluster points range. This
  62138. * can be prevented by calling `event.preventDefault()`.
  62139. */
  62140. drillToCluster?: MarkerClusterDrillCallbackFunction;
  62141. }
  62142. /**
  62143. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
  62144. * to change the type of the algorithm, gridSize, distance or iterations.
  62145. */
  62146. export interface PlotMappointClusterLayoutAlgorithmOptions {
  62147. /**
  62148. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
  62149. * maximum distance between point and cluster center so that this point will
  62150. * be inside the cluster. The distance is either a number defining pixels or
  62151. * a percentage defining a percentage of the plot area width.
  62152. */
  62153. distance?: (number|string);
  62154. /**
  62155. * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
  62156. * size of a grid square element either as a number defining pixels, or a
  62157. * percentage defining a percentage of the plot area width.
  62158. */
  62159. gridSize?: (number|string);
  62160. /**
  62161. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
  62162. * the number of iterations that this algorithm will be repeated to find
  62163. * clusters positions.
  62164. */
  62165. iterations?: number;
  62166. /**
  62167. * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
  62168. * more visible points than the kmeansThreshold the `grid` algorithm is used
  62169. * to find clusters, otherwise `kmeans`. It ensures good performance on
  62170. * large datasets and better clusters arrangement after the zoom.
  62171. */
  62172. kmeansThreshold?: number;
  62173. /**
  62174. * (Highcharts, Highmaps) Type of the algorithm used to combine points into
  62175. * a cluster. There are three available algorithms:
  62176. *
  62177. * 1) `grid` - grid-based clustering technique. Points are assigned to
  62178. * squares of set size depending on their position on the plot area. Points
  62179. * inside the grid square are combined into a cluster. The grid size can be
  62180. * controlled by `gridSize` property (grid size changes at certain zoom
  62181. * levels).
  62182. *
  62183. * 2) `kmeans` - based on K-Means clustering technique. In the first step,
  62184. * points are divided using the grid method (distance property is a grid
  62185. * size) to find the initial amount of clusters. Next, each point is
  62186. * classified by computing the distance between each cluster center and that
  62187. * point. When the closest cluster distance is lower than distance property
  62188. * set by a user the point is added to this cluster otherwise is classified
  62189. * as `noise`. The algorithm is repeated until each cluster center not
  62190. * change its previous position more than one pixel. This technique is more
  62191. * accurate but also more time consuming than the `grid` algorithm,
  62192. * especially for big datasets.
  62193. *
  62194. * 3) `optimizedKmeans` - based on K-Means clustering technique. This
  62195. * algorithm uses k-means algorithm only on the chart initialization or when
  62196. * chart extremes have greater range than on initialization. When a chart is
  62197. * redrawn the algorithm checks only clustered points distance from the
  62198. * cluster center and rebuild it when the point is spaced enough to be
  62199. * outside the cluster. It provides performance improvement and more stable
  62200. * clusters position yet can be used rather on small and sparse datasets.
  62201. *
  62202. * By default, the algorithm depends on visible quantity of points and
  62203. * `kmeansThreshold`. When there are more visible points than the
  62204. * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
  62205. *
  62206. * The custom clustering algorithm can be added by assigning a callback
  62207. * function as the type property. This function takes an array of
  62208. * `processedXData`, `processedYData`, `processedXData` indexes and
  62209. * `layoutAlgorithm` options as arguments and should return an object with
  62210. * grouped data.
  62211. *
  62212. * The algorithm should return an object like that: (see online
  62213. * documentation for example)
  62214. *
  62215. * `clusterId` (example above - unique id of a cluster or noise) is an array
  62216. * of points belonging to a cluster. If the array has only one point or
  62217. * fewer points than set in `cluster.minimumClusterSize` it won't be
  62218. * combined into a cluster.
  62219. */
  62220. type?: (string|Function);
  62221. }
  62222. /**
  62223. * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
  62224. * the data values into larger blocks in order to ease readability and increase
  62225. * performance of the JavaScript charts.
  62226. *
  62227. * Note: marker clusters module is not working with `boost` and
  62228. * `draggable-points` modules.
  62229. *
  62230. * The marker clusters feature requires the marker-clusters.js file to be
  62231. * loaded, found in the modules directory of the download package, or online at
  62232. * code.highcharts.com/modules/marker-clusters.js.
  62233. */
  62234. export interface PlotMappointClusterOptions {
  62235. /**
  62236. * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
  62237. * this option works only when `layoutAlgorithm.type = "grid"`.
  62238. */
  62239. allowOverlap?: boolean;
  62240. /**
  62241. * (Highcharts, Highmaps) Options for the cluster marker animation.
  62242. */
  62243. animation?: (boolean|Partial<AnimationOptionsObject>);
  62244. /**
  62245. * (Highcharts, Highmaps) Options for the cluster data labels.
  62246. */
  62247. dataLabels?: DataLabelsOptions;
  62248. /**
  62249. * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
  62250. * when a cluster is clicked.
  62251. */
  62252. drillToCluster?: boolean;
  62253. /**
  62254. * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
  62255. */
  62256. enabled?: boolean;
  62257. events?: PlotMappointClusterEventsOptions;
  62258. /**
  62259. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
  62260. * options to change the type of the algorithm, gridSize, distance or
  62261. * iterations.
  62262. */
  62263. layoutAlgorithm?: PlotMappointClusterLayoutAlgorithmOptions;
  62264. /**
  62265. * (Highcharts, Highmaps) Options for the cluster marker.
  62266. */
  62267. marker?: PointMarkerOptionsObject;
  62268. /**
  62269. * (Highcharts, Highmaps) The minimum amount of points to be combined into a
  62270. * cluster. This value has to be greater or equal to 2.
  62271. */
  62272. minimumClusterSize?: number;
  62273. states?: PlotMappointClusterStatesOptions;
  62274. /**
  62275. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  62276. *
  62277. * In styled mode, the color zones are styled with the
  62278. * `.highcharts-cluster-zone-{n}` class, or custom classed from the
  62279. * `className` option.
  62280. */
  62281. zones?: Array<PlotMappointClusterZonesOptions>;
  62282. }
  62283. export interface PlotMappointClusterStatesHoverOptions {
  62284. /**
  62285. * (Highcharts, Highmaps) The fill color of the cluster marker in hover
  62286. * state. When `undefined`, the series' or point's fillColor for normal
  62287. * state is used.
  62288. */
  62289. fillColor?: ColorType;
  62290. }
  62291. export interface PlotMappointClusterStatesOptions {
  62292. hover?: PlotMappointClusterStatesHoverOptions;
  62293. }
  62294. /**
  62295. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  62296. *
  62297. * In styled mode, the color zones are styled with the
  62298. * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
  62299. * option.
  62300. */
  62301. export interface PlotMappointClusterZonesOptions {
  62302. /**
  62303. * (Highcharts, Highmaps) Styled mode only. A custom class name for the
  62304. * zone.
  62305. */
  62306. className?: string;
  62307. /**
  62308. * (Highcharts, Highmaps) The value where the zone starts.
  62309. */
  62310. from?: number;
  62311. /**
  62312. * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
  62313. * zone.
  62314. */
  62315. marker?: PointMarkerOptionsObject;
  62316. /**
  62317. * (Highcharts, Highmaps) The value where the zone ends.
  62318. */
  62319. to?: number;
  62320. }
  62321. /**
  62322. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  62323. * animation when a series is displayed for the `dataLabels`. The animation can
  62324. * also be set as a configuration object. Please note that this option only
  62325. * applies to the initial animation. For other animations, see chart.animation
  62326. * and the animation parameter under the API methods. The following properties
  62327. * are supported:
  62328. *
  62329. * - `defer`: The animation delay time in milliseconds.
  62330. */
  62331. export interface PlotMappointDataLabelsAnimationOptions {
  62332. /**
  62333. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  62334. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  62335. * inherits defer time from the series.animation.defer.
  62336. */
  62337. defer?: number;
  62338. }
  62339. /**
  62340. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  62341. * appearing next to each data point.
  62342. *
  62343. * Since v6.2.0, multiple data labels can be applied to each single point by
  62344. * defining them as an array of configs.
  62345. *
  62346. * In styled mode, the data labels can be styled with the
  62347. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  62348. * example).
  62349. */
  62350. export interface PlotMappointDataLabelsOptions {
  62351. /**
  62352. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  62353. * compared to the point. If `right`, the right side of the label should be
  62354. * touching the point. For points with an extent, like columns, the
  62355. * alignments also dictates how to align it inside the box, as given with
  62356. * the inside option. Can be one of `left`, `center` or `right`.
  62357. */
  62358. align?: (AlignValue|null);
  62359. /**
  62360. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  62361. * overlap. To make the labels less sensitive for overlapping, the
  62362. * dataLabels.padding can be set to 0.
  62363. */
  62364. allowOverlap?: boolean;
  62365. /**
  62366. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  62367. * animation when a series is displayed for the `dataLabels`. The animation
  62368. * can also be set as a configuration object. Please note that this option
  62369. * only applies to the initial animation. For other animations, see
  62370. * chart.animation and the animation parameter under the API methods. The
  62371. * following properties are supported:
  62372. *
  62373. * - `defer`: The animation delay time in milliseconds.
  62374. */
  62375. animation?: (boolean|PlotMappointDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  62376. /**
  62377. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  62378. * for the data label.
  62379. */
  62380. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  62381. /**
  62382. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  62383. * label. Defaults to `undefined`.
  62384. */
  62385. borderColor?: (ColorString|GradientColorObject|PatternObject);
  62386. /**
  62387. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  62388. * the data label.
  62389. */
  62390. borderRadius?: number;
  62391. /**
  62392. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  62393. * the data label.
  62394. */
  62395. borderWidth?: number;
  62396. /**
  62397. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  62398. * Particularly in styled mode, this can be used to give each series' or
  62399. * point's data label unique styling. In addition to this option, a default
  62400. * color class name is added so that we can give the labels a contrast text
  62401. * shadow.
  62402. */
  62403. className?: string;
  62404. /**
  62405. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  62406. * labels. Defaults to `undefined`. For certain series types, like column or
  62407. * map, the data labels can be drawn inside the points. In this case the
  62408. * data label will be drawn with maximum contrast by default. Additionally,
  62409. * it will be given a `text-outline` style with the opposite color, to
  62410. * further increase the contrast. This can be overridden by setting the
  62411. * `text-outline` style to `none` in the `dataLabels.style` option.
  62412. */
  62413. color?: (ColorString|GradientColorObject|PatternObject);
  62414. /**
  62415. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  62416. * are outside the plot area. By default, the data label is moved inside the
  62417. * plot area according to the overflow option.
  62418. */
  62419. crop?: boolean;
  62420. /**
  62421. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  62422. * labels until the initial series animation has finished. Setting to
  62423. * `false` renders the data label immediately. If set to `true` inherits the
  62424. * defer time set in plotOptions.series.animation. If set to a number, a
  62425. * defer time is specified in milliseconds.
  62426. */
  62427. defer?: boolean;
  62428. /**
  62429. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  62430. * labels.
  62431. */
  62432. enabled?: boolean;
  62433. /**
  62434. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  62435. * of which data labels to display. The declarative filter is designed for
  62436. * use when callback functions are not available, like when the chart
  62437. * options require a pure JSON structure or for use with graphical editors.
  62438. * For programmatic control, use the `formatter` instead, and return
  62439. * `undefined` to disable a single data label.
  62440. */
  62441. filter?: DataLabelsFilterOptionsObject;
  62442. /**
  62443. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  62444. * label. Available variables are the same as for `formatter`.
  62445. */
  62446. format?: string;
  62447. /**
  62448. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  62449. * format the data label. Note that if a `format` is defined, the format
  62450. * takes precedence and the formatter is ignored.
  62451. */
  62452. formatter?: DataLabelsFormatterCallbackFunction;
  62453. /**
  62454. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  62455. * columns or map areas, whether to align the data label inside the box or
  62456. * to the actual value point. Defaults to `false` in most cases, `true` in
  62457. * stacked columns.
  62458. */
  62459. inside?: boolean;
  62460. /**
  62461. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  62462. * of null. Works analogously to format. `nullFormat` can be applied only to
  62463. * series which support displaying null points.
  62464. */
  62465. nullFormat?: (boolean|string);
  62466. /**
  62467. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  62468. * that defines formatting for points with the value of null. Works
  62469. * analogously to formatter. `nullPointFormatter` can be applied only to
  62470. * series which support displaying null points.
  62471. */
  62472. nullFormatter?: DataLabelsFormatterCallbackFunction;
  62473. /**
  62474. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  62475. * flow outside the plot area. The default is `"justify"`, which aligns them
  62476. * inside the plot area. For columns and bars, this means it will be moved
  62477. * inside the bar. To display data labels outside the plot area, set `crop`
  62478. * to `false` and `overflow` to `"allow"`.
  62479. */
  62480. overflow?: boolean;
  62481. /**
  62482. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  62483. * the `backgroundColor` is set, this is the padding within the box.
  62484. */
  62485. padding?: number;
  62486. /**
  62487. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  62488. * points. If `center` alignment is not possible, it defaults to `right`.
  62489. */
  62490. position?: AlignValue;
  62491. /**
  62492. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  62493. * that due to a more complex structure, backgrounds, borders and padding
  62494. * will be lost on a rotated data label.
  62495. */
  62496. rotation?: number;
  62497. /**
  62498. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  62499. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  62500. * an object configuration containing `color`, `offsetX`, `offsetY`,
  62501. * `opacity` and `width`.
  62502. */
  62503. shadow?: (boolean|ShadowOptionsObject);
  62504. /**
  62505. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  62506. * the border around the label. Symbols are predefined functions on the
  62507. * Renderer object.
  62508. */
  62509. shape?: string;
  62510. /**
  62511. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  62512. * default `color` setting is `"contrast"`, which is a pseudo color that
  62513. * Highcharts picks up and applies the maximum contrast to the underlying
  62514. * point item, for example the bar in a bar chart.
  62515. *
  62516. * The `textOutline` is a pseudo property that applies an outline of the
  62517. * given width with the given color, which by default is the maximum
  62518. * contrast to the text. So a bright text color will result in a black text
  62519. * outline for maximum readability on a mixed background. In some cases,
  62520. * especially with grayscale text, the text outline doesn't work well, in
  62521. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  62522. * is true, the `textOutline` will not be picked up. In this, case, the same
  62523. * effect can be acheived through the `text-shadow` CSS property.
  62524. *
  62525. * For some series types, where each point has an extent, like for example
  62526. * tree maps, the data label may overflow the point. There are two
  62527. * strategies for handling overflow. By default, the text will wrap to
  62528. * multiple lines. The other strategy is to set `style.textOverflow` to
  62529. * `ellipsis`, which will keep the text on one line plus it will break
  62530. * inside long words.
  62531. */
  62532. style?: CSSObject;
  62533. /**
  62534. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  62535. * should follow marker's shape. Border and background are disabled for a
  62536. * label that follows a path.
  62537. *
  62538. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  62539. * to true will disable this option.
  62540. */
  62541. textPath?: DataLabelsTextPathOptionsObject;
  62542. /**
  62543. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  62544. * the labels.
  62545. */
  62546. useHTML?: boolean;
  62547. /**
  62548. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  62549. * label. Can be one of `top`, `middle` or `bottom`. The default value
  62550. * depends on the data, for instance in a column chart, the label is above
  62551. * positive values and below negative values.
  62552. */
  62553. verticalAlign?: (VerticalAlignValue|null);
  62554. /**
  62555. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  62556. * label relative to the point in pixels.
  62557. */
  62558. x?: number;
  62559. /**
  62560. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  62561. * label relative to the point in pixels.
  62562. */
  62563. y?: number;
  62564. /**
  62565. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  62566. * The default Z index puts it above the series. Use a Z index of 2 to
  62567. * display it behind the series.
  62568. */
  62569. z?: number;
  62570. }
  62571. /**
  62572. * (Highcharts, Highstock) Options for the series data sorting.
  62573. */
  62574. export interface PlotMappointDataSortingOptions {
  62575. /**
  62576. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  62577. * Use xAxis.reversed to change the sorting order.
  62578. */
  62579. enabled?: boolean;
  62580. /**
  62581. * (Highcharts, Highstock) Whether to allow matching points by name in an
  62582. * update. If this option is disabled, points will be matched by order.
  62583. */
  62584. matchByName?: boolean;
  62585. /**
  62586. * (Highcharts, Highstock) Determines what data value should be used to sort
  62587. * by.
  62588. */
  62589. sortKey?: string;
  62590. }
  62591. /**
  62592. * (Highmaps) Style options for the guide box. The guide box has one state by
  62593. * default, the `default` state.
  62594. */
  62595. export interface PlotMappointDragDropGuideBoxOptions {
  62596. /**
  62597. * (Highmaps) Style options for the guide box default state.
  62598. */
  62599. default?: DragDropGuideBoxOptionsObject;
  62600. }
  62601. /**
  62602. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  62603. * plotting discrete values, a little random noise may help telling the points
  62604. * apart. The jitter setting applies a random displacement of up to `n` axis
  62605. * units in either direction. So for example on a horizontal X axis, setting the
  62606. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  62607. * units to the left and 0.24 units to the right of the true axis position. On a
  62608. * category axis, setting it to 0.5 will fill up the bin and make the data
  62609. * appear continuous.
  62610. *
  62611. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  62612. * will correspond to the underlying series' default groupPadding and
  62613. * pointPadding settings.
  62614. */
  62615. export interface PlotMappointJitterOptions {
  62616. /**
  62617. * (Highcharts, Highstock) The maximal X offset for the random jitter
  62618. * effect.
  62619. */
  62620. x?: number;
  62621. /**
  62622. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  62623. * effect.
  62624. */
  62625. y?: number;
  62626. }
  62627. /**
  62628. * (Highmaps) A mappoint series is a special form of scatter series where the
  62629. * points can be laid out in map coordinates on top of a map.
  62630. *
  62631. * In TypeScript the type option must always be set.
  62632. *
  62633. * Configuration options for the series are given in three levels:
  62634. *
  62635. * 1. Options for all series in a chart are defined in the plotOptions.series
  62636. * object.
  62637. *
  62638. * 2. Options for all `mappoint` series are defined in plotOptions.mappoint.
  62639. *
  62640. * 3. Options for one single series are given in the series instance array. (see
  62641. * online documentation for example)
  62642. */
  62643. export interface PlotMappointOptions {
  62644. /**
  62645. * (Highmaps) Accessibility options for a series.
  62646. */
  62647. accessibility?: SeriesAccessibilityOptionsObject;
  62648. /**
  62649. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  62650. * rendered. If `true`, areas which don't correspond to a data point, are
  62651. * rendered as `null` points. If `false`, those areas are skipped.
  62652. */
  62653. allAreas?: boolean;
  62654. /**
  62655. * (Highmaps) Allow this series' points to be selected by clicking on the
  62656. * graphic (columns, point markers, pie slices, map areas etc).
  62657. *
  62658. * The selected points can be handled by point select and unselect events,
  62659. * or collectively by the getSelectedPoints function.
  62660. *
  62661. * And alternative way of selecting points is through dragging.
  62662. */
  62663. allowPointSelect?: boolean;
  62664. /**
  62665. * (Highmaps) Enable or disable the initial animation when a series is
  62666. * displayed. The animation can also be set as a configuration object.
  62667. * Please note that this option only applies to the initial animation of the
  62668. * series itself. For other animations, see chart.animation and the
  62669. * animation parameter under the API methods. The following properties are
  62670. * supported:
  62671. *
  62672. * - `defer`: The animation delay time in milliseconds.
  62673. *
  62674. * - `duration`: The duration of the animation in milliseconds.
  62675. *
  62676. * - `easing`: Can be a string reference to an easing function set on the
  62677. * `Math` object or a function. See the _Custom easing function_ demo below.
  62678. *
  62679. * Due to poor performance, animation is disabled in old IE browsers for
  62680. * several chart types.
  62681. */
  62682. animation?: (boolean|PlotMappointAnimationOptions|Partial<AnimationOptionsObject>);
  62683. /**
  62684. * (Highmaps) For some series, there is a limit that shuts down initial
  62685. * animation by default when the total number of points in the chart is too
  62686. * high. For example, for a column chart and its derivatives, animation does
  62687. * not run if there is more than 250 points totally. To disable this cap,
  62688. * set `animationLimit` to `Infinity`.
  62689. */
  62690. animationLimit?: number;
  62691. /**
  62692. * (Highmaps) Sets the color blending in the boost module.
  62693. */
  62694. boostBlending?: OptionsBoostBlendingValue;
  62695. /**
  62696. * (Highmaps) Set the point threshold for when a series should enter boost
  62697. * mode.
  62698. *
  62699. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  62700. * there are 2000 or more points in the series.
  62701. *
  62702. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  62703. * it to 1 will force boosting.
  62704. *
  62705. * Note that the cropThreshold also affects this setting. When zooming in on
  62706. * a series that has fewer points than the `cropThreshold`, all points are
  62707. * rendered although outside the visible plot area, and the `boostThreshold`
  62708. * won't take effect.
  62709. */
  62710. boostThreshold?: number;
  62711. /**
  62712. * (Highmaps) The border color of the map areas.
  62713. *
  62714. * In styled mode, the border stroke is given in the `.highcharts-point`
  62715. * class.
  62716. */
  62717. borderColor?: (ColorString|GradientColorObject|PatternObject);
  62718. /**
  62719. * (Highmaps) The border width of each map area.
  62720. *
  62721. * In styled mode, the border stroke width is given in the
  62722. * `.highcharts-point` class.
  62723. */
  62724. borderWidth?: number;
  62725. /**
  62726. * (Highmaps) An additional class name to apply to the series' graphical
  62727. * elements. This option does not replace default class names of the
  62728. * graphical element.
  62729. */
  62730. className?: string;
  62731. /**
  62732. * (Highmaps) Disable this option to allow series rendering in the whole
  62733. * plotting area.
  62734. *
  62735. * **Note:** Clipping should be always enabled when chart.zoomType is set
  62736. */
  62737. clip?: boolean;
  62738. /**
  62739. * (Highcharts, Highmaps) Options for marker clusters, the concept of
  62740. * sampling the data values into larger blocks in order to ease readability
  62741. * and increase performance of the JavaScript charts.
  62742. *
  62743. * Note: marker clusters module is not working with `boost` and
  62744. * `draggable-points` modules.
  62745. *
  62746. * The marker clusters feature requires the marker-clusters.js file to be
  62747. * loaded, found in the modules directory of the download package, or online
  62748. * at code.highcharts.com/modules/marker-clusters.js.
  62749. */
  62750. cluster?: PlotMappointClusterOptions;
  62751. /**
  62752. * (Highmaps) The main color of the series. In line type series it applies
  62753. * to the line and the point markers unless otherwise specified. In bar type
  62754. * series it applies to the bars unless a color is specified per point. The
  62755. * default value is pulled from the `options.colors` array.
  62756. *
  62757. * In styled mode, the color can be defined by the colorIndex option. Also,
  62758. * the series color can be set with the `.highcharts-series`,
  62759. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  62760. * `.highcharts-series-{n}` class, or individual classes given by the
  62761. * `className` option.
  62762. */
  62763. color?: (ColorString|GradientColorObject|PatternObject);
  62764. /**
  62765. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  62766. * this number defines which colorAxis the particular series is connected
  62767. * to. It refers to either the axis id or the index of the axis in the
  62768. * colorAxis array, with 0 being the first. Set this option to false to
  62769. * prevent a series from connecting to the default color axis.
  62770. *
  62771. * Since v7.2.0 the option can also be an axis id or an axis index instead
  62772. * of a boolean flag.
  62773. */
  62774. colorAxis?: (boolean|number|string);
  62775. /**
  62776. * (Highmaps) Styled mode only. A specific color index to use for the
  62777. * series, so its graphic representations are given the class name
  62778. * `highcharts-color-{n}`.
  62779. */
  62780. colorIndex?: number;
  62781. /**
  62782. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  62783. * used to calculate point color if `colorAxis` is used. Requires to set
  62784. * `min` and `max` if some custom point property is used or if approximation
  62785. * for data grouping is set to `'sum'`.
  62786. */
  62787. colorKey?: string;
  62788. /**
  62789. * (Highstock) Compare the values of the series against the first non-null,
  62790. * non- zero value in the visible range. The y axis will show percentage or
  62791. * absolute change depending on whether `compare` is set to `"percent"` or
  62792. * `"value"`. When this is applied to multiple series, it allows comparing
  62793. * the development of the series against each other. Adds a `change` field
  62794. * to every point object.
  62795. */
  62796. compare?: string;
  62797. /**
  62798. * (Highstock) When compare is `percent`, this option dictates whether to
  62799. * use 0 or 100 as the base of comparison.
  62800. */
  62801. compareBase?: (0|100);
  62802. /**
  62803. * (Highstock) Defines if comparison should start from the first point
  62804. * within the visible range or should start from the first point **before**
  62805. * the range.
  62806. *
  62807. * In other words, this flag determines if first point within the visible
  62808. * range will have 0% (`compareStart=true`) or should have been already
  62809. * calculated according to the previous point (`compareStart=false`).
  62810. */
  62811. compareStart?: boolean;
  62812. /**
  62813. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  62814. * series plot across the extremes.
  62815. */
  62816. connectEnds?: boolean;
  62817. /**
  62818. * (Highcharts, Highstock) Whether to connect a graph line across null
  62819. * points, or render a gap between the two points on either side of the
  62820. * null.
  62821. */
  62822. connectNulls?: boolean;
  62823. /**
  62824. * (Gantt) Override Pathfinder connector options for a series. Requires
  62825. * Highcharts Gantt to be loaded.
  62826. */
  62827. connectors?: SeriesConnectorsOptionsObject;
  62828. /**
  62829. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  62830. * rounded to its nearest pixel in order to render sharp on screen. In some
  62831. * cases, when there are a lot of densely packed columns, this leads to
  62832. * visible difference in column widths or distance between columns. In these
  62833. * cases, setting `crisp` to `false` may look better, even though each
  62834. * column is rendered blurry.
  62835. */
  62836. crisp?: boolean;
  62837. /**
  62838. * (Highmaps) You can set the cursor to "pointer" if you have click events
  62839. * attached to the series, to signal to the user that the points and lines
  62840. * can be clicked.
  62841. *
  62842. * In styled mode, the series cursor can be set with the same classes as
  62843. * listed under series.color.
  62844. */
  62845. cursor?: (string|CursorValue);
  62846. /**
  62847. * (Highmaps) A reserved subspace to store options and values for customized
  62848. * functionality. Here you can add additional data for your own event
  62849. * callbacks and formatter callbacks.
  62850. */
  62851. custom?: Dictionary<any>;
  62852. /**
  62853. * (Highmaps) Name of the dash style to use for the graph, or for some
  62854. * series types the outline of each shape.
  62855. *
  62856. * In styled mode, the stroke dash-array can be set with the same classes as
  62857. * listed under series.color.
  62858. */
  62859. dashStyle?: DashStyleValue;
  62860. /**
  62861. * (Highstock) Data grouping is the concept of sampling the data values into
  62862. * larger blocks in order to ease readability and increase performance of
  62863. * the JavaScript charts. Highcharts Stock by default applies data grouping
  62864. * when the points become closer than a certain pixel value, determined by
  62865. * the `groupPixelWidth` option.
  62866. *
  62867. * If data grouping is applied, the grouping information of grouped points
  62868. * can be read from the Point.dataGroup. If point options other than the
  62869. * data itself are set, for example `name` or `color` or custom properties,
  62870. * the grouping logic doesn't know how to group it. In this case the options
  62871. * of the first point instance are copied over to the group point. This can
  62872. * be altered through a custom `approximation` callback function.
  62873. */
  62874. dataGrouping?: DataGroupingOptionsObject;
  62875. /**
  62876. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  62877. * labels, appearing next to each data point.
  62878. *
  62879. * Since v6.2.0, multiple data labels can be applied to each single point by
  62880. * defining them as an array of configs.
  62881. *
  62882. * In styled mode, the data labels can be styled with the
  62883. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  62884. * (see example).
  62885. */
  62886. dataLabels?: (PlotMappointDataLabelsOptions|Array<PlotMappointDataLabelsOptions>);
  62887. /**
  62888. * (Highcharts, Highstock) Options for the series data sorting.
  62889. */
  62890. dataSorting?: (DataSortingOptionsObject|PlotMappointDataSortingOptions);
  62891. /**
  62892. * (Highmaps) A description of the series to add to the screen reader
  62893. * information about the series.
  62894. */
  62895. description?: string;
  62896. /**
  62897. * (Highmaps) The draggable-points module allows points to be moved around
  62898. * or modified in the chart. In addition to the options mentioned under the
  62899. * `dragDrop` API structure, the module fires three events, point.dragStart,
  62900. * point.drag and point.drop.
  62901. */
  62902. dragDrop?: SeriesDragDropOptionsObject;
  62903. /**
  62904. * (Highmaps) Enable or disable the mouse tracking for a specific series.
  62905. * This includes point tooltips and click events on graphs and points. For
  62906. * large datasets it improves performance.
  62907. */
  62908. enableMouseTracking?: boolean;
  62909. /**
  62910. * (Highmaps) General event handlers for the series items. These event hooks
  62911. * can also be attached to the series at run time using the
  62912. * `Highcharts.addEvent` function.
  62913. */
  62914. events?: SeriesEventsOptionsObject;
  62915. /**
  62916. * (Highmaps) Determines whether the series should look for the nearest
  62917. * point in both dimensions or just the x-dimension when hovering the
  62918. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  62919. * series. If the data has duplicate x-values, it is recommended to set this
  62920. * to `'xy'` to allow hovering over all points.
  62921. *
  62922. * Applies only to series types using nearest neighbor search (not direct
  62923. * hover) for tooltip.
  62924. */
  62925. findNearestPointBy?: OptionsFindNearestPointByValue;
  62926. /**
  62927. * (Highstock) Defines when to display a gap in the graph, together with the
  62928. * gapUnit option.
  62929. *
  62930. * In case when `dataGrouping` is enabled, points can be grouped into a
  62931. * larger time span. This can make the grouped points to have a greater
  62932. * distance than the absolute value of `gapSize` property, which will result
  62933. * in disappearing graph completely. To prevent this situation the mentioned
  62934. * distance between grouped points is used instead of previously defined
  62935. * `gapSize`.
  62936. *
  62937. * In practice, this option is most often used to visualize gaps in time
  62938. * series. In a stock chart, intraday data is available for daytime hours,
  62939. * while gaps will appear in nights and weekends.
  62940. */
  62941. gapSize?: number;
  62942. /**
  62943. * (Highstock) Together with gapSize, this option defines where to draw gaps
  62944. * in the graph.
  62945. *
  62946. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  62947. * if the distance between two points is greater than 5 times that of the
  62948. * two closest points, the graph will be broken.
  62949. *
  62950. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  62951. * values, which on a datetime axis is milliseconds. This also applies to
  62952. * the navigator series that inherits gap options from the base series.
  62953. */
  62954. gapUnit?: OptionsGapUnitValue;
  62955. /**
  62956. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  62957. * chart width or only the zoomed area when zooming in on parts of the X
  62958. * axis. By default, the Y axis adjusts to the min and max of the visible
  62959. * data. Cartesian series only.
  62960. */
  62961. getExtremesFromAll?: boolean;
  62962. /**
  62963. * (Highmaps) When set to `false` will prevent the series data from being
  62964. * included in any form of data export.
  62965. *
  62966. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  62967. * `includeInCSVExport`.
  62968. */
  62969. includeInDataExport?: boolean;
  62970. /**
  62971. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  62972. * When plotting discrete values, a little random noise may help telling the
  62973. * points apart. The jitter setting applies a random displacement of up to
  62974. * `n` axis units in either direction. So for example on a horizontal X
  62975. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  62976. * position between 0.24 units to the left and 0.24 units to the right of
  62977. * the true axis position. On a category axis, setting it to 0.5 will fill
  62978. * up the bin and make the data appear continuous.
  62979. *
  62980. * When rendered on top of a box plot or a column series, a jitter value of
  62981. * 0.24 will correspond to the underlying series' default groupPadding and
  62982. * pointPadding settings.
  62983. */
  62984. jitter?: PlotMappointJitterOptions;
  62985. /**
  62986. * (Highmaps) What property to join the `mapData` to the value data. For
  62987. * example, if joinBy is "code", the mapData items with a specific code is
  62988. * merged into the data with the same code. For maps loaded from GeoJSON,
  62989. * the keys may be held in each point's `properties` object.
  62990. *
  62991. * The joinBy option can also be an array of two values, where the first
  62992. * points to a key in the `mapData`, and the second points to another key in
  62993. * the `data`.
  62994. *
  62995. * When joinBy is `null`, the map items are joined by their position in the
  62996. * array, which performs much better in maps with many data points. This is
  62997. * the recommended option if you are printing more than a thousand data
  62998. * points and have a backend that can preprocess the data into a parallel
  62999. * array of the mapData.
  63000. */
  63001. joinBy?: (string|Array<string>);
  63002. /**
  63003. * (Highmaps) An array specifying which option maps to which key in the data
  63004. * point array. This makes it convenient to work with unstructured data
  63005. * arrays from different sources.
  63006. */
  63007. keys?: Array<string>;
  63008. /**
  63009. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  63010. * series as possible in a natural way, seeking to avoid other series. The
  63011. * goal of this feature is to make the chart more easily readable, like if a
  63012. * human designer placed the labels in the optimal position.
  63013. *
  63014. * The series labels currently work with series types having a `graph` or an
  63015. * `area`.
  63016. */
  63017. label?: SeriesLabelOptionsObject;
  63018. /**
  63019. * (Highstock) The line marks the last price from all points.
  63020. */
  63021. lastPrice?: SeriesLastPriceOptionsObject;
  63022. /**
  63023. * (Highstock) The line marks the last price from visible range of points.
  63024. */
  63025. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  63026. /**
  63027. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  63028. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  63029. * the ends and bends.
  63030. */
  63031. linecap?: SeriesLinecapValue;
  63032. /**
  63033. * (Highcharts, Highstock) The width of the line connecting the data points.
  63034. */
  63035. lineWidth?: number;
  63036. /**
  63037. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  63038. * Additionally, the value can be ":previous" to link to the previous
  63039. * series. When two series are linked, only the first one appears in the
  63040. * legend. Toggling the visibility of this also toggles the linked series.
  63041. *
  63042. * If master series uses data sorting and linked series does not have its
  63043. * own sorting definition, the linked series will be sorted in the same
  63044. * order as the master one.
  63045. */
  63046. linkedTo?: string;
  63047. /**
  63048. * (Highmaps) Options for the point markers of line-like series. Properties
  63049. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  63050. * appearance of the markers. Other series types, like column series, don't
  63051. * have markers, but have visual options on the series level instead.
  63052. *
  63053. * In styled mode, the markers can be styled with the `.highcharts-point`,
  63054. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  63055. */
  63056. marker?: PointMarkerOptionsObject;
  63057. /**
  63058. * (Highstock) Options for the corresponding navigator series if
  63059. * `showInNavigator` is `true` for this series. Available options are the
  63060. * same as any series, documented at plotOptions and series.
  63061. *
  63062. * These options are merged with options in navigator.series, and will take
  63063. * precedence if the same option is defined both places.
  63064. */
  63065. navigatorOptions?: PlotSeriesOptions;
  63066. /**
  63067. * (Highmaps) The color for the parts of the graph or points that are below
  63068. * the threshold. Note that `zones` takes precedence over the negative
  63069. * color. Using `negativeColor` is equivalent to applying a zone with value
  63070. * of 0.
  63071. */
  63072. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  63073. /**
  63074. * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
  63075. * dataLabels.
  63076. */
  63077. opacity?: number;
  63078. /**
  63079. * (Highmaps) Properties for each single point.
  63080. */
  63081. point?: PlotSeriesPointOptions;
  63082. /**
  63083. * (Highmaps) Same as accessibility.pointDescriptionFormatter, but for an
  63084. * individual series. Overrides the chart wide configuration.
  63085. */
  63086. pointDescriptionFormatter?: Function;
  63087. /**
  63088. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  63089. * a series, `pointInterval` defines the interval of the x values. For
  63090. * example, if a series contains one value every decade starting from year
  63091. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  63092. * `pointInterval` is set in milliseconds.
  63093. *
  63094. * It can be also be combined with `pointIntervalUnit` to draw irregular
  63095. * time intervals.
  63096. *
  63097. * Please note that this options applies to the _series data_, not the
  63098. * interval of the axis ticks, which is independent.
  63099. */
  63100. pointInterval?: number;
  63101. /**
  63102. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  63103. * setting the pointInterval to irregular time units, `day`, `month` and
  63104. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  63105. * also takes the DST crossover into consideration when dealing with local
  63106. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  63107. * months, 10 years etc.
  63108. *
  63109. * Please note that this options applies to the _series data_, not the
  63110. * interval of the axis ticks, which is independent.
  63111. */
  63112. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  63113. /**
  63114. * (Highstock) The width of each point on the x axis. For example in a
  63115. * column chart with one value each day, the pointRange would be 1 day (= 24
  63116. * * 3600
  63117. *
  63118. * * 1000 milliseconds). This is normally computed automatically, but this
  63119. * option can be used to override the automatic value.
  63120. */
  63121. pointRange?: number;
  63122. /**
  63123. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  63124. * a series, pointStart defines on what value to start. For example, if a
  63125. * series contains one yearly value starting from 1945, set pointStart to
  63126. * 1945.
  63127. */
  63128. pointStart?: number;
  63129. /**
  63130. * (Highmaps) Whether to select the series initially. If `showCheckbox` is
  63131. * true, the checkbox next to the series name in the legend will be checked
  63132. * for a selected series.
  63133. */
  63134. selected?: boolean;
  63135. /**
  63136. * (Highmaps) If true, a checkbox is displayed next to the legend item to
  63137. * allow selecting the series. The state of the checkbox is determined by
  63138. * the `selected` option.
  63139. */
  63140. showCheckbox?: boolean;
  63141. /**
  63142. * (Highmaps) Whether to display this particular series or series type in
  63143. * the legend. Standalone series are shown in legend by default, and linked
  63144. * series are not. Since v7.2.0 it is possible to show series that use
  63145. * colorAxis by setting this option to `true`.
  63146. */
  63147. showInLegend?: boolean;
  63148. /**
  63149. * (Highstock) Whether or not to show the series in the navigator. Takes
  63150. * precedence over navigator.baseSeries if defined.
  63151. */
  63152. showInNavigator?: boolean;
  63153. /**
  63154. * (Highmaps) If set to `true`, the accessibility module will skip past the
  63155. * points in this series for keyboard navigation.
  63156. */
  63157. skipKeyboardNavigation?: boolean;
  63158. /**
  63159. * (Highcharts, Highstock) When this is true, the series will not cause the
  63160. * Y axis to cross the zero plane (or threshold option) unless the data
  63161. * actually crosses the plane.
  63162. *
  63163. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  63164. * make the Y axis show negative values according to the `minPadding`
  63165. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  63166. */
  63167. softThreshold?: boolean;
  63168. /**
  63169. * (Highcharts, Highstock) Whether to stack the values of each series on top
  63170. * of each other. Possible values are `undefined` to disable, `"normal"` to
  63171. * stack by value or `"percent"`.
  63172. *
  63173. * When stacking is enabled, data must be sorted in ascending X order.
  63174. *
  63175. * Some stacking options are related to specific series types. In the
  63176. * streamgraph series type, the stacking option is set to `"stream"`. The
  63177. * second one is `"overlap"`, which only applies to waterfall series.
  63178. */
  63179. stacking?: OptionsStackingValue;
  63180. states?: SeriesStatesOptionsObject;
  63181. /**
  63182. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  63183. * values are `left`, `center` and `right`.
  63184. */
  63185. step?: OptionsStepValue;
  63186. /**
  63187. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  63188. * `mouseOut` event on a series isn't triggered until the mouse moves over
  63189. * another series, or out of the plot area. When false, the `mouseOut` event
  63190. * on a series is triggered when the mouse leaves the area around the
  63191. * series' graph or markers. This also implies the tooltip. When
  63192. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  63193. * be hidden when moving the mouse between series.
  63194. */
  63195. stickyTracking?: boolean;
  63196. /**
  63197. * (Highcharts, Highstock) The threshold, also called zero level or base
  63198. * level. For line type series this is only used in conjunction with
  63199. * negativeColor.
  63200. */
  63201. threshold?: (number|null);
  63202. /**
  63203. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  63204. * of each single series. Properties are inherited from tooltip. Overridable
  63205. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  63206. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  63207. * series.name by default shows in the headerFormat and point.x and point.y
  63208. * in the pointFormat.
  63209. */
  63210. tooltip?: SeriesTooltipOptionsObject;
  63211. /**
  63212. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  63213. * is longer than this, only one dimensional arrays of numbers, or two
  63214. * dimensional arrays with x and y values are allowed. Also, only the first
  63215. * point is tested, and the rest are assumed to be the same format. This
  63216. * saves expensive data checking and indexing in long series. Set it to `0`
  63217. * disable.
  63218. *
  63219. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  63220. * two dimensional arrays are allowed.
  63221. */
  63222. turboThreshold?: number;
  63223. /**
  63224. * (Highmaps) Set the initial visibility of the series.
  63225. */
  63226. visible?: boolean;
  63227. /**
  63228. * (Highmaps) Define the z index of the series.
  63229. */
  63230. zIndex?: number;
  63231. /**
  63232. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  63233. */
  63234. zoneAxis?: string;
  63235. /**
  63236. * (Highcharts, Highstock) An array defining zones within a series. Zones
  63237. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  63238. * the `zoneAxis` option. The zone definitions have to be in ascending order
  63239. * regarding to the value.
  63240. *
  63241. * In styled mode, the color zones are styled with the
  63242. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  63243. * option (view live demo).
  63244. */
  63245. zones?: Array<SeriesZonesOptionsObject>;
  63246. }
  63247. /**
  63248. * (Highstock) Enable or disable the initial animation when a series is
  63249. * displayed. The animation can also be set as a configuration object. Please
  63250. * note that this option only applies to the initial animation of the series
  63251. * itself. For other animations, see chart.animation and the animation parameter
  63252. * under the API methods. The following properties are supported:
  63253. *
  63254. * - `defer`: The animation delay time in milliseconds.
  63255. *
  63256. * - `duration`: The duration of the animation in milliseconds.
  63257. *
  63258. * - `easing`: Can be a string reference to an easing function set on the `Math`
  63259. * object or a function. See the _Custom easing function_ demo below.
  63260. *
  63261. * Due to poor performance, animation is disabled in old IE browsers for several
  63262. * chart types.
  63263. */
  63264. export interface PlotMfiAnimationOptions {
  63265. defer?: number;
  63266. }
  63267. /**
  63268. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  63269. * animation when a series is displayed for the `dataLabels`. The animation can
  63270. * also be set as a configuration object. Please note that this option only
  63271. * applies to the initial animation. For other animations, see chart.animation
  63272. * and the animation parameter under the API methods. The following properties
  63273. * are supported:
  63274. *
  63275. * - `defer`: The animation delay time in milliseconds.
  63276. */
  63277. export interface PlotMfiDataLabelsAnimationOptions {
  63278. /**
  63279. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  63280. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  63281. * inherits defer time from the series.animation.defer.
  63282. */
  63283. defer?: number;
  63284. }
  63285. /**
  63286. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  63287. * appearing next to each data point.
  63288. *
  63289. * Since v6.2.0, multiple data labels can be applied to each single point by
  63290. * defining them as an array of configs.
  63291. *
  63292. * In styled mode, the data labels can be styled with the
  63293. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  63294. * example).
  63295. */
  63296. export interface PlotMfiDataLabelsOptions {
  63297. /**
  63298. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  63299. * compared to the point. If `right`, the right side of the label should be
  63300. * touching the point. For points with an extent, like columns, the
  63301. * alignments also dictates how to align it inside the box, as given with
  63302. * the inside option. Can be one of `left`, `center` or `right`.
  63303. */
  63304. align?: (AlignValue|null);
  63305. /**
  63306. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  63307. * overlap. To make the labels less sensitive for overlapping, the
  63308. * dataLabels.padding can be set to 0.
  63309. */
  63310. allowOverlap?: boolean;
  63311. /**
  63312. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  63313. * animation when a series is displayed for the `dataLabels`. The animation
  63314. * can also be set as a configuration object. Please note that this option
  63315. * only applies to the initial animation. For other animations, see
  63316. * chart.animation and the animation parameter under the API methods. The
  63317. * following properties are supported:
  63318. *
  63319. * - `defer`: The animation delay time in milliseconds.
  63320. */
  63321. animation?: (boolean|PlotMfiDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  63322. /**
  63323. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  63324. * for the data label.
  63325. */
  63326. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  63327. /**
  63328. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  63329. * label. Defaults to `undefined`.
  63330. */
  63331. borderColor?: (ColorString|GradientColorObject|PatternObject);
  63332. /**
  63333. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  63334. * the data label.
  63335. */
  63336. borderRadius?: number;
  63337. /**
  63338. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  63339. * the data label.
  63340. */
  63341. borderWidth?: number;
  63342. /**
  63343. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  63344. * Particularly in styled mode, this can be used to give each series' or
  63345. * point's data label unique styling. In addition to this option, a default
  63346. * color class name is added so that we can give the labels a contrast text
  63347. * shadow.
  63348. */
  63349. className?: string;
  63350. /**
  63351. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  63352. * labels. Defaults to `undefined`. For certain series types, like column or
  63353. * map, the data labels can be drawn inside the points. In this case the
  63354. * data label will be drawn with maximum contrast by default. Additionally,
  63355. * it will be given a `text-outline` style with the opposite color, to
  63356. * further increase the contrast. This can be overridden by setting the
  63357. * `text-outline` style to `none` in the `dataLabels.style` option.
  63358. */
  63359. color?: (ColorString|GradientColorObject|PatternObject);
  63360. /**
  63361. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  63362. * are outside the plot area. By default, the data label is moved inside the
  63363. * plot area according to the overflow option.
  63364. */
  63365. crop?: boolean;
  63366. /**
  63367. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  63368. * labels until the initial series animation has finished. Setting to
  63369. * `false` renders the data label immediately. If set to `true` inherits the
  63370. * defer time set in plotOptions.series.animation. If set to a number, a
  63371. * defer time is specified in milliseconds.
  63372. */
  63373. defer?: (boolean|number);
  63374. /**
  63375. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  63376. * labels.
  63377. */
  63378. enabled?: boolean;
  63379. /**
  63380. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  63381. * of which data labels to display. The declarative filter is designed for
  63382. * use when callback functions are not available, like when the chart
  63383. * options require a pure JSON structure or for use with graphical editors.
  63384. * For programmatic control, use the `formatter` instead, and return
  63385. * `undefined` to disable a single data label.
  63386. */
  63387. filter?: DataLabelsFilterOptionsObject;
  63388. /**
  63389. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  63390. * label. Available variables are the same as for `formatter`.
  63391. */
  63392. format?: string;
  63393. /**
  63394. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  63395. * format the data label. Note that if a `format` is defined, the format
  63396. * takes precedence and the formatter is ignored.
  63397. */
  63398. formatter?: DataLabelsFormatterCallbackFunction;
  63399. /**
  63400. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  63401. * columns or map areas, whether to align the data label inside the box or
  63402. * to the actual value point. Defaults to `false` in most cases, `true` in
  63403. * stacked columns.
  63404. */
  63405. inside?: boolean;
  63406. /**
  63407. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  63408. * of null. Works analogously to format. `nullFormat` can be applied only to
  63409. * series which support displaying null points.
  63410. */
  63411. nullFormat?: (boolean|string);
  63412. /**
  63413. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  63414. * that defines formatting for points with the value of null. Works
  63415. * analogously to formatter. `nullPointFormatter` can be applied only to
  63416. * series which support displaying null points.
  63417. */
  63418. nullFormatter?: DataLabelsFormatterCallbackFunction;
  63419. /**
  63420. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  63421. * flow outside the plot area. The default is `"justify"`, which aligns them
  63422. * inside the plot area. For columns and bars, this means it will be moved
  63423. * inside the bar. To display data labels outside the plot area, set `crop`
  63424. * to `false` and `overflow` to `"allow"`.
  63425. */
  63426. overflow?: DataLabelsOverflowValue;
  63427. /**
  63428. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  63429. * the `backgroundColor` is set, this is the padding within the box.
  63430. */
  63431. padding?: number;
  63432. /**
  63433. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  63434. * points. If `center` alignment is not possible, it defaults to `right`.
  63435. */
  63436. position?: AlignValue;
  63437. /**
  63438. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  63439. * that due to a more complex structure, backgrounds, borders and padding
  63440. * will be lost on a rotated data label.
  63441. */
  63442. rotation?: number;
  63443. /**
  63444. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  63445. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  63446. * an object configuration containing `color`, `offsetX`, `offsetY`,
  63447. * `opacity` and `width`.
  63448. */
  63449. shadow?: (boolean|ShadowOptionsObject);
  63450. /**
  63451. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  63452. * the border around the label. Symbols are predefined functions on the
  63453. * Renderer object.
  63454. */
  63455. shape?: string;
  63456. /**
  63457. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  63458. * default `color` setting is `"contrast"`, which is a pseudo color that
  63459. * Highcharts picks up and applies the maximum contrast to the underlying
  63460. * point item, for example the bar in a bar chart.
  63461. *
  63462. * The `textOutline` is a pseudo property that applies an outline of the
  63463. * given width with the given color, which by default is the maximum
  63464. * contrast to the text. So a bright text color will result in a black text
  63465. * outline for maximum readability on a mixed background. In some cases,
  63466. * especially with grayscale text, the text outline doesn't work well, in
  63467. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  63468. * is true, the `textOutline` will not be picked up. In this, case, the same
  63469. * effect can be acheived through the `text-shadow` CSS property.
  63470. *
  63471. * For some series types, where each point has an extent, like for example
  63472. * tree maps, the data label may overflow the point. There are two
  63473. * strategies for handling overflow. By default, the text will wrap to
  63474. * multiple lines. The other strategy is to set `style.textOverflow` to
  63475. * `ellipsis`, which will keep the text on one line plus it will break
  63476. * inside long words.
  63477. */
  63478. style?: CSSObject;
  63479. /**
  63480. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  63481. * should follow marker's shape. Border and background are disabled for a
  63482. * label that follows a path.
  63483. *
  63484. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  63485. * to true will disable this option.
  63486. */
  63487. textPath?: DataLabelsTextPathOptionsObject;
  63488. /**
  63489. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  63490. * the labels.
  63491. */
  63492. useHTML?: boolean;
  63493. /**
  63494. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  63495. * label. Can be one of `top`, `middle` or `bottom`. The default value
  63496. * depends on the data, for instance in a column chart, the label is above
  63497. * positive values and below negative values.
  63498. */
  63499. verticalAlign?: (VerticalAlignValue|null);
  63500. /**
  63501. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  63502. * label relative to the point in pixels.
  63503. */
  63504. x?: number;
  63505. /**
  63506. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  63507. * label relative to the point in pixels.
  63508. */
  63509. y?: number;
  63510. /**
  63511. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  63512. * The default Z index puts it above the series. Use a Z index of 2 to
  63513. * display it behind the series.
  63514. */
  63515. z?: number;
  63516. }
  63517. /**
  63518. * (Highcharts, Highstock) Options for the series data sorting.
  63519. */
  63520. export interface PlotMfiDataSortingOptions {
  63521. /**
  63522. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  63523. * Use xAxis.reversed to change the sorting order.
  63524. */
  63525. enabled?: boolean;
  63526. /**
  63527. * (Highcharts, Highstock) Whether to allow matching points by name in an
  63528. * update. If this option is disabled, points will be matched by order.
  63529. */
  63530. matchByName?: boolean;
  63531. /**
  63532. * (Highcharts, Highstock) Determines what data value should be used to sort
  63533. * by.
  63534. */
  63535. sortKey?: string;
  63536. }
  63537. /**
  63538. * (Highstock) Money Flow Index. This series requires `linkedTo` option to be
  63539. * set and should be loaded after the `stock/indicators/indicators.js` file.
  63540. *
  63541. * In TypeScript the type option must always be set.
  63542. *
  63543. * Configuration options for the series are given in three levels:
  63544. *
  63545. * 1. Options for all series in a chart are defined in the plotOptions.series
  63546. * object.
  63547. *
  63548. * 2. Options for all `mfi` series are defined in plotOptions.mfi.
  63549. *
  63550. * 3. Options for one single series are given in the series instance array. (see
  63551. * online documentation for example)
  63552. */
  63553. export interface PlotMfiOptions {
  63554. /**
  63555. * (Highstock) Accessibility options for a series.
  63556. */
  63557. accessibility?: SeriesAccessibilityOptionsObject;
  63558. /**
  63559. * (Highstock) Allow this series' points to be selected by clicking on the
  63560. * graphic (columns, point markers, pie slices, map areas etc).
  63561. *
  63562. * The selected points can be handled by point select and unselect events,
  63563. * or collectively by the getSelectedPoints function.
  63564. *
  63565. * And alternative way of selecting points is through dragging.
  63566. */
  63567. allowPointSelect?: boolean;
  63568. /**
  63569. * (Highstock) Enable or disable the initial animation when a series is
  63570. * displayed. The animation can also be set as a configuration object.
  63571. * Please note that this option only applies to the initial animation of the
  63572. * series itself. For other animations, see chart.animation and the
  63573. * animation parameter under the API methods. The following properties are
  63574. * supported:
  63575. *
  63576. * - `defer`: The animation delay time in milliseconds.
  63577. *
  63578. * - `duration`: The duration of the animation in milliseconds.
  63579. *
  63580. * - `easing`: Can be a string reference to an easing function set on the
  63581. * `Math` object or a function. See the _Custom easing function_ demo below.
  63582. *
  63583. * Due to poor performance, animation is disabled in old IE browsers for
  63584. * several chart types.
  63585. */
  63586. animation?: (boolean|PlotMfiAnimationOptions|Partial<AnimationOptionsObject>);
  63587. /**
  63588. * (Highstock) For some series, there is a limit that shuts down initial
  63589. * animation by default when the total number of points in the chart is too
  63590. * high. For example, for a column chart and its derivatives, animation does
  63591. * not run if there is more than 250 points totally. To disable this cap,
  63592. * set `animationLimit` to `Infinity`.
  63593. */
  63594. animationLimit?: number;
  63595. /**
  63596. * (Highstock) Sets the color blending in the boost module.
  63597. */
  63598. boostBlending?: OptionsBoostBlendingValue;
  63599. /**
  63600. * (Highstock) Set the point threshold for when a series should enter boost
  63601. * mode.
  63602. *
  63603. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  63604. * there are 2000 or more points in the series.
  63605. *
  63606. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  63607. * it to 1 will force boosting.
  63608. *
  63609. * Note that the cropThreshold also affects this setting. When zooming in on
  63610. * a series that has fewer points than the `cropThreshold`, all points are
  63611. * rendered although outside the visible plot area, and the `boostThreshold`
  63612. * won't take effect.
  63613. */
  63614. boostThreshold?: number;
  63615. /**
  63616. * (Highmaps) The border color of the map areas.
  63617. *
  63618. * In styled mode, the border stroke is given in the `.highcharts-point`
  63619. * class.
  63620. */
  63621. borderColor?: (ColorString|GradientColorObject|PatternObject);
  63622. /**
  63623. * (Highmaps) The border width of each map area.
  63624. *
  63625. * In styled mode, the border stroke width is given in the
  63626. * `.highcharts-point` class.
  63627. */
  63628. borderWidth?: number;
  63629. /**
  63630. * (Highstock) An additional class name to apply to the series' graphical
  63631. * elements. This option does not replace default class names of the
  63632. * graphical element.
  63633. */
  63634. className?: string;
  63635. /**
  63636. * (Highstock) Disable this option to allow series rendering in the whole
  63637. * plotting area.
  63638. *
  63639. * **Note:** Clipping should be always enabled when chart.zoomType is set
  63640. */
  63641. clip?: boolean;
  63642. /**
  63643. * (Highstock) The main color of the series. In line type series it applies
  63644. * to the line and the point markers unless otherwise specified. In bar type
  63645. * series it applies to the bars unless a color is specified per point. The
  63646. * default value is pulled from the `options.colors` array.
  63647. *
  63648. * In styled mode, the color can be defined by the colorIndex option. Also,
  63649. * the series color can be set with the `.highcharts-series`,
  63650. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  63651. * `.highcharts-series-{n}` class, or individual classes given by the
  63652. * `className` option.
  63653. */
  63654. color?: (ColorString|GradientColorObject|PatternObject);
  63655. /**
  63656. * (Highstock) Styled mode only. A specific color index to use for the
  63657. * series, so its graphic representations are given the class name
  63658. * `highcharts-color-{n}`.
  63659. */
  63660. colorIndex?: number;
  63661. /**
  63662. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  63663. * used to calculate point color if `colorAxis` is used. Requires to set
  63664. * `min` and `max` if some custom point property is used or if approximation
  63665. * for data grouping is set to `'sum'`.
  63666. */
  63667. colorKey?: string;
  63668. /**
  63669. * (Highstock) Compare the values of the series against the first non-null,
  63670. * non- zero value in the visible range. The y axis will show percentage or
  63671. * absolute change depending on whether `compare` is set to `"percent"` or
  63672. * `"value"`. When this is applied to multiple series, it allows comparing
  63673. * the development of the series against each other. Adds a `change` field
  63674. * to every point object.
  63675. */
  63676. compare?: string;
  63677. /**
  63678. * (Highstock) When compare is `percent`, this option dictates whether to
  63679. * use 0 or 100 as the base of comparison.
  63680. */
  63681. compareBase?: (0|100);
  63682. /**
  63683. * (Highstock) Defines if comparison should start from the first point
  63684. * within the visible range or should start from the first point **before**
  63685. * the range.
  63686. *
  63687. * In other words, this flag determines if first point within the visible
  63688. * range will have 0% (`compareStart=true`) or should have been already
  63689. * calculated according to the previous point (`compareStart=false`).
  63690. */
  63691. compareStart?: boolean;
  63692. /**
  63693. * (Highstock) Whether to compare indicator to the main series values or
  63694. * indicator values.
  63695. */
  63696. compareToMain?: boolean;
  63697. /**
  63698. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  63699. * series plot across the extremes.
  63700. */
  63701. connectEnds?: boolean;
  63702. /**
  63703. * (Highcharts, Highstock) Whether to connect a graph line across null
  63704. * points, or render a gap between the two points on either side of the
  63705. * null.
  63706. */
  63707. connectNulls?: boolean;
  63708. /**
  63709. * (Gantt) Override Pathfinder connector options for a series. Requires
  63710. * Highcharts Gantt to be loaded.
  63711. */
  63712. connectors?: SeriesConnectorsOptionsObject;
  63713. /**
  63714. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  63715. * rounded to its nearest pixel in order to render sharp on screen. In some
  63716. * cases, when there are a lot of densely packed columns, this leads to
  63717. * visible difference in column widths or distance between columns. In these
  63718. * cases, setting `crisp` to `false` may look better, even though each
  63719. * column is rendered blurry.
  63720. */
  63721. crisp?: boolean;
  63722. /**
  63723. * (Highcharts, Highstock) When the series contains less points than the
  63724. * crop threshold, all points are drawn, even if the points fall outside the
  63725. * visible plot area at the current zoom. The advantage of drawing all
  63726. * points (including markers and columns), is that animation is performed on
  63727. * updates. On the other hand, when the series contains more points than the
  63728. * crop threshold, the series data is cropped to only contain points that
  63729. * fall within the plot area. The advantage of cropping away invisible
  63730. * points is to increase performance on large series.
  63731. */
  63732. cropThreshold?: number;
  63733. /**
  63734. * (Highstock) You can set the cursor to "pointer" if you have click events
  63735. * attached to the series, to signal to the user that the points and lines
  63736. * can be clicked.
  63737. *
  63738. * In styled mode, the series cursor can be set with the same classes as
  63739. * listed under series.color.
  63740. */
  63741. cursor?: (string|CursorValue);
  63742. /**
  63743. * (Highstock) A reserved subspace to store options and values for
  63744. * customized functionality. Here you can add additional data for your own
  63745. * event callbacks and formatter callbacks.
  63746. */
  63747. custom?: Dictionary<any>;
  63748. /**
  63749. * (Highstock) Name of the dash style to use for the graph, or for some
  63750. * series types the outline of each shape.
  63751. *
  63752. * In styled mode, the stroke dash-array can be set with the same classes as
  63753. * listed under series.color.
  63754. */
  63755. dashStyle?: DashStyleValue;
  63756. /**
  63757. * (Highstock) Data grouping is the concept of sampling the data values into
  63758. * larger blocks in order to ease readability and increase performance of
  63759. * the JavaScript charts. Highcharts Stock by default applies data grouping
  63760. * when the points become closer than a certain pixel value, determined by
  63761. * the `groupPixelWidth` option.
  63762. *
  63763. * If data grouping is applied, the grouping information of grouped points
  63764. * can be read from the Point.dataGroup. If point options other than the
  63765. * data itself are set, for example `name` or `color` or custom properties,
  63766. * the grouping logic doesn't know how to group it. In this case the options
  63767. * of the first point instance are copied over to the group point. This can
  63768. * be altered through a custom `approximation` callback function.
  63769. */
  63770. dataGrouping?: DataGroupingOptionsObject;
  63771. /**
  63772. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  63773. * labels, appearing next to each data point.
  63774. *
  63775. * Since v6.2.0, multiple data labels can be applied to each single point by
  63776. * defining them as an array of configs.
  63777. *
  63778. * In styled mode, the data labels can be styled with the
  63779. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  63780. * (see example).
  63781. */
  63782. dataLabels?: (PlotMfiDataLabelsOptions|Array<PlotMfiDataLabelsOptions>);
  63783. /**
  63784. * (Highcharts, Highstock) Options for the series data sorting.
  63785. */
  63786. dataSorting?: (DataSortingOptionsObject|PlotMfiDataSortingOptions);
  63787. /**
  63788. * (Highstock) A description of the series to add to the screen reader
  63789. * information about the series.
  63790. */
  63791. description?: string;
  63792. /**
  63793. * (Highstock) Enable or disable the mouse tracking for a specific series.
  63794. * This includes point tooltips and click events on graphs and points. For
  63795. * large datasets it improves performance.
  63796. */
  63797. enableMouseTracking?: boolean;
  63798. /**
  63799. * (Highstock) General event handlers for the series items. These event
  63800. * hooks can also be attached to the series at run time using the
  63801. * `Highcharts.addEvent` function.
  63802. */
  63803. events?: SeriesEventsOptionsObject;
  63804. /**
  63805. * (Highstock) Determines whether the series should look for the nearest
  63806. * point in both dimensions or just the x-dimension when hovering the
  63807. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  63808. * series. If the data has duplicate x-values, it is recommended to set this
  63809. * to `'xy'` to allow hovering over all points.
  63810. *
  63811. * Applies only to series types using nearest neighbor search (not direct
  63812. * hover) for tooltip.
  63813. */
  63814. findNearestPointBy?: OptionsFindNearestPointByValue;
  63815. /**
  63816. * (Highstock) Defines when to display a gap in the graph, together with the
  63817. * gapUnit option.
  63818. *
  63819. * In case when `dataGrouping` is enabled, points can be grouped into a
  63820. * larger time span. This can make the grouped points to have a greater
  63821. * distance than the absolute value of `gapSize` property, which will result
  63822. * in disappearing graph completely. To prevent this situation the mentioned
  63823. * distance between grouped points is used instead of previously defined
  63824. * `gapSize`.
  63825. *
  63826. * In practice, this option is most often used to visualize gaps in time
  63827. * series. In a stock chart, intraday data is available for daytime hours,
  63828. * while gaps will appear in nights and weekends.
  63829. */
  63830. gapSize?: number;
  63831. /**
  63832. * (Highstock) Together with gapSize, this option defines where to draw gaps
  63833. * in the graph.
  63834. *
  63835. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  63836. * if the distance between two points is greater than 5 times that of the
  63837. * two closest points, the graph will be broken.
  63838. *
  63839. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  63840. * values, which on a datetime axis is milliseconds. This also applies to
  63841. * the navigator series that inherits gap options from the base series.
  63842. */
  63843. gapUnit?: OptionsGapUnitValue;
  63844. /**
  63845. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  63846. * chart width or only the zoomed area when zooming in on parts of the X
  63847. * axis. By default, the Y axis adjusts to the min and max of the visible
  63848. * data. Cartesian series only.
  63849. */
  63850. getExtremesFromAll?: boolean;
  63851. /**
  63852. * (Highstock) When set to `false` will prevent the series data from being
  63853. * included in any form of data export.
  63854. *
  63855. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  63856. * `includeInCSVExport`.
  63857. */
  63858. includeInDataExport?: boolean;
  63859. /**
  63860. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  63861. * series as possible in a natural way, seeking to avoid other series. The
  63862. * goal of this feature is to make the chart more easily readable, like if a
  63863. * human designer placed the labels in the optimal position.
  63864. *
  63865. * The series labels currently work with series types having a `graph` or an
  63866. * `area`.
  63867. */
  63868. label?: SeriesLabelOptionsObject;
  63869. /**
  63870. * (Highstock) The line marks the last price from all points.
  63871. */
  63872. lastPrice?: SeriesLastPriceOptionsObject;
  63873. /**
  63874. * (Highstock) The line marks the last price from visible range of points.
  63875. */
  63876. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  63877. /**
  63878. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  63879. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  63880. * the ends and bends.
  63881. */
  63882. linecap?: SeriesLinecapValue;
  63883. /**
  63884. * (Highcharts, Highstock) Pixel width of the graph line.
  63885. */
  63886. lineWidth?: number;
  63887. /**
  63888. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  63889. * based on. Required for this indicator.
  63890. */
  63891. linkedTo?: string;
  63892. /**
  63893. * (Highstock) Options for the point markers of line-like series. Properties
  63894. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  63895. * appearance of the markers. Other series types, like column series, don't
  63896. * have markers, but have visual options on the series level instead.
  63897. *
  63898. * In styled mode, the markers can be styled with the `.highcharts-point`,
  63899. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  63900. */
  63901. marker?: PointMarkerOptionsObject;
  63902. /**
  63903. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  63904. * If not set, it will be based on a technical indicator type and default
  63905. * params.
  63906. */
  63907. name?: string;
  63908. /**
  63909. * (Highstock) The color for the parts of the graph or points that are below
  63910. * the threshold. Note that `zones` takes precedence over the negative
  63911. * color. Using `negativeColor` is equivalent to applying a zone with value
  63912. * of 0.
  63913. */
  63914. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  63915. /**
  63916. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  63917. * dataLabels.
  63918. */
  63919. opacity?: number;
  63920. /**
  63921. * (Highstock) Paramters used in calculation of regression series' points.
  63922. */
  63923. params?: PlotMfiParamsOptions;
  63924. /**
  63925. * (Highstock) Properties for each single point.
  63926. */
  63927. point?: PlotSeriesPointOptions;
  63928. /**
  63929. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  63930. * individual series. Overrides the chart wide configuration.
  63931. */
  63932. pointDescriptionFormatter?: Function;
  63933. /**
  63934. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  63935. * true, the checkbox next to the series name in the legend will be checked
  63936. * for a selected series.
  63937. */
  63938. selected?: boolean;
  63939. /**
  63940. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  63941. * the shadow can be an object configuration containing `color`, `offsetX`,
  63942. * `offsetY`, `opacity` and `width`.
  63943. */
  63944. shadow?: (boolean|ShadowOptionsObject);
  63945. /**
  63946. * (Highstock) If true, a checkbox is displayed next to the legend item to
  63947. * allow selecting the series. The state of the checkbox is determined by
  63948. * the `selected` option.
  63949. */
  63950. showCheckbox?: boolean;
  63951. /**
  63952. * (Highstock) Whether to display this particular series or series type in
  63953. * the legend. Standalone series are shown in legend by default, and linked
  63954. * series are not. Since v7.2.0 it is possible to show series that use
  63955. * colorAxis by setting this option to `true`.
  63956. */
  63957. showInLegend?: boolean;
  63958. /**
  63959. * (Highstock) If set to `true`, the accessibility module will skip past the
  63960. * points in this series for keyboard navigation.
  63961. */
  63962. skipKeyboardNavigation?: boolean;
  63963. /**
  63964. * (Highcharts, Highstock) When this is true, the series will not cause the
  63965. * Y axis to cross the zero plane (or threshold option) unless the data
  63966. * actually crosses the plane.
  63967. *
  63968. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  63969. * make the Y axis show negative values according to the `minPadding`
  63970. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  63971. */
  63972. softThreshold?: boolean;
  63973. states?: SeriesStatesOptionsObject;
  63974. /**
  63975. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  63976. * values are `left`, `center` and `right`.
  63977. */
  63978. step?: OptionsStepValue;
  63979. /**
  63980. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  63981. * event on a series isn't triggered until the mouse moves over another
  63982. * series, or out of the plot area. When false, the `mouseOut` event on a
  63983. * series is triggered when the mouse leaves the area around the series'
  63984. * graph or markers. This also implies the tooltip when not shared. When
  63985. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  63986. * be hidden when moving the mouse between series. Defaults to true for line
  63987. * and area type series, but to false for columns, pies etc.
  63988. *
  63989. * **Note:** The boost module will force this option because of technical
  63990. * limitations.
  63991. */
  63992. stickyTracking?: boolean;
  63993. /**
  63994. * (Highcharts, Highstock) The threshold, also called zero level or base
  63995. * level. For line type series this is only used in conjunction with
  63996. * negativeColor.
  63997. */
  63998. threshold?: (number|null);
  63999. /**
  64000. * (Highstock) A configuration object for the tooltip rendering of each
  64001. * single series. Properties are inherited from tooltip, but only the
  64002. * following properties can be defined on a series level.
  64003. */
  64004. tooltip?: SeriesTooltipOptionsObject;
  64005. /**
  64006. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  64007. * is longer than this, only one dimensional arrays of numbers, or two
  64008. * dimensional arrays with x and y values are allowed. Also, only the first
  64009. * point is tested, and the rest are assumed to be the same format. This
  64010. * saves expensive data checking and indexing in long series. Set it to `0`
  64011. * disable.
  64012. *
  64013. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  64014. * two dimensional arrays are allowed.
  64015. */
  64016. turboThreshold?: number;
  64017. /**
  64018. * (Highstock) Set the initial visibility of the series.
  64019. */
  64020. visible?: boolean;
  64021. /**
  64022. * (Highmaps) Define the z index of the series.
  64023. */
  64024. zIndex?: number;
  64025. /**
  64026. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  64027. */
  64028. zoneAxis?: string;
  64029. /**
  64030. * (Highcharts, Highstock) An array defining zones within a series. Zones
  64031. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  64032. * the `zoneAxis` option. The zone definitions have to be in ascending order
  64033. * regarding to the value.
  64034. *
  64035. * In styled mode, the color zones are styled with the
  64036. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  64037. * option (view live demo).
  64038. */
  64039. zones?: Array<SeriesZonesOptionsObject>;
  64040. }
  64041. /**
  64042. * (Highstock) Paramters used in calculation of regression series' points.
  64043. */
  64044. export interface PlotMfiParamsOptions {
  64045. /**
  64046. * (Highstock) Number of maximum decimals that are used in MFI calculations.
  64047. */
  64048. decimals?: number;
  64049. index?: string;
  64050. /**
  64051. * (Highstock) The base period for indicator calculations. This is the
  64052. * number of data points which are taken into account for the indicator
  64053. * calculations.
  64054. */
  64055. period?: number;
  64056. /**
  64057. * (Highstock) The id of volume series which is mandatory. For example using
  64058. * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
  64059. * using OHLC and volume values.
  64060. */
  64061. volumeSeriesID?: string;
  64062. }
  64063. /**
  64064. * (Highstock) Enable or disable the initial animation when a series is
  64065. * displayed. The animation can also be set as a configuration object. Please
  64066. * note that this option only applies to the initial animation of the series
  64067. * itself. For other animations, see chart.animation and the animation parameter
  64068. * under the API methods. The following properties are supported:
  64069. *
  64070. * - `defer`: The animation delay time in milliseconds.
  64071. *
  64072. * - `duration`: The duration of the animation in milliseconds.
  64073. *
  64074. * - `easing`: Can be a string reference to an easing function set on the `Math`
  64075. * object or a function. See the _Custom easing function_ demo below.
  64076. *
  64077. * Due to poor performance, animation is disabled in old IE browsers for several
  64078. * chart types.
  64079. */
  64080. export interface PlotMomentumAnimationOptions {
  64081. defer?: number;
  64082. }
  64083. /**
  64084. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  64085. * animation when a series is displayed for the `dataLabels`. The animation can
  64086. * also be set as a configuration object. Please note that this option only
  64087. * applies to the initial animation. For other animations, see chart.animation
  64088. * and the animation parameter under the API methods. The following properties
  64089. * are supported:
  64090. *
  64091. * - `defer`: The animation delay time in milliseconds.
  64092. */
  64093. export interface PlotMomentumDataLabelsAnimationOptions {
  64094. /**
  64095. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  64096. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  64097. * inherits defer time from the series.animation.defer.
  64098. */
  64099. defer?: number;
  64100. }
  64101. /**
  64102. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  64103. * appearing next to each data point.
  64104. *
  64105. * Since v6.2.0, multiple data labels can be applied to each single point by
  64106. * defining them as an array of configs.
  64107. *
  64108. * In styled mode, the data labels can be styled with the
  64109. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  64110. * example).
  64111. */
  64112. export interface PlotMomentumDataLabelsOptions {
  64113. /**
  64114. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  64115. * compared to the point. If `right`, the right side of the label should be
  64116. * touching the point. For points with an extent, like columns, the
  64117. * alignments also dictates how to align it inside the box, as given with
  64118. * the inside option. Can be one of `left`, `center` or `right`.
  64119. */
  64120. align?: (AlignValue|null);
  64121. /**
  64122. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  64123. * overlap. To make the labels less sensitive for overlapping, the
  64124. * dataLabels.padding can be set to 0.
  64125. */
  64126. allowOverlap?: boolean;
  64127. /**
  64128. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  64129. * animation when a series is displayed for the `dataLabels`. The animation
  64130. * can also be set as a configuration object. Please note that this option
  64131. * only applies to the initial animation. For other animations, see
  64132. * chart.animation and the animation parameter under the API methods. The
  64133. * following properties are supported:
  64134. *
  64135. * - `defer`: The animation delay time in milliseconds.
  64136. */
  64137. animation?: (boolean|PlotMomentumDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  64138. /**
  64139. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  64140. * for the data label.
  64141. */
  64142. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  64143. /**
  64144. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  64145. * label. Defaults to `undefined`.
  64146. */
  64147. borderColor?: (ColorString|GradientColorObject|PatternObject);
  64148. /**
  64149. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  64150. * the data label.
  64151. */
  64152. borderRadius?: number;
  64153. /**
  64154. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  64155. * the data label.
  64156. */
  64157. borderWidth?: number;
  64158. /**
  64159. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  64160. * Particularly in styled mode, this can be used to give each series' or
  64161. * point's data label unique styling. In addition to this option, a default
  64162. * color class name is added so that we can give the labels a contrast text
  64163. * shadow.
  64164. */
  64165. className?: string;
  64166. /**
  64167. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  64168. * labels. Defaults to `undefined`. For certain series types, like column or
  64169. * map, the data labels can be drawn inside the points. In this case the
  64170. * data label will be drawn with maximum contrast by default. Additionally,
  64171. * it will be given a `text-outline` style with the opposite color, to
  64172. * further increase the contrast. This can be overridden by setting the
  64173. * `text-outline` style to `none` in the `dataLabels.style` option.
  64174. */
  64175. color?: (ColorString|GradientColorObject|PatternObject);
  64176. /**
  64177. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  64178. * are outside the plot area. By default, the data label is moved inside the
  64179. * plot area according to the overflow option.
  64180. */
  64181. crop?: boolean;
  64182. /**
  64183. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  64184. * labels until the initial series animation has finished. Setting to
  64185. * `false` renders the data label immediately. If set to `true` inherits the
  64186. * defer time set in plotOptions.series.animation. If set to a number, a
  64187. * defer time is specified in milliseconds.
  64188. */
  64189. defer?: (boolean|number);
  64190. /**
  64191. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  64192. * labels.
  64193. */
  64194. enabled?: boolean;
  64195. /**
  64196. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  64197. * of which data labels to display. The declarative filter is designed for
  64198. * use when callback functions are not available, like when the chart
  64199. * options require a pure JSON structure or for use with graphical editors.
  64200. * For programmatic control, use the `formatter` instead, and return
  64201. * `undefined` to disable a single data label.
  64202. */
  64203. filter?: DataLabelsFilterOptionsObject;
  64204. /**
  64205. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  64206. * label. Available variables are the same as for `formatter`.
  64207. */
  64208. format?: string;
  64209. /**
  64210. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  64211. * format the data label. Note that if a `format` is defined, the format
  64212. * takes precedence and the formatter is ignored.
  64213. */
  64214. formatter?: DataLabelsFormatterCallbackFunction;
  64215. /**
  64216. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  64217. * columns or map areas, whether to align the data label inside the box or
  64218. * to the actual value point. Defaults to `false` in most cases, `true` in
  64219. * stacked columns.
  64220. */
  64221. inside?: boolean;
  64222. /**
  64223. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  64224. * of null. Works analogously to format. `nullFormat` can be applied only to
  64225. * series which support displaying null points.
  64226. */
  64227. nullFormat?: (boolean|string);
  64228. /**
  64229. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  64230. * that defines formatting for points with the value of null. Works
  64231. * analogously to formatter. `nullPointFormatter` can be applied only to
  64232. * series which support displaying null points.
  64233. */
  64234. nullFormatter?: DataLabelsFormatterCallbackFunction;
  64235. /**
  64236. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  64237. * flow outside the plot area. The default is `"justify"`, which aligns them
  64238. * inside the plot area. For columns and bars, this means it will be moved
  64239. * inside the bar. To display data labels outside the plot area, set `crop`
  64240. * to `false` and `overflow` to `"allow"`.
  64241. */
  64242. overflow?: DataLabelsOverflowValue;
  64243. /**
  64244. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  64245. * the `backgroundColor` is set, this is the padding within the box.
  64246. */
  64247. padding?: number;
  64248. /**
  64249. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  64250. * points. If `center` alignment is not possible, it defaults to `right`.
  64251. */
  64252. position?: AlignValue;
  64253. /**
  64254. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  64255. * that due to a more complex structure, backgrounds, borders and padding
  64256. * will be lost on a rotated data label.
  64257. */
  64258. rotation?: number;
  64259. /**
  64260. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  64261. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  64262. * an object configuration containing `color`, `offsetX`, `offsetY`,
  64263. * `opacity` and `width`.
  64264. */
  64265. shadow?: (boolean|ShadowOptionsObject);
  64266. /**
  64267. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  64268. * the border around the label. Symbols are predefined functions on the
  64269. * Renderer object.
  64270. */
  64271. shape?: string;
  64272. /**
  64273. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  64274. * default `color` setting is `"contrast"`, which is a pseudo color that
  64275. * Highcharts picks up and applies the maximum contrast to the underlying
  64276. * point item, for example the bar in a bar chart.
  64277. *
  64278. * The `textOutline` is a pseudo property that applies an outline of the
  64279. * given width with the given color, which by default is the maximum
  64280. * contrast to the text. So a bright text color will result in a black text
  64281. * outline for maximum readability on a mixed background. In some cases,
  64282. * especially with grayscale text, the text outline doesn't work well, in
  64283. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  64284. * is true, the `textOutline` will not be picked up. In this, case, the same
  64285. * effect can be acheived through the `text-shadow` CSS property.
  64286. *
  64287. * For some series types, where each point has an extent, like for example
  64288. * tree maps, the data label may overflow the point. There are two
  64289. * strategies for handling overflow. By default, the text will wrap to
  64290. * multiple lines. The other strategy is to set `style.textOverflow` to
  64291. * `ellipsis`, which will keep the text on one line plus it will break
  64292. * inside long words.
  64293. */
  64294. style?: CSSObject;
  64295. /**
  64296. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  64297. * should follow marker's shape. Border and background are disabled for a
  64298. * label that follows a path.
  64299. *
  64300. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  64301. * to true will disable this option.
  64302. */
  64303. textPath?: DataLabelsTextPathOptionsObject;
  64304. /**
  64305. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  64306. * the labels.
  64307. */
  64308. useHTML?: boolean;
  64309. /**
  64310. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  64311. * label. Can be one of `top`, `middle` or `bottom`. The default value
  64312. * depends on the data, for instance in a column chart, the label is above
  64313. * positive values and below negative values.
  64314. */
  64315. verticalAlign?: (VerticalAlignValue|null);
  64316. /**
  64317. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  64318. * label relative to the point in pixels.
  64319. */
  64320. x?: number;
  64321. /**
  64322. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  64323. * label relative to the point in pixels.
  64324. */
  64325. y?: number;
  64326. /**
  64327. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  64328. * The default Z index puts it above the series. Use a Z index of 2 to
  64329. * display it behind the series.
  64330. */
  64331. z?: number;
  64332. }
  64333. /**
  64334. * (Highcharts, Highstock) Options for the series data sorting.
  64335. */
  64336. export interface PlotMomentumDataSortingOptions {
  64337. /**
  64338. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  64339. * Use xAxis.reversed to change the sorting order.
  64340. */
  64341. enabled?: boolean;
  64342. /**
  64343. * (Highcharts, Highstock) Whether to allow matching points by name in an
  64344. * update. If this option is disabled, points will be matched by order.
  64345. */
  64346. matchByName?: boolean;
  64347. /**
  64348. * (Highcharts, Highstock) Determines what data value should be used to sort
  64349. * by.
  64350. */
  64351. sortKey?: string;
  64352. }
  64353. /**
  64354. * (Highstock) Momentum. This series requires `linkedTo` option to be set.
  64355. *
  64356. * In TypeScript the type option must always be set.
  64357. *
  64358. * Configuration options for the series are given in three levels:
  64359. *
  64360. * 1. Options for all series in a chart are defined in the plotOptions.series
  64361. * object.
  64362. *
  64363. * 2. Options for all `momentum` series are defined in plotOptions.momentum.
  64364. *
  64365. * 3. Options for one single series are given in the series instance array. (see
  64366. * online documentation for example)
  64367. */
  64368. export interface PlotMomentumOptions {
  64369. /**
  64370. * (Highstock) Accessibility options for a series.
  64371. */
  64372. accessibility?: SeriesAccessibilityOptionsObject;
  64373. /**
  64374. * (Highstock) Allow this series' points to be selected by clicking on the
  64375. * graphic (columns, point markers, pie slices, map areas etc).
  64376. *
  64377. * The selected points can be handled by point select and unselect events,
  64378. * or collectively by the getSelectedPoints function.
  64379. *
  64380. * And alternative way of selecting points is through dragging.
  64381. */
  64382. allowPointSelect?: boolean;
  64383. /**
  64384. * (Highstock) Enable or disable the initial animation when a series is
  64385. * displayed. The animation can also be set as a configuration object.
  64386. * Please note that this option only applies to the initial animation of the
  64387. * series itself. For other animations, see chart.animation and the
  64388. * animation parameter under the API methods. The following properties are
  64389. * supported:
  64390. *
  64391. * - `defer`: The animation delay time in milliseconds.
  64392. *
  64393. * - `duration`: The duration of the animation in milliseconds.
  64394. *
  64395. * - `easing`: Can be a string reference to an easing function set on the
  64396. * `Math` object or a function. See the _Custom easing function_ demo below.
  64397. *
  64398. * Due to poor performance, animation is disabled in old IE browsers for
  64399. * several chart types.
  64400. */
  64401. animation?: (boolean|PlotMomentumAnimationOptions|Partial<AnimationOptionsObject>);
  64402. /**
  64403. * (Highstock) For some series, there is a limit that shuts down initial
  64404. * animation by default when the total number of points in the chart is too
  64405. * high. For example, for a column chart and its derivatives, animation does
  64406. * not run if there is more than 250 points totally. To disable this cap,
  64407. * set `animationLimit` to `Infinity`.
  64408. */
  64409. animationLimit?: number;
  64410. /**
  64411. * (Highstock) Sets the color blending in the boost module.
  64412. */
  64413. boostBlending?: OptionsBoostBlendingValue;
  64414. /**
  64415. * (Highstock) Set the point threshold for when a series should enter boost
  64416. * mode.
  64417. *
  64418. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  64419. * there are 2000 or more points in the series.
  64420. *
  64421. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  64422. * it to 1 will force boosting.
  64423. *
  64424. * Note that the cropThreshold also affects this setting. When zooming in on
  64425. * a series that has fewer points than the `cropThreshold`, all points are
  64426. * rendered although outside the visible plot area, and the `boostThreshold`
  64427. * won't take effect.
  64428. */
  64429. boostThreshold?: number;
  64430. /**
  64431. * (Highmaps) The border color of the map areas.
  64432. *
  64433. * In styled mode, the border stroke is given in the `.highcharts-point`
  64434. * class.
  64435. */
  64436. borderColor?: (ColorString|GradientColorObject|PatternObject);
  64437. /**
  64438. * (Highmaps) The border width of each map area.
  64439. *
  64440. * In styled mode, the border stroke width is given in the
  64441. * `.highcharts-point` class.
  64442. */
  64443. borderWidth?: number;
  64444. /**
  64445. * (Highstock) An additional class name to apply to the series' graphical
  64446. * elements. This option does not replace default class names of the
  64447. * graphical element.
  64448. */
  64449. className?: string;
  64450. /**
  64451. * (Highstock) Disable this option to allow series rendering in the whole
  64452. * plotting area.
  64453. *
  64454. * **Note:** Clipping should be always enabled when chart.zoomType is set
  64455. */
  64456. clip?: boolean;
  64457. /**
  64458. * (Highstock) The main color of the series. In line type series it applies
  64459. * to the line and the point markers unless otherwise specified. In bar type
  64460. * series it applies to the bars unless a color is specified per point. The
  64461. * default value is pulled from the `options.colors` array.
  64462. *
  64463. * In styled mode, the color can be defined by the colorIndex option. Also,
  64464. * the series color can be set with the `.highcharts-series`,
  64465. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  64466. * `.highcharts-series-{n}` class, or individual classes given by the
  64467. * `className` option.
  64468. */
  64469. color?: (ColorString|GradientColorObject|PatternObject);
  64470. /**
  64471. * (Highstock) Styled mode only. A specific color index to use for the
  64472. * series, so its graphic representations are given the class name
  64473. * `highcharts-color-{n}`.
  64474. */
  64475. colorIndex?: number;
  64476. /**
  64477. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  64478. * used to calculate point color if `colorAxis` is used. Requires to set
  64479. * `min` and `max` if some custom point property is used or if approximation
  64480. * for data grouping is set to `'sum'`.
  64481. */
  64482. colorKey?: string;
  64483. /**
  64484. * (Highstock) Compare the values of the series against the first non-null,
  64485. * non- zero value in the visible range. The y axis will show percentage or
  64486. * absolute change depending on whether `compare` is set to `"percent"` or
  64487. * `"value"`. When this is applied to multiple series, it allows comparing
  64488. * the development of the series against each other. Adds a `change` field
  64489. * to every point object.
  64490. */
  64491. compare?: string;
  64492. /**
  64493. * (Highstock) When compare is `percent`, this option dictates whether to
  64494. * use 0 or 100 as the base of comparison.
  64495. */
  64496. compareBase?: (0|100);
  64497. /**
  64498. * (Highstock) Defines if comparison should start from the first point
  64499. * within the visible range or should start from the first point **before**
  64500. * the range.
  64501. *
  64502. * In other words, this flag determines if first point within the visible
  64503. * range will have 0% (`compareStart=true`) or should have been already
  64504. * calculated according to the previous point (`compareStart=false`).
  64505. */
  64506. compareStart?: boolean;
  64507. /**
  64508. * (Highstock) Whether to compare indicator to the main series values or
  64509. * indicator values.
  64510. */
  64511. compareToMain?: boolean;
  64512. /**
  64513. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  64514. * series plot across the extremes.
  64515. */
  64516. connectEnds?: boolean;
  64517. /**
  64518. * (Highcharts, Highstock) Whether to connect a graph line across null
  64519. * points, or render a gap between the two points on either side of the
  64520. * null.
  64521. */
  64522. connectNulls?: boolean;
  64523. /**
  64524. * (Gantt) Override Pathfinder connector options for a series. Requires
  64525. * Highcharts Gantt to be loaded.
  64526. */
  64527. connectors?: SeriesConnectorsOptionsObject;
  64528. /**
  64529. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  64530. * rounded to its nearest pixel in order to render sharp on screen. In some
  64531. * cases, when there are a lot of densely packed columns, this leads to
  64532. * visible difference in column widths or distance between columns. In these
  64533. * cases, setting `crisp` to `false` may look better, even though each
  64534. * column is rendered blurry.
  64535. */
  64536. crisp?: boolean;
  64537. /**
  64538. * (Highcharts, Highstock) When the series contains less points than the
  64539. * crop threshold, all points are drawn, even if the points fall outside the
  64540. * visible plot area at the current zoom. The advantage of drawing all
  64541. * points (including markers and columns), is that animation is performed on
  64542. * updates. On the other hand, when the series contains more points than the
  64543. * crop threshold, the series data is cropped to only contain points that
  64544. * fall within the plot area. The advantage of cropping away invisible
  64545. * points is to increase performance on large series.
  64546. */
  64547. cropThreshold?: number;
  64548. /**
  64549. * (Highstock) You can set the cursor to "pointer" if you have click events
  64550. * attached to the series, to signal to the user that the points and lines
  64551. * can be clicked.
  64552. *
  64553. * In styled mode, the series cursor can be set with the same classes as
  64554. * listed under series.color.
  64555. */
  64556. cursor?: (string|CursorValue);
  64557. /**
  64558. * (Highstock) A reserved subspace to store options and values for
  64559. * customized functionality. Here you can add additional data for your own
  64560. * event callbacks and formatter callbacks.
  64561. */
  64562. custom?: Dictionary<any>;
  64563. /**
  64564. * (Highstock) Name of the dash style to use for the graph, or for some
  64565. * series types the outline of each shape.
  64566. *
  64567. * In styled mode, the stroke dash-array can be set with the same classes as
  64568. * listed under series.color.
  64569. */
  64570. dashStyle?: DashStyleValue;
  64571. /**
  64572. * (Highstock) Data grouping is the concept of sampling the data values into
  64573. * larger blocks in order to ease readability and increase performance of
  64574. * the JavaScript charts. Highcharts Stock by default applies data grouping
  64575. * when the points become closer than a certain pixel value, determined by
  64576. * the `groupPixelWidth` option.
  64577. *
  64578. * If data grouping is applied, the grouping information of grouped points
  64579. * can be read from the Point.dataGroup. If point options other than the
  64580. * data itself are set, for example `name` or `color` or custom properties,
  64581. * the grouping logic doesn't know how to group it. In this case the options
  64582. * of the first point instance are copied over to the group point. This can
  64583. * be altered through a custom `approximation` callback function.
  64584. */
  64585. dataGrouping?: DataGroupingOptionsObject;
  64586. /**
  64587. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  64588. * labels, appearing next to each data point.
  64589. *
  64590. * Since v6.2.0, multiple data labels can be applied to each single point by
  64591. * defining them as an array of configs.
  64592. *
  64593. * In styled mode, the data labels can be styled with the
  64594. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  64595. * (see example).
  64596. */
  64597. dataLabels?: (PlotMomentumDataLabelsOptions|Array<PlotMomentumDataLabelsOptions>);
  64598. /**
  64599. * (Highcharts, Highstock) Options for the series data sorting.
  64600. */
  64601. dataSorting?: (DataSortingOptionsObject|PlotMomentumDataSortingOptions);
  64602. /**
  64603. * (Highstock) A description of the series to add to the screen reader
  64604. * information about the series.
  64605. */
  64606. description?: string;
  64607. /**
  64608. * (Highstock) Enable or disable the mouse tracking for a specific series.
  64609. * This includes point tooltips and click events on graphs and points. For
  64610. * large datasets it improves performance.
  64611. */
  64612. enableMouseTracking?: boolean;
  64613. /**
  64614. * (Highstock) General event handlers for the series items. These event
  64615. * hooks can also be attached to the series at run time using the
  64616. * `Highcharts.addEvent` function.
  64617. */
  64618. events?: SeriesEventsOptionsObject;
  64619. /**
  64620. * (Highstock) Determines whether the series should look for the nearest
  64621. * point in both dimensions or just the x-dimension when hovering the
  64622. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  64623. * series. If the data has duplicate x-values, it is recommended to set this
  64624. * to `'xy'` to allow hovering over all points.
  64625. *
  64626. * Applies only to series types using nearest neighbor search (not direct
  64627. * hover) for tooltip.
  64628. */
  64629. findNearestPointBy?: OptionsFindNearestPointByValue;
  64630. /**
  64631. * (Highstock) Defines when to display a gap in the graph, together with the
  64632. * gapUnit option.
  64633. *
  64634. * In case when `dataGrouping` is enabled, points can be grouped into a
  64635. * larger time span. This can make the grouped points to have a greater
  64636. * distance than the absolute value of `gapSize` property, which will result
  64637. * in disappearing graph completely. To prevent this situation the mentioned
  64638. * distance between grouped points is used instead of previously defined
  64639. * `gapSize`.
  64640. *
  64641. * In practice, this option is most often used to visualize gaps in time
  64642. * series. In a stock chart, intraday data is available for daytime hours,
  64643. * while gaps will appear in nights and weekends.
  64644. */
  64645. gapSize?: number;
  64646. /**
  64647. * (Highstock) Together with gapSize, this option defines where to draw gaps
  64648. * in the graph.
  64649. *
  64650. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  64651. * if the distance between two points is greater than 5 times that of the
  64652. * two closest points, the graph will be broken.
  64653. *
  64654. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  64655. * values, which on a datetime axis is milliseconds. This also applies to
  64656. * the navigator series that inherits gap options from the base series.
  64657. */
  64658. gapUnit?: OptionsGapUnitValue;
  64659. /**
  64660. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  64661. * chart width or only the zoomed area when zooming in on parts of the X
  64662. * axis. By default, the Y axis adjusts to the min and max of the visible
  64663. * data. Cartesian series only.
  64664. */
  64665. getExtremesFromAll?: boolean;
  64666. /**
  64667. * (Highstock) When set to `false` will prevent the series data from being
  64668. * included in any form of data export.
  64669. *
  64670. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  64671. * `includeInCSVExport`.
  64672. */
  64673. includeInDataExport?: boolean;
  64674. /**
  64675. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  64676. * series as possible in a natural way, seeking to avoid other series. The
  64677. * goal of this feature is to make the chart more easily readable, like if a
  64678. * human designer placed the labels in the optimal position.
  64679. *
  64680. * The series labels currently work with series types having a `graph` or an
  64681. * `area`.
  64682. */
  64683. label?: SeriesLabelOptionsObject;
  64684. /**
  64685. * (Highstock) The line marks the last price from all points.
  64686. */
  64687. lastPrice?: SeriesLastPriceOptionsObject;
  64688. /**
  64689. * (Highstock) The line marks the last price from visible range of points.
  64690. */
  64691. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  64692. /**
  64693. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  64694. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  64695. * the ends and bends.
  64696. */
  64697. linecap?: SeriesLinecapValue;
  64698. /**
  64699. * (Highcharts, Highstock) Pixel width of the graph line.
  64700. */
  64701. lineWidth?: number;
  64702. /**
  64703. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  64704. * based on. Required for this indicator.
  64705. */
  64706. linkedTo?: string;
  64707. /**
  64708. * (Highstock) Options for the point markers of line-like series. Properties
  64709. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  64710. * appearance of the markers. Other series types, like column series, don't
  64711. * have markers, but have visual options on the series level instead.
  64712. *
  64713. * In styled mode, the markers can be styled with the `.highcharts-point`,
  64714. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  64715. */
  64716. marker?: PointMarkerOptionsObject;
  64717. /**
  64718. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  64719. * If not set, it will be based on a technical indicator type and default
  64720. * params.
  64721. */
  64722. name?: string;
  64723. /**
  64724. * (Highstock) The color for the parts of the graph or points that are below
  64725. * the threshold. Note that `zones` takes precedence over the negative
  64726. * color. Using `negativeColor` is equivalent to applying a zone with value
  64727. * of 0.
  64728. */
  64729. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  64730. /**
  64731. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  64732. * dataLabels.
  64733. */
  64734. opacity?: number;
  64735. /**
  64736. * (Highstock) Paramters used in calculation of regression series' points.
  64737. */
  64738. params?: PlotMomentumParamsOptions;
  64739. /**
  64740. * (Highstock) Properties for each single point.
  64741. */
  64742. point?: PlotSeriesPointOptions;
  64743. /**
  64744. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  64745. * individual series. Overrides the chart wide configuration.
  64746. */
  64747. pointDescriptionFormatter?: Function;
  64748. /**
  64749. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  64750. * true, the checkbox next to the series name in the legend will be checked
  64751. * for a selected series.
  64752. */
  64753. selected?: boolean;
  64754. /**
  64755. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  64756. * the shadow can be an object configuration containing `color`, `offsetX`,
  64757. * `offsetY`, `opacity` and `width`.
  64758. */
  64759. shadow?: (boolean|ShadowOptionsObject);
  64760. /**
  64761. * (Highstock) If true, a checkbox is displayed next to the legend item to
  64762. * allow selecting the series. The state of the checkbox is determined by
  64763. * the `selected` option.
  64764. */
  64765. showCheckbox?: boolean;
  64766. /**
  64767. * (Highstock) Whether to display this particular series or series type in
  64768. * the legend. Standalone series are shown in legend by default, and linked
  64769. * series are not. Since v7.2.0 it is possible to show series that use
  64770. * colorAxis by setting this option to `true`.
  64771. */
  64772. showInLegend?: boolean;
  64773. /**
  64774. * (Highstock) If set to `true`, the accessibility module will skip past the
  64775. * points in this series for keyboard navigation.
  64776. */
  64777. skipKeyboardNavigation?: boolean;
  64778. /**
  64779. * (Highcharts, Highstock) When this is true, the series will not cause the
  64780. * Y axis to cross the zero plane (or threshold option) unless the data
  64781. * actually crosses the plane.
  64782. *
  64783. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  64784. * make the Y axis show negative values according to the `minPadding`
  64785. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  64786. */
  64787. softThreshold?: boolean;
  64788. states?: SeriesStatesOptionsObject;
  64789. /**
  64790. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  64791. * values are `left`, `center` and `right`.
  64792. */
  64793. step?: OptionsStepValue;
  64794. /**
  64795. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  64796. * event on a series isn't triggered until the mouse moves over another
  64797. * series, or out of the plot area. When false, the `mouseOut` event on a
  64798. * series is triggered when the mouse leaves the area around the series'
  64799. * graph or markers. This also implies the tooltip when not shared. When
  64800. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  64801. * be hidden when moving the mouse between series. Defaults to true for line
  64802. * and area type series, but to false for columns, pies etc.
  64803. *
  64804. * **Note:** The boost module will force this option because of technical
  64805. * limitations.
  64806. */
  64807. stickyTracking?: boolean;
  64808. /**
  64809. * (Highcharts, Highstock) The threshold, also called zero level or base
  64810. * level. For line type series this is only used in conjunction with
  64811. * negativeColor.
  64812. */
  64813. threshold?: (number|null);
  64814. /**
  64815. * (Highstock) A configuration object for the tooltip rendering of each
  64816. * single series. Properties are inherited from tooltip, but only the
  64817. * following properties can be defined on a series level.
  64818. */
  64819. tooltip?: SeriesTooltipOptionsObject;
  64820. /**
  64821. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  64822. * is longer than this, only one dimensional arrays of numbers, or two
  64823. * dimensional arrays with x and y values are allowed. Also, only the first
  64824. * point is tested, and the rest are assumed to be the same format. This
  64825. * saves expensive data checking and indexing in long series. Set it to `0`
  64826. * disable.
  64827. *
  64828. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  64829. * two dimensional arrays are allowed.
  64830. */
  64831. turboThreshold?: number;
  64832. /**
  64833. * (Highstock) Set the initial visibility of the series.
  64834. */
  64835. visible?: boolean;
  64836. /**
  64837. * (Highmaps) Define the z index of the series.
  64838. */
  64839. zIndex?: number;
  64840. /**
  64841. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  64842. */
  64843. zoneAxis?: string;
  64844. /**
  64845. * (Highcharts, Highstock) An array defining zones within a series. Zones
  64846. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  64847. * the `zoneAxis` option. The zone definitions have to be in ascending order
  64848. * regarding to the value.
  64849. *
  64850. * In styled mode, the color zones are styled with the
  64851. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  64852. * option (view live demo).
  64853. */
  64854. zones?: Array<SeriesZonesOptionsObject>;
  64855. }
  64856. /**
  64857. * (Highstock) Paramters used in calculation of regression series' points.
  64858. */
  64859. export interface PlotMomentumParamsOptions {
  64860. /**
  64861. * (Highstock) The point index which indicator calculations will base. For
  64862. * example using OHLC data, index=2 means the indicator will be calculated
  64863. * using Low values.
  64864. */
  64865. index?: number;
  64866. /**
  64867. * (Highstock) The base period for indicator calculations. This is the
  64868. * number of data points which are taken into account for the indicator
  64869. * calculations.
  64870. */
  64871. period?: number;
  64872. }
  64873. /**
  64874. * (Highstock) Enable or disable the initial animation when a series is
  64875. * displayed. The animation can also be set as a configuration object. Please
  64876. * note that this option only applies to the initial animation of the series
  64877. * itself. For other animations, see chart.animation and the animation parameter
  64878. * under the API methods. The following properties are supported:
  64879. *
  64880. * - `defer`: The animation delay time in milliseconds.
  64881. *
  64882. * - `duration`: The duration of the animation in milliseconds.
  64883. *
  64884. * - `easing`: Can be a string reference to an easing function set on the `Math`
  64885. * object or a function. See the _Custom easing function_ demo below.
  64886. *
  64887. * Due to poor performance, animation is disabled in old IE browsers for several
  64888. * chart types.
  64889. */
  64890. export interface PlotNatrAnimationOptions {
  64891. defer?: number;
  64892. }
  64893. /**
  64894. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  64895. * animation when a series is displayed for the `dataLabels`. The animation can
  64896. * also be set as a configuration object. Please note that this option only
  64897. * applies to the initial animation. For other animations, see chart.animation
  64898. * and the animation parameter under the API methods. The following properties
  64899. * are supported:
  64900. *
  64901. * - `defer`: The animation delay time in milliseconds.
  64902. */
  64903. export interface PlotNatrDataLabelsAnimationOptions {
  64904. /**
  64905. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  64906. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  64907. * inherits defer time from the series.animation.defer.
  64908. */
  64909. defer?: number;
  64910. }
  64911. /**
  64912. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  64913. * appearing next to each data point.
  64914. *
  64915. * Since v6.2.0, multiple data labels can be applied to each single point by
  64916. * defining them as an array of configs.
  64917. *
  64918. * In styled mode, the data labels can be styled with the
  64919. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  64920. * example).
  64921. */
  64922. export interface PlotNatrDataLabelsOptions {
  64923. /**
  64924. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  64925. * compared to the point. If `right`, the right side of the label should be
  64926. * touching the point. For points with an extent, like columns, the
  64927. * alignments also dictates how to align it inside the box, as given with
  64928. * the inside option. Can be one of `left`, `center` or `right`.
  64929. */
  64930. align?: (AlignValue|null);
  64931. /**
  64932. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  64933. * overlap. To make the labels less sensitive for overlapping, the
  64934. * dataLabels.padding can be set to 0.
  64935. */
  64936. allowOverlap?: boolean;
  64937. /**
  64938. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  64939. * animation when a series is displayed for the `dataLabels`. The animation
  64940. * can also be set as a configuration object. Please note that this option
  64941. * only applies to the initial animation. For other animations, see
  64942. * chart.animation and the animation parameter under the API methods. The
  64943. * following properties are supported:
  64944. *
  64945. * - `defer`: The animation delay time in milliseconds.
  64946. */
  64947. animation?: (boolean|PlotNatrDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  64948. /**
  64949. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  64950. * for the data label.
  64951. */
  64952. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  64953. /**
  64954. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  64955. * label. Defaults to `undefined`.
  64956. */
  64957. borderColor?: (ColorString|GradientColorObject|PatternObject);
  64958. /**
  64959. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  64960. * the data label.
  64961. */
  64962. borderRadius?: number;
  64963. /**
  64964. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  64965. * the data label.
  64966. */
  64967. borderWidth?: number;
  64968. /**
  64969. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  64970. * Particularly in styled mode, this can be used to give each series' or
  64971. * point's data label unique styling. In addition to this option, a default
  64972. * color class name is added so that we can give the labels a contrast text
  64973. * shadow.
  64974. */
  64975. className?: string;
  64976. /**
  64977. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  64978. * labels. Defaults to `undefined`. For certain series types, like column or
  64979. * map, the data labels can be drawn inside the points. In this case the
  64980. * data label will be drawn with maximum contrast by default. Additionally,
  64981. * it will be given a `text-outline` style with the opposite color, to
  64982. * further increase the contrast. This can be overridden by setting the
  64983. * `text-outline` style to `none` in the `dataLabels.style` option.
  64984. */
  64985. color?: (ColorString|GradientColorObject|PatternObject);
  64986. /**
  64987. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  64988. * are outside the plot area. By default, the data label is moved inside the
  64989. * plot area according to the overflow option.
  64990. */
  64991. crop?: boolean;
  64992. /**
  64993. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  64994. * labels until the initial series animation has finished. Setting to
  64995. * `false` renders the data label immediately. If set to `true` inherits the
  64996. * defer time set in plotOptions.series.animation. If set to a number, a
  64997. * defer time is specified in milliseconds.
  64998. */
  64999. defer?: (boolean|number);
  65000. /**
  65001. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  65002. * labels.
  65003. */
  65004. enabled?: boolean;
  65005. /**
  65006. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  65007. * of which data labels to display. The declarative filter is designed for
  65008. * use when callback functions are not available, like when the chart
  65009. * options require a pure JSON structure or for use with graphical editors.
  65010. * For programmatic control, use the `formatter` instead, and return
  65011. * `undefined` to disable a single data label.
  65012. */
  65013. filter?: DataLabelsFilterOptionsObject;
  65014. /**
  65015. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  65016. * label. Available variables are the same as for `formatter`.
  65017. */
  65018. format?: string;
  65019. /**
  65020. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  65021. * format the data label. Note that if a `format` is defined, the format
  65022. * takes precedence and the formatter is ignored.
  65023. */
  65024. formatter?: DataLabelsFormatterCallbackFunction;
  65025. /**
  65026. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  65027. * columns or map areas, whether to align the data label inside the box or
  65028. * to the actual value point. Defaults to `false` in most cases, `true` in
  65029. * stacked columns.
  65030. */
  65031. inside?: boolean;
  65032. /**
  65033. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  65034. * of null. Works analogously to format. `nullFormat` can be applied only to
  65035. * series which support displaying null points.
  65036. */
  65037. nullFormat?: (boolean|string);
  65038. /**
  65039. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  65040. * that defines formatting for points with the value of null. Works
  65041. * analogously to formatter. `nullPointFormatter` can be applied only to
  65042. * series which support displaying null points.
  65043. */
  65044. nullFormatter?: DataLabelsFormatterCallbackFunction;
  65045. /**
  65046. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  65047. * flow outside the plot area. The default is `"justify"`, which aligns them
  65048. * inside the plot area. For columns and bars, this means it will be moved
  65049. * inside the bar. To display data labels outside the plot area, set `crop`
  65050. * to `false` and `overflow` to `"allow"`.
  65051. */
  65052. overflow?: DataLabelsOverflowValue;
  65053. /**
  65054. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  65055. * the `backgroundColor` is set, this is the padding within the box.
  65056. */
  65057. padding?: number;
  65058. /**
  65059. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  65060. * points. If `center` alignment is not possible, it defaults to `right`.
  65061. */
  65062. position?: AlignValue;
  65063. /**
  65064. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  65065. * that due to a more complex structure, backgrounds, borders and padding
  65066. * will be lost on a rotated data label.
  65067. */
  65068. rotation?: number;
  65069. /**
  65070. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  65071. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  65072. * an object configuration containing `color`, `offsetX`, `offsetY`,
  65073. * `opacity` and `width`.
  65074. */
  65075. shadow?: (boolean|ShadowOptionsObject);
  65076. /**
  65077. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  65078. * the border around the label. Symbols are predefined functions on the
  65079. * Renderer object.
  65080. */
  65081. shape?: string;
  65082. /**
  65083. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  65084. * default `color` setting is `"contrast"`, which is a pseudo color that
  65085. * Highcharts picks up and applies the maximum contrast to the underlying
  65086. * point item, for example the bar in a bar chart.
  65087. *
  65088. * The `textOutline` is a pseudo property that applies an outline of the
  65089. * given width with the given color, which by default is the maximum
  65090. * contrast to the text. So a bright text color will result in a black text
  65091. * outline for maximum readability on a mixed background. In some cases,
  65092. * especially with grayscale text, the text outline doesn't work well, in
  65093. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  65094. * is true, the `textOutline` will not be picked up. In this, case, the same
  65095. * effect can be acheived through the `text-shadow` CSS property.
  65096. *
  65097. * For some series types, where each point has an extent, like for example
  65098. * tree maps, the data label may overflow the point. There are two
  65099. * strategies for handling overflow. By default, the text will wrap to
  65100. * multiple lines. The other strategy is to set `style.textOverflow` to
  65101. * `ellipsis`, which will keep the text on one line plus it will break
  65102. * inside long words.
  65103. */
  65104. style?: CSSObject;
  65105. /**
  65106. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  65107. * should follow marker's shape. Border and background are disabled for a
  65108. * label that follows a path.
  65109. *
  65110. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  65111. * to true will disable this option.
  65112. */
  65113. textPath?: DataLabelsTextPathOptionsObject;
  65114. /**
  65115. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  65116. * the labels.
  65117. */
  65118. useHTML?: boolean;
  65119. /**
  65120. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  65121. * label. Can be one of `top`, `middle` or `bottom`. The default value
  65122. * depends on the data, for instance in a column chart, the label is above
  65123. * positive values and below negative values.
  65124. */
  65125. verticalAlign?: (VerticalAlignValue|null);
  65126. /**
  65127. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  65128. * label relative to the point in pixels.
  65129. */
  65130. x?: number;
  65131. /**
  65132. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  65133. * label relative to the point in pixels.
  65134. */
  65135. y?: number;
  65136. /**
  65137. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  65138. * The default Z index puts it above the series. Use a Z index of 2 to
  65139. * display it behind the series.
  65140. */
  65141. z?: number;
  65142. }
  65143. /**
  65144. * (Highcharts, Highstock) Options for the series data sorting.
  65145. */
  65146. export interface PlotNatrDataSortingOptions {
  65147. /**
  65148. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  65149. * Use xAxis.reversed to change the sorting order.
  65150. */
  65151. enabled?: boolean;
  65152. /**
  65153. * (Highcharts, Highstock) Whether to allow matching points by name in an
  65154. * update. If this option is disabled, points will be matched by order.
  65155. */
  65156. matchByName?: boolean;
  65157. /**
  65158. * (Highcharts, Highstock) Determines what data value should be used to sort
  65159. * by.
  65160. */
  65161. sortKey?: string;
  65162. }
  65163. /**
  65164. * (Highstock) Normalized average true range indicator (NATR). This series
  65165. * requires `linkedTo` option to be set and should be loaded after the
  65166. * `stock/indicators/indicators.js` and `stock/indicators/atr.js`.
  65167. *
  65168. * In TypeScript the type option must always be set.
  65169. *
  65170. * Configuration options for the series are given in three levels:
  65171. *
  65172. * 1. Options for all series in a chart are defined in the plotOptions.series
  65173. * object.
  65174. *
  65175. * 2. Options for all `natr` series are defined in plotOptions.natr.
  65176. *
  65177. * 3. Options for one single series are given in the series instance array. (see
  65178. * online documentation for example)
  65179. */
  65180. export interface PlotNatrOptions {
  65181. /**
  65182. * (Highstock) Accessibility options for a series.
  65183. */
  65184. accessibility?: SeriesAccessibilityOptionsObject;
  65185. /**
  65186. * (Highstock) Allow this series' points to be selected by clicking on the
  65187. * graphic (columns, point markers, pie slices, map areas etc).
  65188. *
  65189. * The selected points can be handled by point select and unselect events,
  65190. * or collectively by the getSelectedPoints function.
  65191. *
  65192. * And alternative way of selecting points is through dragging.
  65193. */
  65194. allowPointSelect?: boolean;
  65195. /**
  65196. * (Highstock) Enable or disable the initial animation when a series is
  65197. * displayed. The animation can also be set as a configuration object.
  65198. * Please note that this option only applies to the initial animation of the
  65199. * series itself. For other animations, see chart.animation and the
  65200. * animation parameter under the API methods. The following properties are
  65201. * supported:
  65202. *
  65203. * - `defer`: The animation delay time in milliseconds.
  65204. *
  65205. * - `duration`: The duration of the animation in milliseconds.
  65206. *
  65207. * - `easing`: Can be a string reference to an easing function set on the
  65208. * `Math` object or a function. See the _Custom easing function_ demo below.
  65209. *
  65210. * Due to poor performance, animation is disabled in old IE browsers for
  65211. * several chart types.
  65212. */
  65213. animation?: (boolean|PlotNatrAnimationOptions|Partial<AnimationOptionsObject>);
  65214. /**
  65215. * (Highstock) For some series, there is a limit that shuts down initial
  65216. * animation by default when the total number of points in the chart is too
  65217. * high. For example, for a column chart and its derivatives, animation does
  65218. * not run if there is more than 250 points totally. To disable this cap,
  65219. * set `animationLimit` to `Infinity`.
  65220. */
  65221. animationLimit?: number;
  65222. /**
  65223. * (Highstock) Sets the color blending in the boost module.
  65224. */
  65225. boostBlending?: OptionsBoostBlendingValue;
  65226. /**
  65227. * (Highstock) Set the point threshold for when a series should enter boost
  65228. * mode.
  65229. *
  65230. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  65231. * there are 2000 or more points in the series.
  65232. *
  65233. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  65234. * it to 1 will force boosting.
  65235. *
  65236. * Note that the cropThreshold also affects this setting. When zooming in on
  65237. * a series that has fewer points than the `cropThreshold`, all points are
  65238. * rendered although outside the visible plot area, and the `boostThreshold`
  65239. * won't take effect.
  65240. */
  65241. boostThreshold?: number;
  65242. /**
  65243. * (Highmaps) The border color of the map areas.
  65244. *
  65245. * In styled mode, the border stroke is given in the `.highcharts-point`
  65246. * class.
  65247. */
  65248. borderColor?: (ColorString|GradientColorObject|PatternObject);
  65249. /**
  65250. * (Highmaps) The border width of each map area.
  65251. *
  65252. * In styled mode, the border stroke width is given in the
  65253. * `.highcharts-point` class.
  65254. */
  65255. borderWidth?: number;
  65256. /**
  65257. * (Highstock) An additional class name to apply to the series' graphical
  65258. * elements. This option does not replace default class names of the
  65259. * graphical element.
  65260. */
  65261. className?: string;
  65262. /**
  65263. * (Highstock) Disable this option to allow series rendering in the whole
  65264. * plotting area.
  65265. *
  65266. * **Note:** Clipping should be always enabled when chart.zoomType is set
  65267. */
  65268. clip?: boolean;
  65269. /**
  65270. * (Highstock) The main color of the series. In line type series it applies
  65271. * to the line and the point markers unless otherwise specified. In bar type
  65272. * series it applies to the bars unless a color is specified per point. The
  65273. * default value is pulled from the `options.colors` array.
  65274. *
  65275. * In styled mode, the color can be defined by the colorIndex option. Also,
  65276. * the series color can be set with the `.highcharts-series`,
  65277. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  65278. * `.highcharts-series-{n}` class, or individual classes given by the
  65279. * `className` option.
  65280. */
  65281. color?: (ColorString|GradientColorObject|PatternObject);
  65282. /**
  65283. * (Highstock) Styled mode only. A specific color index to use for the
  65284. * series, so its graphic representations are given the class name
  65285. * `highcharts-color-{n}`.
  65286. */
  65287. colorIndex?: number;
  65288. /**
  65289. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  65290. * used to calculate point color if `colorAxis` is used. Requires to set
  65291. * `min` and `max` if some custom point property is used or if approximation
  65292. * for data grouping is set to `'sum'`.
  65293. */
  65294. colorKey?: string;
  65295. /**
  65296. * (Highstock) Compare the values of the series against the first non-null,
  65297. * non- zero value in the visible range. The y axis will show percentage or
  65298. * absolute change depending on whether `compare` is set to `"percent"` or
  65299. * `"value"`. When this is applied to multiple series, it allows comparing
  65300. * the development of the series against each other. Adds a `change` field
  65301. * to every point object.
  65302. */
  65303. compare?: string;
  65304. /**
  65305. * (Highstock) When compare is `percent`, this option dictates whether to
  65306. * use 0 or 100 as the base of comparison.
  65307. */
  65308. compareBase?: (0|100);
  65309. /**
  65310. * (Highstock) Defines if comparison should start from the first point
  65311. * within the visible range or should start from the first point **before**
  65312. * the range.
  65313. *
  65314. * In other words, this flag determines if first point within the visible
  65315. * range will have 0% (`compareStart=true`) or should have been already
  65316. * calculated according to the previous point (`compareStart=false`).
  65317. */
  65318. compareStart?: boolean;
  65319. /**
  65320. * (Highstock) Whether to compare indicator to the main series values or
  65321. * indicator values.
  65322. */
  65323. compareToMain?: boolean;
  65324. /**
  65325. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  65326. * series plot across the extremes.
  65327. */
  65328. connectEnds?: boolean;
  65329. /**
  65330. * (Highcharts, Highstock) Whether to connect a graph line across null
  65331. * points, or render a gap between the two points on either side of the
  65332. * null.
  65333. */
  65334. connectNulls?: boolean;
  65335. /**
  65336. * (Gantt) Override Pathfinder connector options for a series. Requires
  65337. * Highcharts Gantt to be loaded.
  65338. */
  65339. connectors?: SeriesConnectorsOptionsObject;
  65340. /**
  65341. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  65342. * rounded to its nearest pixel in order to render sharp on screen. In some
  65343. * cases, when there are a lot of densely packed columns, this leads to
  65344. * visible difference in column widths or distance between columns. In these
  65345. * cases, setting `crisp` to `false` may look better, even though each
  65346. * column is rendered blurry.
  65347. */
  65348. crisp?: boolean;
  65349. /**
  65350. * (Highcharts, Highstock) When the series contains less points than the
  65351. * crop threshold, all points are drawn, even if the points fall outside the
  65352. * visible plot area at the current zoom. The advantage of drawing all
  65353. * points (including markers and columns), is that animation is performed on
  65354. * updates. On the other hand, when the series contains more points than the
  65355. * crop threshold, the series data is cropped to only contain points that
  65356. * fall within the plot area. The advantage of cropping away invisible
  65357. * points is to increase performance on large series.
  65358. */
  65359. cropThreshold?: number;
  65360. /**
  65361. * (Highstock) You can set the cursor to "pointer" if you have click events
  65362. * attached to the series, to signal to the user that the points and lines
  65363. * can be clicked.
  65364. *
  65365. * In styled mode, the series cursor can be set with the same classes as
  65366. * listed under series.color.
  65367. */
  65368. cursor?: (string|CursorValue);
  65369. /**
  65370. * (Highstock) A reserved subspace to store options and values for
  65371. * customized functionality. Here you can add additional data for your own
  65372. * event callbacks and formatter callbacks.
  65373. */
  65374. custom?: Dictionary<any>;
  65375. /**
  65376. * (Highstock) Name of the dash style to use for the graph, or for some
  65377. * series types the outline of each shape.
  65378. *
  65379. * In styled mode, the stroke dash-array can be set with the same classes as
  65380. * listed under series.color.
  65381. */
  65382. dashStyle?: DashStyleValue;
  65383. /**
  65384. * (Highstock) Data grouping is the concept of sampling the data values into
  65385. * larger blocks in order to ease readability and increase performance of
  65386. * the JavaScript charts. Highcharts Stock by default applies data grouping
  65387. * when the points become closer than a certain pixel value, determined by
  65388. * the `groupPixelWidth` option.
  65389. *
  65390. * If data grouping is applied, the grouping information of grouped points
  65391. * can be read from the Point.dataGroup. If point options other than the
  65392. * data itself are set, for example `name` or `color` or custom properties,
  65393. * the grouping logic doesn't know how to group it. In this case the options
  65394. * of the first point instance are copied over to the group point. This can
  65395. * be altered through a custom `approximation` callback function.
  65396. */
  65397. dataGrouping?: DataGroupingOptionsObject;
  65398. /**
  65399. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  65400. * labels, appearing next to each data point.
  65401. *
  65402. * Since v6.2.0, multiple data labels can be applied to each single point by
  65403. * defining them as an array of configs.
  65404. *
  65405. * In styled mode, the data labels can be styled with the
  65406. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  65407. * (see example).
  65408. */
  65409. dataLabels?: (PlotNatrDataLabelsOptions|Array<PlotNatrDataLabelsOptions>);
  65410. /**
  65411. * (Highcharts, Highstock) Options for the series data sorting.
  65412. */
  65413. dataSorting?: (DataSortingOptionsObject|PlotNatrDataSortingOptions);
  65414. /**
  65415. * (Highstock) A description of the series to add to the screen reader
  65416. * information about the series.
  65417. */
  65418. description?: string;
  65419. /**
  65420. * (Highstock) Enable or disable the mouse tracking for a specific series.
  65421. * This includes point tooltips and click events on graphs and points. For
  65422. * large datasets it improves performance.
  65423. */
  65424. enableMouseTracking?: boolean;
  65425. /**
  65426. * (Highstock) General event handlers for the series items. These event
  65427. * hooks can also be attached to the series at run time using the
  65428. * `Highcharts.addEvent` function.
  65429. */
  65430. events?: SeriesEventsOptionsObject;
  65431. /**
  65432. * (Highstock) Determines whether the series should look for the nearest
  65433. * point in both dimensions or just the x-dimension when hovering the
  65434. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  65435. * series. If the data has duplicate x-values, it is recommended to set this
  65436. * to `'xy'` to allow hovering over all points.
  65437. *
  65438. * Applies only to series types using nearest neighbor search (not direct
  65439. * hover) for tooltip.
  65440. */
  65441. findNearestPointBy?: OptionsFindNearestPointByValue;
  65442. /**
  65443. * (Highstock) Defines when to display a gap in the graph, together with the
  65444. * gapUnit option.
  65445. *
  65446. * In case when `dataGrouping` is enabled, points can be grouped into a
  65447. * larger time span. This can make the grouped points to have a greater
  65448. * distance than the absolute value of `gapSize` property, which will result
  65449. * in disappearing graph completely. To prevent this situation the mentioned
  65450. * distance between grouped points is used instead of previously defined
  65451. * `gapSize`.
  65452. *
  65453. * In practice, this option is most often used to visualize gaps in time
  65454. * series. In a stock chart, intraday data is available for daytime hours,
  65455. * while gaps will appear in nights and weekends.
  65456. */
  65457. gapSize?: number;
  65458. /**
  65459. * (Highstock) Together with gapSize, this option defines where to draw gaps
  65460. * in the graph.
  65461. *
  65462. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  65463. * if the distance between two points is greater than 5 times that of the
  65464. * two closest points, the graph will be broken.
  65465. *
  65466. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  65467. * values, which on a datetime axis is milliseconds. This also applies to
  65468. * the navigator series that inherits gap options from the base series.
  65469. */
  65470. gapUnit?: OptionsGapUnitValue;
  65471. /**
  65472. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  65473. * chart width or only the zoomed area when zooming in on parts of the X
  65474. * axis. By default, the Y axis adjusts to the min and max of the visible
  65475. * data. Cartesian series only.
  65476. */
  65477. getExtremesFromAll?: boolean;
  65478. /**
  65479. * (Highstock) When set to `false` will prevent the series data from being
  65480. * included in any form of data export.
  65481. *
  65482. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  65483. * `includeInCSVExport`.
  65484. */
  65485. includeInDataExport?: boolean;
  65486. /**
  65487. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  65488. * series as possible in a natural way, seeking to avoid other series. The
  65489. * goal of this feature is to make the chart more easily readable, like if a
  65490. * human designer placed the labels in the optimal position.
  65491. *
  65492. * The series labels currently work with series types having a `graph` or an
  65493. * `area`.
  65494. */
  65495. label?: SeriesLabelOptionsObject;
  65496. /**
  65497. * (Highstock) The line marks the last price from all points.
  65498. */
  65499. lastPrice?: SeriesLastPriceOptionsObject;
  65500. /**
  65501. * (Highstock) The line marks the last price from visible range of points.
  65502. */
  65503. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  65504. /**
  65505. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  65506. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  65507. * the ends and bends.
  65508. */
  65509. linecap?: SeriesLinecapValue;
  65510. /**
  65511. * (Highcharts, Highstock) Pixel width of the graph line.
  65512. */
  65513. lineWidth?: number;
  65514. /**
  65515. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  65516. * based on. Required for this indicator.
  65517. */
  65518. linkedTo?: string;
  65519. /**
  65520. * (Highstock) Options for the point markers of line-like series. Properties
  65521. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  65522. * appearance of the markers. Other series types, like column series, don't
  65523. * have markers, but have visual options on the series level instead.
  65524. *
  65525. * In styled mode, the markers can be styled with the `.highcharts-point`,
  65526. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  65527. */
  65528. marker?: PointMarkerOptionsObject;
  65529. /**
  65530. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  65531. * If not set, it will be based on a technical indicator type and default
  65532. * params.
  65533. */
  65534. name?: string;
  65535. /**
  65536. * (Highstock) The color for the parts of the graph or points that are below
  65537. * the threshold. Note that `zones` takes precedence over the negative
  65538. * color. Using `negativeColor` is equivalent to applying a zone with value
  65539. * of 0.
  65540. */
  65541. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  65542. /**
  65543. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  65544. * dataLabels.
  65545. */
  65546. opacity?: number;
  65547. /**
  65548. * (Highstock) Paramters used in calculation of regression series' points.
  65549. */
  65550. params?: PlotNatrParamsOptions;
  65551. /**
  65552. * (Highstock) Properties for each single point.
  65553. */
  65554. point?: PlotSeriesPointOptions;
  65555. /**
  65556. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  65557. * individual series. Overrides the chart wide configuration.
  65558. */
  65559. pointDescriptionFormatter?: Function;
  65560. /**
  65561. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  65562. * true, the checkbox next to the series name in the legend will be checked
  65563. * for a selected series.
  65564. */
  65565. selected?: boolean;
  65566. /**
  65567. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  65568. * the shadow can be an object configuration containing `color`, `offsetX`,
  65569. * `offsetY`, `opacity` and `width`.
  65570. */
  65571. shadow?: (boolean|ShadowOptionsObject);
  65572. /**
  65573. * (Highstock) If true, a checkbox is displayed next to the legend item to
  65574. * allow selecting the series. The state of the checkbox is determined by
  65575. * the `selected` option.
  65576. */
  65577. showCheckbox?: boolean;
  65578. /**
  65579. * (Highstock) Whether to display this particular series or series type in
  65580. * the legend. Standalone series are shown in legend by default, and linked
  65581. * series are not. Since v7.2.0 it is possible to show series that use
  65582. * colorAxis by setting this option to `true`.
  65583. */
  65584. showInLegend?: boolean;
  65585. /**
  65586. * (Highstock) If set to `true`, the accessibility module will skip past the
  65587. * points in this series for keyboard navigation.
  65588. */
  65589. skipKeyboardNavigation?: boolean;
  65590. /**
  65591. * (Highcharts, Highstock) When this is true, the series will not cause the
  65592. * Y axis to cross the zero plane (or threshold option) unless the data
  65593. * actually crosses the plane.
  65594. *
  65595. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  65596. * make the Y axis show negative values according to the `minPadding`
  65597. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  65598. */
  65599. softThreshold?: boolean;
  65600. states?: SeriesStatesOptionsObject;
  65601. /**
  65602. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  65603. * values are `left`, `center` and `right`.
  65604. */
  65605. step?: OptionsStepValue;
  65606. /**
  65607. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  65608. * event on a series isn't triggered until the mouse moves over another
  65609. * series, or out of the plot area. When false, the `mouseOut` event on a
  65610. * series is triggered when the mouse leaves the area around the series'
  65611. * graph or markers. This also implies the tooltip when not shared. When
  65612. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  65613. * be hidden when moving the mouse between series. Defaults to true for line
  65614. * and area type series, but to false for columns, pies etc.
  65615. *
  65616. * **Note:** The boost module will force this option because of technical
  65617. * limitations.
  65618. */
  65619. stickyTracking?: boolean;
  65620. /**
  65621. * (Highcharts, Highstock) The threshold, also called zero level or base
  65622. * level. For line type series this is only used in conjunction with
  65623. * negativeColor.
  65624. */
  65625. threshold?: (number|null);
  65626. /**
  65627. * (Highstock) A configuration object for the tooltip rendering of each
  65628. * single series. Properties are inherited from tooltip, but only the
  65629. * following properties can be defined on a series level.
  65630. */
  65631. tooltip?: SeriesTooltipOptionsObject;
  65632. /**
  65633. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  65634. * is longer than this, only one dimensional arrays of numbers, or two
  65635. * dimensional arrays with x and y values are allowed. Also, only the first
  65636. * point is tested, and the rest are assumed to be the same format. This
  65637. * saves expensive data checking and indexing in long series. Set it to `0`
  65638. * disable.
  65639. *
  65640. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  65641. * two dimensional arrays are allowed.
  65642. */
  65643. turboThreshold?: number;
  65644. /**
  65645. * (Highstock) Set the initial visibility of the series.
  65646. */
  65647. visible?: boolean;
  65648. /**
  65649. * (Highmaps) Define the z index of the series.
  65650. */
  65651. zIndex?: number;
  65652. /**
  65653. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  65654. */
  65655. zoneAxis?: string;
  65656. /**
  65657. * (Highcharts, Highstock) An array defining zones within a series. Zones
  65658. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  65659. * the `zoneAxis` option. The zone definitions have to be in ascending order
  65660. * regarding to the value.
  65661. *
  65662. * In styled mode, the color zones are styled with the
  65663. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  65664. * option (view live demo).
  65665. */
  65666. zones?: Array<SeriesZonesOptionsObject>;
  65667. }
  65668. /**
  65669. * (Highstock) Paramters used in calculation of regression series' points.
  65670. */
  65671. export interface PlotNatrParamsOptions {
  65672. index?: string;
  65673. /**
  65674. * (Highstock) The base period for indicator calculations. This is the
  65675. * number of data points which are taken into account for the indicator
  65676. * calculations.
  65677. */
  65678. period?: number;
  65679. }
  65680. /**
  65681. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  65682. * animation when a series is displayed for the `dataLabels`. The animation can
  65683. * also be set as a configuration object. Please note that this option only
  65684. * applies to the initial animation. For other animations, see chart.animation
  65685. * and the animation parameter under the API methods. The following properties
  65686. * are supported:
  65687. *
  65688. * - `defer`: The animation delay time in milliseconds.
  65689. */
  65690. export interface PlotNetworkgraphDataLabelsAnimationOptions {
  65691. /**
  65692. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  65693. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  65694. * inherits defer time from the series.animation.defer.
  65695. */
  65696. defer?: number;
  65697. }
  65698. /**
  65699. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The default
  65700. * `color` setting is `"contrast"`, which is a pseudo color that Highcharts
  65701. * picks up and applies the maximum contrast to the underlying point item, for
  65702. * example the bar in a bar chart.
  65703. *
  65704. * The `textOutline` is a pseudo property that applies an outline of the given
  65705. * width with the given color, which by default is the maximum contrast to the
  65706. * text. So a bright text color will result in a black text outline for maximum
  65707. * readability on a mixed background. In some cases, especially with grayscale
  65708. * text, the text outline doesn't work well, in which cases it can be disabled
  65709. * by setting it to `"none"`. When `useHTML` is true, the `textOutline` will not
  65710. * be picked up. In this, case, the same effect can be acheived through the
  65711. * `text-shadow` CSS property.
  65712. *
  65713. * For some series types, where each point has an extent, like for example tree
  65714. * maps, the data label may overflow the point. There are two strategies for
  65715. * handling overflow. By default, the text will wrap to multiple lines. The
  65716. * other strategy is to set `style.textOverflow` to `ellipsis`, which will keep
  65717. * the text on one line plus it will break inside long words.
  65718. */
  65719. export interface PlotNetworkgraphDataLabelsStyleOptions {
  65720. transition?: string;
  65721. }
  65722. export interface PlotNetworkgraphLayoutAlgorithmOptions {
  65723. /**
  65724. * (Highcharts) Approximation used to calculate repulsive forces affecting
  65725. * nodes. By default, when calculateing net force, nodes are compared
  65726. * against each other, which gives O(N^2) complexity. Using Barnes-Hut
  65727. * approximation, we decrease this to O(N log N), but the resulting graph
  65728. * will have different layout. Barnes-Hut approximation divides space into
  65729. * rectangles via quad tree, where forces exerted on nodes are calculated
  65730. * directly for nearby cells, and for all others, cells are treated as a
  65731. * separate node with center of mass.
  65732. */
  65733. approximation?: OptionsApproximationValue;
  65734. /**
  65735. * (Highcharts) Attraction force applied on a node which is conected to
  65736. * another node by a link. Passed are two arguments:
  65737. *
  65738. * - `d` - which is current distance between two nodes
  65739. *
  65740. * - `k` - which is desired distance between two nodes
  65741. *
  65742. * In `verlet` integration, defaults to: `function (d, k) { return (k - d) /
  65743. * d; }`
  65744. */
  65745. attractiveForce?: Function;
  65746. /**
  65747. * (Highcharts) Experimental. Enables live simulation of the algorithm
  65748. * implementation. All nodes are animated as the forces applies on them.
  65749. */
  65750. enableSimulation?: boolean;
  65751. /**
  65752. * (Highcharts) Friction applied on forces to prevent nodes rushing to fast
  65753. * to the desired positions.
  65754. */
  65755. friction?: number;
  65756. /**
  65757. * (Highcharts) Gravitational const used in the barycenter force of the
  65758. * algorithm.
  65759. */
  65760. gravitationalConstant?: number;
  65761. /**
  65762. * (Highcharts) When `initialPositions` are set to 'circle',
  65763. * `initialPositionRadius` is a distance from the center of circle, in which
  65764. * nodes are created.
  65765. */
  65766. initialPositionRadius?: number;
  65767. /**
  65768. * (Highcharts) Initial layout algorithm for positioning nodes. Can be one
  65769. * of built-in options ("circle", "random") or a function where positions
  65770. * should be set on each node (`this.nodes`) as `node.plotX` and
  65771. * `node.plotY`
  65772. */
  65773. initialPositions?: ("circle"|"random"|Function);
  65774. /**
  65775. * (Highcharts) Integration type. Available options are `'euler'` and
  65776. * `'verlet'`. Integration determines how forces are applied on particles.
  65777. * In Euler integration, force is applied direct as `newPosition +=
  65778. * velocity;`. In Verlet integration, new position is based on a previous
  65779. * posittion without velocity: `newPosition += previousPosition -
  65780. * newPosition`.
  65781. *
  65782. * Note that different integrations give different results as forces are
  65783. * different.
  65784. *
  65785. * In Highcharts v7.0.x only `'euler'` integration was supported.
  65786. */
  65787. integration?: OptionsIntegrationValue;
  65788. /**
  65789. * (Highcharts) Ideal length (px) of the link between two nodes. When not
  65790. * defined, length is calculated as: `Math.pow(availableWidth *
  65791. * availableHeight / nodesLength, 0.4);`
  65792. *
  65793. * Note: Because of the algorithm specification, length of each link might
  65794. * be not exactly as specified.
  65795. */
  65796. linkLength?: number;
  65797. /**
  65798. * (Highcharts) Max number of iterations before algorithm will stop. In
  65799. * general, algorithm should find positions sooner, but when rendering huge
  65800. * number of nodes, it is recommended to increase this value as finding
  65801. * perfect graph positions can require more time.
  65802. */
  65803. maxIterations?: number;
  65804. /**
  65805. * (Highcharts) Verlet integration only. Max speed that node can get in one
  65806. * iteration. In terms of simulation, it's a maximum translation (in pixels)
  65807. * that node can move (in both, x and y, dimensions). While `friction` is
  65808. * applied on all nodes, max speed is applied only for nodes that move very
  65809. * fast, for example small or disconnected ones.
  65810. */
  65811. maxSpeed?: number;
  65812. /**
  65813. * (Highcharts) Repulsive force applied on a node. Passed are two arguments:
  65814. *
  65815. * - `d` - which is current distance between two nodes
  65816. *
  65817. * - `k` - which is desired distance between two nodes
  65818. *
  65819. * In `verlet` integration, defaults to: `function (d, k) { return (k - d) /
  65820. * d * (k > d ? 1 : 0) }`
  65821. */
  65822. repulsiveForce?: Function;
  65823. /**
  65824. * (Highcharts) Barnes-Hut approximation only. Deteremines when distance
  65825. * between cell and node is small enough to caculate forces. Value of
  65826. * `theta` is compared directly with quotient `s / d`, where `s` is the size
  65827. * of the cell, and `d` is distance between center of cell's mass and
  65828. * currently compared node.
  65829. */
  65830. theta?: number;
  65831. /**
  65832. * (Highcharts) Type of the algorithm used when positioning nodes.
  65833. */
  65834. type?: "reingold-fruchterman";
  65835. }
  65836. /**
  65837. * (Highcharts) Link style options
  65838. */
  65839. export interface PlotNetworkgraphLinkOptions {
  65840. /**
  65841. * (Highcharts) Color of the link between two nodes.
  65842. */
  65843. color?: string;
  65844. /**
  65845. * (Highcharts) A name for the dash style to use for links.
  65846. */
  65847. dashStyle?: string;
  65848. /**
  65849. * (Highcharts) Width (px) of the link between two nodes.
  65850. */
  65851. width?: number;
  65852. }
  65853. /**
  65854. * (Highcharts) A networkgraph is a type of relationship chart, where
  65855. * connnections (links) attracts nodes (points) and other nodes repulse each
  65856. * other.
  65857. *
  65858. * In TypeScript the type option must always be set.
  65859. *
  65860. * Configuration options for the series are given in three levels:
  65861. *
  65862. * 1. Options for all series in a chart are defined in the plotOptions.series
  65863. * object.
  65864. *
  65865. * 2. Options for all `networkgraph` series are defined in
  65866. * plotOptions.networkgraph.
  65867. *
  65868. * 3. Options for one single series are given in the series instance array. (see
  65869. * online documentation for example)
  65870. */
  65871. export interface PlotNetworkgraphOptions {
  65872. /**
  65873. * (Highcharts) Accessibility options for a series.
  65874. */
  65875. accessibility?: SeriesAccessibilityOptionsObject;
  65876. /**
  65877. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  65878. * rendered. If `true`, areas which don't correspond to a data point, are
  65879. * rendered as `null` points. If `false`, those areas are skipped.
  65880. */
  65881. allAreas?: boolean;
  65882. /**
  65883. * (Highcharts) Allow this series' points to be selected by clicking on the
  65884. * graphic (columns, point markers, pie slices, map areas etc).
  65885. *
  65886. * The selected points can be handled by point select and unselect events,
  65887. * or collectively by the getSelectedPoints function.
  65888. *
  65889. * And alternative way of selecting points is through dragging.
  65890. */
  65891. allowPointSelect?: boolean;
  65892. /**
  65893. * (Highmaps) The border color of the map areas.
  65894. *
  65895. * In styled mode, the border stroke is given in the `.highcharts-point`
  65896. * class.
  65897. */
  65898. borderColor?: (ColorString|GradientColorObject|PatternObject);
  65899. /**
  65900. * (Highmaps) The border width of each map area.
  65901. *
  65902. * In styled mode, the border stroke width is given in the
  65903. * `.highcharts-point` class.
  65904. */
  65905. borderWidth?: number;
  65906. /**
  65907. * (Highcharts) An additional class name to apply to the series' graphical
  65908. * elements. This option does not replace default class names of the
  65909. * graphical element.
  65910. */
  65911. className?: string;
  65912. /**
  65913. * (Highcharts) Disable this option to allow series rendering in the whole
  65914. * plotting area.
  65915. *
  65916. * **Note:** Clipping should be always enabled when chart.zoomType is set
  65917. */
  65918. clip?: boolean;
  65919. /**
  65920. * (Highcharts) The main color of the series. In line type series it applies
  65921. * to the line and the point markers unless otherwise specified. In bar type
  65922. * series it applies to the bars unless a color is specified per point. The
  65923. * default value is pulled from the `options.colors` array.
  65924. *
  65925. * In styled mode, the color can be defined by the colorIndex option. Also,
  65926. * the series color can be set with the `.highcharts-series`,
  65927. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  65928. * `.highcharts-series-{n}` class, or individual classes given by the
  65929. * `className` option.
  65930. */
  65931. color?: (ColorString|GradientColorObject|PatternObject);
  65932. /**
  65933. * (Highcharts) Styled mode only. A specific color index to use for the
  65934. * series, so its graphic representations are given the class name
  65935. * `highcharts-color-{n}`.
  65936. */
  65937. colorIndex?: number;
  65938. /**
  65939. * (Highstock) Compare the values of the series against the first non-null,
  65940. * non- zero value in the visible range. The y axis will show percentage or
  65941. * absolute change depending on whether `compare` is set to `"percent"` or
  65942. * `"value"`. When this is applied to multiple series, it allows comparing
  65943. * the development of the series against each other. Adds a `change` field
  65944. * to every point object.
  65945. */
  65946. compare?: string;
  65947. /**
  65948. * (Highstock) When compare is `percent`, this option dictates whether to
  65949. * use 0 or 100 as the base of comparison.
  65950. */
  65951. compareBase?: (0|100);
  65952. /**
  65953. * (Highstock) Defines if comparison should start from the first point
  65954. * within the visible range or should start from the first point **before**
  65955. * the range.
  65956. *
  65957. * In other words, this flag determines if first point within the visible
  65958. * range will have 0% (`compareStart=true`) or should have been already
  65959. * calculated according to the previous point (`compareStart=false`).
  65960. */
  65961. compareStart?: boolean;
  65962. /**
  65963. * (Gantt) Override Pathfinder connector options for a series. Requires
  65964. * Highcharts Gantt to be loaded.
  65965. */
  65966. connectors?: SeriesConnectorsOptionsObject;
  65967. /**
  65968. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  65969. * rounded to its nearest pixel in order to render sharp on screen. In some
  65970. * cases, when there are a lot of densely packed columns, this leads to
  65971. * visible difference in column widths or distance between columns. In these
  65972. * cases, setting `crisp` to `false` may look better, even though each
  65973. * column is rendered blurry.
  65974. */
  65975. crisp?: boolean;
  65976. /**
  65977. * (Highcharts) You can set the cursor to "pointer" if you have click events
  65978. * attached to the series, to signal to the user that the points and lines
  65979. * can be clicked.
  65980. *
  65981. * In styled mode, the series cursor can be set with the same classes as
  65982. * listed under series.color.
  65983. */
  65984. cursor?: (string|CursorValue);
  65985. /**
  65986. * (Highcharts) A reserved subspace to store options and values for
  65987. * customized functionality. Here you can add additional data for your own
  65988. * event callbacks and formatter callbacks.
  65989. */
  65990. custom?: Dictionary<any>;
  65991. /**
  65992. * (Highcharts) Name of the dash style to use for the graph, or for some
  65993. * series types the outline of each shape.
  65994. *
  65995. * In styled mode, the stroke dash-array can be set with the same classes as
  65996. * listed under series.color.
  65997. */
  65998. dashStyle?: DashStyleValue;
  65999. /**
  66000. * (Highstock) Data grouping is the concept of sampling the data values into
  66001. * larger blocks in order to ease readability and increase performance of
  66002. * the JavaScript charts. Highcharts Stock by default applies data grouping
  66003. * when the points become closer than a certain pixel value, determined by
  66004. * the `groupPixelWidth` option.
  66005. *
  66006. * If data grouping is applied, the grouping information of grouped points
  66007. * can be read from the Point.dataGroup. If point options other than the
  66008. * data itself are set, for example `name` or `color` or custom properties,
  66009. * the grouping logic doesn't know how to group it. In this case the options
  66010. * of the first point instance are copied over to the group point. This can
  66011. * be altered through a custom `approximation` callback function.
  66012. */
  66013. dataGrouping?: DataGroupingOptionsObject;
  66014. /**
  66015. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  66016. * labels, appearing next to each data point.
  66017. *
  66018. * Since v6.2.0, multiple data labels can be applied to each single point by
  66019. * defining them as an array of configs.
  66020. *
  66021. * In styled mode, the data labels can be styled with the
  66022. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  66023. * (see example).
  66024. */
  66025. dataLabels?: (SeriesNetworkgraphDataLabelsOptionsObject|Array<SeriesNetworkgraphDataLabelsOptionsObject>);
  66026. /**
  66027. * (Highcharts) A description of the series to add to the screen reader
  66028. * information about the series.
  66029. */
  66030. description?: string;
  66031. /**
  66032. * (Highcharts) Flag to determine if nodes are draggable or not.
  66033. */
  66034. draggable?: boolean;
  66035. /**
  66036. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  66037. * This includes point tooltips and click events on graphs and points. For
  66038. * large datasets it improves performance.
  66039. */
  66040. enableMouseTracking?: boolean;
  66041. /**
  66042. * (Highcharts) General event handlers for the series items. These event
  66043. * hooks can also be attached to the series at run time using the
  66044. * `Highcharts.addEvent` function.
  66045. */
  66046. events?: SeriesEventsOptionsObject;
  66047. /**
  66048. * (Highcharts) Determines whether the series should look for the nearest
  66049. * point in both dimensions or just the x-dimension when hovering the
  66050. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  66051. * series. If the data has duplicate x-values, it is recommended to set this
  66052. * to `'xy'` to allow hovering over all points.
  66053. *
  66054. * Applies only to series types using nearest neighbor search (not direct
  66055. * hover) for tooltip.
  66056. */
  66057. findNearestPointBy?: OptionsFindNearestPointByValue;
  66058. /**
  66059. * (Highstock) Defines when to display a gap in the graph, together with the
  66060. * gapUnit option.
  66061. *
  66062. * In case when `dataGrouping` is enabled, points can be grouped into a
  66063. * larger time span. This can make the grouped points to have a greater
  66064. * distance than the absolute value of `gapSize` property, which will result
  66065. * in disappearing graph completely. To prevent this situation the mentioned
  66066. * distance between grouped points is used instead of previously defined
  66067. * `gapSize`.
  66068. *
  66069. * In practice, this option is most often used to visualize gaps in time
  66070. * series. In a stock chart, intraday data is available for daytime hours,
  66071. * while gaps will appear in nights and weekends.
  66072. */
  66073. gapSize?: number;
  66074. /**
  66075. * (Highstock) Together with gapSize, this option defines where to draw gaps
  66076. * in the graph.
  66077. *
  66078. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  66079. * if the distance between two points is greater than 5 times that of the
  66080. * two closest points, the graph will be broken.
  66081. *
  66082. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  66083. * values, which on a datetime axis is milliseconds. This also applies to
  66084. * the navigator series that inherits gap options from the base series.
  66085. */
  66086. gapUnit?: OptionsGapUnitValue;
  66087. /**
  66088. * (Highcharts) When set to `false` will prevent the series data from being
  66089. * included in any form of data export.
  66090. *
  66091. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  66092. * `includeInCSVExport`.
  66093. */
  66094. includeInDataExport?: boolean;
  66095. /**
  66096. * (Highmaps) What property to join the `mapData` to the value data. For
  66097. * example, if joinBy is "code", the mapData items with a specific code is
  66098. * merged into the data with the same code. For maps loaded from GeoJSON,
  66099. * the keys may be held in each point's `properties` object.
  66100. *
  66101. * The joinBy option can also be an array of two values, where the first
  66102. * points to a key in the `mapData`, and the second points to another key in
  66103. * the `data`.
  66104. *
  66105. * When joinBy is `null`, the map items are joined by their position in the
  66106. * array, which performs much better in maps with many data points. This is
  66107. * the recommended option if you are printing more than a thousand data
  66108. * points and have a backend that can preprocess the data into a parallel
  66109. * array of the mapData.
  66110. */
  66111. joinBy?: (string|Array<string>);
  66112. /**
  66113. * (Highcharts) An array specifying which option maps to which key in the
  66114. * data point array. This makes it convenient to work with unstructured data
  66115. * arrays from different sources.
  66116. */
  66117. keys?: Array<string>;
  66118. /**
  66119. * (Highstock) The line marks the last price from all points.
  66120. */
  66121. lastPrice?: SeriesLastPriceOptionsObject;
  66122. /**
  66123. * (Highstock) The line marks the last price from visible range of points.
  66124. */
  66125. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  66126. layoutAlgorithm?: PlotNetworkgraphLayoutAlgorithmOptions;
  66127. /**
  66128. * (Highcharts, Highstock) Pixel width of the graph line.
  66129. */
  66130. lineWidth?: number;
  66131. /**
  66132. * (Highcharts) Link style options
  66133. */
  66134. link?: PlotNetworkgraphLinkOptions;
  66135. /**
  66136. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  66137. * Additionally, the value can be ":previous" to link to the previous
  66138. * series. When two series are linked, only the first one appears in the
  66139. * legend. Toggling the visibility of this also toggles the linked series.
  66140. *
  66141. * If master series uses data sorting and linked series does not have its
  66142. * own sorting definition, the linked series will be sorted in the same
  66143. * order as the master one.
  66144. */
  66145. linkedTo?: string;
  66146. /**
  66147. * (Highcharts) Options for the point markers of line-like series.
  66148. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  66149. * visual appearance of the markers. Other series types, like column series,
  66150. * don't have markers, but have visual options on the series level instead.
  66151. *
  66152. * In styled mode, the markers can be styled with the `.highcharts-point`,
  66153. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  66154. */
  66155. marker?: PointMarkerOptionsObject;
  66156. /**
  66157. * (Highstock) Options for the corresponding navigator series if
  66158. * `showInNavigator` is `true` for this series. Available options are the
  66159. * same as any series, documented at plotOptions and series.
  66160. *
  66161. * These options are merged with options in navigator.series, and will take
  66162. * precedence if the same option is defined both places.
  66163. */
  66164. navigatorOptions?: PlotSeriesOptions;
  66165. /**
  66166. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  66167. * dataLabels.
  66168. */
  66169. opacity?: number;
  66170. /**
  66171. * (Highcharts) Properties for each single point.
  66172. */
  66173. point?: PlotSeriesPointOptions;
  66174. /**
  66175. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  66176. * individual series. Overrides the chart wide configuration.
  66177. */
  66178. pointDescriptionFormatter?: Function;
  66179. /**
  66180. * (Highstock) The width of each point on the x axis. For example in a
  66181. * column chart with one value each day, the pointRange would be 1 day (= 24
  66182. * * 3600
  66183. *
  66184. * * 1000 milliseconds). This is normally computed automatically, but this
  66185. * option can be used to override the automatic value.
  66186. */
  66187. pointRange?: number;
  66188. /**
  66189. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  66190. * true, the checkbox next to the series name in the legend will be checked
  66191. * for a selected series.
  66192. */
  66193. selected?: boolean;
  66194. /**
  66195. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  66196. * the shadow can be an object configuration containing `color`, `offsetX`,
  66197. * `offsetY`, `opacity` and `width`.
  66198. */
  66199. shadow?: (boolean|ShadowOptionsObject);
  66200. /**
  66201. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  66202. * allow selecting the series. The state of the checkbox is determined by
  66203. * the `selected` option.
  66204. */
  66205. showCheckbox?: boolean;
  66206. /**
  66207. * (Highcharts) Whether to display this particular series or series type in
  66208. * the legend. Standalone series are shown in legend by default, and linked
  66209. * series are not. Since v7.2.0 it is possible to show series that use
  66210. * colorAxis by setting this option to `true`.
  66211. */
  66212. showInLegend?: boolean;
  66213. /**
  66214. * (Highstock) Whether or not to show the series in the navigator. Takes
  66215. * precedence over navigator.baseSeries if defined.
  66216. */
  66217. showInNavigator?: boolean;
  66218. /**
  66219. * (Highcharts) If set to `true`, the accessibility module will skip past
  66220. * the points in this series for keyboard navigation.
  66221. */
  66222. skipKeyboardNavigation?: boolean;
  66223. states?: SeriesStatesOptionsObject;
  66224. /**
  66225. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  66226. * event on a series isn't triggered until the mouse moves over another
  66227. * series, or out of the plot area. When false, the `mouseOut` event on a
  66228. * series is triggered when the mouse leaves the area around the series'
  66229. * graph or markers. This also implies the tooltip when not shared. When
  66230. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  66231. * be hidden when moving the mouse between series. Defaults to true for line
  66232. * and area type series, but to false for columns, pies etc.
  66233. *
  66234. * **Note:** The boost module will force this option because of technical
  66235. * limitations.
  66236. */
  66237. stickyTracking?: boolean;
  66238. /**
  66239. * (Highcharts) A configuration object for the tooltip rendering of each
  66240. * single series. Properties are inherited from tooltip, but only the
  66241. * following properties can be defined on a series level.
  66242. */
  66243. tooltip?: SeriesTooltipOptionsObject;
  66244. /**
  66245. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  66246. * is longer than this, only one dimensional arrays of numbers, or two
  66247. * dimensional arrays with x and y values are allowed. Also, only the first
  66248. * point is tested, and the rest are assumed to be the same format. This
  66249. * saves expensive data checking and indexing in long series. Set it to `0`
  66250. * disable.
  66251. *
  66252. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  66253. * two dimensional arrays are allowed.
  66254. */
  66255. turboThreshold?: number;
  66256. /**
  66257. * (Highstock) The parameter allows setting line series type and use OHLC
  66258. * indicators. Data in OHLC format is required.
  66259. */
  66260. useOhlcData?: boolean;
  66261. /**
  66262. * (Highcharts) Set the initial visibility of the series.
  66263. */
  66264. visible?: boolean;
  66265. /**
  66266. * (Highmaps) Define the z index of the series.
  66267. */
  66268. zIndex?: number;
  66269. /**
  66270. * (Highcharts, Highstock) An array defining zones within a series. Zones
  66271. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  66272. * the `zoneAxis` option. The zone definitions have to be in ascending order
  66273. * regarding to the value.
  66274. *
  66275. * In styled mode, the color zones are styled with the
  66276. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  66277. * option (view live demo).
  66278. */
  66279. zones?: Array<SeriesZonesOptionsObject>;
  66280. }
  66281. /**
  66282. * (Highstock) Enable or disable the initial animation when a series is
  66283. * displayed. The animation can also be set as a configuration object. Please
  66284. * note that this option only applies to the initial animation of the series
  66285. * itself. For other animations, see chart.animation and the animation parameter
  66286. * under the API methods. The following properties are supported:
  66287. *
  66288. * - `defer`: The animation delay time in milliseconds.
  66289. *
  66290. * - `duration`: The duration of the animation in milliseconds.
  66291. *
  66292. * - `easing`: Can be a string reference to an easing function set on the `Math`
  66293. * object or a function. See the _Custom easing function_ demo below.
  66294. *
  66295. * Due to poor performance, animation is disabled in old IE browsers for several
  66296. * chart types.
  66297. */
  66298. export interface PlotObvAnimationOptions {
  66299. defer?: number;
  66300. }
  66301. /**
  66302. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  66303. * animation when a series is displayed for the `dataLabels`. The animation can
  66304. * also be set as a configuration object. Please note that this option only
  66305. * applies to the initial animation. For other animations, see chart.animation
  66306. * and the animation parameter under the API methods. The following properties
  66307. * are supported:
  66308. *
  66309. * - `defer`: The animation delay time in milliseconds.
  66310. */
  66311. export interface PlotObvDataLabelsAnimationOptions {
  66312. /**
  66313. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  66314. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  66315. * inherits defer time from the series.animation.defer.
  66316. */
  66317. defer?: number;
  66318. }
  66319. /**
  66320. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  66321. * appearing next to each data point.
  66322. *
  66323. * Since v6.2.0, multiple data labels can be applied to each single point by
  66324. * defining them as an array of configs.
  66325. *
  66326. * In styled mode, the data labels can be styled with the
  66327. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  66328. * example).
  66329. */
  66330. export interface PlotObvDataLabelsOptions {
  66331. /**
  66332. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  66333. * compared to the point. If `right`, the right side of the label should be
  66334. * touching the point. For points with an extent, like columns, the
  66335. * alignments also dictates how to align it inside the box, as given with
  66336. * the inside option. Can be one of `left`, `center` or `right`.
  66337. */
  66338. align?: (AlignValue|null);
  66339. /**
  66340. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  66341. * overlap. To make the labels less sensitive for overlapping, the
  66342. * dataLabels.padding can be set to 0.
  66343. */
  66344. allowOverlap?: boolean;
  66345. /**
  66346. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  66347. * animation when a series is displayed for the `dataLabels`. The animation
  66348. * can also be set as a configuration object. Please note that this option
  66349. * only applies to the initial animation. For other animations, see
  66350. * chart.animation and the animation parameter under the API methods. The
  66351. * following properties are supported:
  66352. *
  66353. * - `defer`: The animation delay time in milliseconds.
  66354. */
  66355. animation?: (boolean|PlotObvDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  66356. /**
  66357. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  66358. * for the data label.
  66359. */
  66360. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  66361. /**
  66362. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  66363. * label. Defaults to `undefined`.
  66364. */
  66365. borderColor?: (ColorString|GradientColorObject|PatternObject);
  66366. /**
  66367. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  66368. * the data label.
  66369. */
  66370. borderRadius?: number;
  66371. /**
  66372. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  66373. * the data label.
  66374. */
  66375. borderWidth?: number;
  66376. /**
  66377. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  66378. * Particularly in styled mode, this can be used to give each series' or
  66379. * point's data label unique styling. In addition to this option, a default
  66380. * color class name is added so that we can give the labels a contrast text
  66381. * shadow.
  66382. */
  66383. className?: string;
  66384. /**
  66385. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  66386. * labels. Defaults to `undefined`. For certain series types, like column or
  66387. * map, the data labels can be drawn inside the points. In this case the
  66388. * data label will be drawn with maximum contrast by default. Additionally,
  66389. * it will be given a `text-outline` style with the opposite color, to
  66390. * further increase the contrast. This can be overridden by setting the
  66391. * `text-outline` style to `none` in the `dataLabels.style` option.
  66392. */
  66393. color?: (ColorString|GradientColorObject|PatternObject);
  66394. /**
  66395. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  66396. * are outside the plot area. By default, the data label is moved inside the
  66397. * plot area according to the overflow option.
  66398. */
  66399. crop?: boolean;
  66400. /**
  66401. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  66402. * labels until the initial series animation has finished. Setting to
  66403. * `false` renders the data label immediately. If set to `true` inherits the
  66404. * defer time set in plotOptions.series.animation. If set to a number, a
  66405. * defer time is specified in milliseconds.
  66406. */
  66407. defer?: (boolean|number);
  66408. /**
  66409. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  66410. * labels.
  66411. */
  66412. enabled?: boolean;
  66413. /**
  66414. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  66415. * of which data labels to display. The declarative filter is designed for
  66416. * use when callback functions are not available, like when the chart
  66417. * options require a pure JSON structure or for use with graphical editors.
  66418. * For programmatic control, use the `formatter` instead, and return
  66419. * `undefined` to disable a single data label.
  66420. */
  66421. filter?: DataLabelsFilterOptionsObject;
  66422. /**
  66423. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  66424. * label. Available variables are the same as for `formatter`.
  66425. */
  66426. format?: string;
  66427. /**
  66428. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  66429. * format the data label. Note that if a `format` is defined, the format
  66430. * takes precedence and the formatter is ignored.
  66431. */
  66432. formatter?: DataLabelsFormatterCallbackFunction;
  66433. /**
  66434. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  66435. * columns or map areas, whether to align the data label inside the box or
  66436. * to the actual value point. Defaults to `false` in most cases, `true` in
  66437. * stacked columns.
  66438. */
  66439. inside?: boolean;
  66440. /**
  66441. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  66442. * of null. Works analogously to format. `nullFormat` can be applied only to
  66443. * series which support displaying null points.
  66444. */
  66445. nullFormat?: (boolean|string);
  66446. /**
  66447. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  66448. * that defines formatting for points with the value of null. Works
  66449. * analogously to formatter. `nullPointFormatter` can be applied only to
  66450. * series which support displaying null points.
  66451. */
  66452. nullFormatter?: DataLabelsFormatterCallbackFunction;
  66453. /**
  66454. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  66455. * flow outside the plot area. The default is `"justify"`, which aligns them
  66456. * inside the plot area. For columns and bars, this means it will be moved
  66457. * inside the bar. To display data labels outside the plot area, set `crop`
  66458. * to `false` and `overflow` to `"allow"`.
  66459. */
  66460. overflow?: DataLabelsOverflowValue;
  66461. /**
  66462. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  66463. * the `backgroundColor` is set, this is the padding within the box.
  66464. */
  66465. padding?: number;
  66466. /**
  66467. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  66468. * points. If `center` alignment is not possible, it defaults to `right`.
  66469. */
  66470. position?: AlignValue;
  66471. /**
  66472. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  66473. * that due to a more complex structure, backgrounds, borders and padding
  66474. * will be lost on a rotated data label.
  66475. */
  66476. rotation?: number;
  66477. /**
  66478. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  66479. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  66480. * an object configuration containing `color`, `offsetX`, `offsetY`,
  66481. * `opacity` and `width`.
  66482. */
  66483. shadow?: (boolean|ShadowOptionsObject);
  66484. /**
  66485. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  66486. * the border around the label. Symbols are predefined functions on the
  66487. * Renderer object.
  66488. */
  66489. shape?: string;
  66490. /**
  66491. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  66492. * default `color` setting is `"contrast"`, which is a pseudo color that
  66493. * Highcharts picks up and applies the maximum contrast to the underlying
  66494. * point item, for example the bar in a bar chart.
  66495. *
  66496. * The `textOutline` is a pseudo property that applies an outline of the
  66497. * given width with the given color, which by default is the maximum
  66498. * contrast to the text. So a bright text color will result in a black text
  66499. * outline for maximum readability on a mixed background. In some cases,
  66500. * especially with grayscale text, the text outline doesn't work well, in
  66501. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  66502. * is true, the `textOutline` will not be picked up. In this, case, the same
  66503. * effect can be acheived through the `text-shadow` CSS property.
  66504. *
  66505. * For some series types, where each point has an extent, like for example
  66506. * tree maps, the data label may overflow the point. There are two
  66507. * strategies for handling overflow. By default, the text will wrap to
  66508. * multiple lines. The other strategy is to set `style.textOverflow` to
  66509. * `ellipsis`, which will keep the text on one line plus it will break
  66510. * inside long words.
  66511. */
  66512. style?: CSSObject;
  66513. /**
  66514. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  66515. * should follow marker's shape. Border and background are disabled for a
  66516. * label that follows a path.
  66517. *
  66518. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  66519. * to true will disable this option.
  66520. */
  66521. textPath?: DataLabelsTextPathOptionsObject;
  66522. /**
  66523. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  66524. * the labels.
  66525. */
  66526. useHTML?: boolean;
  66527. /**
  66528. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  66529. * label. Can be one of `top`, `middle` or `bottom`. The default value
  66530. * depends on the data, for instance in a column chart, the label is above
  66531. * positive values and below negative values.
  66532. */
  66533. verticalAlign?: (VerticalAlignValue|null);
  66534. /**
  66535. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  66536. * label relative to the point in pixels.
  66537. */
  66538. x?: number;
  66539. /**
  66540. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  66541. * label relative to the point in pixels.
  66542. */
  66543. y?: number;
  66544. /**
  66545. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  66546. * The default Z index puts it above the series. Use a Z index of 2 to
  66547. * display it behind the series.
  66548. */
  66549. z?: number;
  66550. }
  66551. /**
  66552. * (Highcharts, Highstock) Options for the series data sorting.
  66553. */
  66554. export interface PlotObvDataSortingOptions {
  66555. /**
  66556. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  66557. * Use xAxis.reversed to change the sorting order.
  66558. */
  66559. enabled?: boolean;
  66560. /**
  66561. * (Highcharts, Highstock) Whether to allow matching points by name in an
  66562. * update. If this option is disabled, points will be matched by order.
  66563. */
  66564. matchByName?: boolean;
  66565. /**
  66566. * (Highcharts, Highstock) Determines what data value should be used to sort
  66567. * by.
  66568. */
  66569. sortKey?: string;
  66570. }
  66571. /**
  66572. * (Highstock) On-Balance Volume (OBV) technical indicator. This series requires
  66573. * the `linkedTo` option to be set and should be loaded after the
  66574. * `stock/indicators/indicators.js` file. Through the `volumeSeriesID` there
  66575. * also should be linked the volume series.
  66576. *
  66577. * In TypeScript the type option must always be set.
  66578. *
  66579. * Configuration options for the series are given in three levels:
  66580. *
  66581. * 1. Options for all series in a chart are defined in the plotOptions.series
  66582. * object.
  66583. *
  66584. * 2. Options for all `obv` series are defined in plotOptions.obv.
  66585. *
  66586. * 3. Options for one single series are given in the series instance array. (see
  66587. * online documentation for example)
  66588. */
  66589. export interface PlotObvOptions {
  66590. /**
  66591. * (Highstock) Accessibility options for a series.
  66592. */
  66593. accessibility?: SeriesAccessibilityOptionsObject;
  66594. /**
  66595. * (Highstock) Allow this series' points to be selected by clicking on the
  66596. * graphic (columns, point markers, pie slices, map areas etc).
  66597. *
  66598. * The selected points can be handled by point select and unselect events,
  66599. * or collectively by the getSelectedPoints function.
  66600. *
  66601. * And alternative way of selecting points is through dragging.
  66602. */
  66603. allowPointSelect?: boolean;
  66604. /**
  66605. * (Highstock) Enable or disable the initial animation when a series is
  66606. * displayed. The animation can also be set as a configuration object.
  66607. * Please note that this option only applies to the initial animation of the
  66608. * series itself. For other animations, see chart.animation and the
  66609. * animation parameter under the API methods. The following properties are
  66610. * supported:
  66611. *
  66612. * - `defer`: The animation delay time in milliseconds.
  66613. *
  66614. * - `duration`: The duration of the animation in milliseconds.
  66615. *
  66616. * - `easing`: Can be a string reference to an easing function set on the
  66617. * `Math` object or a function. See the _Custom easing function_ demo below.
  66618. *
  66619. * Due to poor performance, animation is disabled in old IE browsers for
  66620. * several chart types.
  66621. */
  66622. animation?: (boolean|PlotObvAnimationOptions|Partial<AnimationOptionsObject>);
  66623. /**
  66624. * (Highstock) For some series, there is a limit that shuts down initial
  66625. * animation by default when the total number of points in the chart is too
  66626. * high. For example, for a column chart and its derivatives, animation does
  66627. * not run if there is more than 250 points totally. To disable this cap,
  66628. * set `animationLimit` to `Infinity`.
  66629. */
  66630. animationLimit?: number;
  66631. /**
  66632. * (Highstock) Sets the color blending in the boost module.
  66633. */
  66634. boostBlending?: OptionsBoostBlendingValue;
  66635. /**
  66636. * (Highstock) Set the point threshold for when a series should enter boost
  66637. * mode.
  66638. *
  66639. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  66640. * there are 2000 or more points in the series.
  66641. *
  66642. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  66643. * it to 1 will force boosting.
  66644. *
  66645. * Note that the cropThreshold also affects this setting. When zooming in on
  66646. * a series that has fewer points than the `cropThreshold`, all points are
  66647. * rendered although outside the visible plot area, and the `boostThreshold`
  66648. * won't take effect.
  66649. */
  66650. boostThreshold?: number;
  66651. /**
  66652. * (Highmaps) The border color of the map areas.
  66653. *
  66654. * In styled mode, the border stroke is given in the `.highcharts-point`
  66655. * class.
  66656. */
  66657. borderColor?: (ColorString|GradientColorObject|PatternObject);
  66658. /**
  66659. * (Highmaps) The border width of each map area.
  66660. *
  66661. * In styled mode, the border stroke width is given in the
  66662. * `.highcharts-point` class.
  66663. */
  66664. borderWidth?: number;
  66665. /**
  66666. * (Highstock) An additional class name to apply to the series' graphical
  66667. * elements. This option does not replace default class names of the
  66668. * graphical element.
  66669. */
  66670. className?: string;
  66671. /**
  66672. * (Highstock) Disable this option to allow series rendering in the whole
  66673. * plotting area.
  66674. *
  66675. * **Note:** Clipping should be always enabled when chart.zoomType is set
  66676. */
  66677. clip?: boolean;
  66678. /**
  66679. * (Highstock) The main color of the series. In line type series it applies
  66680. * to the line and the point markers unless otherwise specified. In bar type
  66681. * series it applies to the bars unless a color is specified per point. The
  66682. * default value is pulled from the `options.colors` array.
  66683. *
  66684. * In styled mode, the color can be defined by the colorIndex option. Also,
  66685. * the series color can be set with the `.highcharts-series`,
  66686. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  66687. * `.highcharts-series-{n}` class, or individual classes given by the
  66688. * `className` option.
  66689. */
  66690. color?: (ColorString|GradientColorObject|PatternObject);
  66691. /**
  66692. * (Highstock) Styled mode only. A specific color index to use for the
  66693. * series, so its graphic representations are given the class name
  66694. * `highcharts-color-{n}`.
  66695. */
  66696. colorIndex?: number;
  66697. /**
  66698. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  66699. * used to calculate point color if `colorAxis` is used. Requires to set
  66700. * `min` and `max` if some custom point property is used or if approximation
  66701. * for data grouping is set to `'sum'`.
  66702. */
  66703. colorKey?: string;
  66704. /**
  66705. * (Highstock) Compare the values of the series against the first non-null,
  66706. * non- zero value in the visible range. The y axis will show percentage or
  66707. * absolute change depending on whether `compare` is set to `"percent"` or
  66708. * `"value"`. When this is applied to multiple series, it allows comparing
  66709. * the development of the series against each other. Adds a `change` field
  66710. * to every point object.
  66711. */
  66712. compare?: string;
  66713. /**
  66714. * (Highstock) When compare is `percent`, this option dictates whether to
  66715. * use 0 or 100 as the base of comparison.
  66716. */
  66717. compareBase?: (0|100);
  66718. /**
  66719. * (Highstock) Defines if comparison should start from the first point
  66720. * within the visible range or should start from the first point **before**
  66721. * the range.
  66722. *
  66723. * In other words, this flag determines if first point within the visible
  66724. * range will have 0% (`compareStart=true`) or should have been already
  66725. * calculated according to the previous point (`compareStart=false`).
  66726. */
  66727. compareStart?: boolean;
  66728. /**
  66729. * (Highstock) Whether to compare indicator to the main series values or
  66730. * indicator values.
  66731. */
  66732. compareToMain?: boolean;
  66733. /**
  66734. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  66735. * series plot across the extremes.
  66736. */
  66737. connectEnds?: boolean;
  66738. /**
  66739. * (Highcharts, Highstock) Whether to connect a graph line across null
  66740. * points, or render a gap between the two points on either side of the
  66741. * null.
  66742. */
  66743. connectNulls?: boolean;
  66744. /**
  66745. * (Gantt) Override Pathfinder connector options for a series. Requires
  66746. * Highcharts Gantt to be loaded.
  66747. */
  66748. connectors?: SeriesConnectorsOptionsObject;
  66749. /**
  66750. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  66751. * rounded to its nearest pixel in order to render sharp on screen. In some
  66752. * cases, when there are a lot of densely packed columns, this leads to
  66753. * visible difference in column widths or distance between columns. In these
  66754. * cases, setting `crisp` to `false` may look better, even though each
  66755. * column is rendered blurry.
  66756. */
  66757. crisp?: boolean;
  66758. /**
  66759. * (Highcharts, Highstock) When the series contains less points than the
  66760. * crop threshold, all points are drawn, even if the points fall outside the
  66761. * visible plot area at the current zoom. The advantage of drawing all
  66762. * points (including markers and columns), is that animation is performed on
  66763. * updates. On the other hand, when the series contains more points than the
  66764. * crop threshold, the series data is cropped to only contain points that
  66765. * fall within the plot area. The advantage of cropping away invisible
  66766. * points is to increase performance on large series.
  66767. */
  66768. cropThreshold?: number;
  66769. /**
  66770. * (Highstock) You can set the cursor to "pointer" if you have click events
  66771. * attached to the series, to signal to the user that the points and lines
  66772. * can be clicked.
  66773. *
  66774. * In styled mode, the series cursor can be set with the same classes as
  66775. * listed under series.color.
  66776. */
  66777. cursor?: (string|CursorValue);
  66778. /**
  66779. * (Highstock) A reserved subspace to store options and values for
  66780. * customized functionality. Here you can add additional data for your own
  66781. * event callbacks and formatter callbacks.
  66782. */
  66783. custom?: Dictionary<any>;
  66784. /**
  66785. * (Highstock) Name of the dash style to use for the graph, or for some
  66786. * series types the outline of each shape.
  66787. *
  66788. * In styled mode, the stroke dash-array can be set with the same classes as
  66789. * listed under series.color.
  66790. */
  66791. dashStyle?: DashStyleValue;
  66792. /**
  66793. * (Highstock) Data grouping is the concept of sampling the data values into
  66794. * larger blocks in order to ease readability and increase performance of
  66795. * the JavaScript charts. Highcharts Stock by default applies data grouping
  66796. * when the points become closer than a certain pixel value, determined by
  66797. * the `groupPixelWidth` option.
  66798. *
  66799. * If data grouping is applied, the grouping information of grouped points
  66800. * can be read from the Point.dataGroup. If point options other than the
  66801. * data itself are set, for example `name` or `color` or custom properties,
  66802. * the grouping logic doesn't know how to group it. In this case the options
  66803. * of the first point instance are copied over to the group point. This can
  66804. * be altered through a custom `approximation` callback function.
  66805. */
  66806. dataGrouping?: DataGroupingOptionsObject;
  66807. /**
  66808. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  66809. * labels, appearing next to each data point.
  66810. *
  66811. * Since v6.2.0, multiple data labels can be applied to each single point by
  66812. * defining them as an array of configs.
  66813. *
  66814. * In styled mode, the data labels can be styled with the
  66815. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  66816. * (see example).
  66817. */
  66818. dataLabels?: (PlotObvDataLabelsOptions|Array<PlotObvDataLabelsOptions>);
  66819. /**
  66820. * (Highcharts, Highstock) Options for the series data sorting.
  66821. */
  66822. dataSorting?: (DataSortingOptionsObject|PlotObvDataSortingOptions);
  66823. /**
  66824. * (Highstock) A description of the series to add to the screen reader
  66825. * information about the series.
  66826. */
  66827. description?: string;
  66828. /**
  66829. * (Highstock) Enable or disable the mouse tracking for a specific series.
  66830. * This includes point tooltips and click events on graphs and points. For
  66831. * large datasets it improves performance.
  66832. */
  66833. enableMouseTracking?: boolean;
  66834. /**
  66835. * (Highstock) General event handlers for the series items. These event
  66836. * hooks can also be attached to the series at run time using the
  66837. * `Highcharts.addEvent` function.
  66838. */
  66839. events?: SeriesEventsOptionsObject;
  66840. /**
  66841. * (Highstock) Determines whether the series should look for the nearest
  66842. * point in both dimensions or just the x-dimension when hovering the
  66843. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  66844. * series. If the data has duplicate x-values, it is recommended to set this
  66845. * to `'xy'` to allow hovering over all points.
  66846. *
  66847. * Applies only to series types using nearest neighbor search (not direct
  66848. * hover) for tooltip.
  66849. */
  66850. findNearestPointBy?: OptionsFindNearestPointByValue;
  66851. /**
  66852. * (Highstock) Defines when to display a gap in the graph, together with the
  66853. * gapUnit option.
  66854. *
  66855. * In case when `dataGrouping` is enabled, points can be grouped into a
  66856. * larger time span. This can make the grouped points to have a greater
  66857. * distance than the absolute value of `gapSize` property, which will result
  66858. * in disappearing graph completely. To prevent this situation the mentioned
  66859. * distance between grouped points is used instead of previously defined
  66860. * `gapSize`.
  66861. *
  66862. * In practice, this option is most often used to visualize gaps in time
  66863. * series. In a stock chart, intraday data is available for daytime hours,
  66864. * while gaps will appear in nights and weekends.
  66865. */
  66866. gapSize?: number;
  66867. /**
  66868. * (Highstock) Together with gapSize, this option defines where to draw gaps
  66869. * in the graph.
  66870. *
  66871. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  66872. * if the distance between two points is greater than 5 times that of the
  66873. * two closest points, the graph will be broken.
  66874. *
  66875. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  66876. * values, which on a datetime axis is milliseconds. This also applies to
  66877. * the navigator series that inherits gap options from the base series.
  66878. */
  66879. gapUnit?: OptionsGapUnitValue;
  66880. /**
  66881. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  66882. * chart width or only the zoomed area when zooming in on parts of the X
  66883. * axis. By default, the Y axis adjusts to the min and max of the visible
  66884. * data. Cartesian series only.
  66885. */
  66886. getExtremesFromAll?: boolean;
  66887. /**
  66888. * (Highstock) When set to `false` will prevent the series data from being
  66889. * included in any form of data export.
  66890. *
  66891. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  66892. * `includeInCSVExport`.
  66893. */
  66894. includeInDataExport?: boolean;
  66895. /**
  66896. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  66897. * series as possible in a natural way, seeking to avoid other series. The
  66898. * goal of this feature is to make the chart more easily readable, like if a
  66899. * human designer placed the labels in the optimal position.
  66900. *
  66901. * The series labels currently work with series types having a `graph` or an
  66902. * `area`.
  66903. */
  66904. label?: SeriesLabelOptionsObject;
  66905. /**
  66906. * (Highstock) The line marks the last price from all points.
  66907. */
  66908. lastPrice?: SeriesLastPriceOptionsObject;
  66909. /**
  66910. * (Highstock) The line marks the last price from visible range of points.
  66911. */
  66912. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  66913. /**
  66914. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  66915. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  66916. * the ends and bends.
  66917. */
  66918. linecap?: SeriesLinecapValue;
  66919. /**
  66920. * (Highcharts, Highstock) Pixel width of the graph line.
  66921. */
  66922. lineWidth?: number;
  66923. /**
  66924. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  66925. * based on. Required for this indicator.
  66926. */
  66927. linkedTo?: string;
  66928. /**
  66929. * (Highstock) Options for the point markers of line-like series. Properties
  66930. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  66931. * appearance of the markers. Other series types, like column series, don't
  66932. * have markers, but have visual options on the series level instead.
  66933. *
  66934. * In styled mode, the markers can be styled with the `.highcharts-point`,
  66935. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  66936. */
  66937. marker?: PointMarkerOptionsObject;
  66938. /**
  66939. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  66940. * If not set, it will be based on a technical indicator type and default
  66941. * params.
  66942. */
  66943. name?: string;
  66944. /**
  66945. * (Highstock) The color for the parts of the graph or points that are below
  66946. * the threshold. Note that `zones` takes precedence over the negative
  66947. * color. Using `negativeColor` is equivalent to applying a zone with value
  66948. * of 0.
  66949. */
  66950. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  66951. /**
  66952. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  66953. * dataLabels.
  66954. */
  66955. opacity?: number;
  66956. /**
  66957. * (Highstock) Paramters used in calculation of regression series' points.
  66958. */
  66959. params?: PlotObvParamsOptions;
  66960. /**
  66961. * (Highstock) Properties for each single point.
  66962. */
  66963. point?: PlotSeriesPointOptions;
  66964. /**
  66965. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  66966. * individual series. Overrides the chart wide configuration.
  66967. */
  66968. pointDescriptionFormatter?: Function;
  66969. /**
  66970. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  66971. * true, the checkbox next to the series name in the legend will be checked
  66972. * for a selected series.
  66973. */
  66974. selected?: boolean;
  66975. /**
  66976. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  66977. * the shadow can be an object configuration containing `color`, `offsetX`,
  66978. * `offsetY`, `opacity` and `width`.
  66979. */
  66980. shadow?: (boolean|ShadowOptionsObject);
  66981. /**
  66982. * (Highstock) If true, a checkbox is displayed next to the legend item to
  66983. * allow selecting the series. The state of the checkbox is determined by
  66984. * the `selected` option.
  66985. */
  66986. showCheckbox?: boolean;
  66987. /**
  66988. * (Highstock) Whether to display this particular series or series type in
  66989. * the legend. Standalone series are shown in legend by default, and linked
  66990. * series are not. Since v7.2.0 it is possible to show series that use
  66991. * colorAxis by setting this option to `true`.
  66992. */
  66993. showInLegend?: boolean;
  66994. /**
  66995. * (Highstock) If set to `true`, the accessibility module will skip past the
  66996. * points in this series for keyboard navigation.
  66997. */
  66998. skipKeyboardNavigation?: boolean;
  66999. /**
  67000. * (Highcharts, Highstock) When this is true, the series will not cause the
  67001. * Y axis to cross the zero plane (or threshold option) unless the data
  67002. * actually crosses the plane.
  67003. *
  67004. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  67005. * make the Y axis show negative values according to the `minPadding`
  67006. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  67007. */
  67008. softThreshold?: boolean;
  67009. states?: SeriesStatesOptionsObject;
  67010. /**
  67011. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  67012. * values are `left`, `center` and `right`.
  67013. */
  67014. step?: OptionsStepValue;
  67015. /**
  67016. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  67017. * event on a series isn't triggered until the mouse moves over another
  67018. * series, or out of the plot area. When false, the `mouseOut` event on a
  67019. * series is triggered when the mouse leaves the area around the series'
  67020. * graph or markers. This also implies the tooltip when not shared. When
  67021. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  67022. * be hidden when moving the mouse between series. Defaults to true for line
  67023. * and area type series, but to false for columns, pies etc.
  67024. *
  67025. * **Note:** The boost module will force this option because of technical
  67026. * limitations.
  67027. */
  67028. stickyTracking?: boolean;
  67029. /**
  67030. * (Highcharts, Highstock) The threshold, also called zero level or base
  67031. * level. For line type series this is only used in conjunction with
  67032. * negativeColor.
  67033. */
  67034. threshold?: (number|null);
  67035. /**
  67036. * (Highstock) A configuration object for the tooltip rendering of each
  67037. * single series. Properties are inherited from tooltip, but only the
  67038. * following properties can be defined on a series level.
  67039. */
  67040. tooltip?: SeriesTooltipOptionsObject;
  67041. /**
  67042. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  67043. * is longer than this, only one dimensional arrays of numbers, or two
  67044. * dimensional arrays with x and y values are allowed. Also, only the first
  67045. * point is tested, and the rest are assumed to be the same format. This
  67046. * saves expensive data checking and indexing in long series. Set it to `0`
  67047. * disable.
  67048. *
  67049. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  67050. * two dimensional arrays are allowed.
  67051. */
  67052. turboThreshold?: number;
  67053. /**
  67054. * (Highstock) Set the initial visibility of the series.
  67055. */
  67056. visible?: boolean;
  67057. /**
  67058. * (Highmaps) Define the z index of the series.
  67059. */
  67060. zIndex?: number;
  67061. /**
  67062. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  67063. */
  67064. zoneAxis?: string;
  67065. /**
  67066. * (Highcharts, Highstock) An array defining zones within a series. Zones
  67067. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  67068. * the `zoneAxis` option. The zone definitions have to be in ascending order
  67069. * regarding to the value.
  67070. *
  67071. * In styled mode, the color zones are styled with the
  67072. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  67073. * option (view live demo).
  67074. */
  67075. zones?: Array<SeriesZonesOptionsObject>;
  67076. }
  67077. /**
  67078. * (Highstock) Paramters used in calculation of regression series' points.
  67079. */
  67080. export interface PlotObvParamsOptions {
  67081. index?: string;
  67082. period?: string;
  67083. /**
  67084. * (Highstock) The id of another series to use its data as volume data for
  67085. * the indiator calculation.
  67086. */
  67087. volumeSeriesID?: string;
  67088. }
  67089. /**
  67090. * (Highstock) Enable or disable the initial animation when a series is
  67091. * displayed. The animation can also be set as a configuration object. Please
  67092. * note that this option only applies to the initial animation of the series
  67093. * itself. For other animations, see chart.animation and the animation parameter
  67094. * under the API methods. The following properties are supported:
  67095. *
  67096. * - `defer`: The animation delay time in milliseconds.
  67097. *
  67098. * - `duration`: The duration of the animation in milliseconds.
  67099. *
  67100. * - `easing`: Can be a string reference to an easing function set on the `Math`
  67101. * object or a function. See the _Custom easing function_ demo below.
  67102. *
  67103. * Due to poor performance, animation is disabled in old IE browsers for several
  67104. * chart types.
  67105. */
  67106. export interface PlotOhlcAnimationOptions {
  67107. defer?: number;
  67108. }
  67109. /**
  67110. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  67111. * animation when a series is displayed for the `dataLabels`. The animation can
  67112. * also be set as a configuration object. Please note that this option only
  67113. * applies to the initial animation. For other animations, see chart.animation
  67114. * and the animation parameter under the API methods. The following properties
  67115. * are supported:
  67116. *
  67117. * - `defer`: The animation delay time in milliseconds.
  67118. */
  67119. export interface PlotOhlcDataLabelsAnimationOptions {
  67120. /**
  67121. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  67122. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  67123. * inherits defer time from the series.animation.defer.
  67124. */
  67125. defer?: number;
  67126. }
  67127. /**
  67128. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  67129. * appearing next to each data point.
  67130. *
  67131. * Since v6.2.0, multiple data labels can be applied to each single point by
  67132. * defining them as an array of configs.
  67133. *
  67134. * In styled mode, the data labels can be styled with the
  67135. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  67136. * example).
  67137. */
  67138. export interface PlotOhlcDataLabelsOptions {
  67139. /**
  67140. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  67141. * compared to the point. If `right`, the right side of the label should be
  67142. * touching the point. For points with an extent, like columns, the
  67143. * alignments also dictates how to align it inside the box, as given with
  67144. * the inside option. Can be one of `left`, `center` or `right`.
  67145. */
  67146. align?: string;
  67147. /**
  67148. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  67149. * overlap. To make the labels less sensitive for overlapping, the
  67150. * dataLabels.padding can be set to 0.
  67151. */
  67152. allowOverlap?: boolean;
  67153. /**
  67154. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  67155. * animation when a series is displayed for the `dataLabels`. The animation
  67156. * can also be set as a configuration object. Please note that this option
  67157. * only applies to the initial animation. For other animations, see
  67158. * chart.animation and the animation parameter under the API methods. The
  67159. * following properties are supported:
  67160. *
  67161. * - `defer`: The animation delay time in milliseconds.
  67162. */
  67163. animation?: (boolean|PlotOhlcDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  67164. /**
  67165. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  67166. * for the data label.
  67167. */
  67168. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  67169. /**
  67170. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  67171. * label. Defaults to `undefined`.
  67172. */
  67173. borderColor?: (ColorString|GradientColorObject|PatternObject);
  67174. /**
  67175. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  67176. * the data label.
  67177. */
  67178. borderRadius?: number;
  67179. /**
  67180. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  67181. * the data label.
  67182. */
  67183. borderWidth?: number;
  67184. /**
  67185. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  67186. * Particularly in styled mode, this can be used to give each series' or
  67187. * point's data label unique styling. In addition to this option, a default
  67188. * color class name is added so that we can give the labels a contrast text
  67189. * shadow.
  67190. */
  67191. className?: string;
  67192. /**
  67193. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  67194. * labels. Defaults to `undefined`. For certain series types, like column or
  67195. * map, the data labels can be drawn inside the points. In this case the
  67196. * data label will be drawn with maximum contrast by default. Additionally,
  67197. * it will be given a `text-outline` style with the opposite color, to
  67198. * further increase the contrast. This can be overridden by setting the
  67199. * `text-outline` style to `none` in the `dataLabels.style` option.
  67200. */
  67201. color?: (ColorString|GradientColorObject|PatternObject);
  67202. /**
  67203. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  67204. * are outside the plot area. By default, the data label is moved inside the
  67205. * plot area according to the overflow option.
  67206. */
  67207. crop?: boolean;
  67208. /**
  67209. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  67210. * labels until the initial series animation has finished. Setting to
  67211. * `false` renders the data label immediately. If set to `true` inherits the
  67212. * defer time set in plotOptions.series.animation. If set to a number, a
  67213. * defer time is specified in milliseconds.
  67214. */
  67215. defer?: (boolean|number);
  67216. /**
  67217. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  67218. * labels.
  67219. */
  67220. enabled?: boolean;
  67221. /**
  67222. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  67223. * of which data labels to display. The declarative filter is designed for
  67224. * use when callback functions are not available, like when the chart
  67225. * options require a pure JSON structure or for use with graphical editors.
  67226. * For programmatic control, use the `formatter` instead, and return
  67227. * `undefined` to disable a single data label.
  67228. */
  67229. filter?: DataLabelsFilterOptionsObject;
  67230. /**
  67231. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  67232. * label. Available variables are the same as for `formatter`.
  67233. */
  67234. format?: string;
  67235. /**
  67236. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  67237. * format the data label. Note that if a `format` is defined, the format
  67238. * takes precedence and the formatter is ignored.
  67239. */
  67240. formatter?: DataLabelsFormatterCallbackFunction;
  67241. /**
  67242. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  67243. * columns or map areas, whether to align the data label inside the box or
  67244. * to the actual value point. Defaults to `false` in most cases, `true` in
  67245. * stacked columns.
  67246. */
  67247. inside?: boolean;
  67248. /**
  67249. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  67250. * of null. Works analogously to format. `nullFormat` can be applied only to
  67251. * series which support displaying null points.
  67252. */
  67253. nullFormat?: (boolean|string);
  67254. /**
  67255. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  67256. * that defines formatting for points with the value of null. Works
  67257. * analogously to formatter. `nullPointFormatter` can be applied only to
  67258. * series which support displaying null points.
  67259. */
  67260. nullFormatter?: DataLabelsFormatterCallbackFunction;
  67261. /**
  67262. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  67263. * flow outside the plot area. The default is `"justify"`, which aligns them
  67264. * inside the plot area. For columns and bars, this means it will be moved
  67265. * inside the bar. To display data labels outside the plot area, set `crop`
  67266. * to `false` and `overflow` to `"allow"`.
  67267. */
  67268. overflow?: DataLabelsOverflowValue;
  67269. /**
  67270. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  67271. * the `backgroundColor` is set, this is the padding within the box.
  67272. */
  67273. padding?: number;
  67274. /**
  67275. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  67276. * points. If `center` alignment is not possible, it defaults to `right`.
  67277. */
  67278. position?: AlignValue;
  67279. /**
  67280. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  67281. * that due to a more complex structure, backgrounds, borders and padding
  67282. * will be lost on a rotated data label.
  67283. */
  67284. rotation?: number;
  67285. /**
  67286. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  67287. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  67288. * an object configuration containing `color`, `offsetX`, `offsetY`,
  67289. * `opacity` and `width`.
  67290. */
  67291. shadow?: (boolean|ShadowOptionsObject);
  67292. /**
  67293. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  67294. * the border around the label. Symbols are predefined functions on the
  67295. * Renderer object.
  67296. */
  67297. shape?: string;
  67298. /**
  67299. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  67300. * default `color` setting is `"contrast"`, which is a pseudo color that
  67301. * Highcharts picks up and applies the maximum contrast to the underlying
  67302. * point item, for example the bar in a bar chart.
  67303. *
  67304. * The `textOutline` is a pseudo property that applies an outline of the
  67305. * given width with the given color, which by default is the maximum
  67306. * contrast to the text. So a bright text color will result in a black text
  67307. * outline for maximum readability on a mixed background. In some cases,
  67308. * especially with grayscale text, the text outline doesn't work well, in
  67309. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  67310. * is true, the `textOutline` will not be picked up. In this, case, the same
  67311. * effect can be acheived through the `text-shadow` CSS property.
  67312. *
  67313. * For some series types, where each point has an extent, like for example
  67314. * tree maps, the data label may overflow the point. There are two
  67315. * strategies for handling overflow. By default, the text will wrap to
  67316. * multiple lines. The other strategy is to set `style.textOverflow` to
  67317. * `ellipsis`, which will keep the text on one line plus it will break
  67318. * inside long words.
  67319. */
  67320. style?: CSSObject;
  67321. /**
  67322. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  67323. * should follow marker's shape. Border and background are disabled for a
  67324. * label that follows a path.
  67325. *
  67326. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  67327. * to true will disable this option.
  67328. */
  67329. textPath?: DataLabelsTextPathOptionsObject;
  67330. /**
  67331. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  67332. * the labels.
  67333. */
  67334. useHTML?: boolean;
  67335. /**
  67336. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  67337. * label. Can be one of `top`, `middle` or `bottom`. The default value
  67338. * depends on the data, for instance in a column chart, the label is above
  67339. * positive values and below negative values.
  67340. */
  67341. verticalAlign?: string;
  67342. /**
  67343. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  67344. * label relative to the point in pixels.
  67345. */
  67346. x?: number;
  67347. /**
  67348. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  67349. * label relative to the point in pixels.
  67350. */
  67351. y?: number;
  67352. /**
  67353. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  67354. * The default Z index puts it above the series. Use a Z index of 2 to
  67355. * display it behind the series.
  67356. */
  67357. z?: number;
  67358. }
  67359. /**
  67360. * (Highcharts, Highstock) Options for the series data sorting.
  67361. */
  67362. export interface PlotOhlcDataSortingOptions {
  67363. /**
  67364. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  67365. * Use xAxis.reversed to change the sorting order.
  67366. */
  67367. enabled?: boolean;
  67368. /**
  67369. * (Highcharts, Highstock) Whether to allow matching points by name in an
  67370. * update. If this option is disabled, points will be matched by order.
  67371. */
  67372. matchByName?: boolean;
  67373. /**
  67374. * (Highcharts, Highstock) Determines what data value should be used to sort
  67375. * by.
  67376. */
  67377. sortKey?: string;
  67378. }
  67379. /**
  67380. * (Highstock) Style options for the guide box. The guide box has one state by
  67381. * default, the `default` state.
  67382. */
  67383. export interface PlotOhlcDragDropGuideBoxOptions {
  67384. /**
  67385. * (Highstock) Style options for the guide box default state.
  67386. */
  67387. default?: DragDropGuideBoxOptionsObject;
  67388. }
  67389. /**
  67390. * (Highstock) An OHLC chart is a style of financial chart used to describe
  67391. * price movements over time. It displays open, high, low and close values per
  67392. * data point.
  67393. *
  67394. * In TypeScript the type option must always be set.
  67395. *
  67396. * Configuration options for the series are given in three levels:
  67397. *
  67398. * 1. Options for all series in a chart are defined in the plotOptions.series
  67399. * object.
  67400. *
  67401. * 2. Options for all `ohlc` series are defined in plotOptions.ohlc.
  67402. *
  67403. * 3. Options for one single series are given in the series instance array. (see
  67404. * online documentation for example)
  67405. */
  67406. export interface PlotOhlcOptions {
  67407. /**
  67408. * (Highstock) Accessibility options for a series.
  67409. */
  67410. accessibility?: SeriesAccessibilityOptionsObject;
  67411. /**
  67412. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  67413. * rendered. If `true`, areas which don't correspond to a data point, are
  67414. * rendered as `null` points. If `false`, those areas are skipped.
  67415. */
  67416. allAreas?: boolean;
  67417. /**
  67418. * (Highstock) Allow this series' points to be selected by clicking on the
  67419. * graphic (columns, point markers, pie slices, map areas etc).
  67420. *
  67421. * The selected points can be handled by point select and unselect events,
  67422. * or collectively by the getSelectedPoints function.
  67423. *
  67424. * And alternative way of selecting points is through dragging.
  67425. */
  67426. allowPointSelect?: boolean;
  67427. /**
  67428. * (Highstock) Enable or disable the initial animation when a series is
  67429. * displayed. The animation can also be set as a configuration object.
  67430. * Please note that this option only applies to the initial animation of the
  67431. * series itself. For other animations, see chart.animation and the
  67432. * animation parameter under the API methods. The following properties are
  67433. * supported:
  67434. *
  67435. * - `defer`: The animation delay time in milliseconds.
  67436. *
  67437. * - `duration`: The duration of the animation in milliseconds.
  67438. *
  67439. * - `easing`: Can be a string reference to an easing function set on the
  67440. * `Math` object or a function. See the _Custom easing function_ demo below.
  67441. *
  67442. * Due to poor performance, animation is disabled in old IE browsers for
  67443. * several chart types.
  67444. */
  67445. animation?: (boolean|PlotOhlcAnimationOptions|Partial<AnimationOptionsObject>);
  67446. /**
  67447. * (Highstock) For some series, there is a limit that shuts down initial
  67448. * animation by default when the total number of points in the chart is too
  67449. * high. For example, for a column chart and its derivatives, animation does
  67450. * not run if there is more than 250 points totally. To disable this cap,
  67451. * set `animationLimit` to `Infinity`.
  67452. */
  67453. animationLimit?: number;
  67454. /**
  67455. * (Highstock) Sets the color blending in the boost module.
  67456. */
  67457. boostBlending?: OptionsBoostBlendingValue;
  67458. /**
  67459. * (Highstock) Set the point threshold for when a series should enter boost
  67460. * mode.
  67461. *
  67462. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  67463. * there are 2000 or more points in the series.
  67464. *
  67465. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  67466. * it to 1 will force boosting.
  67467. *
  67468. * Note that the cropThreshold also affects this setting. When zooming in on
  67469. * a series that has fewer points than the `cropThreshold`, all points are
  67470. * rendered although outside the visible plot area, and the `boostThreshold`
  67471. * won't take effect.
  67472. */
  67473. boostThreshold?: number;
  67474. /**
  67475. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  67476. * the category, ignoring null or missing points. When `false`, space will
  67477. * be reserved for null or missing points.
  67478. */
  67479. centerInCategory?: boolean;
  67480. /**
  67481. * (Highstock) An additional class name to apply to the series' graphical
  67482. * elements. This option does not replace default class names of the
  67483. * graphical element.
  67484. */
  67485. className?: string;
  67486. /**
  67487. * (Highstock) Disable this option to allow series rendering in the whole
  67488. * plotting area.
  67489. *
  67490. * **Note:** Clipping should be always enabled when chart.zoomType is set
  67491. */
  67492. clip?: boolean;
  67493. /**
  67494. * (Highstock) The main color of the series. In line type series it applies
  67495. * to the line and the point markers unless otherwise specified. In bar type
  67496. * series it applies to the bars unless a color is specified per point. The
  67497. * default value is pulled from the `options.colors` array.
  67498. *
  67499. * In styled mode, the color can be defined by the colorIndex option. Also,
  67500. * the series color can be set with the `.highcharts-series`,
  67501. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  67502. * `.highcharts-series-{n}` class, or individual classes given by the
  67503. * `className` option.
  67504. */
  67505. color?: (ColorString|GradientColorObject|PatternObject);
  67506. /**
  67507. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  67508. * this number defines which colorAxis the particular series is connected
  67509. * to. It refers to either the axis id or the index of the axis in the
  67510. * colorAxis array, with 0 being the first. Set this option to false to
  67511. * prevent a series from connecting to the default color axis.
  67512. *
  67513. * Since v7.2.0 the option can also be an axis id or an axis index instead
  67514. * of a boolean flag.
  67515. */
  67516. colorAxis?: (boolean|number|string);
  67517. /**
  67518. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  67519. * from the global colors or series-specific plotOptions.column.colors
  67520. * collections, this option determines whether the chart should receive one
  67521. * color per series or one color per point.
  67522. *
  67523. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  67524. * and instead this option gives the points individual color class names on
  67525. * the form `highcharts-color-{n}`.
  67526. */
  67527. colorByPoint?: boolean;
  67528. /**
  67529. * (Highstock) Styled mode only. A specific color index to use for the
  67530. * series, so its graphic representations are given the class name
  67531. * `highcharts-color-{n}`.
  67532. */
  67533. colorIndex?: number;
  67534. /**
  67535. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  67536. * used to calculate point color if `colorAxis` is used. Requires to set
  67537. * `min` and `max` if some custom point property is used or if approximation
  67538. * for data grouping is set to `'sum'`.
  67539. */
  67540. colorKey?: string;
  67541. /**
  67542. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  67543. * color set to apply instead of the global colors when colorByPoint is
  67544. * true.
  67545. */
  67546. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  67547. /**
  67548. * (Highstock) Compare the values of the series against the first non-null,
  67549. * non- zero value in the visible range. The y axis will show percentage or
  67550. * absolute change depending on whether `compare` is set to `"percent"` or
  67551. * `"value"`. When this is applied to multiple series, it allows comparing
  67552. * the development of the series against each other. Adds a `change` field
  67553. * to every point object.
  67554. */
  67555. compare?: string;
  67556. /**
  67557. * (Highstock) When compare is `percent`, this option dictates whether to
  67558. * use 0 or 100 as the base of comparison.
  67559. */
  67560. compareBase?: (0|100);
  67561. /**
  67562. * (Highstock) Defines if comparison should start from the first point
  67563. * within the visible range or should start from the first point **before**
  67564. * the range.
  67565. *
  67566. * In other words, this flag determines if first point within the visible
  67567. * range will have 0% (`compareStart=true`) or should have been already
  67568. * calculated according to the previous point (`compareStart=false`).
  67569. */
  67570. compareStart?: boolean;
  67571. /**
  67572. * (Gantt) Override Pathfinder connector options for a series. Requires
  67573. * Highcharts Gantt to be loaded.
  67574. */
  67575. connectors?: SeriesConnectorsOptionsObject;
  67576. /**
  67577. * (Highcharts, Highstock, Gantt) When the series contains less points than
  67578. * the crop threshold, all points are drawn, event if the points fall
  67579. * outside the visible plot area at the current zoom. The advantage of
  67580. * drawing all points (including markers and columns), is that animation is
  67581. * performed on updates. On the other hand, when the series contains more
  67582. * points than the crop threshold, the series data is cropped to only
  67583. * contain points that fall within the plot area. The advantage of cropping
  67584. * away invisible points is to increase performance on large series.
  67585. */
  67586. cropThreshold?: number;
  67587. /**
  67588. * (Highstock) You can set the cursor to "pointer" if you have click events
  67589. * attached to the series, to signal to the user that the points and lines
  67590. * can be clicked.
  67591. *
  67592. * In styled mode, the series cursor can be set with the same classes as
  67593. * listed under series.color.
  67594. */
  67595. cursor?: (string|CursorValue);
  67596. /**
  67597. * (Highstock) A reserved subspace to store options and values for
  67598. * customized functionality. Here you can add additional data for your own
  67599. * event callbacks and formatter callbacks.
  67600. */
  67601. custom?: Dictionary<any>;
  67602. /**
  67603. * (Highstock) Name of the dash style to use for the graph, or for some
  67604. * series types the outline of each shape.
  67605. *
  67606. * In styled mode, the stroke dash-array can be set with the same classes as
  67607. * listed under series.color.
  67608. */
  67609. dashStyle?: DashStyleValue;
  67610. /**
  67611. * (Highstock) Data grouping is the concept of sampling the data values into
  67612. * larger blocks in order to ease readability and increase performance of
  67613. * the JavaScript charts. Highcharts Stock by default applies data grouping
  67614. * when the points become closer than a certain pixel value, determined by
  67615. * the `groupPixelWidth` option.
  67616. *
  67617. * If data grouping is applied, the grouping information of grouped points
  67618. * can be read from the Point.dataGroup. If point options other than the
  67619. * data itself are set, for example `name` or `color` or custom properties,
  67620. * the grouping logic doesn't know how to group it. In this case the options
  67621. * of the first point instance are copied over to the group point. This can
  67622. * be altered through a custom `approximation` callback function.
  67623. */
  67624. dataGrouping?: DataGroupingOptionsObject;
  67625. /**
  67626. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  67627. * labels, appearing next to each data point.
  67628. *
  67629. * Since v6.2.0, multiple data labels can be applied to each single point by
  67630. * defining them as an array of configs.
  67631. *
  67632. * In styled mode, the data labels can be styled with the
  67633. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  67634. * (see example).
  67635. */
  67636. dataLabels?: (PlotOhlcDataLabelsOptions|Array<PlotOhlcDataLabelsOptions>);
  67637. /**
  67638. * (Highcharts, Highstock) Options for the series data sorting.
  67639. */
  67640. dataSorting?: (DataSortingOptionsObject|PlotOhlcDataSortingOptions);
  67641. /**
  67642. * (Highcharts) Depth of the columns in a 3D column chart.
  67643. */
  67644. depth?: number;
  67645. /**
  67646. * (Highstock) A description of the series to add to the screen reader
  67647. * information about the series.
  67648. */
  67649. description?: string;
  67650. /**
  67651. * (Highstock) The draggable-points module allows points to be moved around
  67652. * or modified in the chart. In addition to the options mentioned under the
  67653. * `dragDrop` API structure, the module fires three events, point.dragStart,
  67654. * point.drag and point.drop.
  67655. */
  67656. dragDrop?: SeriesDragDropOptionsObject;
  67657. /**
  67658. * (Highcharts) 3D columns only. The color of the edges. Similar to
  67659. * `borderColor`, except it defaults to the same color as the column.
  67660. */
  67661. edgeColor?: ColorString;
  67662. /**
  67663. * (Highcharts) 3D columns only. The width of the colored edges.
  67664. */
  67665. edgeWidth?: number;
  67666. /**
  67667. * (Highstock) Enable or disable the mouse tracking for a specific series.
  67668. * This includes point tooltips and click events on graphs and points. For
  67669. * large datasets it improves performance.
  67670. */
  67671. enableMouseTracking?: boolean;
  67672. /**
  67673. * (Highstock) General event handlers for the series items. These event
  67674. * hooks can also be attached to the series at run time using the
  67675. * `Highcharts.addEvent` function.
  67676. */
  67677. events?: SeriesEventsOptionsObject;
  67678. /**
  67679. * (Highstock) Determines whether the series should look for the nearest
  67680. * point in both dimensions or just the x-dimension when hovering the
  67681. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  67682. * series. If the data has duplicate x-values, it is recommended to set this
  67683. * to `'xy'` to allow hovering over all points.
  67684. *
  67685. * Applies only to series types using nearest neighbor search (not direct
  67686. * hover) for tooltip.
  67687. */
  67688. findNearestPointBy?: OptionsFindNearestPointByValue;
  67689. /**
  67690. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  67691. * chart width or only the zoomed area when zooming in on parts of the X
  67692. * axis. By default, the Y axis adjusts to the min and max of the visible
  67693. * data. Cartesian series only.
  67694. */
  67695. getExtremesFromAll?: boolean;
  67696. /**
  67697. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  67698. * let them render independent of each other. Non-grouped columns will be
  67699. * laid out individually and overlap each other.
  67700. */
  67701. grouping?: boolean;
  67702. /**
  67703. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  67704. * axis units.
  67705. */
  67706. groupPadding?: number;
  67707. /**
  67708. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  67709. */
  67710. groupZPadding?: number;
  67711. /**
  67712. * (Highstock) When set to `false` will prevent the series data from being
  67713. * included in any form of data export.
  67714. *
  67715. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  67716. * `includeInCSVExport`.
  67717. */
  67718. includeInDataExport?: boolean;
  67719. /**
  67720. * (Highmaps) What property to join the `mapData` to the value data. For
  67721. * example, if joinBy is "code", the mapData items with a specific code is
  67722. * merged into the data with the same code. For maps loaded from GeoJSON,
  67723. * the keys may be held in each point's `properties` object.
  67724. *
  67725. * The joinBy option can also be an array of two values, where the first
  67726. * points to a key in the `mapData`, and the second points to another key in
  67727. * the `data`.
  67728. *
  67729. * When joinBy is `null`, the map items are joined by their position in the
  67730. * array, which performs much better in maps with many data points. This is
  67731. * the recommended option if you are printing more than a thousand data
  67732. * points and have a backend that can preprocess the data into a parallel
  67733. * array of the mapData.
  67734. */
  67735. joinBy?: (string|Array<string>);
  67736. /**
  67737. * (Highstock) An array specifying which option maps to which key in the
  67738. * data point array. This makes it convenient to work with unstructured data
  67739. * arrays from different sources.
  67740. */
  67741. keys?: Array<string>;
  67742. /**
  67743. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  67744. * series as possible in a natural way, seeking to avoid other series. The
  67745. * goal of this feature is to make the chart more easily readable, like if a
  67746. * human designer placed the labels in the optimal position.
  67747. *
  67748. * The series labels currently work with series types having a `graph` or an
  67749. * `area`.
  67750. */
  67751. label?: SeriesLabelOptionsObject;
  67752. /**
  67753. * (Highstock) The line marks the last price from all points.
  67754. */
  67755. lastPrice?: SeriesLastPriceOptionsObject;
  67756. /**
  67757. * (Highstock) The line marks the last price from visible range of points.
  67758. */
  67759. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  67760. /**
  67761. * (Highstock) The pixel width of the line/border. Defaults to `1`.
  67762. */
  67763. lineWidth?: number;
  67764. /**
  67765. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  67766. * Additionally, the value can be ":previous" to link to the previous
  67767. * series. When two series are linked, only the first one appears in the
  67768. * legend. Toggling the visibility of this also toggles the linked series.
  67769. *
  67770. * If master series uses data sorting and linked series does not have its
  67771. * own sorting definition, the linked series will be sorted in the same
  67772. * order as the master one.
  67773. */
  67774. linkedTo?: string;
  67775. /**
  67776. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  67777. * column, translated to the height of a bar in a bar chart. This prevents
  67778. * the columns from becoming too wide when there is a small number of points
  67779. * in the chart.
  67780. */
  67781. maxPointWidth?: number;
  67782. /**
  67783. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  67784. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  67785. * to zero) point, set the minimal point length to a pixel value like 3\. In
  67786. * stacked column charts, minPointLength might not be respected for tightly
  67787. * packed values.
  67788. */
  67789. minPointLength?: number;
  67790. /**
  67791. * (Highstock) Options for the corresponding navigator series if
  67792. * `showInNavigator` is `true` for this series. Available options are the
  67793. * same as any series, documented at plotOptions and series.
  67794. *
  67795. * These options are merged with options in navigator.series, and will take
  67796. * precedence if the same option is defined both places.
  67797. */
  67798. navigatorOptions?: PlotSeriesOptions;
  67799. /**
  67800. * (Highstock) The color for the parts of the graph or points that are below
  67801. * the threshold. Note that `zones` takes precedence over the negative
  67802. * color. Using `negativeColor` is equivalent to applying a zone with value
  67803. * of 0.
  67804. */
  67805. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  67806. /**
  67807. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  67808. * dataLabels.
  67809. */
  67810. opacity?: number;
  67811. /**
  67812. * (Highstock) Properties for each single point.
  67813. */
  67814. point?: PlotSeriesPointOptions;
  67815. /**
  67816. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  67817. * individual series. Overrides the chart wide configuration.
  67818. */
  67819. pointDescriptionFormatter?: Function;
  67820. /**
  67821. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  67822. * a series, `pointInterval` defines the interval of the x values. For
  67823. * example, if a series contains one value every decade starting from year
  67824. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  67825. * `pointInterval` is set in milliseconds.
  67826. *
  67827. * It can be also be combined with `pointIntervalUnit` to draw irregular
  67828. * time intervals.
  67829. *
  67830. * Please note that this options applies to the _series data_, not the
  67831. * interval of the axis ticks, which is independent.
  67832. */
  67833. pointInterval?: number;
  67834. /**
  67835. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  67836. * setting the pointInterval to irregular time units, `day`, `month` and
  67837. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  67838. * also takes the DST crossover into consideration when dealing with local
  67839. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  67840. * months, 10 years etc.
  67841. *
  67842. * Please note that this options applies to the _series data_, not the
  67843. * interval of the axis ticks, which is independent.
  67844. */
  67845. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  67846. /**
  67847. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  67848. * axis units.
  67849. */
  67850. pointPadding?: number;
  67851. /**
  67852. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  67853. * `number`.
  67854. *
  67855. * In a column chart, when pointPlacement is `"on"`, the point will not
  67856. * create any padding of the X axis. In a polar column chart this means that
  67857. * the first column points directly north. If the pointPlacement is
  67858. * `"between"`, the columns will be laid out between ticks. This is useful
  67859. * for example for visualising an amount between two points in time or in a
  67860. * certain sector of a polar chart.
  67861. *
  67862. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  67863. * is on the axis value, -0.5 is between this value and the previous, and
  67864. * 0.5 is between this value and the next. Unlike the textual options,
  67865. * numeric point placement options won't affect axis padding.
  67866. *
  67867. * Note that pointPlacement needs a pointRange to work. For column series
  67868. * this is computed, but for line-type series it needs to be set.
  67869. *
  67870. * For the `xrange` series type and gantt charts, if the Y axis is a
  67871. * category axis, the `pointPlacement` applies to the Y axis rather than the
  67872. * (typically datetime) X axis.
  67873. *
  67874. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  67875. */
  67876. pointPlacement?: (number|string);
  67877. /**
  67878. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  67879. * for. This determines the width of the column. On a categorized axis, the
  67880. * range will be 1 by default (one category unit). On linear and datetime
  67881. * axes, the range will be computed as the distance between the two closest
  67882. * data points.
  67883. *
  67884. * The default `null` means it is computed automatically, but this option
  67885. * can be used to override the automatic value.
  67886. *
  67887. * This option is set by default to 1 if data sorting is enabled.
  67888. */
  67889. pointRange?: (number|null);
  67890. /**
  67891. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  67892. * a series, pointStart defines on what value to start. For example, if a
  67893. * series contains one yearly value starting from 1945, set pointStart to
  67894. * 1945.
  67895. */
  67896. pointStart?: number;
  67897. /**
  67898. * (Highstock) Determines which one of `open`, `high`, `low`, `close` values
  67899. * should be represented as `point.y`, which is later used to set dataLabel
  67900. * position and compare.
  67901. */
  67902. pointValKey?: OptionsPointValKeyValue;
  67903. /**
  67904. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  67905. * each column or bar point. When set to `undefined`, the width is
  67906. * calculated from the `pointPadding` and `groupPadding`. The width effects
  67907. * the dimension that is not based on the point value. For column series it
  67908. * is the hoizontal length and for bar series it is the vertical length.
  67909. */
  67910. pointWidth?: number;
  67911. /**
  67912. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  67913. * true, the checkbox next to the series name in the legend will be checked
  67914. * for a selected series.
  67915. */
  67916. selected?: boolean;
  67917. /**
  67918. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  67919. * the shadow can be an object configuration containing `color`, `offsetX`,
  67920. * `offsetY`, `opacity` and `width`.
  67921. */
  67922. shadow?: (boolean|ShadowOptionsObject);
  67923. /**
  67924. * (Highstock) If true, a checkbox is displayed next to the legend item to
  67925. * allow selecting the series. The state of the checkbox is determined by
  67926. * the `selected` option.
  67927. */
  67928. showCheckbox?: boolean;
  67929. /**
  67930. * (Highstock) Whether to display this particular series or series type in
  67931. * the legend. Standalone series are shown in legend by default, and linked
  67932. * series are not. Since v7.2.0 it is possible to show series that use
  67933. * colorAxis by setting this option to `true`.
  67934. */
  67935. showInLegend?: boolean;
  67936. /**
  67937. * (Highstock) Whether or not to show the series in the navigator. Takes
  67938. * precedence over navigator.baseSeries if defined.
  67939. */
  67940. showInNavigator?: boolean;
  67941. /**
  67942. * (Highstock) If set to `true`, the accessibility module will skip past the
  67943. * points in this series for keyboard navigation.
  67944. */
  67945. skipKeyboardNavigation?: boolean;
  67946. /**
  67947. * (Highcharts, Highstock) When this is true, the series will not cause the
  67948. * Y axis to cross the zero plane (or threshold option) unless the data
  67949. * actually crosses the plane.
  67950. *
  67951. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  67952. * make the Y axis show negative values according to the `minPadding`
  67953. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  67954. */
  67955. softThreshold?: boolean;
  67956. states?: SeriesStatesOptionsObject;
  67957. /**
  67958. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  67959. * event on a series isn't triggered until the mouse moves over another
  67960. * series, or out of the plot area. When false, the `mouseOut` event on a
  67961. * series is triggered when the mouse leaves the area around the series'
  67962. * graph or markers. This also implies the tooltip when not shared. When
  67963. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  67964. * be hidden when moving the mouse between series. Defaults to true for line
  67965. * and area type series, but to false for columns, pies etc.
  67966. *
  67967. * **Note:** The boost module will force this option because of technical
  67968. * limitations.
  67969. */
  67970. stickyTracking?: boolean;
  67971. /**
  67972. * (Highcharts) The Y axis value to serve as the base for the columns, for
  67973. * distinguishing between values above and below a threshold. If `null`, the
  67974. * columns extend from the padding Y axis minimum.
  67975. */
  67976. threshold?: (number|null);
  67977. /**
  67978. * (Highstock) A configuration object for the tooltip rendering of each
  67979. * single series. Properties are inherited from tooltip, but only the
  67980. * following properties can be defined on a series level.
  67981. */
  67982. tooltip?: SeriesTooltipOptionsObject;
  67983. /**
  67984. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  67985. * is longer than this, only one dimensional arrays of numbers, or two
  67986. * dimensional arrays with x and y values are allowed. Also, only the first
  67987. * point is tested, and the rest are assumed to be the same format. This
  67988. * saves expensive data checking and indexing in long series. Set it to `0`
  67989. * disable.
  67990. *
  67991. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  67992. * two dimensional arrays are allowed.
  67993. */
  67994. turboThreshold?: number;
  67995. /**
  67996. * (Highstock) Line color for up points.
  67997. */
  67998. upColor?: (ColorString|GradientColorObject|PatternObject);
  67999. /**
  68000. * (Highstock) Set the initial visibility of the series.
  68001. */
  68002. visible?: boolean;
  68003. /**
  68004. * (Highmaps) Define the z index of the series.
  68005. */
  68006. zIndex?: number;
  68007. /**
  68008. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  68009. */
  68010. zoneAxis?: string;
  68011. /**
  68012. * (Highcharts, Highstock) An array defining zones within a series. Zones
  68013. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  68014. * the `zoneAxis` option. The zone definitions have to be in ascending order
  68015. * regarding to the value.
  68016. *
  68017. * In styled mode, the color zones are styled with the
  68018. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  68019. * option (view live demo).
  68020. */
  68021. zones?: Array<SeriesZonesOptionsObject>;
  68022. }
  68023. /**
  68024. * (Highcharts, Highstock, Highmaps, Gantt) The plotOptions is a wrapper object
  68025. * for config objects for each series type. The config objects for each series
  68026. * can also be overridden for each series item as given in the series array.
  68027. *
  68028. * Configuration options for the series are given in three levels. Options for
  68029. * all series in a chart are given in the plotOptions.series object. Then
  68030. * options for all series of a specific type are given in the plotOptions of
  68031. * that type, for example `plotOptions.line`. Next, options for one single
  68032. * series are given in the series array.
  68033. */
  68034. export interface PlotOptions {
  68035. /**
  68036. * (Highstock) Acceleration bands (ABANDS). This series requires the
  68037. * `linkedTo` option to be set and should be loaded after the
  68038. * `stock/indicators/indicators.js`.
  68039. *
  68040. * In TypeScript the type option must always be set.
  68041. *
  68042. * Configuration options for the series are given in three levels:
  68043. *
  68044. * 1. Options for all series in a chart are defined in the
  68045. * plotOptions.series object.
  68046. *
  68047. * 2. Options for all `abands` series are defined in plotOptions.abands.
  68048. *
  68049. * 3. Options for one single series are given in the series instance array.
  68050. * (see online documentation for example)
  68051. */
  68052. abands?: PlotAbandsOptions;
  68053. /**
  68054. * (Highstock) Accumulation Distribution (AD). This series requires
  68055. * `linkedTo` option to be set.
  68056. *
  68057. * In TypeScript the type option must always be set.
  68058. *
  68059. * Configuration options for the series are given in three levels:
  68060. *
  68061. * 1. Options for all series in a chart are defined in the
  68062. * plotOptions.series object.
  68063. *
  68064. * 2. Options for all `ad` series are defined in plotOptions.ad.
  68065. *
  68066. * 3. Options for one single series are given in the series instance array.
  68067. * (see online documentation for example)
  68068. */
  68069. ad?: PlotAdOptions;
  68070. /**
  68071. * (Highstock) Awesome Oscillator. This series requires the `linkedTo`
  68072. * option to be set and should be loaded after the
  68073. * `stock/indicators/indicators.js`
  68074. *
  68075. * In TypeScript the type option must always be set.
  68076. *
  68077. * Configuration options for the series are given in three levels:
  68078. *
  68079. * 1. Options for all series in a chart are defined in the
  68080. * plotOptions.series object.
  68081. *
  68082. * 2. Options for all `ao` series are defined in plotOptions.ao.
  68083. *
  68084. * 3. Options for one single series are given in the series instance array.
  68085. * (see online documentation for example)
  68086. */
  68087. ao?: PlotAoOptions;
  68088. /**
  68089. * (Highstock) Absolute Price Oscillator. This series requires the
  68090. * `linkedTo` option to be set and should be loaded after the
  68091. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  68092. *
  68093. * In TypeScript the type option must always be set.
  68094. *
  68095. * Configuration options for the series are given in three levels:
  68096. *
  68097. * 1. Options for all series in a chart are defined in the
  68098. * plotOptions.series object.
  68099. *
  68100. * 2. Options for all `apo` series are defined in plotOptions.apo.
  68101. *
  68102. * 3. Options for one single series are given in the series instance array.
  68103. * (see online documentation for example)
  68104. */
  68105. apo?: PlotApoOptions;
  68106. /**
  68107. * (Highcharts, Highstock) The area series type.
  68108. *
  68109. * In TypeScript the type option must always be set.
  68110. *
  68111. * Configuration options for the series are given in three levels:
  68112. *
  68113. * 1. Options for all series in a chart are defined in the
  68114. * plotOptions.series object.
  68115. *
  68116. * 2. Options for all `area` series are defined in plotOptions.area.
  68117. *
  68118. * 3. Options for one single series are given in the series instance array.
  68119. * (see online documentation for example)
  68120. */
  68121. area?: PlotAreaOptions;
  68122. /**
  68123. * (Highcharts, Highstock) The area range series is a carteseian series with
  68124. * higher and lower values for each point along an X axis, where the area
  68125. * between the values is shaded.
  68126. *
  68127. * In TypeScript the type option must always be set.
  68128. *
  68129. * Configuration options for the series are given in three levels:
  68130. *
  68131. * 1. Options for all series in a chart are defined in the
  68132. * plotOptions.series object.
  68133. *
  68134. * 2. Options for all `arearange` series are defined in
  68135. * plotOptions.arearange.
  68136. *
  68137. * 3. Options for one single series are given in the series instance array.
  68138. * (see online documentation for example)
  68139. */
  68140. arearange?: PlotArearangeOptions;
  68141. /**
  68142. * (Highcharts, Highstock) The area spline series is an area series where
  68143. * the graph between the points is smoothed into a spline.
  68144. *
  68145. * In TypeScript the type option must always be set.
  68146. *
  68147. * Configuration options for the series are given in three levels:
  68148. *
  68149. * 1. Options for all series in a chart are defined in the
  68150. * plotOptions.series object.
  68151. *
  68152. * 2. Options for all `areaspline` series are defined in
  68153. * plotOptions.areaspline.
  68154. *
  68155. * 3. Options for one single series are given in the series instance array.
  68156. * (see online documentation for example)
  68157. */
  68158. areaspline?: PlotAreasplineOptions;
  68159. /**
  68160. * (Highcharts, Highstock) The area spline range is a cartesian series type
  68161. * with higher and lower Y values along an X axis. The area inside the range
  68162. * is colored, and the graph outlining the area is a smoothed spline.
  68163. *
  68164. * In TypeScript the type option must always be set.
  68165. *
  68166. * Configuration options for the series are given in three levels:
  68167. *
  68168. * 1. Options for all series in a chart are defined in the
  68169. * plotOptions.series object.
  68170. *
  68171. * 2. Options for all `areasplinerange` series are defined in
  68172. * plotOptions.areasplinerange.
  68173. *
  68174. * 3. Options for one single series are given in the series instance array.
  68175. * (see online documentation for example)
  68176. */
  68177. areasplinerange?: PlotAreasplinerangeOptions;
  68178. /**
  68179. * (Highstock) Aroon. This series requires the `linkedTo` option to be set
  68180. * and should be loaded after the `stock/indicators/indicators.js`.
  68181. *
  68182. * In TypeScript the type option must always be set.
  68183. *
  68184. * Configuration options for the series are given in three levels:
  68185. *
  68186. * 1. Options for all series in a chart are defined in the
  68187. * plotOptions.series object.
  68188. *
  68189. * 2. Options for all `aroon` series are defined in plotOptions.aroon.
  68190. *
  68191. * 3. Options for one single series are given in the series instance array.
  68192. * (see online documentation for example)
  68193. */
  68194. aroon?: PlotAroonOptions;
  68195. /**
  68196. * (Highstock) Aroon Oscillator. This series requires the `linkedTo` option
  68197. * to be set and should be loaded after the `stock/indicators/indicators.js`
  68198. * and `stock/indicators/aroon.js`.
  68199. *
  68200. * In TypeScript the type option must always be set.
  68201. *
  68202. * Configuration options for the series are given in three levels:
  68203. *
  68204. * 1. Options for all series in a chart are defined in the
  68205. * plotOptions.series object.
  68206. *
  68207. * 2. Options for all `aroonoscillator` series are defined in
  68208. * plotOptions.aroonoscillator.
  68209. *
  68210. * 3. Options for one single series are given in the series instance array.
  68211. * (see online documentation for example)
  68212. */
  68213. aroonoscillator?: PlotAroonoscillatorOptions;
  68214. /**
  68215. * (Highstock) Average true range indicator (ATR). This series requires
  68216. * `linkedTo` option to be set.
  68217. *
  68218. * In TypeScript the type option must always be set.
  68219. *
  68220. * Configuration options for the series are given in three levels:
  68221. *
  68222. * 1. Options for all series in a chart are defined in the
  68223. * plotOptions.series object.
  68224. *
  68225. * 2. Options for all `atr` series are defined in plotOptions.atr.
  68226. *
  68227. * 3. Options for one single series are given in the series instance array.
  68228. * (see online documentation for example)
  68229. */
  68230. atr?: PlotAtrOptions;
  68231. /**
  68232. * (Highcharts) A bar series is a special type of column series where the
  68233. * columns are horizontal.
  68234. *
  68235. * In TypeScript the type option must always be set.
  68236. *
  68237. * Configuration options for the series are given in three levels:
  68238. *
  68239. * 1. Options for all series in a chart are defined in the
  68240. * plotOptions.series object.
  68241. *
  68242. * 2. Options for all `bar` series are defined in plotOptions.bar.
  68243. *
  68244. * 3. Options for one single series are given in the series instance array.
  68245. * (see online documentation for example)
  68246. */
  68247. bar?: PlotBarOptions;
  68248. /**
  68249. * (Highstock) Bollinger bands (BB). This series requires the `linkedTo`
  68250. * option to be set and should be loaded after the
  68251. * `stock/indicators/indicators.js` file.
  68252. *
  68253. * In TypeScript the type option must always be set.
  68254. *
  68255. * Configuration options for the series are given in three levels:
  68256. *
  68257. * 1. Options for all series in a chart are defined in the
  68258. * plotOptions.series object.
  68259. *
  68260. * 2. Options for all `bb` series are defined in plotOptions.bb.
  68261. *
  68262. * 3. Options for one single series are given in the series instance array.
  68263. * (see online documentation for example)
  68264. */
  68265. bb?: PlotBbOptions;
  68266. /**
  68267. * (Highcharts) A bell curve is an areaspline series which represents the
  68268. * probability density function of the normal distribution. It calculates
  68269. * mean and standard deviation of the base series data and plots the curve
  68270. * according to the calculated parameters.
  68271. *
  68272. * In TypeScript the type option must always be set.
  68273. *
  68274. * Configuration options for the series are given in three levels:
  68275. *
  68276. * 1. Options for all series in a chart are defined in the
  68277. * plotOptions.series object.
  68278. *
  68279. * 2. Options for all `bellcurve` series are defined in
  68280. * plotOptions.bellcurve.
  68281. *
  68282. * 3. Options for one single series are given in the series instance array.
  68283. * (see online documentation for example)
  68284. */
  68285. bellcurve?: PlotBellcurveOptions;
  68286. /**
  68287. * (Highcharts) A box plot is a convenient way of depicting groups of data
  68288. * through their five-number summaries: the smallest observation (sample
  68289. * minimum), lower quartile (Q1), median (Q2), upper quartile (Q3), and
  68290. * largest observation (sample maximum).
  68291. *
  68292. * In TypeScript the type option must always be set.
  68293. *
  68294. * Configuration options for the series are given in three levels:
  68295. *
  68296. * 1. Options for all series in a chart are defined in the
  68297. * plotOptions.series object.
  68298. *
  68299. * 2. Options for all `boxplot` series are defined in plotOptions.boxplot.
  68300. *
  68301. * 3. Options for one single series are given in the series instance array.
  68302. * (see online documentation for example)
  68303. */
  68304. boxplot?: PlotBoxplotOptions;
  68305. /**
  68306. * (Highcharts, Highstock) A bubble series is a three dimensional series
  68307. * type where each point renders an X, Y and Z value. Each points is drawn
  68308. * as a bubble where the position along the X and Y axes mark the X and Y
  68309. * values, and the size of the bubble relates to the Z value.
  68310. *
  68311. * In TypeScript the type option must always be set.
  68312. *
  68313. * Configuration options for the series are given in three levels:
  68314. *
  68315. * 1. Options for all series in a chart are defined in the
  68316. * plotOptions.series object.
  68317. *
  68318. * 2. Options for all `bubble` series are defined in plotOptions.bubble.
  68319. *
  68320. * 3. Options for one single series are given in the series instance array.
  68321. * (see online documentation for example)
  68322. */
  68323. bubble?: PlotBubbleOptions;
  68324. /**
  68325. * (Highcharts) A bullet graph is a variation of a bar graph. The bullet
  68326. * graph features a single measure, compares it to a target, and displays it
  68327. * in the context of qualitative ranges of performance that could be set
  68328. * using plotBands on yAxis.
  68329. *
  68330. * In TypeScript the type option must always be set.
  68331. *
  68332. * Configuration options for the series are given in three levels:
  68333. *
  68334. * 1. Options for all series in a chart are defined in the
  68335. * plotOptions.series object.
  68336. *
  68337. * 2. Options for all `bullet` series are defined in plotOptions.bullet.
  68338. *
  68339. * 3. Options for one single series are given in the series instance array.
  68340. * (see online documentation for example)
  68341. */
  68342. bullet?: PlotBulletOptions;
  68343. /**
  68344. * (Highstock) A candlestick chart is a style of financial chart used to
  68345. * describe price movements over time.
  68346. *
  68347. * In TypeScript the type option must always be set.
  68348. *
  68349. * Configuration options for the series are given in three levels:
  68350. *
  68351. * 1. Options for all series in a chart are defined in the
  68352. * plotOptions.series object.
  68353. *
  68354. * 2. Options for all `candlestick` series are defined in
  68355. * plotOptions.candlestick.
  68356. *
  68357. * 3. Options for one single series are given in the series instance array.
  68358. * (see online documentation for example)
  68359. */
  68360. candlestick?: PlotCandlestickOptions;
  68361. /**
  68362. * (Highstock) Commodity Channel Index (CCI). This series requires
  68363. * `linkedTo` option to be set.
  68364. *
  68365. * In TypeScript the type option must always be set.
  68366. *
  68367. * Configuration options for the series are given in three levels:
  68368. *
  68369. * 1. Options for all series in a chart are defined in the
  68370. * plotOptions.series object.
  68371. *
  68372. * 2. Options for all `cci` series are defined in plotOptions.cci.
  68373. *
  68374. * 3. Options for one single series are given in the series instance array.
  68375. * (see online documentation for example)
  68376. */
  68377. cci?: PlotCciOptions;
  68378. /**
  68379. * (Highstock) Chaikin Oscillator. This series requires the `linkedTo`
  68380. * option to be set and should be loaded after the
  68381. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  68382. *
  68383. * In TypeScript the type option must always be set.
  68384. *
  68385. * Configuration options for the series are given in three levels:
  68386. *
  68387. * 1. Options for all series in a chart are defined in the
  68388. * plotOptions.series object.
  68389. *
  68390. * 2. Options for all `chaikin` series are defined in plotOptions.chaikin.
  68391. *
  68392. * 3. Options for one single series are given in the series instance array.
  68393. * (see online documentation for example)
  68394. */
  68395. chaikin?: PlotChaikinOptions;
  68396. /**
  68397. * (Highstock) Chaikin Money Flow indicator (cmf).
  68398. *
  68399. * In TypeScript the type option must always be set.
  68400. *
  68401. * Configuration options for the series are given in three levels:
  68402. *
  68403. * 1. Options for all series in a chart are defined in the
  68404. * plotOptions.series object.
  68405. *
  68406. * 2. Options for all `cmf` series are defined in plotOptions.cmf.
  68407. *
  68408. * 3. Options for one single series are given in the series instance array.
  68409. * (see online documentation for example)
  68410. */
  68411. cmf?: PlotCmfOptions;
  68412. /**
  68413. * (Highstock) Chande Momentum Oscilator (CMO) technical indicator. This
  68414. * series requires the `linkedTo` option to be set and should be loaded
  68415. * after the `stock/indicators/indicators.js` file.
  68416. *
  68417. * In TypeScript the type option must always be set.
  68418. *
  68419. * Configuration options for the series are given in three levels:
  68420. *
  68421. * 1. Options for all series in a chart are defined in the
  68422. * plotOptions.series object.
  68423. *
  68424. * 2. Options for all `cmo` series are defined in plotOptions.cmo.
  68425. *
  68426. * 3. Options for one single series are given in the series instance array.
  68427. * (see online documentation for example)
  68428. */
  68429. cmo?: PlotCmoOptions;
  68430. /**
  68431. * (Highcharts, Highstock) Column series display one column per value along
  68432. * an X axis.
  68433. *
  68434. * In TypeScript the type option must always be set.
  68435. *
  68436. * Configuration options for the series are given in three levels:
  68437. *
  68438. * 1. Options for all series in a chart are defined in the
  68439. * plotOptions.series object.
  68440. *
  68441. * 2. Options for all `column` series are defined in plotOptions.column.
  68442. *
  68443. * 3. Options for one single series are given in the series instance array.
  68444. * (see online documentation for example)
  68445. */
  68446. column?: PlotColumnOptions;
  68447. /**
  68448. * (Highcharts, Highstock) Column pyramid series display one pyramid per
  68449. * value along an X axis. To display horizontal pyramids, set chart.inverted
  68450. * to `true`.
  68451. *
  68452. * In TypeScript the type option must always be set.
  68453. *
  68454. * Configuration options for the series are given in three levels:
  68455. *
  68456. * 1. Options for all series in a chart are defined in the
  68457. * plotOptions.series object.
  68458. *
  68459. * 2. Options for all `columnpyramid` series are defined in
  68460. * plotOptions.columnpyramid.
  68461. *
  68462. * 3. Options for one single series are given in the series instance array.
  68463. * (see online documentation for example)
  68464. */
  68465. columnpyramid?: PlotColumnpyramidOptions;
  68466. /**
  68467. * (Highcharts, Highstock) The column range is a cartesian series type with
  68468. * higher and lower Y values along an X axis. To display horizontal bars,
  68469. * set chart.inverted to `true`.
  68470. *
  68471. * In TypeScript the type option must always be set.
  68472. *
  68473. * Configuration options for the series are given in three levels:
  68474. *
  68475. * 1. Options for all series in a chart are defined in the
  68476. * plotOptions.series object.
  68477. *
  68478. * 2. Options for all `columnrange` series are defined in
  68479. * plotOptions.columnrange.
  68480. *
  68481. * 3. Options for one single series are given in the series instance array.
  68482. * (see online documentation for example)
  68483. */
  68484. columnrange?: PlotColumnrangeOptions;
  68485. /**
  68486. * (Highcharts) A cylinder graph is a variation of a 3d column graph. The
  68487. * cylinder graph features cylindrical points.
  68488. *
  68489. * In TypeScript the type option must always be set.
  68490. *
  68491. * Configuration options for the series are given in three levels:
  68492. *
  68493. * 1. Options for all series in a chart are defined in the
  68494. * plotOptions.series object.
  68495. *
  68496. * 2. Options for all `cylinder` series are defined in plotOptions.cylinder.
  68497. *
  68498. * 3. Options for one single series are given in the series instance array.
  68499. * (see online documentation for example)
  68500. */
  68501. cylinder?: PlotCylinderOptions;
  68502. /**
  68503. * (Highstock) Double exponential moving average (DEMA) indicator. This
  68504. * series requires `linkedTo` option to be set and should be loaded after
  68505. * the `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  68506. *
  68507. * In TypeScript the type option must always be set.
  68508. *
  68509. * Configuration options for the series are given in three levels:
  68510. *
  68511. * 1. Options for all series in a chart are defined in the
  68512. * plotOptions.series object.
  68513. *
  68514. * 2. Options for all `dema` series are defined in plotOptions.dema.
  68515. *
  68516. * 3. Options for one single series are given in the series instance array.
  68517. * (see online documentation for example)
  68518. */
  68519. dema?: PlotDemaOptions;
  68520. /**
  68521. * (Highcharts) A dependency wheel chart is a type of flow diagram, where
  68522. * all nodes are laid out in a circle, and the flow between the are drawn as
  68523. * link bands.
  68524. *
  68525. * In TypeScript the type option must always be set.
  68526. *
  68527. * Configuration options for the series are given in three levels:
  68528. *
  68529. * 1. Options for all series in a chart are defined in the
  68530. * plotOptions.series object.
  68531. *
  68532. * 2. Options for all `dependencywheel` series are defined in
  68533. * plotOptions.dependencywheel.
  68534. *
  68535. * 3. Options for one single series are given in the series instance array.
  68536. * (see online documentation for example)
  68537. */
  68538. dependencywheel?: PlotDependencywheelOptions;
  68539. /**
  68540. * (Highstock) Disparity Index. This series requires the `linkedTo` option
  68541. * to be set and should be loaded after the `stock/indicators/indicators.js`
  68542. * file.
  68543. *
  68544. * In TypeScript the type option must always be set.
  68545. *
  68546. * Configuration options for the series are given in three levels:
  68547. *
  68548. * 1. Options for all series in a chart are defined in the
  68549. * plotOptions.series object.
  68550. *
  68551. * 2. Options for all `disparityindex` series are defined in
  68552. * plotOptions.disparityindex.
  68553. *
  68554. * 3. Options for one single series are given in the series instance array.
  68555. * (see online documentation for example)
  68556. */
  68557. disparityindex?: PlotDisparityindexOptions;
  68558. /**
  68559. * (Highstock) Directional Movement Index (DMI). This series requires the
  68560. * `linkedTo` option to be set and should be loaded after the
  68561. * `stock/indicators/indicators.js` file.
  68562. *
  68563. * In TypeScript the type option must always be set.
  68564. *
  68565. * Configuration options for the series are given in three levels:
  68566. *
  68567. * 1. Options for all series in a chart are defined in the
  68568. * plotOptions.series object.
  68569. *
  68570. * 2. Options for all `dmi` series are defined in plotOptions.dmi.
  68571. *
  68572. * 3. Options for one single series are given in the series instance array.
  68573. * (see online documentation for example)
  68574. */
  68575. dmi?: PlotDmiOptions;
  68576. /**
  68577. * (Highstock) Detrended Price Oscillator. This series requires the
  68578. * `linkedTo` option to be set and should be loaded after the
  68579. * `stock/indicators/indicators.js`.
  68580. *
  68581. * In TypeScript the type option must always be set.
  68582. *
  68583. * Configuration options for the series are given in three levels:
  68584. *
  68585. * 1. Options for all series in a chart are defined in the
  68586. * plotOptions.series object.
  68587. *
  68588. * 2. Options for all `dpo` series are defined in plotOptions.dpo.
  68589. *
  68590. * 3. Options for one single series are given in the series instance array.
  68591. * (see online documentation for example)
  68592. */
  68593. dpo?: PlotDpoOptions;
  68594. /**
  68595. * (Highcharts, Highstock) The dumbbell series is a cartesian series with
  68596. * higher and lower values for each point along an X axis, connected with a
  68597. * line between the values.
  68598. *
  68599. * Requires `highcharts-more.js` and `modules/dumbbell.js`.
  68600. *
  68601. * In TypeScript the type option must always be set.
  68602. *
  68603. * Configuration options for the series are given in three levels:
  68604. *
  68605. * 1. Options for all series in a chart are defined in the
  68606. * plotOptions.series object.
  68607. *
  68608. * 2. Options for all `dumbbell` series are defined in plotOptions.dumbbell.
  68609. *
  68610. * 3. Options for one single series are given in the series instance array.
  68611. * (see online documentation for example)
  68612. */
  68613. dumbbell?: PlotDumbbellOptions;
  68614. /**
  68615. * (Highstock) Exponential moving average indicator (EMA). This series
  68616. * requires the `linkedTo` option to be set.
  68617. *
  68618. * In TypeScript the type option must always be set.
  68619. *
  68620. * Configuration options for the series are given in three levels:
  68621. *
  68622. * 1. Options for all series in a chart are defined in the
  68623. * plotOptions.series object.
  68624. *
  68625. * 2. Options for all `ema` series are defined in plotOptions.ema.
  68626. *
  68627. * 3. Options for one single series are given in the series instance array.
  68628. * (see online documentation for example)
  68629. */
  68630. ema?: PlotEmaOptions;
  68631. /**
  68632. * (Highcharts, Highstock) Error bars are a graphical representation of the
  68633. * variability of data and are used on graphs to indicate the error, or
  68634. * uncertainty in a reported measurement.
  68635. *
  68636. * In TypeScript the type option must always be set.
  68637. *
  68638. * Configuration options for the series are given in three levels:
  68639. *
  68640. * 1. Options for all series in a chart are defined in the
  68641. * plotOptions.series object.
  68642. *
  68643. * 2. Options for all `errorbar` series are defined in plotOptions.errorbar.
  68644. *
  68645. * 3. Options for one single series are given in the series instance array.
  68646. * (see online documentation for example)
  68647. */
  68648. errorbar?: PlotErrorbarOptions;
  68649. /**
  68650. * (Highstock) Flags are used to mark events in stock charts. They can be
  68651. * added on the timeline, or attached to a specific series.
  68652. *
  68653. * In TypeScript the type option must always be set.
  68654. *
  68655. * Configuration options for the series are given in three levels:
  68656. *
  68657. * 1. Options for all series in a chart are defined in the
  68658. * plotOptions.series object.
  68659. *
  68660. * 2. Options for all `flags` series are defined in plotOptions.flags.
  68661. *
  68662. * 3. Options for one single series are given in the series instance array.
  68663. * (see online documentation for example)
  68664. */
  68665. flags?: PlotFlagsOptions;
  68666. /**
  68667. * (Highcharts) Funnel charts are a type of chart often used to visualize
  68668. * stages in a sales project, where the top are the initial stages with the
  68669. * most clients. It requires that the modules/funnel.js file is loaded.
  68670. *
  68671. * In TypeScript the type option must always be set.
  68672. *
  68673. * Configuration options for the series are given in three levels:
  68674. *
  68675. * 1. Options for all series in a chart are defined in the
  68676. * plotOptions.series object.
  68677. *
  68678. * 2. Options for all `funnel` series are defined in plotOptions.funnel.
  68679. *
  68680. * 3. Options for one single series are given in the series instance array.
  68681. * (see online documentation for example)
  68682. */
  68683. funnel?: PlotFunnelOptions;
  68684. /**
  68685. * (Highcharts) A funnel3d is a 3d version of funnel series type. Funnel
  68686. * charts are a type of chart often used to visualize stages in a sales
  68687. * project, where the top are the initial stages with the most clients.
  68688. *
  68689. * It requires that the `highcharts-3d.js`, `cylinder.js` and `funnel3d.js`
  68690. * module are loaded.
  68691. *
  68692. * In TypeScript the type option must always be set.
  68693. *
  68694. * Configuration options for the series are given in three levels:
  68695. *
  68696. * 1. Options for all series in a chart are defined in the
  68697. * plotOptions.series object.
  68698. *
  68699. * 2. Options for all `funnel3d` series are defined in plotOptions.funnel3d.
  68700. *
  68701. * 3. Options for one single series are given in the series instance array.
  68702. * (see online documentation for example)
  68703. */
  68704. funnel3d?: PlotFunnel3dOptions;
  68705. /**
  68706. * (Gantt) A `gantt` series. If the type option is not specified, it is
  68707. * inherited from chart.type.
  68708. *
  68709. * In TypeScript the type option must always be set.
  68710. *
  68711. * Configuration options for the series are given in three levels:
  68712. *
  68713. * 1. Options for all series in a chart are defined in the
  68714. * plotOptions.series object.
  68715. *
  68716. * 2. Options for all `gantt` series are defined in plotOptions.gantt.
  68717. *
  68718. * 3. Options for one single series are given in the series instance array.
  68719. * (see online documentation for example)
  68720. */
  68721. gantt?: PlotGanttOptions;
  68722. /**
  68723. * (Highcharts) Gauges are circular plots displaying one or more values with
  68724. * a dial pointing to values along the perimeter.
  68725. *
  68726. * In TypeScript the type option must always be set.
  68727. *
  68728. * Configuration options for the series are given in three levels:
  68729. *
  68730. * 1. Options for all series in a chart are defined in the
  68731. * plotOptions.series object.
  68732. *
  68733. * 2. Options for all `gauge` series are defined in plotOptions.gauge.
  68734. *
  68735. * 3. Options for one single series are given in the series instance array.
  68736. * (see online documentation for example)
  68737. */
  68738. gauge?: PlotGaugeOptions;
  68739. /**
  68740. * (Highcharts, Highmaps) A heatmap is a graphical representation of data
  68741. * where the individual values contained in a matrix are represented as
  68742. * colors.
  68743. *
  68744. * In TypeScript the type option must always be set.
  68745. *
  68746. * Configuration options for the series are given in three levels:
  68747. *
  68748. * 1. Options for all series in a chart are defined in the
  68749. * plotOptions.series object.
  68750. *
  68751. * 2. Options for all `heatmap` series are defined in plotOptions.heatmap.
  68752. *
  68753. * 3. Options for one single series are given in the series instance array.
  68754. * (see online documentation for example)
  68755. */
  68756. heatmap?: PlotHeatmapOptions;
  68757. /**
  68758. * (Highcharts) A histogram is a column series which represents the
  68759. * distribution of the data set in the base series. Histogram splits data
  68760. * into bins and shows their frequencies.
  68761. *
  68762. * In TypeScript the type option must always be set.
  68763. *
  68764. * Configuration options for the series are given in three levels:
  68765. *
  68766. * 1. Options for all series in a chart are defined in the
  68767. * plotOptions.series object.
  68768. *
  68769. * 2. Options for all `histogram` series are defined in
  68770. * plotOptions.histogram.
  68771. *
  68772. * 3. Options for one single series are given in the series instance array.
  68773. * (see online documentation for example)
  68774. */
  68775. histogram?: PlotHistogramOptions;
  68776. /**
  68777. * (Highstock) Ichimoku Kinko Hyo (IKH). This series requires `linkedTo`
  68778. * option to be set.
  68779. *
  68780. * In TypeScript the type option must always be set.
  68781. *
  68782. * Configuration options for the series are given in three levels:
  68783. *
  68784. * 1. Options for all series in a chart are defined in the
  68785. * plotOptions.series object.
  68786. *
  68787. * 2. Options for all `ikh` series are defined in plotOptions.ikh.
  68788. *
  68789. * 3. Options for one single series are given in the series instance array.
  68790. * (see online documentation for example)
  68791. */
  68792. ikh?: PlotIkhOptions;
  68793. /**
  68794. * (Highcharts) An item chart is an infographic chart where a number of
  68795. * items are laid out in either a rectangular or circular pattern. It can be
  68796. * used to visualize counts within a group, or for the circular pattern,
  68797. * typically a parliament.
  68798. *
  68799. * The circular layout has much in common with a pie chart. Many of the item
  68800. * series options, like `center`, `size` and data label positioning, are
  68801. * inherited from the pie series and don't apply for rectangular layouts.
  68802. *
  68803. * In TypeScript the type option must always be set.
  68804. *
  68805. * Configuration options for the series are given in three levels:
  68806. *
  68807. * 1. Options for all series in a chart are defined in the
  68808. * plotOptions.series object.
  68809. *
  68810. * 2. Options for all `item` series are defined in plotOptions.item.
  68811. *
  68812. * 3. Options for one single series are given in the series instance array.
  68813. * (see online documentation for example)
  68814. */
  68815. item?: PlotItemOptions;
  68816. /**
  68817. * (Highstock) Keltner Channels. This series requires the `linkedTo` option
  68818. * to be set and should be loaded after the
  68819. * `stock/indicators/indicators.js`, `stock/indicators/atr.js`, and
  68820. * `stock/ema/.js`.
  68821. *
  68822. * In TypeScript the type option must always be set.
  68823. *
  68824. * Configuration options for the series are given in three levels:
  68825. *
  68826. * 1. Options for all series in a chart are defined in the
  68827. * plotOptions.series object.
  68828. *
  68829. * 2. Options for all `keltnerchannels` series are defined in
  68830. * plotOptions.keltnerchannels.
  68831. *
  68832. * 3. Options for one single series are given in the series instance array.
  68833. * (see online documentation for example)
  68834. */
  68835. keltnerchannels?: PlotKeltnerchannelsOptions;
  68836. /**
  68837. * (Highstock) Klinger oscillator. This series requires the `linkedTo`
  68838. * option to be set and should be loaded after the
  68839. * `stock/indicators/indicators.js` file.
  68840. *
  68841. * In TypeScript the type option must always be set.
  68842. *
  68843. * Configuration options for the series are given in three levels:
  68844. *
  68845. * 1. Options for all series in a chart are defined in the
  68846. * plotOptions.series object.
  68847. *
  68848. * 2. Options for all `klinger` series are defined in plotOptions.klinger.
  68849. *
  68850. * 3. Options for one single series are given in the series instance array.
  68851. * (see online documentation for example)
  68852. */
  68853. klinger?: PlotKlingerOptions;
  68854. /**
  68855. * (Highcharts, Highstock) A line series displays information as a series of
  68856. * data points connected by straight line segments.
  68857. *
  68858. * In TypeScript the type option must always be set.
  68859. *
  68860. * Configuration options for the series are given in three levels:
  68861. *
  68862. * 1. Options for all series in a chart are defined in the
  68863. * plotOptions.series object.
  68864. *
  68865. * 2. Options for all `line` series are defined in plotOptions.line.
  68866. *
  68867. * 3. Options for one single series are given in the series instance array.
  68868. * (see online documentation for example)
  68869. */
  68870. line?: PlotLineOptions;
  68871. /**
  68872. * (Highstock) Linear regression indicator. This series requires `linkedTo`
  68873. * option to be set.
  68874. *
  68875. * In TypeScript the type option must always be set.
  68876. *
  68877. * Configuration options for the series are given in three levels:
  68878. *
  68879. * 1. Options for all series in a chart are defined in the
  68880. * plotOptions.series object.
  68881. *
  68882. * 2. Options for all `linearregression` series are defined in
  68883. * plotOptions.linearregression.
  68884. *
  68885. * 3. Options for one single series are given in the series instance array.
  68886. * (see online documentation for example)
  68887. */
  68888. linearregression?: PlotLinearregressionOptions;
  68889. /**
  68890. * (Highstock) Linear regression angle indicator. This series requires
  68891. * `linkedTo` option to be set.
  68892. *
  68893. * In TypeScript the type option must always be set.
  68894. *
  68895. * Configuration options for the series are given in three levels:
  68896. *
  68897. * 1. Options for all series in a chart are defined in the
  68898. * plotOptions.series object.
  68899. *
  68900. * 2. Options for all `linearregressionangle` series are defined in
  68901. * plotOptions.linearregressionangle.
  68902. *
  68903. * 3. Options for one single series are given in the series instance array.
  68904. * (see online documentation for example)
  68905. */
  68906. linearregressionangle?: PlotLinearregressionangleOptions;
  68907. /**
  68908. * (Highstock) Linear regression intercept indicator. This series requires
  68909. * `linkedTo` option to be set.
  68910. *
  68911. * In TypeScript the type option must always be set.
  68912. *
  68913. * Configuration options for the series are given in three levels:
  68914. *
  68915. * 1. Options for all series in a chart are defined in the
  68916. * plotOptions.series object.
  68917. *
  68918. * 2. Options for all `linearregressionintercept` series are defined in
  68919. * plotOptions.linearregressionintercept.
  68920. *
  68921. * 3. Options for one single series are given in the series instance array.
  68922. * (see online documentation for example)
  68923. */
  68924. linearregressionintercept?: PlotLinearregressioninterceptOptions;
  68925. /**
  68926. * (Highstock) Linear regression slope indicator. This series requires
  68927. * `linkedTo` option to be set.
  68928. *
  68929. * In TypeScript the type option must always be set.
  68930. *
  68931. * Configuration options for the series are given in three levels:
  68932. *
  68933. * 1. Options for all series in a chart are defined in the
  68934. * plotOptions.series object.
  68935. *
  68936. * 2. Options for all `linearregressionslope` series are defined in
  68937. * plotOptions.linearregressionslope.
  68938. *
  68939. * 3. Options for one single series are given in the series instance array.
  68940. * (see online documentation for example)
  68941. */
  68942. linearregressionslope?: PlotLinearregressionslopeOptions;
  68943. /**
  68944. * (Highcharts, Highstock) The lollipop series is a carteseian series with a
  68945. * line anchored from the x axis and a dot at the end to mark the value.
  68946. * Requires `highcharts-more.js`, `modules/dumbbell.js` and
  68947. * `modules/lollipop.js`.
  68948. *
  68949. * In TypeScript the type option must always be set.
  68950. *
  68951. * Configuration options for the series are given in three levels:
  68952. *
  68953. * 1. Options for all series in a chart are defined in the
  68954. * plotOptions.series object.
  68955. *
  68956. * 2. Options for all `lollipop` series are defined in plotOptions.lollipop.
  68957. *
  68958. * 3. Options for one single series are given in the series instance array.
  68959. * (see online documentation for example)
  68960. */
  68961. lollipop?: PlotLollipopOptions;
  68962. /**
  68963. * (Highstock) Moving Average Convergence Divergence (MACD). This series
  68964. * requires `linkedTo` option to be set and should be loaded after the
  68965. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  68966. *
  68967. * In TypeScript the type option must always be set.
  68968. *
  68969. * Configuration options for the series are given in three levels:
  68970. *
  68971. * 1. Options for all series in a chart are defined in the
  68972. * plotOptions.series object.
  68973. *
  68974. * 2. Options for all `macd` series are defined in plotOptions.macd.
  68975. *
  68976. * 3. Options for one single series are given in the series instance array.
  68977. * (see online documentation for example)
  68978. */
  68979. macd?: PlotMacdOptions;
  68980. /**
  68981. * (Highmaps) The map series is used for basic choropleth maps, where each
  68982. * map area has a color based on its value.
  68983. *
  68984. * In TypeScript the type option must always be set.
  68985. *
  68986. * Configuration options for the series are given in three levels:
  68987. *
  68988. * 1. Options for all series in a chart are defined in the
  68989. * plotOptions.series object.
  68990. *
  68991. * 2. Options for all `map` series are defined in plotOptions.map.
  68992. *
  68993. * 3. Options for one single series are given in the series instance array.
  68994. * (see online documentation for example)
  68995. */
  68996. map?: PlotMapOptions;
  68997. /**
  68998. * (Highmaps) A map bubble series is a bubble series laid out on top of a
  68999. * map series, where each bubble is tied to a specific map area.
  69000. *
  69001. * In TypeScript the type option must always be set.
  69002. *
  69003. * Configuration options for the series are given in three levels:
  69004. *
  69005. * 1. Options for all series in a chart are defined in the
  69006. * plotOptions.series object.
  69007. *
  69008. * 2. Options for all `mapbubble` series are defined in
  69009. * plotOptions.mapbubble.
  69010. *
  69011. * 3. Options for one single series are given in the series instance array.
  69012. * (see online documentation for example)
  69013. */
  69014. mapbubble?: PlotMapbubbleOptions;
  69015. /**
  69016. * (Highmaps) A mapline series is a special case of the map series where the
  69017. * value colors are applied to the strokes rather than the fills. It can
  69018. * also be used for freeform drawing, like dividers, in the map.
  69019. *
  69020. * In TypeScript the type option must always be set.
  69021. *
  69022. * Configuration options for the series are given in three levels:
  69023. *
  69024. * 1. Options for all series in a chart are defined in the
  69025. * plotOptions.series object.
  69026. *
  69027. * 2. Options for all `mapline` series are defined in plotOptions.mapline.
  69028. *
  69029. * 3. Options for one single series are given in the series instance array.
  69030. * (see online documentation for example)
  69031. */
  69032. mapline?: PlotMaplineOptions;
  69033. /**
  69034. * (Highmaps) A mappoint series is a special form of scatter series where
  69035. * the points can be laid out in map coordinates on top of a map.
  69036. *
  69037. * In TypeScript the type option must always be set.
  69038. *
  69039. * Configuration options for the series are given in three levels:
  69040. *
  69041. * 1. Options for all series in a chart are defined in the
  69042. * plotOptions.series object.
  69043. *
  69044. * 2. Options for all `mappoint` series are defined in plotOptions.mappoint.
  69045. *
  69046. * 3. Options for one single series are given in the series instance array.
  69047. * (see online documentation for example)
  69048. */
  69049. mappoint?: PlotMappointOptions;
  69050. /**
  69051. * (Highstock) Money Flow Index. This series requires `linkedTo` option to
  69052. * be set and should be loaded after the `stock/indicators/indicators.js`
  69053. * file.
  69054. *
  69055. * In TypeScript the type option must always be set.
  69056. *
  69057. * Configuration options for the series are given in three levels:
  69058. *
  69059. * 1. Options for all series in a chart are defined in the
  69060. * plotOptions.series object.
  69061. *
  69062. * 2. Options for all `mfi` series are defined in plotOptions.mfi.
  69063. *
  69064. * 3. Options for one single series are given in the series instance array.
  69065. * (see online documentation for example)
  69066. */
  69067. mfi?: PlotMfiOptions;
  69068. /**
  69069. * (Highstock) Momentum. This series requires `linkedTo` option to be set.
  69070. *
  69071. * In TypeScript the type option must always be set.
  69072. *
  69073. * Configuration options for the series are given in three levels:
  69074. *
  69075. * 1. Options for all series in a chart are defined in the
  69076. * plotOptions.series object.
  69077. *
  69078. * 2. Options for all `momentum` series are defined in plotOptions.momentum.
  69079. *
  69080. * 3. Options for one single series are given in the series instance array.
  69081. * (see online documentation for example)
  69082. */
  69083. momentum?: PlotMomentumOptions;
  69084. /**
  69085. * (Highstock) Normalized average true range indicator (NATR). This series
  69086. * requires `linkedTo` option to be set and should be loaded after the
  69087. * `stock/indicators/indicators.js` and `stock/indicators/atr.js`.
  69088. *
  69089. * In TypeScript the type option must always be set.
  69090. *
  69091. * Configuration options for the series are given in three levels:
  69092. *
  69093. * 1. Options for all series in a chart are defined in the
  69094. * plotOptions.series object.
  69095. *
  69096. * 2. Options for all `natr` series are defined in plotOptions.natr.
  69097. *
  69098. * 3. Options for one single series are given in the series instance array.
  69099. * (see online documentation for example)
  69100. */
  69101. natr?: PlotNatrOptions;
  69102. /**
  69103. * (Highcharts) A networkgraph is a type of relationship chart, where
  69104. * connnections (links) attracts nodes (points) and other nodes repulse each
  69105. * other.
  69106. *
  69107. * In TypeScript the type option must always be set.
  69108. *
  69109. * Configuration options for the series are given in three levels:
  69110. *
  69111. * 1. Options for all series in a chart are defined in the
  69112. * plotOptions.series object.
  69113. *
  69114. * 2. Options for all `networkgraph` series are defined in
  69115. * plotOptions.networkgraph.
  69116. *
  69117. * 3. Options for one single series are given in the series instance array.
  69118. * (see online documentation for example)
  69119. */
  69120. networkgraph?: PlotNetworkgraphOptions;
  69121. /**
  69122. * (Highstock) On-Balance Volume (OBV) technical indicator. This series
  69123. * requires the `linkedTo` option to be set and should be loaded after the
  69124. * `stock/indicators/indicators.js` file. Through the `volumeSeriesID` there
  69125. * also should be linked the volume series.
  69126. *
  69127. * In TypeScript the type option must always be set.
  69128. *
  69129. * Configuration options for the series are given in three levels:
  69130. *
  69131. * 1. Options for all series in a chart are defined in the
  69132. * plotOptions.series object.
  69133. *
  69134. * 2. Options for all `obv` series are defined in plotOptions.obv.
  69135. *
  69136. * 3. Options for one single series are given in the series instance array.
  69137. * (see online documentation for example)
  69138. */
  69139. obv?: PlotObvOptions;
  69140. /**
  69141. * (Highstock) An OHLC chart is a style of financial chart used to describe
  69142. * price movements over time. It displays open, high, low and close values
  69143. * per data point.
  69144. *
  69145. * In TypeScript the type option must always be set.
  69146. *
  69147. * Configuration options for the series are given in three levels:
  69148. *
  69149. * 1. Options for all series in a chart are defined in the
  69150. * plotOptions.series object.
  69151. *
  69152. * 2. Options for all `ohlc` series are defined in plotOptions.ohlc.
  69153. *
  69154. * 3. Options for one single series are given in the series instance array.
  69155. * (see online documentation for example)
  69156. */
  69157. ohlc?: PlotOhlcOptions;
  69158. /**
  69159. * (Highcharts) An organization chart is a diagram that shows the structure
  69160. * of an organization and the relationships and relative ranks of its parts
  69161. * and positions.
  69162. *
  69163. * In TypeScript the type option must always be set.
  69164. *
  69165. * Configuration options for the series are given in three levels:
  69166. *
  69167. * 1. Options for all series in a chart are defined in the
  69168. * plotOptions.series object.
  69169. *
  69170. * 2. Options for all `organization` series are defined in
  69171. * plotOptions.organization.
  69172. *
  69173. * 3. Options for one single series are given in the series instance array.
  69174. * (see online documentation for example)
  69175. */
  69176. organization?: PlotOrganizationOptions;
  69177. /**
  69178. * (Highcharts) A packed bubble series is a two dimensional series type,
  69179. * where each point renders a value in X, Y position. Each point is drawn as
  69180. * a bubble where the bubbles don't overlap with each other and the radius
  69181. * of the bubble relates to the value.
  69182. *
  69183. * In TypeScript the type option must always be set.
  69184. *
  69185. * Configuration options for the series are given in three levels:
  69186. *
  69187. * 1. Options for all series in a chart are defined in the
  69188. * plotOptions.series object.
  69189. *
  69190. * 2. Options for all `packedbubble` series are defined in
  69191. * plotOptions.packedbubble.
  69192. *
  69193. * 3. Options for one single series are given in the series instance array.
  69194. * (see online documentation for example)
  69195. */
  69196. packedbubble?: PlotPackedbubbleOptions;
  69197. /**
  69198. * (Highcharts) A pareto diagram is a type of chart that contains both bars
  69199. * and a line graph, where individual values are represented in descending
  69200. * order by bars, and the cumulative total is represented by the line.
  69201. *
  69202. * In TypeScript the type option must always be set.
  69203. *
  69204. * Configuration options for the series are given in three levels:
  69205. *
  69206. * 1. Options for all series in a chart are defined in the
  69207. * plotOptions.series object.
  69208. *
  69209. * 2. Options for all `pareto` series are defined in plotOptions.pareto.
  69210. *
  69211. * 3. Options for one single series are given in the series instance array.
  69212. * (see online documentation for example)
  69213. */
  69214. pareto?: PlotParetoOptions;
  69215. /**
  69216. * (Highstock) Price channel (PC). This series requires the `linkedTo`
  69217. * option to be set and should be loaded after the
  69218. * `stock/indicators/indicators.js`.
  69219. *
  69220. * In TypeScript the type option must always be set.
  69221. *
  69222. * Configuration options for the series are given in three levels:
  69223. *
  69224. * 1. Options for all series in a chart are defined in the
  69225. * plotOptions.series object.
  69226. *
  69227. * 2. Options for all `pc` series are defined in plotOptions.pc.
  69228. *
  69229. * 3. Options for one single series are given in the series instance array.
  69230. * (see online documentation for example)
  69231. */
  69232. pc?: PlotPcOptions;
  69233. /**
  69234. * (Highcharts) A pie chart is a circular graphic which is divided into
  69235. * slices to illustrate numerical proportion.
  69236. *
  69237. * In TypeScript the type option must always be set.
  69238. *
  69239. * Configuration options for the series are given in three levels:
  69240. *
  69241. * 1. Options for all series in a chart are defined in the
  69242. * plotOptions.series object.
  69243. *
  69244. * 2. Options for all `pie` series are defined in plotOptions.pie.
  69245. *
  69246. * 3. Options for one single series are given in the series instance array.
  69247. * (see online documentation for example)
  69248. */
  69249. pie?: PlotPieOptions;
  69250. /**
  69251. * (Highstock) Pivot points indicator. This series requires the `linkedTo`
  69252. * option to be set and should be loaded after
  69253. * `stock/indicators/indicators.js` file.
  69254. *
  69255. * In TypeScript the type option must always be set.
  69256. *
  69257. * Configuration options for the series are given in three levels:
  69258. *
  69259. * 1. Options for all series in a chart are defined in the
  69260. * plotOptions.series object.
  69261. *
  69262. * 2. Options for all `pivotpoints` series are defined in
  69263. * plotOptions.pivotpoints.
  69264. *
  69265. * 3. Options for one single series are given in the series instance array.
  69266. * (see online documentation for example)
  69267. */
  69268. pivotpoints?: PlotPivotpointsOptions;
  69269. /**
  69270. * (Highcharts, Highstock) A polygon series can be used to draw any freeform
  69271. * shape in the cartesian coordinate system. A fill is applied with the
  69272. * `color` option, and stroke is applied through `lineWidth` and `lineColor`
  69273. * options.
  69274. *
  69275. * In TypeScript the type option must always be set.
  69276. *
  69277. * Configuration options for the series are given in three levels:
  69278. *
  69279. * 1. Options for all series in a chart are defined in the
  69280. * plotOptions.series object.
  69281. *
  69282. * 2. Options for all `polygon` series are defined in plotOptions.polygon.
  69283. *
  69284. * 3. Options for one single series are given in the series instance array.
  69285. * (see online documentation for example)
  69286. */
  69287. polygon?: PlotPolygonOptions;
  69288. /**
  69289. * (Highstock) Percentage Price Oscillator. This series requires the
  69290. * `linkedTo` option to be set and should be loaded after the
  69291. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  69292. *
  69293. * In TypeScript the type option must always be set.
  69294. *
  69295. * Configuration options for the series are given in three levels:
  69296. *
  69297. * 1. Options for all series in a chart are defined in the
  69298. * plotOptions.series object.
  69299. *
  69300. * 2. Options for all `ppo` series are defined in plotOptions.ppo.
  69301. *
  69302. * 3. Options for one single series are given in the series instance array.
  69303. * (see online documentation for example)
  69304. */
  69305. ppo?: PlotPpoOptions;
  69306. /**
  69307. * (Highstock) Price envelopes indicator based on SMA calculations. This
  69308. * series requires the `linkedTo` option to be set and should be loaded
  69309. * after the `stock/indicators/indicators.js` file.
  69310. *
  69311. * In TypeScript the type option must always be set.
  69312. *
  69313. * Configuration options for the series are given in three levels:
  69314. *
  69315. * 1. Options for all series in a chart are defined in the
  69316. * plotOptions.series object.
  69317. *
  69318. * 2. Options for all `priceenvelopes` series are defined in
  69319. * plotOptions.priceenvelopes.
  69320. *
  69321. * 3. Options for one single series are given in the series instance array.
  69322. * (see online documentation for example)
  69323. */
  69324. priceenvelopes?: PlotPriceenvelopesOptions;
  69325. /**
  69326. * (Highstock) Parabolic SAR. This series requires `linkedTo` option to be
  69327. * set and should be loaded after `stock/indicators/indicators.js` file.
  69328. *
  69329. * In TypeScript the type option must always be set.
  69330. *
  69331. * Configuration options for the series are given in three levels:
  69332. *
  69333. * 1. Options for all series in a chart are defined in the
  69334. * plotOptions.series object.
  69335. *
  69336. * 2. Options for all `psar` series are defined in plotOptions.psar.
  69337. *
  69338. * 3. Options for one single series are given in the series instance array.
  69339. * (see online documentation for example)
  69340. */
  69341. psar?: PlotPsarOptions;
  69342. /**
  69343. * (Highcharts) A pyramid series is a special type of funnel, without neck
  69344. * and reversed by default.
  69345. *
  69346. * In TypeScript the type option must always be set.
  69347. *
  69348. * Configuration options for the series are given in three levels:
  69349. *
  69350. * 1. Options for all series in a chart are defined in the
  69351. * plotOptions.series object.
  69352. *
  69353. * 2. Options for all `pyramid` series are defined in plotOptions.pyramid.
  69354. *
  69355. * 3. Options for one single series are given in the series instance array.
  69356. * (see online documentation for example)
  69357. */
  69358. pyramid?: PlotPyramidOptions;
  69359. /**
  69360. * (Highcharts) A pyramid3d is a 3d version of pyramid series type. Pyramid
  69361. * charts are a type of chart often used to visualize stages in a sales
  69362. * project, where the top are the initial stages with the most clients.
  69363. *
  69364. * In TypeScript the type option must always be set.
  69365. *
  69366. * Configuration options for the series are given in three levels:
  69367. *
  69368. * 1. Options for all series in a chart are defined in the
  69369. * plotOptions.series object.
  69370. *
  69371. * 2. Options for all `pyramid3d` series are defined in
  69372. * plotOptions.pyramid3d.
  69373. *
  69374. * 3. Options for one single series are given in the series instance array.
  69375. * (see online documentation for example)
  69376. */
  69377. pyramid3d?: PlotPyramid3dOptions;
  69378. /**
  69379. * (Highstock) Rate of change indicator (ROC). The indicator value for each
  69380. * point is defined as:
  69381. *
  69382. * `(C - Cn) / Cn * 100`
  69383. *
  69384. * where: `C` is the close value of the point of the same x in the linked
  69385. * series and `Cn` is the close value of the point `n` periods ago. `n` is
  69386. * set through period.
  69387. *
  69388. * This series requires `linkedTo` option to be set.
  69389. *
  69390. * In TypeScript the type option must always be set.
  69391. *
  69392. * Configuration options for the series are given in three levels:
  69393. *
  69394. * 1. Options for all series in a chart are defined in the
  69395. * plotOptions.series object.
  69396. *
  69397. * 2. Options for all `roc` series are defined in plotOptions.roc.
  69398. *
  69399. * 3. Options for one single series are given in the series instance array.
  69400. * (see online documentation for example)
  69401. */
  69402. roc?: PlotRocOptions;
  69403. /**
  69404. * (Highstock) Relative strength index (RSI) technical indicator. This
  69405. * series requires the `linkedTo` option to be set and should be loaded
  69406. * after the `stock/indicators/indicators.js` file.
  69407. *
  69408. * In TypeScript the type option must always be set.
  69409. *
  69410. * Configuration options for the series are given in three levels:
  69411. *
  69412. * 1. Options for all series in a chart are defined in the
  69413. * plotOptions.series object.
  69414. *
  69415. * 2. Options for all `rsi` series are defined in plotOptions.rsi.
  69416. *
  69417. * 3. Options for one single series are given in the series instance array.
  69418. * (see online documentation for example)
  69419. */
  69420. rsi?: PlotRsiOptions;
  69421. /**
  69422. * (Highcharts) A sankey diagram is a type of flow diagram, in which the
  69423. * width of the link between two nodes is shown proportionally to the flow
  69424. * quantity.
  69425. *
  69426. * In TypeScript the type option must always be set.
  69427. *
  69428. * Configuration options for the series are given in three levels:
  69429. *
  69430. * 1. Options for all series in a chart are defined in the
  69431. * plotOptions.series object.
  69432. *
  69433. * 2. Options for all `sankey` series are defined in plotOptions.sankey.
  69434. *
  69435. * 3. Options for one single series are given in the series instance array.
  69436. * (see online documentation for example)
  69437. */
  69438. sankey?: PlotSankeyOptions;
  69439. /**
  69440. * (Highcharts, Highstock) A scatter plot uses cartesian coordinates to
  69441. * display values for two variables for a set of data.
  69442. *
  69443. * In TypeScript the type option must always be set.
  69444. *
  69445. * Configuration options for the series are given in three levels:
  69446. *
  69447. * 1. Options for all series in a chart are defined in the
  69448. * plotOptions.series object.
  69449. *
  69450. * 2. Options for all `scatter` series are defined in plotOptions.scatter.
  69451. *
  69452. * 3. Options for one single series are given in the series instance array.
  69453. * (see online documentation for example)
  69454. */
  69455. scatter?: PlotScatterOptions;
  69456. /**
  69457. * (Highcharts) A 3D scatter plot uses x, y and z coordinates to display
  69458. * values for three variables for a set of data.
  69459. *
  69460. * In TypeScript the type option must always be set.
  69461. *
  69462. * Configuration options for the series are given in three levels:
  69463. *
  69464. * 1. Options for all series in a chart are defined in the
  69465. * plotOptions.series object.
  69466. *
  69467. * 2. Options for all `scatter3d` series are defined in
  69468. * plotOptions.scatter3d.
  69469. *
  69470. * 3. Options for one single series are given in the series instance array.
  69471. * (see online documentation for example)
  69472. */
  69473. scatter3d?: PlotScatter3dOptions;
  69474. /**
  69475. * (Highcharts, Highstock, Highmaps, Gantt) General options for all series
  69476. * types.
  69477. *
  69478. * In TypeScript the type option must always be set.
  69479. *
  69480. * Configuration options for the series are given in three levels:
  69481. *
  69482. * 1. Options for all series in a chart are defined in the
  69483. * plotOptions.series object.
  69484. *
  69485. * 2. Options for all `line` series are defined in plotOptions.line.
  69486. *
  69487. * 3. Options for one single series are given in the series instance array.
  69488. * (see online documentation for example)
  69489. */
  69490. series?: PlotSeriesOptions;
  69491. /**
  69492. * (Highstock) Slow Stochastic oscillator. This series requires the
  69493. * `linkedTo` option to be set and should be loaded after
  69494. * `stock/indicators/indicators.js` and `stock/indicators/stochastic.js`
  69495. * files.
  69496. *
  69497. * In TypeScript the type option must always be set.
  69498. *
  69499. * Configuration options for the series are given in three levels:
  69500. *
  69501. * 1. Options for all series in a chart are defined in the
  69502. * plotOptions.series object.
  69503. *
  69504. * 2. Options for all `slowstochastic` series are defined in
  69505. * plotOptions.slowstochastic.
  69506. *
  69507. * 3. Options for one single series are given in the series instance array.
  69508. * (see online documentation for example)
  69509. */
  69510. slowstochastic?: PlotSlowstochasticOptions;
  69511. /**
  69512. * (Highstock) Simple moving average indicator (SMA). This series requires
  69513. * `linkedTo` option to be set.
  69514. *
  69515. * In TypeScript the type option must always be set.
  69516. *
  69517. * Configuration options for the series are given in three levels:
  69518. *
  69519. * 1. Options for all series in a chart are defined in the
  69520. * plotOptions.series object.
  69521. *
  69522. * 2. Options for all `sma` series are defined in plotOptions.sma.
  69523. *
  69524. * 3. Options for one single series are given in the series instance array.
  69525. * (see online documentation for example)
  69526. */
  69527. sma?: PlotSmaOptions;
  69528. /**
  69529. * (Highcharts) A solid gauge is a circular gauge where the value is
  69530. * indicated by a filled arc, and the color of the arc may variate with the
  69531. * value.
  69532. *
  69533. * In TypeScript the type option must always be set.
  69534. *
  69535. * Configuration options for the series are given in three levels:
  69536. *
  69537. * 1. Options for all series in a chart are defined in the
  69538. * plotOptions.series object.
  69539. *
  69540. * 2. Options for all `solidgauge` series are defined in
  69541. * plotOptions.solidgauge.
  69542. *
  69543. * 3. Options for one single series are given in the series instance array.
  69544. * (see online documentation for example)
  69545. */
  69546. solidgauge?: PlotSolidgaugeOptions;
  69547. /**
  69548. * (Highcharts, Highstock) A spline series is a special type of line series,
  69549. * where the segments between the data points are smoothed.
  69550. *
  69551. * In TypeScript the type option must always be set.
  69552. *
  69553. * Configuration options for the series are given in three levels:
  69554. *
  69555. * 1. Options for all series in a chart are defined in the
  69556. * plotOptions.series object.
  69557. *
  69558. * 2. Options for all `spline` series are defined in plotOptions.spline.
  69559. *
  69560. * 3. Options for one single series are given in the series instance array.
  69561. * (see online documentation for example)
  69562. */
  69563. spline?: PlotSplineOptions;
  69564. /**
  69565. * (Highstock) Stochastic oscillator. This series requires the `linkedTo`
  69566. * option to be set and should be loaded after the
  69567. * `stock/indicators/indicators.js` file.
  69568. *
  69569. * In TypeScript the type option must always be set.
  69570. *
  69571. * Configuration options for the series are given in three levels:
  69572. *
  69573. * 1. Options for all series in a chart are defined in the
  69574. * plotOptions.series object.
  69575. *
  69576. * 2. Options for all `stochastic` series are defined in
  69577. * plotOptions.stochastic.
  69578. *
  69579. * 3. Options for one single series are given in the series instance array.
  69580. * (see online documentation for example)
  69581. */
  69582. stochastic?: PlotStochasticOptions;
  69583. /**
  69584. * (Highcharts, Highstock) A streamgraph is a type of stacked area graph
  69585. * which is displaced around a central axis, resulting in a flowing, organic
  69586. * shape.
  69587. *
  69588. * In TypeScript the type option must always be set.
  69589. *
  69590. * Configuration options for the series are given in three levels:
  69591. *
  69592. * 1. Options for all series in a chart are defined in the
  69593. * plotOptions.series object.
  69594. *
  69595. * 2. Options for all `streamgraph` series are defined in
  69596. * plotOptions.streamgraph.
  69597. *
  69598. * 3. Options for one single series are given in the series instance array.
  69599. * (see online documentation for example)
  69600. */
  69601. streamgraph?: PlotStreamgraphOptions;
  69602. /**
  69603. * (Highcharts) A Sunburst displays hierarchical data, where a level in the
  69604. * hierarchy is represented by a circle. The center represents the root node
  69605. * of the tree. The visualization bears a resemblance to both treemap and
  69606. * pie charts.
  69607. *
  69608. * In TypeScript the type option must always be set.
  69609. *
  69610. * Configuration options for the series are given in three levels:
  69611. *
  69612. * 1. Options for all series in a chart are defined in the
  69613. * plotOptions.series object.
  69614. *
  69615. * 2. Options for all `sunburst` series are defined in plotOptions.sunburst.
  69616. *
  69617. * 3. Options for one single series are given in the series instance array.
  69618. * (see online documentation for example)
  69619. */
  69620. sunburst?: PlotSunburstOptions;
  69621. /**
  69622. * (Highstock) Supertrend indicator. This series requires the `linkedTo`
  69623. * option to be set and should be loaded after the
  69624. * `stock/indicators/indicators.js` and `stock/indicators/sma.js`.
  69625. *
  69626. * In TypeScript the type option must always be set.
  69627. *
  69628. * Configuration options for the series are given in three levels:
  69629. *
  69630. * 1. Options for all series in a chart are defined in the
  69631. * plotOptions.series object.
  69632. *
  69633. * 2. Options for all `supertrend` series are defined in
  69634. * plotOptions.supertrend.
  69635. *
  69636. * 3. Options for one single series are given in the series instance array.
  69637. * (see online documentation for example)
  69638. */
  69639. supertrend?: PlotSupertrendOptions;
  69640. /**
  69641. * (Highstock) Triple exponential moving average (TEMA) indicator. This
  69642. * series requires `linkedTo` option to be set and should be loaded after
  69643. * the `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  69644. *
  69645. * In TypeScript the type option must always be set.
  69646. *
  69647. * Configuration options for the series are given in three levels:
  69648. *
  69649. * 1. Options for all series in a chart are defined in the
  69650. * plotOptions.series object.
  69651. *
  69652. * 2. Options for all `tema` series are defined in plotOptions.tema.
  69653. *
  69654. * 3. Options for one single series are given in the series instance array.
  69655. * (see online documentation for example)
  69656. */
  69657. tema?: PlotTemaOptions;
  69658. /**
  69659. * (Highcharts, Highmaps) A tilemap series is a type of heatmap where the
  69660. * tile shapes are configurable.
  69661. *
  69662. * In TypeScript the type option must always be set.
  69663. *
  69664. * Configuration options for the series are given in three levels:
  69665. *
  69666. * 1. Options for all series in a chart are defined in the
  69667. * plotOptions.series object.
  69668. *
  69669. * 2. Options for all `tilemap` series are defined in plotOptions.tilemap.
  69670. *
  69671. * 3. Options for one single series are given in the series instance array.
  69672. * (see online documentation for example)
  69673. */
  69674. tilemap?: PlotTilemapOptions;
  69675. /**
  69676. * (Highcharts) The timeline series presents given events along a drawn
  69677. * line.
  69678. *
  69679. * In TypeScript the type option must always be set.
  69680. *
  69681. * Configuration options for the series are given in three levels:
  69682. *
  69683. * 1. Options for all series in a chart are defined in the
  69684. * plotOptions.series object.
  69685. *
  69686. * 2. Options for all `timeline` series are defined in plotOptions.timeline.
  69687. *
  69688. * 3. Options for one single series are given in the series instance array.
  69689. * (see online documentation for example)
  69690. */
  69691. timeline?: PlotTimelineOptions;
  69692. /**
  69693. * (Highcharts) A treemap displays hierarchical data using nested
  69694. * rectangles. The data can be laid out in varying ways depending on
  69695. * options.
  69696. *
  69697. * In TypeScript the type option must always be set.
  69698. *
  69699. * Configuration options for the series are given in three levels:
  69700. *
  69701. * 1. Options for all series in a chart are defined in the
  69702. * plotOptions.series object.
  69703. *
  69704. * 2. Options for all `treemap` series are defined in plotOptions.treemap.
  69705. *
  69706. * 3. Options for one single series are given in the series instance array.
  69707. * (see online documentation for example)
  69708. */
  69709. treemap?: PlotTreemapOptions;
  69710. /**
  69711. * (Highstock) Trendline (linear regression) fits a straight line to the
  69712. * selected data using a method called the Sum Of Least Squares. This series
  69713. * requires the `linkedTo` option to be set.
  69714. *
  69715. * In TypeScript the type option must always be set.
  69716. *
  69717. * Configuration options for the series are given in three levels:
  69718. *
  69719. * 1. Options for all series in a chart are defined in the
  69720. * plotOptions.series object.
  69721. *
  69722. * 2. Options for all `trendline` series are defined in
  69723. * plotOptions.trendline.
  69724. *
  69725. * 3. Options for one single series are given in the series instance array.
  69726. * (see online documentation for example)
  69727. */
  69728. trendline?: PlotTrendlineOptions;
  69729. /**
  69730. * (Highstock) Triple exponential average (TRIX) oscillator. This series
  69731. * requires `linkedTo` option to be set.
  69732. *
  69733. * Requires https://code.highcharts.com/stock/indicators/ema.js and
  69734. * https://code.highcharts.com/stock/indicators/tema.js.
  69735. *
  69736. * In TypeScript the type option must always be set.
  69737. *
  69738. * Configuration options for the series are given in three levels:
  69739. *
  69740. * 1. Options for all series in a chart are defined in the
  69741. * plotOptions.series object.
  69742. *
  69743. * 2. Options for all `trix` series are defined in plotOptions.trix.
  69744. *
  69745. * 3. Options for one single series are given in the series instance array.
  69746. * (see online documentation for example)
  69747. */
  69748. trix?: PlotTrixOptions;
  69749. /**
  69750. * (Highcharts) A variable pie series is a two dimensional series type,
  69751. * where each point renders an Y and Z value. Each point is drawn as a pie
  69752. * slice where the size (arc) of the slice relates to the Y value and the
  69753. * radius of pie slice relates to the Z value.
  69754. *
  69755. * In TypeScript the type option must always be set.
  69756. *
  69757. * Configuration options for the series are given in three levels:
  69758. *
  69759. * 1. Options for all series in a chart are defined in the
  69760. * plotOptions.series object.
  69761. *
  69762. * 2. Options for all `variablepie` series are defined in
  69763. * plotOptions.variablepie.
  69764. *
  69765. * 3. Options for one single series are given in the series instance array.
  69766. * (see online documentation for example)
  69767. */
  69768. variablepie?: PlotVariablepieOptions;
  69769. /**
  69770. * (Highcharts) A variwide chart (related to marimekko chart) is a column
  69771. * chart with a variable width expressing a third dimension.
  69772. *
  69773. * In TypeScript the type option must always be set.
  69774. *
  69775. * Configuration options for the series are given in three levels:
  69776. *
  69777. * 1. Options for all series in a chart are defined in the
  69778. * plotOptions.series object.
  69779. *
  69780. * 2. Options for all `variwide` series are defined in plotOptions.variwide.
  69781. *
  69782. * 3. Options for one single series are given in the series instance array.
  69783. * (see online documentation for example)
  69784. */
  69785. variwide?: PlotVariwideOptions;
  69786. /**
  69787. * (Highstock) Volume By Price indicator.
  69788. *
  69789. * This series requires `linkedTo` option to be set.
  69790. *
  69791. * In TypeScript the type option must always be set.
  69792. *
  69793. * Configuration options for the series are given in three levels:
  69794. *
  69795. * 1. Options for all series in a chart are defined in the
  69796. * plotOptions.series object.
  69797. *
  69798. * 2. Options for all `vbp` series are defined in plotOptions.vbp.
  69799. *
  69800. * 3. Options for one single series are given in the series instance array.
  69801. * (see online documentation for example)
  69802. */
  69803. vbp?: PlotVbpOptions;
  69804. /**
  69805. * (Highcharts, Highstock) A vector plot is a type of cartesian chart where
  69806. * each point has an X and Y position, a length and a direction. Vectors are
  69807. * drawn as arrows.
  69808. *
  69809. * In TypeScript the type option must always be set.
  69810. *
  69811. * Configuration options for the series are given in three levels:
  69812. *
  69813. * 1. Options for all series in a chart are defined in the
  69814. * plotOptions.series object.
  69815. *
  69816. * 2. Options for all `vector` series are defined in plotOptions.vector.
  69817. *
  69818. * 3. Options for one single series are given in the series instance array.
  69819. * (see online documentation for example)
  69820. */
  69821. vector?: PlotVectorOptions;
  69822. /**
  69823. * (Highcharts) A Venn diagram displays all possible logical relations
  69824. * between a collection of different sets. The sets are represented by
  69825. * circles, and the relation between the sets are displayed by the overlap
  69826. * or lack of overlap between them. The venn diagram is a special case of
  69827. * Euler diagrams, which can also be displayed by this series type.
  69828. *
  69829. * In TypeScript the type option must always be set.
  69830. *
  69831. * Configuration options for the series are given in three levels:
  69832. *
  69833. * 1. Options for all series in a chart are defined in the
  69834. * plotOptions.series object.
  69835. *
  69836. * 2. Options for all `venn` series are defined in plotOptions.venn.
  69837. *
  69838. * 3. Options for one single series are given in the series instance array.
  69839. * (see online documentation for example)
  69840. */
  69841. venn?: PlotVennOptions;
  69842. /**
  69843. * (Highstock) Volume Weighted Average Price indicator.
  69844. *
  69845. * This series requires `linkedTo` option to be set.
  69846. *
  69847. * In TypeScript the type option must always be set.
  69848. *
  69849. * Configuration options for the series are given in three levels:
  69850. *
  69851. * 1. Options for all series in a chart are defined in the
  69852. * plotOptions.series object.
  69853. *
  69854. * 2. Options for all `vwap` series are defined in plotOptions.vwap.
  69855. *
  69856. * 3. Options for one single series are given in the series instance array.
  69857. * (see online documentation for example)
  69858. */
  69859. vwap?: PlotVwapOptions;
  69860. /**
  69861. * (Highcharts) A waterfall chart displays sequentially introduced positive
  69862. * or negative values in cumulative columns.
  69863. *
  69864. * In TypeScript the type option must always be set.
  69865. *
  69866. * Configuration options for the series are given in three levels:
  69867. *
  69868. * 1. Options for all series in a chart are defined in the
  69869. * plotOptions.series object.
  69870. *
  69871. * 2. Options for all `waterfall` series are defined in
  69872. * plotOptions.waterfall.
  69873. *
  69874. * 3. Options for one single series are given in the series instance array.
  69875. * (see online documentation for example)
  69876. */
  69877. waterfall?: PlotWaterfallOptions;
  69878. /**
  69879. * (Highstock) Williams %R. This series requires the `linkedTo` option to be
  69880. * set and should be loaded after the `stock/indicators/indicators.js`.
  69881. *
  69882. * In TypeScript the type option must always be set.
  69883. *
  69884. * Configuration options for the series are given in three levels:
  69885. *
  69886. * 1. Options for all series in a chart are defined in the
  69887. * plotOptions.series object.
  69888. *
  69889. * 2. Options for all `williamsr` series are defined in
  69890. * plotOptions.williamsr.
  69891. *
  69892. * 3. Options for one single series are given in the series instance array.
  69893. * (see online documentation for example)
  69894. */
  69895. williamsr?: PlotWilliamsrOptions;
  69896. /**
  69897. * (Highcharts, Highstock) Wind barbs are a convenient way to represent wind
  69898. * speed and direction in one graphical form. Wind direction is given by the
  69899. * stem direction, and wind speed by the number and shape of barbs.
  69900. *
  69901. * In TypeScript the type option must always be set.
  69902. *
  69903. * Configuration options for the series are given in three levels:
  69904. *
  69905. * 1. Options for all series in a chart are defined in the
  69906. * plotOptions.series object.
  69907. *
  69908. * 2. Options for all `windbarb` series are defined in plotOptions.windbarb.
  69909. *
  69910. * 3. Options for one single series are given in the series instance array.
  69911. * (see online documentation for example)
  69912. */
  69913. windbarb?: PlotWindbarbOptions;
  69914. /**
  69915. * (Highstock) Weighted moving average indicator (WMA). This series requires
  69916. * `linkedTo` option to be set.
  69917. *
  69918. * In TypeScript the type option must always be set.
  69919. *
  69920. * Configuration options for the series are given in three levels:
  69921. *
  69922. * 1. Options for all series in a chart are defined in the
  69923. * plotOptions.series object.
  69924. *
  69925. * 2. Options for all `wma` series are defined in plotOptions.wma.
  69926. *
  69927. * 3. Options for one single series are given in the series instance array.
  69928. * (see online documentation for example)
  69929. */
  69930. wma?: PlotWmaOptions;
  69931. /**
  69932. * (Highcharts) A word cloud is a visualization of a set of words, where the
  69933. * size and placement of a word is determined by how it is weighted.
  69934. *
  69935. * In TypeScript the type option must always be set.
  69936. *
  69937. * Configuration options for the series are given in three levels:
  69938. *
  69939. * 1. Options for all series in a chart are defined in the
  69940. * plotOptions.series object.
  69941. *
  69942. * 2. Options for all `wordcloud` series are defined in
  69943. * plotOptions.wordcloud.
  69944. *
  69945. * 3. Options for one single series are given in the series instance array.
  69946. * (see online documentation for example)
  69947. */
  69948. wordcloud?: PlotWordcloudOptions;
  69949. /**
  69950. * (Highcharts, Highstock, Gantt) The X-range series displays ranges on the
  69951. * X axis, typically time intervals with a start and end date.
  69952. *
  69953. * In TypeScript the type option must always be set.
  69954. *
  69955. * Configuration options for the series are given in three levels:
  69956. *
  69957. * 1. Options for all series in a chart are defined in the
  69958. * plotOptions.series object.
  69959. *
  69960. * 2. Options for all `xrange` series are defined in plotOptions.xrange.
  69961. *
  69962. * 3. Options for one single series are given in the series instance array.
  69963. * (see online documentation for example)
  69964. */
  69965. xrange?: PlotXrangeOptions;
  69966. /**
  69967. * (Highstock) Zig Zag indicator.
  69968. *
  69969. * This series requires `linkedTo` option to be set.
  69970. *
  69971. * In TypeScript the type option must always be set.
  69972. *
  69973. * Configuration options for the series are given in three levels:
  69974. *
  69975. * 1. Options for all series in a chart are defined in the
  69976. * plotOptions.series object.
  69977. *
  69978. * 2. Options for all `zigzag` series are defined in plotOptions.zigzag.
  69979. *
  69980. * 3. Options for one single series are given in the series instance array.
  69981. * (see online documentation for example)
  69982. */
  69983. zigzag?: PlotZigzagOptions;
  69984. }
  69985. /**
  69986. * (Highcharts) Enable or disable the initial animation when a series is
  69987. * displayed. The animation can also be set as a configuration object. Please
  69988. * note that this option only applies to the initial animation of the series
  69989. * itself. For other animations, see chart.animation and the animation parameter
  69990. * under the API methods. The following properties are supported:
  69991. *
  69992. * - `defer`: The animation delay time in milliseconds.
  69993. *
  69994. * - `duration`: The duration of the animation in milliseconds.
  69995. *
  69996. * - `easing`: Can be a string reference to an easing function set on the `Math`
  69997. * object or a function. See the _Custom easing function_ demo below.
  69998. *
  69999. * Due to poor performance, animation is disabled in old IE browsers for several
  70000. * chart types.
  70001. */
  70002. export interface PlotOrganizationAnimationOptions {
  70003. defer?: number;
  70004. }
  70005. /**
  70006. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  70007. * animation when a series is displayed for the `dataLabels`. The animation can
  70008. * also be set as a configuration object. Please note that this option only
  70009. * applies to the initial animation. For other animations, see chart.animation
  70010. * and the animation parameter under the API methods. The following properties
  70011. * are supported:
  70012. *
  70013. * - `defer`: The animation delay time in milliseconds.
  70014. */
  70015. export interface PlotOrganizationDataLabelsAnimationOptions {
  70016. /**
  70017. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  70018. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  70019. * inherits defer time from the series.animation.defer.
  70020. */
  70021. defer?: number;
  70022. }
  70023. /**
  70024. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  70025. * animation when a series is displayed for the `dataLabels`. The animation can
  70026. * also be set as a configuration object. Please note that this option only
  70027. * applies to the initial animation. For other animations, see chart.animation
  70028. * and the animation parameter under the API methods. The following properties
  70029. * are supported:
  70030. *
  70031. * - `defer`: The animation delay time in milliseconds.
  70032. */
  70033. export interface PlotOrganizationLevelsDataLabelsAnimationOptions {
  70034. /**
  70035. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  70036. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  70037. * inherits defer time from the series.animation.defer.
  70038. */
  70039. defer?: number;
  70040. }
  70041. /**
  70042. * (Highcharts) Set options on specific levels. Takes precedence over series
  70043. * options, but not node and link options.
  70044. */
  70045. export interface PlotOrganizationLevelsOptions {
  70046. /**
  70047. * (Highcharts) Can set `borderColor` on all nodes which lay on the same
  70048. * level.
  70049. */
  70050. borderColor?: ColorString;
  70051. /**
  70052. * (Highcharts) Can set `borderWidth` on all nodes which lay on the same
  70053. * level.
  70054. */
  70055. borderWidth?: number;
  70056. /**
  70057. * (Highcharts) Can set `color` on all nodes which lay on the same level.
  70058. */
  70059. color?: (ColorString|GradientColorObject|PatternObject);
  70060. /**
  70061. * (Highcharts) Can set `colorByPoint` on all nodes which lay on the same
  70062. * level.
  70063. */
  70064. colorByPoint?: boolean;
  70065. /**
  70066. * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
  70067. * points which lay on the same level.
  70068. */
  70069. dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
  70070. /**
  70071. * (Highcharts) Decides which level takes effect from the options set in the
  70072. * levels object.
  70073. */
  70074. level?: number;
  70075. /**
  70076. * (Highcharts) Can set `linkOpacity` on all points which lay on the same
  70077. * level.
  70078. */
  70079. linkOpacity?: number;
  70080. /**
  70081. * (Highcharts) Can set `states` on all nodes and points which lay on the
  70082. * same level.
  70083. */
  70084. states?: SeriesStatesOptionsObject;
  70085. }
  70086. /**
  70087. * (Highcharts) An organization chart is a diagram that shows the structure of
  70088. * an organization and the relationships and relative ranks of its parts and
  70089. * positions.
  70090. *
  70091. * In TypeScript the type option must always be set.
  70092. *
  70093. * Configuration options for the series are given in three levels:
  70094. *
  70095. * 1. Options for all series in a chart are defined in the plotOptions.series
  70096. * object.
  70097. *
  70098. * 2. Options for all `organization` series are defined in
  70099. * plotOptions.organization.
  70100. *
  70101. * 3. Options for one single series are given in the series instance array. (see
  70102. * online documentation for example)
  70103. */
  70104. export interface PlotOrganizationOptions {
  70105. /**
  70106. * (Highcharts) Accessibility options for a series.
  70107. */
  70108. accessibility?: SeriesAccessibilityOptionsObject;
  70109. /**
  70110. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  70111. * rendered. If `true`, areas which don't correspond to a data point, are
  70112. * rendered as `null` points. If `false`, those areas are skipped.
  70113. */
  70114. allAreas?: boolean;
  70115. /**
  70116. * (Highcharts) Enable or disable the initial animation when a series is
  70117. * displayed. The animation can also be set as a configuration object.
  70118. * Please note that this option only applies to the initial animation of the
  70119. * series itself. For other animations, see chart.animation and the
  70120. * animation parameter under the API methods. The following properties are
  70121. * supported:
  70122. *
  70123. * - `defer`: The animation delay time in milliseconds.
  70124. *
  70125. * - `duration`: The duration of the animation in milliseconds.
  70126. *
  70127. * - `easing`: Can be a string reference to an easing function set on the
  70128. * `Math` object or a function. See the _Custom easing function_ demo below.
  70129. *
  70130. * Due to poor performance, animation is disabled in old IE browsers for
  70131. * several chart types.
  70132. */
  70133. animation?: (boolean|PlotOrganizationAnimationOptions|Partial<AnimationOptionsObject>);
  70134. /**
  70135. * (Highcharts, Highstock, Gantt) The border color of the node cards.
  70136. */
  70137. borderColor?: ColorString;
  70138. /**
  70139. * (Highcharts) The border radius of the node cards.
  70140. */
  70141. borderRadius?: number;
  70142. /**
  70143. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  70144. * column or bar. Defaults to `1` when there is room for a border, but to
  70145. * `0` when the columns are so dense that a border would cover the next
  70146. * column.
  70147. *
  70148. * In styled mode, the stroke width can be set with the `.highcharts-point`
  70149. * rule.
  70150. */
  70151. borderWidth?: number;
  70152. /**
  70153. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  70154. * the category, ignoring null or missing points. When `false`, space will
  70155. * be reserved for null or missing points.
  70156. */
  70157. centerInCategory?: boolean;
  70158. /**
  70159. * (Highcharts) An additional class name to apply to the series' graphical
  70160. * elements. This option does not replace default class names of the
  70161. * graphical element.
  70162. */
  70163. className?: string;
  70164. /**
  70165. * (Highcharts) Disable this option to allow series rendering in the whole
  70166. * plotting area.
  70167. *
  70168. * **Note:** Clipping should be always enabled when chart.zoomType is set
  70169. */
  70170. clip?: boolean;
  70171. /**
  70172. * (Highcharts) The main color of the series. In line type series it applies
  70173. * to the line and the point markers unless otherwise specified. In bar type
  70174. * series it applies to the bars unless a color is specified per point. The
  70175. * default value is pulled from the `options.colors` array.
  70176. *
  70177. * In styled mode, the color can be defined by the colorIndex option. Also,
  70178. * the series color can be set with the `.highcharts-series`,
  70179. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  70180. * `.highcharts-series-{n}` class, or individual classes given by the
  70181. * `className` option.
  70182. */
  70183. color?: (ColorString|GradientColorObject|PatternObject);
  70184. /**
  70185. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  70186. * from the global colors or series-specific plotOptions.column.colors
  70187. * collections, this option determines whether the chart should receive one
  70188. * color per series or one color per point.
  70189. *
  70190. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  70191. * and instead this option gives the points individual color class names on
  70192. * the form `highcharts-color-{n}`.
  70193. */
  70194. colorByPoint?: boolean;
  70195. /**
  70196. * (Highcharts) Styled mode only. A specific color index to use for the
  70197. * series, so its graphic representations are given the class name
  70198. * `highcharts-color-{n}`.
  70199. */
  70200. colorIndex?: number;
  70201. /**
  70202. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  70203. * color set to apply instead of the global colors when colorByPoint is
  70204. * true.
  70205. */
  70206. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  70207. /**
  70208. * (Highstock) Compare the values of the series against the first non-null,
  70209. * non- zero value in the visible range. The y axis will show percentage or
  70210. * absolute change depending on whether `compare` is set to `"percent"` or
  70211. * `"value"`. When this is applied to multiple series, it allows comparing
  70212. * the development of the series against each other. Adds a `change` field
  70213. * to every point object.
  70214. */
  70215. compare?: string;
  70216. /**
  70217. * (Highstock) When compare is `percent`, this option dictates whether to
  70218. * use 0 or 100 as the base of comparison.
  70219. */
  70220. compareBase?: (0|100);
  70221. /**
  70222. * (Highstock) Defines if comparison should start from the first point
  70223. * within the visible range or should start from the first point **before**
  70224. * the range.
  70225. *
  70226. * In other words, this flag determines if first point within the visible
  70227. * range will have 0% (`compareStart=true`) or should have been already
  70228. * calculated according to the previous point (`compareStart=false`).
  70229. */
  70230. compareStart?: boolean;
  70231. /**
  70232. * (Gantt) Override Pathfinder connector options for a series. Requires
  70233. * Highcharts Gantt to be loaded.
  70234. */
  70235. connectors?: SeriesConnectorsOptionsObject;
  70236. /**
  70237. * (Highcharts) You can set the cursor to "pointer" if you have click events
  70238. * attached to the series, to signal to the user that the points and lines
  70239. * can be clicked.
  70240. *
  70241. * In styled mode, the series cursor can be set with the same classes as
  70242. * listed under series.color.
  70243. */
  70244. cursor?: (string|CursorValue);
  70245. /**
  70246. * (Highcharts) A reserved subspace to store options and values for
  70247. * customized functionality. Here you can add additional data for your own
  70248. * event callbacks and formatter callbacks.
  70249. */
  70250. custom?: Dictionary<any>;
  70251. /**
  70252. * (Highcharts) Name of the dash style to use for the graph, or for some
  70253. * series types the outline of each shape.
  70254. *
  70255. * In styled mode, the stroke dash-array can be set with the same classes as
  70256. * listed under series.color.
  70257. */
  70258. dashStyle?: DashStyleValue;
  70259. /**
  70260. * (Highstock) Data grouping is the concept of sampling the data values into
  70261. * larger blocks in order to ease readability and increase performance of
  70262. * the JavaScript charts. Highcharts Stock by default applies data grouping
  70263. * when the points become closer than a certain pixel value, determined by
  70264. * the `groupPixelWidth` option.
  70265. *
  70266. * If data grouping is applied, the grouping information of grouped points
  70267. * can be read from the Point.dataGroup. If point options other than the
  70268. * data itself are set, for example `name` or `color` or custom properties,
  70269. * the grouping logic doesn't know how to group it. In this case the options
  70270. * of the first point instance are copied over to the group point. This can
  70271. * be altered through a custom `approximation` callback function.
  70272. */
  70273. dataGrouping?: DataGroupingOptionsObject;
  70274. /**
  70275. * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
  70276. * appearing on top of the nodes and links. For sankey charts, data labels
  70277. * are visible for the nodes by default, but hidden for links. This is
  70278. * controlled by modifying the `nodeFormat`, and the `format` that applies
  70279. * to links and is an empty string by default.
  70280. */
  70281. dataLabels?: (SeriesOrganizationDataLabelsOptionsObject|Array<SeriesOrganizationDataLabelsOptionsObject>);
  70282. /**
  70283. * (Highcharts) A description of the series to add to the screen reader
  70284. * information about the series.
  70285. */
  70286. description?: string;
  70287. /**
  70288. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  70289. * This includes point tooltips and click events on graphs and points. For
  70290. * large datasets it improves performance.
  70291. */
  70292. enableMouseTracking?: boolean;
  70293. /**
  70294. * (Highcharts) General event handlers for the series items. These event
  70295. * hooks can also be attached to the series at run time using the
  70296. * `Highcharts.addEvent` function.
  70297. */
  70298. events?: SeriesEventsOptionsObject;
  70299. /**
  70300. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  70301. * chart width or only the zoomed area when zooming in on parts of the X
  70302. * axis. By default, the Y axis adjusts to the min and max of the visible
  70303. * data. Cartesian series only.
  70304. */
  70305. getExtremesFromAll?: boolean;
  70306. /**
  70307. * (Highcharts) The indentation in pixels of hanging nodes, nodes which
  70308. * parent has layout set to `hanging`.
  70309. */
  70310. hangingIndent?: number;
  70311. /**
  70312. * (Highcharts) When set to `false` will prevent the series data from being
  70313. * included in any form of data export.
  70314. *
  70315. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  70316. * `includeInCSVExport`.
  70317. */
  70318. includeInDataExport?: boolean;
  70319. /**
  70320. * (Highmaps) What property to join the `mapData` to the value data. For
  70321. * example, if joinBy is "code", the mapData items with a specific code is
  70322. * merged into the data with the same code. For maps loaded from GeoJSON,
  70323. * the keys may be held in each point's `properties` object.
  70324. *
  70325. * The joinBy option can also be an array of two values, where the first
  70326. * points to a key in the `mapData`, and the second points to another key in
  70327. * the `data`.
  70328. *
  70329. * When joinBy is `null`, the map items are joined by their position in the
  70330. * array, which performs much better in maps with many data points. This is
  70331. * the recommended option if you are printing more than a thousand data
  70332. * points and have a backend that can preprocess the data into a parallel
  70333. * array of the mapData.
  70334. */
  70335. joinBy?: (string|Array<string>);
  70336. /**
  70337. * (Highcharts) An array specifying which option maps to which key in the
  70338. * data point array. This makes it convenient to work with unstructured data
  70339. * arrays from different sources.
  70340. */
  70341. keys?: Array<string>;
  70342. /**
  70343. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  70344. * series as possible in a natural way, seeking to avoid other series. The
  70345. * goal of this feature is to make the chart more easily readable, like if a
  70346. * human designer placed the labels in the optimal position.
  70347. *
  70348. * The series labels currently work with series types having a `graph` or an
  70349. * `area`.
  70350. */
  70351. label?: SeriesLabelOptionsObject;
  70352. /**
  70353. * (Highstock) The line marks the last price from all points.
  70354. */
  70355. lastPrice?: SeriesLastPriceOptionsObject;
  70356. /**
  70357. * (Highstock) The line marks the last price from visible range of points.
  70358. */
  70359. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  70360. /**
  70361. * (Highcharts) Set options on specific levels. Takes precedence over series
  70362. * options, but not node and link options.
  70363. */
  70364. levels?: Array<PlotOrganizationLevelsOptions>;
  70365. /**
  70366. * (Highcharts) The color of the links between nodes.
  70367. */
  70368. linkColor?: ColorString;
  70369. /**
  70370. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  70371. * Additionally, the value can be ":previous" to link to the previous
  70372. * series. When two series are linked, only the first one appears in the
  70373. * legend. Toggling the visibility of this also toggles the linked series.
  70374. *
  70375. * If master series uses data sorting and linked series does not have its
  70376. * own sorting definition, the linked series will be sorted in the same
  70377. * order as the master one.
  70378. */
  70379. linkedTo?: string;
  70380. /**
  70381. * (Highcharts) The line width of the links connecting nodes, in pixels.
  70382. */
  70383. linkLineWidth?: number;
  70384. /**
  70385. * (Highcharts) Opacity for the links between nodes in the sankey diagram.
  70386. */
  70387. linkOpacity?: number;
  70388. /**
  70389. * (Highcharts) Radius for the rounded corners of the links between nodes.
  70390. */
  70391. linkRadius?: number;
  70392. /**
  70393. * (Highcharts) The minimal width for a line of a sankey. By default, 0
  70394. * values are not shown.
  70395. */
  70396. minLinkWidth?: number;
  70397. /**
  70398. * (Highstock) Options for the corresponding navigator series if
  70399. * `showInNavigator` is `true` for this series. Available options are the
  70400. * same as any series, documented at plotOptions and series.
  70401. *
  70402. * These options are merged with options in navigator.series, and will take
  70403. * precedence if the same option is defined both places.
  70404. */
  70405. navigatorOptions?: PlotSeriesOptions;
  70406. /**
  70407. * (Highcharts) The padding between nodes in a sankey diagram or dependency
  70408. * wheel, in pixels.
  70409. *
  70410. * If the number of nodes is so great that it is possible to lay them out
  70411. * within the plot area with the given `nodePadding`, they will be rendered
  70412. * with a smaller padding as a strategy to avoid overflow.
  70413. */
  70414. nodePadding?: number;
  70415. /**
  70416. * (Highcharts) In a horizontal chart, the width of the nodes in pixels.
  70417. * Node that most organization charts are vertical, so the name of this
  70418. * option is counterintuitive.
  70419. */
  70420. nodeWidth?: number;
  70421. /**
  70422. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  70423. * dataLabels.
  70424. */
  70425. opacity?: number;
  70426. /**
  70427. * (Highcharts) Properties for each single point.
  70428. */
  70429. point?: PlotSeriesPointOptions;
  70430. /**
  70431. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  70432. * individual series. Overrides the chart wide configuration.
  70433. */
  70434. pointDescriptionFormatter?: Function;
  70435. /**
  70436. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  70437. * true, the checkbox next to the series name in the legend will be checked
  70438. * for a selected series.
  70439. */
  70440. selected?: boolean;
  70441. /**
  70442. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  70443. * allow selecting the series. The state of the checkbox is determined by
  70444. * the `selected` option.
  70445. */
  70446. showCheckbox?: boolean;
  70447. /**
  70448. * (Highcharts) Whether to display this particular series or series type in
  70449. * the legend. Standalone series are shown in legend by default, and linked
  70450. * series are not. Since v7.2.0 it is possible to show series that use
  70451. * colorAxis by setting this option to `true`.
  70452. */
  70453. showInLegend?: boolean;
  70454. /**
  70455. * (Highstock) Whether or not to show the series in the navigator. Takes
  70456. * precedence over navigator.baseSeries if defined.
  70457. */
  70458. showInNavigator?: boolean;
  70459. /**
  70460. * (Highcharts) If set to `true`, the accessibility module will skip past
  70461. * the points in this series for keyboard navigation.
  70462. */
  70463. skipKeyboardNavigation?: boolean;
  70464. states?: SeriesStatesOptionsObject;
  70465. /**
  70466. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  70467. * event on a series isn't triggered until the mouse moves over another
  70468. * series, or out of the plot area. When false, the `mouseOut` event on a
  70469. * series is triggered when the mouse leaves the area around the series'
  70470. * graph or markers. This also implies the tooltip when not shared. When
  70471. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  70472. * be hidden when moving the mouse between series. Defaults to true for line
  70473. * and area type series, but to false for columns, pies etc.
  70474. *
  70475. * **Note:** The boost module will force this option because of technical
  70476. * limitations.
  70477. */
  70478. stickyTracking?: boolean;
  70479. /**
  70480. * (Highcharts) A configuration object for the tooltip rendering of each
  70481. * single series. Properties are inherited from tooltip, but only the
  70482. * following properties can be defined on a series level.
  70483. */
  70484. tooltip?: SeriesTooltipOptionsObject;
  70485. /**
  70486. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  70487. * is longer than this, only one dimensional arrays of numbers, or two
  70488. * dimensional arrays with x and y values are allowed. Also, only the first
  70489. * point is tested, and the rest are assumed to be the same format. This
  70490. * saves expensive data checking and indexing in long series. Set it to `0`
  70491. * disable.
  70492. *
  70493. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  70494. * two dimensional arrays are allowed.
  70495. */
  70496. turboThreshold?: number;
  70497. /**
  70498. * (Highcharts) Set the initial visibility of the series.
  70499. */
  70500. visible?: boolean;
  70501. /**
  70502. * (Highmaps) Define the z index of the series.
  70503. */
  70504. zIndex?: number;
  70505. }
  70506. /**
  70507. * (Highcharts) Enable or disable the initial animation when a series is
  70508. * displayed. The animation can also be set as a configuration object. Please
  70509. * note that this option only applies to the initial animation of the series
  70510. * itself. For other animations, see chart.animation and the animation parameter
  70511. * under the API methods. The following properties are supported:
  70512. *
  70513. * - `defer`: The animation delay time in milliseconds.
  70514. *
  70515. * - `duration`: The duration of the animation in milliseconds.
  70516. *
  70517. * - `easing`: Can be a string reference to an easing function set on the `Math`
  70518. * object or a function. See the _Custom easing function_ demo below.
  70519. *
  70520. * Due to poor performance, animation is disabled in old IE browsers for several
  70521. * chart types.
  70522. */
  70523. export interface PlotPackedbubbleAnimationOptions {
  70524. defer?: number;
  70525. }
  70526. /**
  70527. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  70528. * animation when a series is displayed for the `dataLabels`. The animation can
  70529. * also be set as a configuration object. Please note that this option only
  70530. * applies to the initial animation. For other animations, see chart.animation
  70531. * and the animation parameter under the API methods. The following properties
  70532. * are supported:
  70533. *
  70534. * - `defer`: The animation delay time in milliseconds.
  70535. */
  70536. export interface PlotPackedbubbleDataLabelsAnimationOptions {
  70537. /**
  70538. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  70539. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  70540. * inherits defer time from the series.animation.defer.
  70541. */
  70542. defer?: number;
  70543. }
  70544. /**
  70545. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The default
  70546. * `color` setting is `"contrast"`, which is a pseudo color that Highcharts
  70547. * picks up and applies the maximum contrast to the underlying point item, for
  70548. * example the bar in a bar chart.
  70549. *
  70550. * The `textOutline` is a pseudo property that applies an outline of the given
  70551. * width with the given color, which by default is the maximum contrast to the
  70552. * text. So a bright text color will result in a black text outline for maximum
  70553. * readability on a mixed background. In some cases, especially with grayscale
  70554. * text, the text outline doesn't work well, in which cases it can be disabled
  70555. * by setting it to `"none"`. When `useHTML` is true, the `textOutline` will not
  70556. * be picked up. In this, case, the same effect can be acheived through the
  70557. * `text-shadow` CSS property.
  70558. *
  70559. * For some series types, where each point has an extent, like for example tree
  70560. * maps, the data label may overflow the point. There are two strategies for
  70561. * handling overflow. By default, the text will wrap to multiple lines. The
  70562. * other strategy is to set `style.textOverflow` to `ellipsis`, which will keep
  70563. * the text on one line plus it will break inside long words.
  70564. */
  70565. export interface PlotPackedbubbleDataLabelsStyleOptions {
  70566. transition?: string;
  70567. }
  70568. /**
  70569. * (Highcharts) Options for layout algorithm when simulation is enabled. Inside
  70570. * there are options to change the speed, padding, initial bubbles positions and
  70571. * more.
  70572. */
  70573. export interface PlotPackedbubbleLayoutAlgorithmOptions {
  70574. /**
  70575. * (Highcharts) The distance between two bubbles, when the algorithm starts
  70576. * to treat two bubbles as overlapping. The `bubblePadding` is also the
  70577. * expected distance between all the bubbles on simulation end.
  70578. */
  70579. bubblePadding?: number;
  70580. /**
  70581. * (Highcharts) In case of split series, this option allows user to drag and
  70582. * drop points between series, for changing point related series.
  70583. */
  70584. dragBetweenSeries?: boolean;
  70585. /**
  70586. * (Highcharts) Experimental. Enables live simulation of the algorithm
  70587. * implementation. All nodes are animated as the forces applies on them.
  70588. */
  70589. enableSimulation?: boolean;
  70590. /**
  70591. * (Highcharts) Friction applied on forces to prevent nodes rushing to fast
  70592. * to the desired positions.
  70593. */
  70594. friction?: number;
  70595. /**
  70596. * (Highcharts) Gravitational const used in the barycenter force of the
  70597. * algorithm.
  70598. */
  70599. gravitationalConstant?: number;
  70600. /**
  70601. * (Highcharts) When `initialPositions` are set to 'circle',
  70602. * `initialPositionRadius` is a distance from the center of circle, in which
  70603. * nodes are created.
  70604. */
  70605. initialPositionRadius?: number;
  70606. /**
  70607. * (Highcharts) Initial layout algorithm for positioning nodes. Can be one
  70608. * of the built-in options ("circle", "random") or a function where
  70609. * positions should be set on each node (`this.nodes`) as `node.plotX` and
  70610. * `node.plotY`.
  70611. */
  70612. initialPositions?: ("circle"|"random"|Function);
  70613. /**
  70614. * (Highcharts) Integration type. Available options are `'euler'` and
  70615. * `'verlet'`. Integration determines how forces are applied on particles.
  70616. * In Euler integration, force is applied direct as `newPosition +=
  70617. * velocity;`. In Verlet integration, new position is based on a previous
  70618. * posittion without velocity: `newPosition += previousPosition -
  70619. * newPosition`.
  70620. *
  70621. * Note that different integrations give different results as forces are
  70622. * different.
  70623. *
  70624. * In Highcharts v7.0.x only `'euler'` integration was supported.
  70625. */
  70626. integration?: OptionsIntegrationValue;
  70627. /**
  70628. * (Highcharts) Ideal length (px) of the link between two nodes. When not
  70629. * defined, length is calculated as: `Math.pow(availableWidth *
  70630. * availableHeight / nodesLength, 0.4);`
  70631. *
  70632. * Note: Because of the algorithm specification, length of each link might
  70633. * be not exactly as specified.
  70634. */
  70635. linkLength?: number;
  70636. /**
  70637. * (Highcharts) Max number of iterations before algorithm will stop. In
  70638. * general, algorithm should find positions sooner, but when rendering huge
  70639. * number of nodes, it is recommended to increase this value as finding
  70640. * perfect graph positions can require more time.
  70641. */
  70642. maxIterations?: number;
  70643. /**
  70644. * (Highcharts) Max speed that node can get in one iteration. In terms of
  70645. * simulation, it's a maximum translation (in pixels) that a node can move
  70646. * (in both, x and y, dimensions). While `friction` is applied on all nodes,
  70647. * max speed is applied only for nodes that move very fast, for example
  70648. * small or disconnected ones.
  70649. */
  70650. maxSpeed?: number;
  70651. /**
  70652. * (Highcharts) Whether bubbles should interact with their parentNode to
  70653. * keep them inside.
  70654. */
  70655. parentNodeLimit?: boolean;
  70656. /**
  70657. * (Highcharts) Layout algorithm options for parent nodes.
  70658. */
  70659. parentNodeOptions?: PlotPackedbubbleLayoutAlgorithmParentNodeOptions;
  70660. /**
  70661. * (Highcharts) Whether series should interact with each other or not. When
  70662. * `parentNodeLimit` is set to true, thi option should be set to false to
  70663. * avoid sticking points in wrong series parentNode.
  70664. */
  70665. seriesInteraction?: boolean;
  70666. /**
  70667. * (Highcharts) Whether to split series into individual groups or to mix all
  70668. * series together.
  70669. */
  70670. splitSeries?: string;
  70671. /**
  70672. * (Highcharts) Type of the algorithm used when positioning nodes.
  70673. */
  70674. type?: "reingold-fruchterman";
  70675. }
  70676. /**
  70677. * (Highcharts) Layout algorithm options for parent nodes.
  70678. */
  70679. export interface PlotPackedbubbleLayoutAlgorithmParentNodeOptions {
  70680. /**
  70681. * (Highcharts) Friction applied on forces to prevent nodes rushing to fast
  70682. * to the desired positions.
  70683. */
  70684. friction?: number;
  70685. /**
  70686. * (Highcharts) Gravitational const used in the barycenter force of the
  70687. * algorithm.
  70688. */
  70689. gravitationalConstant?: number;
  70690. /**
  70691. * (Highcharts) When `initialPositions` are set to 'circle',
  70692. * `initialPositionRadius` is a distance from the center of circle, in which
  70693. * nodes are created.
  70694. */
  70695. initialPositionRadius?: number;
  70696. /**
  70697. * (Highcharts) Initial layout algorithm for positioning nodes. Can be one
  70698. * of built-in options ("circle", "random") or a function where positions
  70699. * should be set on each node (`this.nodes`) as `node.plotX` and
  70700. * `node.plotY`
  70701. */
  70702. initialPositions?: ("circle"|"random"|Function);
  70703. /**
  70704. * (Highcharts) Integration type. Available options are `'euler'` and
  70705. * `'verlet'`. Integration determines how forces are applied on particles.
  70706. * In Euler integration, force is applied direct as `newPosition +=
  70707. * velocity;`. In Verlet integration, new position is based on a previous
  70708. * posittion without velocity: `newPosition += previousPosition -
  70709. * newPosition`.
  70710. *
  70711. * Note that different integrations give different results as forces are
  70712. * different.
  70713. *
  70714. * In Highcharts v7.0.x only `'euler'` integration was supported.
  70715. */
  70716. integration?: OptionsIntegrationValue;
  70717. /**
  70718. * (Highcharts) Ideal length (px) of the link between two nodes. When not
  70719. * defined, length is calculated as: `Math.pow(availableWidth *
  70720. * availableHeight / nodesLength, 0.4);`
  70721. *
  70722. * Note: Because of the algorithm specification, length of each link might
  70723. * be not exactly as specified.
  70724. */
  70725. linkLength?: number;
  70726. /**
  70727. * (Highcharts) Styling options for parentNodes markers. Similar to
  70728. * line.marker options.
  70729. */
  70730. marker?: PointMarkerOptionsObject;
  70731. /**
  70732. * (Highcharts) Max number of iterations before algorithm will stop. In
  70733. * general, algorithm should find positions sooner, but when rendering huge
  70734. * number of nodes, it is recommended to increase this value as finding
  70735. * perfect graph positions can require more time.
  70736. */
  70737. maxIterations?: number;
  70738. /**
  70739. * (Highcharts) Verlet integration only. Max speed that node can get in one
  70740. * iteration. In terms of simulation, it's a maximum translation (in pixels)
  70741. * that node can move (in both, x and y, dimensions). While `friction` is
  70742. * applied on all nodes, max speed is applied only for nodes that move very
  70743. * fast, for example small or disconnected ones.
  70744. */
  70745. maxSpeed?: number;
  70746. seriesInteraction?: boolean;
  70747. /**
  70748. * (Highcharts) Type of the algorithm used when positioning nodes.
  70749. */
  70750. type?: "reingold-fruchterman";
  70751. }
  70752. /**
  70753. * (Highcharts) A packed bubble series is a two dimensional series type, where
  70754. * each point renders a value in X, Y position. Each point is drawn as a bubble
  70755. * where the bubbles don't overlap with each other and the radius of the bubble
  70756. * relates to the value.
  70757. *
  70758. * In TypeScript the type option must always be set.
  70759. *
  70760. * Configuration options for the series are given in three levels:
  70761. *
  70762. * 1. Options for all series in a chart are defined in the plotOptions.series
  70763. * object.
  70764. *
  70765. * 2. Options for all `packedbubble` series are defined in
  70766. * plotOptions.packedbubble.
  70767. *
  70768. * 3. Options for one single series are given in the series instance array. (see
  70769. * online documentation for example)
  70770. */
  70771. export interface PlotPackedbubbleOptions {
  70772. /**
  70773. * (Highcharts) Accessibility options for a series.
  70774. */
  70775. accessibility?: SeriesAccessibilityOptionsObject;
  70776. /**
  70777. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  70778. * rendered. If `true`, areas which don't correspond to a data point, are
  70779. * rendered as `null` points. If `false`, those areas are skipped.
  70780. */
  70781. allAreas?: boolean;
  70782. /**
  70783. * (Highcharts) Allow this series' points to be selected by clicking on the
  70784. * graphic (columns, point markers, pie slices, map areas etc).
  70785. *
  70786. * The selected points can be handled by point select and unselect events,
  70787. * or collectively by the getSelectedPoints function.
  70788. *
  70789. * And alternative way of selecting points is through dragging.
  70790. */
  70791. allowPointSelect?: boolean;
  70792. /**
  70793. * (Highcharts) Enable or disable the initial animation when a series is
  70794. * displayed. The animation can also be set as a configuration object.
  70795. * Please note that this option only applies to the initial animation of the
  70796. * series itself. For other animations, see chart.animation and the
  70797. * animation parameter under the API methods. The following properties are
  70798. * supported:
  70799. *
  70800. * - `defer`: The animation delay time in milliseconds.
  70801. *
  70802. * - `duration`: The duration of the animation in milliseconds.
  70803. *
  70804. * - `easing`: Can be a string reference to an easing function set on the
  70805. * `Math` object or a function. See the _Custom easing function_ demo below.
  70806. *
  70807. * Due to poor performance, animation is disabled in old IE browsers for
  70808. * several chart types.
  70809. */
  70810. animation?: (boolean|PlotPackedbubbleAnimationOptions|Partial<AnimationOptionsObject>);
  70811. /**
  70812. * (Highcharts) If there are more points in the series than the
  70813. * `animationLimit`, the animation won't run. Animation affects overall
  70814. * performance and doesn't work well with heavy data series.
  70815. */
  70816. animationLimit?: number;
  70817. /**
  70818. * (Highmaps) The border color of the map areas.
  70819. *
  70820. * In styled mode, the border stroke is given in the `.highcharts-point`
  70821. * class.
  70822. */
  70823. borderColor?: (ColorString|GradientColorObject|PatternObject);
  70824. /**
  70825. * (Highmaps) The border width of each map area.
  70826. *
  70827. * In styled mode, the border stroke width is given in the
  70828. * `.highcharts-point` class.
  70829. */
  70830. borderWidth?: number;
  70831. /**
  70832. * (Highcharts) An additional class name to apply to the series' graphical
  70833. * elements. This option does not replace default class names of the
  70834. * graphical element.
  70835. */
  70836. className?: string;
  70837. /**
  70838. * (Highcharts) Disable this option to allow series rendering in the whole
  70839. * plotting area.
  70840. *
  70841. * **Note:** Clipping should be always enabled when chart.zoomType is set
  70842. */
  70843. clip?: boolean;
  70844. /**
  70845. * (Highcharts) The main color of the series. In line type series it applies
  70846. * to the line and the point markers unless otherwise specified. In bar type
  70847. * series it applies to the bars unless a color is specified per point. The
  70848. * default value is pulled from the `options.colors` array.
  70849. *
  70850. * In styled mode, the color can be defined by the colorIndex option. Also,
  70851. * the series color can be set with the `.highcharts-series`,
  70852. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  70853. * `.highcharts-series-{n}` class, or individual classes given by the
  70854. * `className` option.
  70855. */
  70856. color?: (ColorString|GradientColorObject|PatternObject);
  70857. /**
  70858. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  70859. * this number defines which colorAxis the particular series is connected
  70860. * to. It refers to either the axis id or the index of the axis in the
  70861. * colorAxis array, with 0 being the first. Set this option to false to
  70862. * prevent a series from connecting to the default color axis.
  70863. *
  70864. * Since v7.2.0 the option can also be an axis id or an axis index instead
  70865. * of a boolean flag.
  70866. */
  70867. colorAxis?: (boolean|number|string);
  70868. /**
  70869. * (Highcharts) Styled mode only. A specific color index to use for the
  70870. * series, so its graphic representations are given the class name
  70871. * `highcharts-color-{n}`.
  70872. */
  70873. colorIndex?: number;
  70874. /**
  70875. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  70876. * used to calculate point color if `colorAxis` is used. Requires to set
  70877. * `min` and `max` if some custom point property is used or if approximation
  70878. * for data grouping is set to `'sum'`.
  70879. */
  70880. colorKey?: string;
  70881. /**
  70882. * (Highstock) Compare the values of the series against the first non-null,
  70883. * non- zero value in the visible range. The y axis will show percentage or
  70884. * absolute change depending on whether `compare` is set to `"percent"` or
  70885. * `"value"`. When this is applied to multiple series, it allows comparing
  70886. * the development of the series against each other. Adds a `change` field
  70887. * to every point object.
  70888. */
  70889. compare?: string;
  70890. /**
  70891. * (Highstock) When compare is `percent`, this option dictates whether to
  70892. * use 0 or 100 as the base of comparison.
  70893. */
  70894. compareBase?: (0|100);
  70895. /**
  70896. * (Highstock) Defines if comparison should start from the first point
  70897. * within the visible range or should start from the first point **before**
  70898. * the range.
  70899. *
  70900. * In other words, this flag determines if first point within the visible
  70901. * range will have 0% (`compareStart=true`) or should have been already
  70902. * calculated according to the previous point (`compareStart=false`).
  70903. */
  70904. compareStart?: boolean;
  70905. /**
  70906. * (Gantt) Override Pathfinder connector options for a series. Requires
  70907. * Highcharts Gantt to be loaded.
  70908. */
  70909. connectors?: SeriesConnectorsOptionsObject;
  70910. /**
  70911. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  70912. * rounded to its nearest pixel in order to render sharp on screen. In some
  70913. * cases, when there are a lot of densely packed columns, this leads to
  70914. * visible difference in column widths or distance between columns. In these
  70915. * cases, setting `crisp` to `false` may look better, even though each
  70916. * column is rendered blurry.
  70917. */
  70918. crisp?: boolean;
  70919. /**
  70920. * (Highcharts) You can set the cursor to "pointer" if you have click events
  70921. * attached to the series, to signal to the user that the points and lines
  70922. * can be clicked.
  70923. *
  70924. * In styled mode, the series cursor can be set with the same classes as
  70925. * listed under series.color.
  70926. */
  70927. cursor?: (string|CursorValue);
  70928. /**
  70929. * (Highcharts) A reserved subspace to store options and values for
  70930. * customized functionality. Here you can add additional data for your own
  70931. * event callbacks and formatter callbacks.
  70932. */
  70933. custom?: Dictionary<any>;
  70934. /**
  70935. * (Highcharts) Name of the dash style to use for the graph, or for some
  70936. * series types the outline of each shape.
  70937. *
  70938. * In styled mode, the stroke dash-array can be set with the same classes as
  70939. * listed under series.color.
  70940. */
  70941. dashStyle?: DashStyleValue;
  70942. /**
  70943. * (Highstock) Data grouping is the concept of sampling the data values into
  70944. * larger blocks in order to ease readability and increase performance of
  70945. * the JavaScript charts. Highcharts Stock by default applies data grouping
  70946. * when the points become closer than a certain pixel value, determined by
  70947. * the `groupPixelWidth` option.
  70948. *
  70949. * If data grouping is applied, the grouping information of grouped points
  70950. * can be read from the Point.dataGroup. If point options other than the
  70951. * data itself are set, for example `name` or `color` or custom properties,
  70952. * the grouping logic doesn't know how to group it. In this case the options
  70953. * of the first point instance are copied over to the group point. This can
  70954. * be altered through a custom `approximation` callback function.
  70955. */
  70956. dataGrouping?: DataGroupingOptionsObject;
  70957. /**
  70958. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  70959. * labels, appearing next to each data point.
  70960. *
  70961. * Since v6.2.0, multiple data labels can be applied to each single point by
  70962. * defining them as an array of configs.
  70963. *
  70964. * In styled mode, the data labels can be styled with the
  70965. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  70966. * (see example).
  70967. */
  70968. dataLabels?: (SeriesPackedBubbleDataLabelsOptionsObject|Array<SeriesPackedBubbleDataLabelsOptionsObject>);
  70969. /**
  70970. * (Highcharts) A description of the series to add to the screen reader
  70971. * information about the series.
  70972. */
  70973. description?: string;
  70974. /**
  70975. * (Highcharts) Whether to display negative sized bubbles. The threshold is
  70976. * given by the zThreshold option, and negative bubbles can be visualized by
  70977. * setting negativeColor.
  70978. */
  70979. displayNegative?: boolean;
  70980. /**
  70981. * (Highcharts) Flag to determine if nodes are draggable or not. Available
  70982. * for graph with useSimulation set to true only.
  70983. */
  70984. draggable?: boolean;
  70985. /**
  70986. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  70987. * This includes point tooltips and click events on graphs and points. For
  70988. * large datasets it improves performance.
  70989. */
  70990. enableMouseTracking?: boolean;
  70991. /**
  70992. * (Highcharts) General event handlers for the series items. These event
  70993. * hooks can also be attached to the series at run time using the
  70994. * `Highcharts.addEvent` function.
  70995. */
  70996. events?: SeriesEventsOptionsObject;
  70997. /**
  70998. * (Highcharts) Determines whether the series should look for the nearest
  70999. * point in both dimensions or just the x-dimension when hovering the
  71000. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  71001. * series. If the data has duplicate x-values, it is recommended to set this
  71002. * to `'xy'` to allow hovering over all points.
  71003. *
  71004. * Applies only to series types using nearest neighbor search (not direct
  71005. * hover) for tooltip.
  71006. */
  71007. findNearestPointBy?: OptionsFindNearestPointByValue;
  71008. /**
  71009. * (Highstock) Defines when to display a gap in the graph, together with the
  71010. * gapUnit option.
  71011. *
  71012. * In case when `dataGrouping` is enabled, points can be grouped into a
  71013. * larger time span. This can make the grouped points to have a greater
  71014. * distance than the absolute value of `gapSize` property, which will result
  71015. * in disappearing graph completely. To prevent this situation the mentioned
  71016. * distance between grouped points is used instead of previously defined
  71017. * `gapSize`.
  71018. *
  71019. * In practice, this option is most often used to visualize gaps in time
  71020. * series. In a stock chart, intraday data is available for daytime hours,
  71021. * while gaps will appear in nights and weekends.
  71022. */
  71023. gapSize?: number;
  71024. /**
  71025. * (Highstock) Together with gapSize, this option defines where to draw gaps
  71026. * in the graph.
  71027. *
  71028. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  71029. * if the distance between two points is greater than 5 times that of the
  71030. * two closest points, the graph will be broken.
  71031. *
  71032. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  71033. * values, which on a datetime axis is milliseconds. This also applies to
  71034. * the navigator series that inherits gap options from the base series.
  71035. */
  71036. gapUnit?: OptionsGapUnitValue;
  71037. /**
  71038. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  71039. * chart width or only the zoomed area when zooming in on parts of the X
  71040. * axis. By default, the Y axis adjusts to the min and max of the visible
  71041. * data. Cartesian series only.
  71042. */
  71043. getExtremesFromAll?: boolean;
  71044. /**
  71045. * (Highcharts) When set to `false` will prevent the series data from being
  71046. * included in any form of data export.
  71047. *
  71048. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  71049. * `includeInCSVExport`.
  71050. */
  71051. includeInDataExport?: boolean;
  71052. /**
  71053. * (Highmaps) What property to join the `mapData` to the value data. For
  71054. * example, if joinBy is "code", the mapData items with a specific code is
  71055. * merged into the data with the same code. For maps loaded from GeoJSON,
  71056. * the keys may be held in each point's `properties` object.
  71057. *
  71058. * The joinBy option can also be an array of two values, where the first
  71059. * points to a key in the `mapData`, and the second points to another key in
  71060. * the `data`.
  71061. *
  71062. * When joinBy is `null`, the map items are joined by their position in the
  71063. * array, which performs much better in maps with many data points. This is
  71064. * the recommended option if you are printing more than a thousand data
  71065. * points and have a backend that can preprocess the data into a parallel
  71066. * array of the mapData.
  71067. */
  71068. joinBy?: (string|Array<string>);
  71069. /**
  71070. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  71071. * series as possible in a natural way, seeking to avoid other series. The
  71072. * goal of this feature is to make the chart more easily readable, like if a
  71073. * human designer placed the labels in the optimal position.
  71074. *
  71075. * The series labels currently work with series types having a `graph` or an
  71076. * `area`.
  71077. */
  71078. label?: SeriesLabelOptionsObject;
  71079. /**
  71080. * (Highstock) The line marks the last price from all points.
  71081. */
  71082. lastPrice?: SeriesLastPriceOptionsObject;
  71083. /**
  71084. * (Highstock) The line marks the last price from visible range of points.
  71085. */
  71086. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  71087. /**
  71088. * (Highcharts) Options for layout algorithm when simulation is enabled.
  71089. * Inside there are options to change the speed, padding, initial bubbles
  71090. * positions and more.
  71091. */
  71092. layoutAlgorithm?: PlotPackedbubbleLayoutAlgorithmOptions;
  71093. /**
  71094. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  71095. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  71096. * the ends and bends.
  71097. */
  71098. linecap?: SeriesLinecapValue;
  71099. /**
  71100. * (Highcharts, Highstock) The width of the line connecting the data points.
  71101. */
  71102. lineWidth?: number;
  71103. /**
  71104. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  71105. * Additionally, the value can be ":previous" to link to the previous
  71106. * series. When two series are linked, only the first one appears in the
  71107. * legend. Toggling the visibility of this also toggles the linked series.
  71108. *
  71109. * If master series uses data sorting and linked series does not have its
  71110. * own sorting definition, the linked series will be sorted in the same
  71111. * order as the master one.
  71112. */
  71113. linkedTo?: string;
  71114. /**
  71115. * (Highcharts) Options for the point markers of line-like series.
  71116. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  71117. * visual appearance of the markers. Other series types, like column series,
  71118. * don't have markers, but have visual options on the series level instead.
  71119. *
  71120. * In styled mode, the markers can be styled with the `.highcharts-point`,
  71121. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  71122. */
  71123. marker?: PointMarkerOptionsObject;
  71124. /**
  71125. * (Highcharts, Highstock) Maximum bubble size. Bubbles will automatically
  71126. * size between the `minSize` and `maxSize` to reflect the value of each
  71127. * bubble. Can be either pixels (when no unit is given), or a percentage of
  71128. * the smallest one of the plot width and height, divided by the square root
  71129. * of total number of points.
  71130. */
  71131. maxSize?: (number|string);
  71132. /**
  71133. * (Highcharts, Highstock) Minimum bubble size. Bubbles will automatically
  71134. * size between the `minSize` and `maxSize` to reflect the value of each
  71135. * bubble. Can be either pixels (when no unit is given), or a percentage of
  71136. * the smallest one of the plot width and height, divided by the square root
  71137. * of total number of points.
  71138. */
  71139. minSize?: (number|string);
  71140. /**
  71141. * (Highstock) Options for the corresponding navigator series if
  71142. * `showInNavigator` is `true` for this series. Available options are the
  71143. * same as any series, documented at plotOptions and series.
  71144. *
  71145. * These options are merged with options in navigator.series, and will take
  71146. * precedence if the same option is defined both places.
  71147. */
  71148. navigatorOptions?: PlotSeriesOptions;
  71149. /**
  71150. * (Highcharts) When a point's Z value is below the zThreshold setting, this
  71151. * color is used.
  71152. */
  71153. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  71154. /**
  71155. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  71156. * dataLabels.
  71157. */
  71158. opacity?: number;
  71159. /**
  71160. * (Highcharts) Series options for parent nodes.
  71161. */
  71162. parentNode?: PlotPackedbubbleParentNodeOptions;
  71163. /**
  71164. * (Highcharts) Properties for each single point.
  71165. */
  71166. point?: PlotSeriesPointOptions;
  71167. /**
  71168. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  71169. * individual series. Overrides the chart wide configuration.
  71170. */
  71171. pointDescriptionFormatter?: Function;
  71172. /**
  71173. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  71174. * a series, `pointInterval` defines the interval of the x values. For
  71175. * example, if a series contains one value every decade starting from year
  71176. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  71177. * `pointInterval` is set in milliseconds.
  71178. *
  71179. * It can be also be combined with `pointIntervalUnit` to draw irregular
  71180. * time intervals.
  71181. *
  71182. * Please note that this options applies to the _series data_, not the
  71183. * interval of the axis ticks, which is independent.
  71184. */
  71185. pointInterval?: number;
  71186. /**
  71187. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  71188. * setting the pointInterval to irregular time units, `day`, `month` and
  71189. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  71190. * also takes the DST crossover into consideration when dealing with local
  71191. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  71192. * months, 10 years etc.
  71193. *
  71194. * Please note that this options applies to the _series data_, not the
  71195. * interval of the axis ticks, which is independent.
  71196. */
  71197. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  71198. /**
  71199. * (Highstock) The width of each point on the x axis. For example in a
  71200. * column chart with one value each day, the pointRange would be 1 day (= 24
  71201. * * 3600
  71202. *
  71203. * * 1000 milliseconds). This is normally computed automatically, but this
  71204. * option can be used to override the automatic value.
  71205. */
  71206. pointRange?: number;
  71207. /**
  71208. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  71209. * a series, pointStart defines on what value to start. For example, if a
  71210. * series contains one yearly value starting from 1945, set pointStart to
  71211. * 1945.
  71212. */
  71213. pointStart?: number;
  71214. /**
  71215. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  71216. * true, the checkbox next to the series name in the legend will be checked
  71217. * for a selected series.
  71218. */
  71219. selected?: boolean;
  71220. /**
  71221. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  71222. * allow selecting the series. The state of the checkbox is determined by
  71223. * the `selected` option.
  71224. */
  71225. showCheckbox?: boolean;
  71226. /**
  71227. * (Highcharts) Whether to display this particular series or series type in
  71228. * the legend. Standalone series are shown in legend by default, and linked
  71229. * series are not. Since v7.2.0 it is possible to show series that use
  71230. * colorAxis by setting this option to `true`.
  71231. */
  71232. showInLegend?: boolean;
  71233. /**
  71234. * (Highstock) Whether or not to show the series in the navigator. Takes
  71235. * precedence over navigator.baseSeries if defined.
  71236. */
  71237. showInNavigator?: boolean;
  71238. /**
  71239. * (Highcharts) Whether the bubble's value should be represented by the area
  71240. * or the width of the bubble. The default, `area`, corresponds best to the
  71241. * human perception of the size of each bubble.
  71242. */
  71243. sizeBy?: string;
  71244. /**
  71245. * (Highcharts) If set to `true`, the accessibility module will skip past
  71246. * the points in this series for keyboard navigation.
  71247. */
  71248. skipKeyboardNavigation?: boolean;
  71249. /**
  71250. * (Highcharts) When this is true, the series will not cause the Y axis to
  71251. * cross the zero plane (or threshold option) unless the data actually
  71252. * crosses the plane.
  71253. *
  71254. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  71255. * make the Y axis show negative values according to the `minPadding`
  71256. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  71257. */
  71258. softThreshold?: boolean;
  71259. /**
  71260. * (Highcharts, Highstock) Whether to stack the values of each series on top
  71261. * of each other. Possible values are `undefined` to disable, `"normal"` to
  71262. * stack by value or `"percent"`.
  71263. *
  71264. * When stacking is enabled, data must be sorted in ascending X order.
  71265. *
  71266. * Some stacking options are related to specific series types. In the
  71267. * streamgraph series type, the stacking option is set to `"stream"`. The
  71268. * second one is `"overlap"`, which only applies to waterfall series.
  71269. */
  71270. stacking?: OptionsStackingValue;
  71271. states?: SeriesStatesOptionsObject;
  71272. /**
  71273. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  71274. * `mouseOut` event on a series isn't triggered until the mouse moves over
  71275. * another series, or out of the plot area. When false, the `mouseOut` event
  71276. * on a series is triggered when the mouse leaves the area around the
  71277. * series' graph or markers. This also implies the tooltip. When
  71278. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  71279. * be hidden when moving the mouse between series.
  71280. */
  71281. stickyTracking?: boolean;
  71282. /**
  71283. * (Highcharts, Highstock) The threshold, also called zero level or base
  71284. * level. For line type series this is only used in conjunction with
  71285. * negativeColor.
  71286. */
  71287. threshold?: (number|null);
  71288. /**
  71289. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  71290. * of each single series. Properties are inherited from tooltip. Overridable
  71291. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  71292. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  71293. * series.name by default shows in the headerFormat and point.x and point.y
  71294. * in the pointFormat.
  71295. */
  71296. tooltip?: SeriesTooltipOptionsObject;
  71297. /**
  71298. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  71299. * is longer than this, only one dimensional arrays of numbers, or two
  71300. * dimensional arrays with x and y values are allowed. Also, only the first
  71301. * point is tested, and the rest are assumed to be the same format. This
  71302. * saves expensive data checking and indexing in long series. Set it to `0`
  71303. * disable.
  71304. *
  71305. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  71306. * two dimensional arrays are allowed.
  71307. */
  71308. turboThreshold?: number;
  71309. /**
  71310. * (Highcharts) An option is giving a possibility to choose between using
  71311. * simulation for calculating bubble positions. These reflects in both
  71312. * animation and final position of bubbles. Simulation is also adding
  71313. * options to the series graph based on used layout. In case of big data
  71314. * sets, with any performance issues, it is possible to disable animation
  71315. * and pack bubble in a simple circular way.
  71316. */
  71317. useSimulation?: boolean;
  71318. /**
  71319. * (Highcharts) Set the initial visibility of the series.
  71320. */
  71321. visible?: boolean;
  71322. /**
  71323. * (Highmaps) Define the z index of the series.
  71324. */
  71325. zIndex?: number;
  71326. /**
  71327. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  71328. */
  71329. zoneAxis?: string;
  71330. /**
  71331. * (Highcharts, Highstock) An array defining zones within a series. Zones
  71332. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  71333. * the `zoneAxis` option. The zone definitions have to be in ascending order
  71334. * regarding to the value.
  71335. *
  71336. * In styled mode, the color zones are styled with the
  71337. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  71338. * option (view live demo).
  71339. */
  71340. zones?: Array<SeriesZonesOptionsObject>;
  71341. /**
  71342. * (Highcharts) When displayNegative is `false`, bubbles with lower Z values
  71343. * are skipped. When `displayNegative` is `true` and a negativeColor is
  71344. * given, points with lower Z is colored.
  71345. */
  71346. zThreshold?: number;
  71347. }
  71348. /**
  71349. * (Highcharts) Series options for parent nodes.
  71350. */
  71351. export interface PlotPackedbubbleParentNodeOptions {
  71352. /**
  71353. * (Highcharts) Allow this series' parent nodes to be selected by clicking
  71354. * on the graph.
  71355. */
  71356. allowPointSelect?: boolean;
  71357. }
  71358. /**
  71359. * (Highcharts) Enable or disable the initial animation when a series is
  71360. * displayed. The animation can also be set as a configuration object. Please
  71361. * note that this option only applies to the initial animation of the series
  71362. * itself. For other animations, see chart.animation and the animation parameter
  71363. * under the API methods. The following properties are supported:
  71364. *
  71365. * - `defer`: The animation delay time in milliseconds.
  71366. *
  71367. * - `duration`: The duration of the animation in milliseconds.
  71368. *
  71369. * - `easing`: Can be a string reference to an easing function set on the `Math`
  71370. * object or a function. See the _Custom easing function_ demo below.
  71371. *
  71372. * Due to poor performance, animation is disabled in old IE browsers for several
  71373. * chart types.
  71374. */
  71375. export interface PlotParetoAnimationOptions {
  71376. defer?: number;
  71377. }
  71378. /**
  71379. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  71380. * animation when a series is displayed for the `dataLabels`. The animation can
  71381. * also be set as a configuration object. Please note that this option only
  71382. * applies to the initial animation. For other animations, see chart.animation
  71383. * and the animation parameter under the API methods. The following properties
  71384. * are supported:
  71385. *
  71386. * - `defer`: The animation delay time in milliseconds.
  71387. */
  71388. export interface PlotParetoDataLabelsAnimationOptions {
  71389. /**
  71390. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  71391. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  71392. * inherits defer time from the series.animation.defer.
  71393. */
  71394. defer?: number;
  71395. }
  71396. /**
  71397. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  71398. * appearing next to each data point.
  71399. *
  71400. * Since v6.2.0, multiple data labels can be applied to each single point by
  71401. * defining them as an array of configs.
  71402. *
  71403. * In styled mode, the data labels can be styled with the
  71404. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  71405. * example).
  71406. */
  71407. export interface PlotParetoDataLabelsOptions {
  71408. /**
  71409. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  71410. * compared to the point. If `right`, the right side of the label should be
  71411. * touching the point. For points with an extent, like columns, the
  71412. * alignments also dictates how to align it inside the box, as given with
  71413. * the inside option. Can be one of `left`, `center` or `right`.
  71414. */
  71415. align?: (AlignValue|null);
  71416. /**
  71417. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  71418. * overlap. To make the labels less sensitive for overlapping, the
  71419. * dataLabels.padding can be set to 0.
  71420. */
  71421. allowOverlap?: boolean;
  71422. /**
  71423. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  71424. * animation when a series is displayed for the `dataLabels`. The animation
  71425. * can also be set as a configuration object. Please note that this option
  71426. * only applies to the initial animation. For other animations, see
  71427. * chart.animation and the animation parameter under the API methods. The
  71428. * following properties are supported:
  71429. *
  71430. * - `defer`: The animation delay time in milliseconds.
  71431. */
  71432. animation?: (boolean|PlotParetoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  71433. /**
  71434. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  71435. * for the data label.
  71436. */
  71437. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  71438. /**
  71439. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  71440. * label. Defaults to `undefined`.
  71441. */
  71442. borderColor?: (ColorString|GradientColorObject|PatternObject);
  71443. /**
  71444. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  71445. * the data label.
  71446. */
  71447. borderRadius?: number;
  71448. /**
  71449. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  71450. * the data label.
  71451. */
  71452. borderWidth?: number;
  71453. /**
  71454. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  71455. * Particularly in styled mode, this can be used to give each series' or
  71456. * point's data label unique styling. In addition to this option, a default
  71457. * color class name is added so that we can give the labels a contrast text
  71458. * shadow.
  71459. */
  71460. className?: string;
  71461. /**
  71462. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  71463. * labels. Defaults to `undefined`. For certain series types, like column or
  71464. * map, the data labels can be drawn inside the points. In this case the
  71465. * data label will be drawn with maximum contrast by default. Additionally,
  71466. * it will be given a `text-outline` style with the opposite color, to
  71467. * further increase the contrast. This can be overridden by setting the
  71468. * `text-outline` style to `none` in the `dataLabels.style` option.
  71469. */
  71470. color?: (ColorString|GradientColorObject|PatternObject);
  71471. /**
  71472. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  71473. * are outside the plot area. By default, the data label is moved inside the
  71474. * plot area according to the overflow option.
  71475. */
  71476. crop?: boolean;
  71477. /**
  71478. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  71479. * labels until the initial series animation has finished. Setting to
  71480. * `false` renders the data label immediately. If set to `true` inherits the
  71481. * defer time set in plotOptions.series.animation. If set to a number, a
  71482. * defer time is specified in milliseconds.
  71483. */
  71484. defer?: (boolean|number);
  71485. /**
  71486. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  71487. * labels.
  71488. */
  71489. enabled?: boolean;
  71490. /**
  71491. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  71492. * of which data labels to display. The declarative filter is designed for
  71493. * use when callback functions are not available, like when the chart
  71494. * options require a pure JSON structure or for use with graphical editors.
  71495. * For programmatic control, use the `formatter` instead, and return
  71496. * `undefined` to disable a single data label.
  71497. */
  71498. filter?: DataLabelsFilterOptionsObject;
  71499. /**
  71500. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  71501. * label. Available variables are the same as for `formatter`.
  71502. */
  71503. format?: string;
  71504. /**
  71505. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  71506. * format the data label. Note that if a `format` is defined, the format
  71507. * takes precedence and the formatter is ignored.
  71508. */
  71509. formatter?: DataLabelsFormatterCallbackFunction;
  71510. /**
  71511. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  71512. * columns or map areas, whether to align the data label inside the box or
  71513. * to the actual value point. Defaults to `false` in most cases, `true` in
  71514. * stacked columns.
  71515. */
  71516. inside?: boolean;
  71517. /**
  71518. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  71519. * of null. Works analogously to format. `nullFormat` can be applied only to
  71520. * series which support displaying null points.
  71521. */
  71522. nullFormat?: (boolean|string);
  71523. /**
  71524. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  71525. * that defines formatting for points with the value of null. Works
  71526. * analogously to formatter. `nullPointFormatter` can be applied only to
  71527. * series which support displaying null points.
  71528. */
  71529. nullFormatter?: DataLabelsFormatterCallbackFunction;
  71530. /**
  71531. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  71532. * flow outside the plot area. The default is `"justify"`, which aligns them
  71533. * inside the plot area. For columns and bars, this means it will be moved
  71534. * inside the bar. To display data labels outside the plot area, set `crop`
  71535. * to `false` and `overflow` to `"allow"`.
  71536. */
  71537. overflow?: DataLabelsOverflowValue;
  71538. /**
  71539. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  71540. * the `backgroundColor` is set, this is the padding within the box.
  71541. */
  71542. padding?: number;
  71543. /**
  71544. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  71545. * points. If `center` alignment is not possible, it defaults to `right`.
  71546. */
  71547. position?: AlignValue;
  71548. /**
  71549. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  71550. * that due to a more complex structure, backgrounds, borders and padding
  71551. * will be lost on a rotated data label.
  71552. */
  71553. rotation?: number;
  71554. /**
  71555. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  71556. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  71557. * an object configuration containing `color`, `offsetX`, `offsetY`,
  71558. * `opacity` and `width`.
  71559. */
  71560. shadow?: (boolean|ShadowOptionsObject);
  71561. /**
  71562. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  71563. * the border around the label. Symbols are predefined functions on the
  71564. * Renderer object.
  71565. */
  71566. shape?: string;
  71567. /**
  71568. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  71569. * default `color` setting is `"contrast"`, which is a pseudo color that
  71570. * Highcharts picks up and applies the maximum contrast to the underlying
  71571. * point item, for example the bar in a bar chart.
  71572. *
  71573. * The `textOutline` is a pseudo property that applies an outline of the
  71574. * given width with the given color, which by default is the maximum
  71575. * contrast to the text. So a bright text color will result in a black text
  71576. * outline for maximum readability on a mixed background. In some cases,
  71577. * especially with grayscale text, the text outline doesn't work well, in
  71578. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  71579. * is true, the `textOutline` will not be picked up. In this, case, the same
  71580. * effect can be acheived through the `text-shadow` CSS property.
  71581. *
  71582. * For some series types, where each point has an extent, like for example
  71583. * tree maps, the data label may overflow the point. There are two
  71584. * strategies for handling overflow. By default, the text will wrap to
  71585. * multiple lines. The other strategy is to set `style.textOverflow` to
  71586. * `ellipsis`, which will keep the text on one line plus it will break
  71587. * inside long words.
  71588. */
  71589. style?: CSSObject;
  71590. /**
  71591. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  71592. * should follow marker's shape. Border and background are disabled for a
  71593. * label that follows a path.
  71594. *
  71595. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  71596. * to true will disable this option.
  71597. */
  71598. textPath?: DataLabelsTextPathOptionsObject;
  71599. /**
  71600. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  71601. * the labels.
  71602. */
  71603. useHTML?: boolean;
  71604. /**
  71605. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  71606. * label. Can be one of `top`, `middle` or `bottom`. The default value
  71607. * depends on the data, for instance in a column chart, the label is above
  71608. * positive values and below negative values.
  71609. */
  71610. verticalAlign?: (VerticalAlignValue|null);
  71611. /**
  71612. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  71613. * label relative to the point in pixels.
  71614. */
  71615. x?: number;
  71616. /**
  71617. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  71618. * label relative to the point in pixels.
  71619. */
  71620. y?: number;
  71621. /**
  71622. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  71623. * The default Z index puts it above the series. Use a Z index of 2 to
  71624. * display it behind the series.
  71625. */
  71626. z?: number;
  71627. }
  71628. /**
  71629. * (Highcharts, Highstock) Options for the series data sorting.
  71630. */
  71631. export interface PlotParetoDataSortingOptions {
  71632. /**
  71633. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  71634. * Use xAxis.reversed to change the sorting order.
  71635. */
  71636. enabled?: boolean;
  71637. /**
  71638. * (Highcharts, Highstock) Whether to allow matching points by name in an
  71639. * update. If this option is disabled, points will be matched by order.
  71640. */
  71641. matchByName?: boolean;
  71642. /**
  71643. * (Highcharts, Highstock) Determines what data value should be used to sort
  71644. * by.
  71645. */
  71646. sortKey?: string;
  71647. }
  71648. /**
  71649. * (Highcharts) A pareto diagram is a type of chart that contains both bars and
  71650. * a line graph, where individual values are represented in descending order by
  71651. * bars, and the cumulative total is represented by the line.
  71652. *
  71653. * In TypeScript the type option must always be set.
  71654. *
  71655. * Configuration options for the series are given in three levels:
  71656. *
  71657. * 1. Options for all series in a chart are defined in the plotOptions.series
  71658. * object.
  71659. *
  71660. * 2. Options for all `pareto` series are defined in plotOptions.pareto.
  71661. *
  71662. * 3. Options for one single series are given in the series instance array. (see
  71663. * online documentation for example)
  71664. */
  71665. export interface PlotParetoOptions {
  71666. /**
  71667. * (Highcharts) Accessibility options for a series.
  71668. */
  71669. accessibility?: SeriesAccessibilityOptionsObject;
  71670. /**
  71671. * (Highcharts) Allow this series' points to be selected by clicking on the
  71672. * graphic (columns, point markers, pie slices, map areas etc).
  71673. *
  71674. * The selected points can be handled by point select and unselect events,
  71675. * or collectively by the getSelectedPoints function.
  71676. *
  71677. * And alternative way of selecting points is through dragging.
  71678. */
  71679. allowPointSelect?: boolean;
  71680. /**
  71681. * (Highcharts) Enable or disable the initial animation when a series is
  71682. * displayed. The animation can also be set as a configuration object.
  71683. * Please note that this option only applies to the initial animation of the
  71684. * series itself. For other animations, see chart.animation and the
  71685. * animation parameter under the API methods. The following properties are
  71686. * supported:
  71687. *
  71688. * - `defer`: The animation delay time in milliseconds.
  71689. *
  71690. * - `duration`: The duration of the animation in milliseconds.
  71691. *
  71692. * - `easing`: Can be a string reference to an easing function set on the
  71693. * `Math` object or a function. See the _Custom easing function_ demo below.
  71694. *
  71695. * Due to poor performance, animation is disabled in old IE browsers for
  71696. * several chart types.
  71697. */
  71698. animation?: (boolean|PlotParetoAnimationOptions|Partial<AnimationOptionsObject>);
  71699. /**
  71700. * (Highcharts) For some series, there is a limit that shuts down initial
  71701. * animation by default when the total number of points in the chart is too
  71702. * high. For example, for a column chart and its derivatives, animation does
  71703. * not run if there is more than 250 points totally. To disable this cap,
  71704. * set `animationLimit` to `Infinity`.
  71705. */
  71706. animationLimit?: number;
  71707. /**
  71708. * (Highcharts) An additional class name to apply to the series' graphical
  71709. * elements. This option does not replace default class names of the
  71710. * graphical element.
  71711. */
  71712. className?: string;
  71713. /**
  71714. * (Highcharts) Disable this option to allow series rendering in the whole
  71715. * plotting area.
  71716. *
  71717. * **Note:** Clipping should be always enabled when chart.zoomType is set
  71718. */
  71719. clip?: boolean;
  71720. /**
  71721. * (Highcharts) The main color of the series. In line type series it applies
  71722. * to the line and the point markers unless otherwise specified. In bar type
  71723. * series it applies to the bars unless a color is specified per point. The
  71724. * default value is pulled from the `options.colors` array.
  71725. *
  71726. * In styled mode, the color can be defined by the colorIndex option. Also,
  71727. * the series color can be set with the `.highcharts-series`,
  71728. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  71729. * `.highcharts-series-{n}` class, or individual classes given by the
  71730. * `className` option.
  71731. */
  71732. color?: (ColorString|GradientColorObject|PatternObject);
  71733. /**
  71734. * (Highcharts) Styled mode only. A specific color index to use for the
  71735. * series, so its graphic representations are given the class name
  71736. * `highcharts-color-{n}`.
  71737. */
  71738. colorIndex?: number;
  71739. /**
  71740. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  71741. * used to calculate point color if `colorAxis` is used. Requires to set
  71742. * `min` and `max` if some custom point property is used or if approximation
  71743. * for data grouping is set to `'sum'`.
  71744. */
  71745. colorKey?: string;
  71746. /**
  71747. * (Highstock) Compare the values of the series against the first non-null,
  71748. * non- zero value in the visible range. The y axis will show percentage or
  71749. * absolute change depending on whether `compare` is set to `"percent"` or
  71750. * `"value"`. When this is applied to multiple series, it allows comparing
  71751. * the development of the series against each other. Adds a `change` field
  71752. * to every point object.
  71753. */
  71754. compare?: string;
  71755. /**
  71756. * (Highstock) When compare is `percent`, this option dictates whether to
  71757. * use 0 or 100 as the base of comparison.
  71758. */
  71759. compareBase?: (0|100);
  71760. /**
  71761. * (Highstock) Defines if comparison should start from the first point
  71762. * within the visible range or should start from the first point **before**
  71763. * the range.
  71764. *
  71765. * In other words, this flag determines if first point within the visible
  71766. * range will have 0% (`compareStart=true`) or should have been already
  71767. * calculated according to the previous point (`compareStart=false`).
  71768. */
  71769. compareStart?: boolean;
  71770. /**
  71771. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  71772. * series plot across the extremes.
  71773. */
  71774. connectEnds?: boolean;
  71775. /**
  71776. * (Highcharts, Highstock) Whether to connect a graph line across null
  71777. * points, or render a gap between the two points on either side of the
  71778. * null.
  71779. */
  71780. connectNulls?: boolean;
  71781. /**
  71782. * (Gantt) Override Pathfinder connector options for a series. Requires
  71783. * Highcharts Gantt to be loaded.
  71784. */
  71785. connectors?: SeriesConnectorsOptionsObject;
  71786. /**
  71787. * (Highcharts, Highstock) When the series contains less points than the
  71788. * crop threshold, all points are drawn, even if the points fall outside the
  71789. * visible plot area at the current zoom. The advantage of drawing all
  71790. * points (including markers and columns), is that animation is performed on
  71791. * updates. On the other hand, when the series contains more points than the
  71792. * crop threshold, the series data is cropped to only contain points that
  71793. * fall within the plot area. The advantage of cropping away invisible
  71794. * points is to increase performance on large series.
  71795. */
  71796. cropThreshold?: number;
  71797. /**
  71798. * (Highcharts) You can set the cursor to "pointer" if you have click events
  71799. * attached to the series, to signal to the user that the points and lines
  71800. * can be clicked.
  71801. *
  71802. * In styled mode, the series cursor can be set with the same classes as
  71803. * listed under series.color.
  71804. */
  71805. cursor?: (string|CursorValue);
  71806. /**
  71807. * (Highcharts) A reserved subspace to store options and values for
  71808. * customized functionality. Here you can add additional data for your own
  71809. * event callbacks and formatter callbacks.
  71810. */
  71811. custom?: Dictionary<any>;
  71812. /**
  71813. * (Highcharts) Name of the dash style to use for the graph, or for some
  71814. * series types the outline of each shape.
  71815. *
  71816. * In styled mode, the stroke dash-array can be set with the same classes as
  71817. * listed under series.color.
  71818. */
  71819. dashStyle?: DashStyleValue;
  71820. /**
  71821. * (Highstock) Data grouping is the concept of sampling the data values into
  71822. * larger blocks in order to ease readability and increase performance of
  71823. * the JavaScript charts. Highcharts Stock by default applies data grouping
  71824. * when the points become closer than a certain pixel value, determined by
  71825. * the `groupPixelWidth` option.
  71826. *
  71827. * If data grouping is applied, the grouping information of grouped points
  71828. * can be read from the Point.dataGroup. If point options other than the
  71829. * data itself are set, for example `name` or `color` or custom properties,
  71830. * the grouping logic doesn't know how to group it. In this case the options
  71831. * of the first point instance are copied over to the group point. This can
  71832. * be altered through a custom `approximation` callback function.
  71833. */
  71834. dataGrouping?: DataGroupingOptionsObject;
  71835. /**
  71836. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  71837. * labels, appearing next to each data point.
  71838. *
  71839. * Since v6.2.0, multiple data labels can be applied to each single point by
  71840. * defining them as an array of configs.
  71841. *
  71842. * In styled mode, the data labels can be styled with the
  71843. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  71844. * (see example).
  71845. */
  71846. dataLabels?: (PlotParetoDataLabelsOptions|Array<PlotParetoDataLabelsOptions>);
  71847. /**
  71848. * (Highcharts, Highstock) Options for the series data sorting.
  71849. */
  71850. dataSorting?: (DataSortingOptionsObject|PlotParetoDataSortingOptions);
  71851. /**
  71852. * (Highcharts) A description of the series to add to the screen reader
  71853. * information about the series.
  71854. */
  71855. description?: string;
  71856. /**
  71857. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  71858. * This includes point tooltips and click events on graphs and points. For
  71859. * large datasets it improves performance.
  71860. */
  71861. enableMouseTracking?: boolean;
  71862. /**
  71863. * (Highcharts) General event handlers for the series items. These event
  71864. * hooks can also be attached to the series at run time using the
  71865. * `Highcharts.addEvent` function.
  71866. */
  71867. events?: SeriesEventsOptionsObject;
  71868. /**
  71869. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  71870. * chart width or only the zoomed area when zooming in on parts of the X
  71871. * axis. By default, the Y axis adjusts to the min and max of the visible
  71872. * data. Cartesian series only.
  71873. */
  71874. getExtremesFromAll?: boolean;
  71875. /**
  71876. * (Highcharts) When set to `false` will prevent the series data from being
  71877. * included in any form of data export.
  71878. *
  71879. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  71880. * `includeInCSVExport`.
  71881. */
  71882. includeInDataExport?: boolean;
  71883. /**
  71884. * (Highmaps) What property to join the `mapData` to the value data. For
  71885. * example, if joinBy is "code", the mapData items with a specific code is
  71886. * merged into the data with the same code. For maps loaded from GeoJSON,
  71887. * the keys may be held in each point's `properties` object.
  71888. *
  71889. * The joinBy option can also be an array of two values, where the first
  71890. * points to a key in the `mapData`, and the second points to another key in
  71891. * the `data`.
  71892. *
  71893. * When joinBy is `null`, the map items are joined by their position in the
  71894. * array, which performs much better in maps with many data points. This is
  71895. * the recommended option if you are printing more than a thousand data
  71896. * points and have a backend that can preprocess the data into a parallel
  71897. * array of the mapData.
  71898. */
  71899. joinBy?: (string|Array<string>);
  71900. /**
  71901. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  71902. * series as possible in a natural way, seeking to avoid other series. The
  71903. * goal of this feature is to make the chart more easily readable, like if a
  71904. * human designer placed the labels in the optimal position.
  71905. *
  71906. * The series labels currently work with series types having a `graph` or an
  71907. * `area`.
  71908. */
  71909. label?: SeriesLabelOptionsObject;
  71910. /**
  71911. * (Highstock) The line marks the last price from all points.
  71912. */
  71913. lastPrice?: SeriesLastPriceOptionsObject;
  71914. /**
  71915. * (Highstock) The line marks the last price from visible range of points.
  71916. */
  71917. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  71918. /**
  71919. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  71920. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  71921. * the ends and bends.
  71922. */
  71923. linecap?: SeriesLinecapValue;
  71924. /**
  71925. * (Highcharts, Highstock) Pixel width of the graph line.
  71926. */
  71927. lineWidth?: number;
  71928. /**
  71929. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  71930. * Additionally, the value can be ":previous" to link to the previous
  71931. * series. When two series are linked, only the first one appears in the
  71932. * legend. Toggling the visibility of this also toggles the linked series.
  71933. *
  71934. * If master series uses data sorting and linked series does not have its
  71935. * own sorting definition, the linked series will be sorted in the same
  71936. * order as the master one.
  71937. */
  71938. linkedTo?: string;
  71939. /**
  71940. * (Highcharts) Options for the point markers of line-like series.
  71941. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  71942. * visual appearance of the markers. Other series types, like column series,
  71943. * don't have markers, but have visual options on the series level instead.
  71944. *
  71945. * In styled mode, the markers can be styled with the `.highcharts-point`,
  71946. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  71947. */
  71948. marker?: PointMarkerOptionsObject;
  71949. /**
  71950. * (Highstock) Options for the corresponding navigator series if
  71951. * `showInNavigator` is `true` for this series. Available options are the
  71952. * same as any series, documented at plotOptions and series.
  71953. *
  71954. * These options are merged with options in navigator.series, and will take
  71955. * precedence if the same option is defined both places.
  71956. */
  71957. navigatorOptions?: PlotSeriesOptions;
  71958. /**
  71959. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  71960. * dataLabels.
  71961. */
  71962. opacity?: number;
  71963. /**
  71964. * (Highcharts) Properties for each single point.
  71965. */
  71966. point?: PlotSeriesPointOptions;
  71967. /**
  71968. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  71969. * individual series. Overrides the chart wide configuration.
  71970. */
  71971. pointDescriptionFormatter?: Function;
  71972. /**
  71973. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  71974. * true, the checkbox next to the series name in the legend will be checked
  71975. * for a selected series.
  71976. */
  71977. selected?: boolean;
  71978. /**
  71979. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  71980. * allow selecting the series. The state of the checkbox is determined by
  71981. * the `selected` option.
  71982. */
  71983. showCheckbox?: boolean;
  71984. /**
  71985. * (Highcharts) Whether to display this particular series or series type in
  71986. * the legend. Standalone series are shown in legend by default, and linked
  71987. * series are not. Since v7.2.0 it is possible to show series that use
  71988. * colorAxis by setting this option to `true`.
  71989. */
  71990. showInLegend?: boolean;
  71991. /**
  71992. * (Highstock) Whether or not to show the series in the navigator. Takes
  71993. * precedence over navigator.baseSeries if defined.
  71994. */
  71995. showInNavigator?: boolean;
  71996. /**
  71997. * (Highcharts) If set to `true`, the accessibility module will skip past
  71998. * the points in this series for keyboard navigation.
  71999. */
  72000. skipKeyboardNavigation?: boolean;
  72001. states?: SeriesStatesOptionsObject;
  72002. /**
  72003. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  72004. * event on a series isn't triggered until the mouse moves over another
  72005. * series, or out of the plot area. When false, the `mouseOut` event on a
  72006. * series is triggered when the mouse leaves the area around the series'
  72007. * graph or markers. This also implies the tooltip when not shared. When
  72008. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  72009. * be hidden when moving the mouse between series. Defaults to true for line
  72010. * and area type series, but to false for columns, pies etc.
  72011. *
  72012. * **Note:** The boost module will force this option because of technical
  72013. * limitations.
  72014. */
  72015. stickyTracking?: boolean;
  72016. /**
  72017. * (Highcharts) A configuration object for the tooltip rendering of each
  72018. * single series. Properties are inherited from tooltip, but only the
  72019. * following properties can be defined on a series level.
  72020. */
  72021. tooltip?: SeriesTooltipOptionsObject;
  72022. /**
  72023. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  72024. * is longer than this, only one dimensional arrays of numbers, or two
  72025. * dimensional arrays with x and y values are allowed. Also, only the first
  72026. * point is tested, and the rest are assumed to be the same format. This
  72027. * saves expensive data checking and indexing in long series. Set it to `0`
  72028. * disable.
  72029. *
  72030. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  72031. * two dimensional arrays are allowed.
  72032. */
  72033. turboThreshold?: number;
  72034. /**
  72035. * (Highstock) The parameter allows setting line series type and use OHLC
  72036. * indicators. Data in OHLC format is required.
  72037. */
  72038. useOhlcData?: boolean;
  72039. /**
  72040. * (Highcharts) Set the initial visibility of the series.
  72041. */
  72042. visible?: boolean;
  72043. /**
  72044. * (Highmaps) Higher zIndex than column series to draw line above shapes.
  72045. */
  72046. zIndex?: number;
  72047. }
  72048. /**
  72049. * (Highstock) Enable or disable the initial animation when a series is
  72050. * displayed. The animation can also be set as a configuration object. Please
  72051. * note that this option only applies to the initial animation of the series
  72052. * itself. For other animations, see chart.animation and the animation parameter
  72053. * under the API methods. The following properties are supported:
  72054. *
  72055. * - `defer`: The animation delay time in milliseconds.
  72056. *
  72057. * - `duration`: The duration of the animation in milliseconds.
  72058. *
  72059. * - `easing`: Can be a string reference to an easing function set on the `Math`
  72060. * object or a function. See the _Custom easing function_ demo below.
  72061. *
  72062. * Due to poor performance, animation is disabled in old IE browsers for several
  72063. * chart types.
  72064. */
  72065. export interface PlotPcAnimationOptions {
  72066. defer?: number;
  72067. }
  72068. export interface PlotPcBottomLineOptions {
  72069. styles?: PlotPcBottomLineStylesOptions;
  72070. }
  72071. export interface PlotPcBottomLineStylesOptions {
  72072. /**
  72073. * (Highstock) Color of the bottom line. If not set, it's inherited from
  72074. * plotOptions.pc.color.
  72075. */
  72076. lineColor?: ColorString;
  72077. /**
  72078. * (Highstock) Pixel width of the line.
  72079. */
  72080. lineWidth?: number;
  72081. }
  72082. /**
  72083. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  72084. * animation when a series is displayed for the `dataLabels`. The animation can
  72085. * also be set as a configuration object. Please note that this option only
  72086. * applies to the initial animation. For other animations, see chart.animation
  72087. * and the animation parameter under the API methods. The following properties
  72088. * are supported:
  72089. *
  72090. * - `defer`: The animation delay time in milliseconds.
  72091. */
  72092. export interface PlotPcDataLabelsAnimationOptions {
  72093. /**
  72094. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  72095. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  72096. * inherits defer time from the series.animation.defer.
  72097. */
  72098. defer?: number;
  72099. }
  72100. /**
  72101. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  72102. * appearing next to each data point.
  72103. *
  72104. * Since v6.2.0, multiple data labels can be applied to each single point by
  72105. * defining them as an array of configs.
  72106. *
  72107. * In styled mode, the data labels can be styled with the
  72108. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  72109. * example).
  72110. */
  72111. export interface PlotPcDataLabelsOptions {
  72112. /**
  72113. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  72114. * compared to the point. If `right`, the right side of the label should be
  72115. * touching the point. For points with an extent, like columns, the
  72116. * alignments also dictates how to align it inside the box, as given with
  72117. * the inside option. Can be one of `left`, `center` or `right`.
  72118. */
  72119. align?: (AlignValue|null);
  72120. /**
  72121. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  72122. * overlap. To make the labels less sensitive for overlapping, the
  72123. * dataLabels.padding can be set to 0.
  72124. */
  72125. allowOverlap?: boolean;
  72126. /**
  72127. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  72128. * animation when a series is displayed for the `dataLabels`. The animation
  72129. * can also be set as a configuration object. Please note that this option
  72130. * only applies to the initial animation. For other animations, see
  72131. * chart.animation and the animation parameter under the API methods. The
  72132. * following properties are supported:
  72133. *
  72134. * - `defer`: The animation delay time in milliseconds.
  72135. */
  72136. animation?: (boolean|PlotPcDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  72137. /**
  72138. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  72139. * for the data label.
  72140. */
  72141. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  72142. /**
  72143. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  72144. * label. Defaults to `undefined`.
  72145. */
  72146. borderColor?: (ColorString|GradientColorObject|PatternObject);
  72147. /**
  72148. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  72149. * the data label.
  72150. */
  72151. borderRadius?: number;
  72152. /**
  72153. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  72154. * the data label.
  72155. */
  72156. borderWidth?: number;
  72157. /**
  72158. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  72159. * Particularly in styled mode, this can be used to give each series' or
  72160. * point's data label unique styling. In addition to this option, a default
  72161. * color class name is added so that we can give the labels a contrast text
  72162. * shadow.
  72163. */
  72164. className?: string;
  72165. /**
  72166. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  72167. * labels. Defaults to `undefined`. For certain series types, like column or
  72168. * map, the data labels can be drawn inside the points. In this case the
  72169. * data label will be drawn with maximum contrast by default. Additionally,
  72170. * it will be given a `text-outline` style with the opposite color, to
  72171. * further increase the contrast. This can be overridden by setting the
  72172. * `text-outline` style to `none` in the `dataLabels.style` option.
  72173. */
  72174. color?: (ColorString|GradientColorObject|PatternObject);
  72175. /**
  72176. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  72177. * are outside the plot area. By default, the data label is moved inside the
  72178. * plot area according to the overflow option.
  72179. */
  72180. crop?: boolean;
  72181. /**
  72182. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  72183. * labels until the initial series animation has finished. Setting to
  72184. * `false` renders the data label immediately. If set to `true` inherits the
  72185. * defer time set in plotOptions.series.animation. If set to a number, a
  72186. * defer time is specified in milliseconds.
  72187. */
  72188. defer?: (boolean|number);
  72189. /**
  72190. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  72191. * labels.
  72192. */
  72193. enabled?: boolean;
  72194. /**
  72195. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  72196. * of which data labels to display. The declarative filter is designed for
  72197. * use when callback functions are not available, like when the chart
  72198. * options require a pure JSON structure or for use with graphical editors.
  72199. * For programmatic control, use the `formatter` instead, and return
  72200. * `undefined` to disable a single data label.
  72201. */
  72202. filter?: DataLabelsFilterOptionsObject;
  72203. /**
  72204. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  72205. * label. Available variables are the same as for `formatter`.
  72206. */
  72207. format?: string;
  72208. /**
  72209. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  72210. * format the data label. Note that if a `format` is defined, the format
  72211. * takes precedence and the formatter is ignored.
  72212. */
  72213. formatter?: DataLabelsFormatterCallbackFunction;
  72214. /**
  72215. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  72216. * columns or map areas, whether to align the data label inside the box or
  72217. * to the actual value point. Defaults to `false` in most cases, `true` in
  72218. * stacked columns.
  72219. */
  72220. inside?: boolean;
  72221. /**
  72222. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  72223. * of null. Works analogously to format. `nullFormat` can be applied only to
  72224. * series which support displaying null points.
  72225. */
  72226. nullFormat?: (boolean|string);
  72227. /**
  72228. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  72229. * that defines formatting for points with the value of null. Works
  72230. * analogously to formatter. `nullPointFormatter` can be applied only to
  72231. * series which support displaying null points.
  72232. */
  72233. nullFormatter?: DataLabelsFormatterCallbackFunction;
  72234. /**
  72235. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  72236. * flow outside the plot area. The default is `"justify"`, which aligns them
  72237. * inside the plot area. For columns and bars, this means it will be moved
  72238. * inside the bar. To display data labels outside the plot area, set `crop`
  72239. * to `false` and `overflow` to `"allow"`.
  72240. */
  72241. overflow?: DataLabelsOverflowValue;
  72242. /**
  72243. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  72244. * the `backgroundColor` is set, this is the padding within the box.
  72245. */
  72246. padding?: number;
  72247. /**
  72248. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  72249. * points. If `center` alignment is not possible, it defaults to `right`.
  72250. */
  72251. position?: AlignValue;
  72252. /**
  72253. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  72254. * that due to a more complex structure, backgrounds, borders and padding
  72255. * will be lost on a rotated data label.
  72256. */
  72257. rotation?: number;
  72258. /**
  72259. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  72260. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  72261. * an object configuration containing `color`, `offsetX`, `offsetY`,
  72262. * `opacity` and `width`.
  72263. */
  72264. shadow?: (boolean|ShadowOptionsObject);
  72265. /**
  72266. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  72267. * the border around the label. Symbols are predefined functions on the
  72268. * Renderer object.
  72269. */
  72270. shape?: string;
  72271. /**
  72272. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  72273. * default `color` setting is `"contrast"`, which is a pseudo color that
  72274. * Highcharts picks up and applies the maximum contrast to the underlying
  72275. * point item, for example the bar in a bar chart.
  72276. *
  72277. * The `textOutline` is a pseudo property that applies an outline of the
  72278. * given width with the given color, which by default is the maximum
  72279. * contrast to the text. So a bright text color will result in a black text
  72280. * outline for maximum readability on a mixed background. In some cases,
  72281. * especially with grayscale text, the text outline doesn't work well, in
  72282. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  72283. * is true, the `textOutline` will not be picked up. In this, case, the same
  72284. * effect can be acheived through the `text-shadow` CSS property.
  72285. *
  72286. * For some series types, where each point has an extent, like for example
  72287. * tree maps, the data label may overflow the point. There are two
  72288. * strategies for handling overflow. By default, the text will wrap to
  72289. * multiple lines. The other strategy is to set `style.textOverflow` to
  72290. * `ellipsis`, which will keep the text on one line plus it will break
  72291. * inside long words.
  72292. */
  72293. style?: CSSObject;
  72294. /**
  72295. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  72296. * should follow marker's shape. Border and background are disabled for a
  72297. * label that follows a path.
  72298. *
  72299. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  72300. * to true will disable this option.
  72301. */
  72302. textPath?: DataLabelsTextPathOptionsObject;
  72303. /**
  72304. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  72305. * the labels.
  72306. */
  72307. useHTML?: boolean;
  72308. /**
  72309. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  72310. * label. Can be one of `top`, `middle` or `bottom`. The default value
  72311. * depends on the data, for instance in a column chart, the label is above
  72312. * positive values and below negative values.
  72313. */
  72314. verticalAlign?: (VerticalAlignValue|null);
  72315. /**
  72316. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  72317. * label relative to the point in pixels.
  72318. */
  72319. x?: number;
  72320. /**
  72321. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  72322. * label relative to the point in pixels.
  72323. */
  72324. y?: number;
  72325. /**
  72326. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  72327. * The default Z index puts it above the series. Use a Z index of 2 to
  72328. * display it behind the series.
  72329. */
  72330. z?: number;
  72331. }
  72332. /**
  72333. * (Highcharts, Highstock) Options for the series data sorting.
  72334. */
  72335. export interface PlotPcDataSortingOptions {
  72336. /**
  72337. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  72338. * Use xAxis.reversed to change the sorting order.
  72339. */
  72340. enabled?: boolean;
  72341. /**
  72342. * (Highcharts, Highstock) Whether to allow matching points by name in an
  72343. * update. If this option is disabled, points will be matched by order.
  72344. */
  72345. matchByName?: boolean;
  72346. /**
  72347. * (Highcharts, Highstock) Determines what data value should be used to sort
  72348. * by.
  72349. */
  72350. sortKey?: string;
  72351. }
  72352. /**
  72353. * (Highstock) Price channel (PC). This series requires the `linkedTo` option to
  72354. * be set and should be loaded after the `stock/indicators/indicators.js`.
  72355. *
  72356. * In TypeScript the type option must always be set.
  72357. *
  72358. * Configuration options for the series are given in three levels:
  72359. *
  72360. * 1. Options for all series in a chart are defined in the plotOptions.series
  72361. * object.
  72362. *
  72363. * 2. Options for all `pc` series are defined in plotOptions.pc.
  72364. *
  72365. * 3. Options for one single series are given in the series instance array. (see
  72366. * online documentation for example)
  72367. */
  72368. export interface PlotPcOptions {
  72369. /**
  72370. * (Highstock) Accessibility options for a series.
  72371. */
  72372. accessibility?: SeriesAccessibilityOptionsObject;
  72373. /**
  72374. * (Highstock) Allow this series' points to be selected by clicking on the
  72375. * graphic (columns, point markers, pie slices, map areas etc).
  72376. *
  72377. * The selected points can be handled by point select and unselect events,
  72378. * or collectively by the getSelectedPoints function.
  72379. *
  72380. * And alternative way of selecting points is through dragging.
  72381. */
  72382. allowPointSelect?: boolean;
  72383. /**
  72384. * (Highstock) Enable or disable the initial animation when a series is
  72385. * displayed. The animation can also be set as a configuration object.
  72386. * Please note that this option only applies to the initial animation of the
  72387. * series itself. For other animations, see chart.animation and the
  72388. * animation parameter under the API methods. The following properties are
  72389. * supported:
  72390. *
  72391. * - `defer`: The animation delay time in milliseconds.
  72392. *
  72393. * - `duration`: The duration of the animation in milliseconds.
  72394. *
  72395. * - `easing`: Can be a string reference to an easing function set on the
  72396. * `Math` object or a function. See the _Custom easing function_ demo below.
  72397. *
  72398. * Due to poor performance, animation is disabled in old IE browsers for
  72399. * several chart types.
  72400. */
  72401. animation?: (boolean|PlotPcAnimationOptions|Partial<AnimationOptionsObject>);
  72402. /**
  72403. * (Highstock) For some series, there is a limit that shuts down initial
  72404. * animation by default when the total number of points in the chart is too
  72405. * high. For example, for a column chart and its derivatives, animation does
  72406. * not run if there is more than 250 points totally. To disable this cap,
  72407. * set `animationLimit` to `Infinity`.
  72408. */
  72409. animationLimit?: number;
  72410. /**
  72411. * (Highstock) Sets the color blending in the boost module.
  72412. */
  72413. boostBlending?: OptionsBoostBlendingValue;
  72414. /**
  72415. * (Highstock) Set the point threshold for when a series should enter boost
  72416. * mode.
  72417. *
  72418. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  72419. * there are 2000 or more points in the series.
  72420. *
  72421. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  72422. * it to 1 will force boosting.
  72423. *
  72424. * Note that the cropThreshold also affects this setting. When zooming in on
  72425. * a series that has fewer points than the `cropThreshold`, all points are
  72426. * rendered although outside the visible plot area, and the `boostThreshold`
  72427. * won't take effect.
  72428. */
  72429. boostThreshold?: number;
  72430. /**
  72431. * (Highmaps) The border color of the map areas.
  72432. *
  72433. * In styled mode, the border stroke is given in the `.highcharts-point`
  72434. * class.
  72435. */
  72436. borderColor?: (ColorString|GradientColorObject|PatternObject);
  72437. /**
  72438. * (Highmaps) The border width of each map area.
  72439. *
  72440. * In styled mode, the border stroke width is given in the
  72441. * `.highcharts-point` class.
  72442. */
  72443. borderWidth?: number;
  72444. bottomLine?: PlotPcBottomLineOptions;
  72445. /**
  72446. * (Highstock) An additional class name to apply to the series' graphical
  72447. * elements. This option does not replace default class names of the
  72448. * graphical element.
  72449. */
  72450. className?: string;
  72451. /**
  72452. * (Highstock) Disable this option to allow series rendering in the whole
  72453. * plotting area.
  72454. *
  72455. * **Note:** Clipping should be always enabled when chart.zoomType is set
  72456. */
  72457. clip?: boolean;
  72458. /**
  72459. * (Highstock) The main color of the series. In line type series it applies
  72460. * to the line and the point markers unless otherwise specified. In bar type
  72461. * series it applies to the bars unless a color is specified per point. The
  72462. * default value is pulled from the `options.colors` array.
  72463. *
  72464. * In styled mode, the color can be defined by the colorIndex option. Also,
  72465. * the series color can be set with the `.highcharts-series`,
  72466. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  72467. * `.highcharts-series-{n}` class, or individual classes given by the
  72468. * `className` option.
  72469. */
  72470. color?: (ColorString|GradientColorObject|PatternObject);
  72471. /**
  72472. * (Highstock) Styled mode only. A specific color index to use for the
  72473. * series, so its graphic representations are given the class name
  72474. * `highcharts-color-{n}`.
  72475. */
  72476. colorIndex?: number;
  72477. /**
  72478. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  72479. * used to calculate point color if `colorAxis` is used. Requires to set
  72480. * `min` and `max` if some custom point property is used or if approximation
  72481. * for data grouping is set to `'sum'`.
  72482. */
  72483. colorKey?: string;
  72484. /**
  72485. * (Highstock) Defines if comparison should start from the first point
  72486. * within the visible range or should start from the first point **before**
  72487. * the range.
  72488. *
  72489. * In other words, this flag determines if first point within the visible
  72490. * range will have 0% (`compareStart=true`) or should have been already
  72491. * calculated according to the previous point (`compareStart=false`).
  72492. */
  72493. compareStart?: boolean;
  72494. /**
  72495. * (Highstock) Whether to compare indicator to the main series values or
  72496. * indicator values.
  72497. */
  72498. compareToMain?: boolean;
  72499. /**
  72500. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  72501. * series plot across the extremes.
  72502. */
  72503. connectEnds?: boolean;
  72504. /**
  72505. * (Highcharts, Highstock) Whether to connect a graph line across null
  72506. * points, or render a gap between the two points on either side of the
  72507. * null.
  72508. */
  72509. connectNulls?: boolean;
  72510. /**
  72511. * (Gantt) Override Pathfinder connector options for a series. Requires
  72512. * Highcharts Gantt to be loaded.
  72513. */
  72514. connectors?: SeriesConnectorsOptionsObject;
  72515. /**
  72516. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  72517. * rounded to its nearest pixel in order to render sharp on screen. In some
  72518. * cases, when there are a lot of densely packed columns, this leads to
  72519. * visible difference in column widths or distance between columns. In these
  72520. * cases, setting `crisp` to `false` may look better, even though each
  72521. * column is rendered blurry.
  72522. */
  72523. crisp?: boolean;
  72524. /**
  72525. * (Highcharts, Highstock) When the series contains less points than the
  72526. * crop threshold, all points are drawn, even if the points fall outside the
  72527. * visible plot area at the current zoom. The advantage of drawing all
  72528. * points (including markers and columns), is that animation is performed on
  72529. * updates. On the other hand, when the series contains more points than the
  72530. * crop threshold, the series data is cropped to only contain points that
  72531. * fall within the plot area. The advantage of cropping away invisible
  72532. * points is to increase performance on large series.
  72533. */
  72534. cropThreshold?: number;
  72535. /**
  72536. * (Highstock) You can set the cursor to "pointer" if you have click events
  72537. * attached to the series, to signal to the user that the points and lines
  72538. * can be clicked.
  72539. *
  72540. * In styled mode, the series cursor can be set with the same classes as
  72541. * listed under series.color.
  72542. */
  72543. cursor?: (string|CursorValue);
  72544. /**
  72545. * (Highstock) A reserved subspace to store options and values for
  72546. * customized functionality. Here you can add additional data for your own
  72547. * event callbacks and formatter callbacks.
  72548. */
  72549. custom?: Dictionary<any>;
  72550. /**
  72551. * (Highstock) Name of the dash style to use for the graph, or for some
  72552. * series types the outline of each shape.
  72553. *
  72554. * In styled mode, the stroke dash-array can be set with the same classes as
  72555. * listed under series.color.
  72556. */
  72557. dashStyle?: DashStyleValue;
  72558. /**
  72559. * (Highstock) Data grouping is the concept of sampling the data values into
  72560. * larger blocks in order to ease readability and increase performance of
  72561. * the JavaScript charts. Highcharts Stock by default applies data grouping
  72562. * when the points become closer than a certain pixel value, determined by
  72563. * the `groupPixelWidth` option.
  72564. *
  72565. * If data grouping is applied, the grouping information of grouped points
  72566. * can be read from the Point.dataGroup. If point options other than the
  72567. * data itself are set, for example `name` or `color` or custom properties,
  72568. * the grouping logic doesn't know how to group it. In this case the options
  72569. * of the first point instance are copied over to the group point. This can
  72570. * be altered through a custom `approximation` callback function.
  72571. */
  72572. dataGrouping?: DataGroupingOptionsObject;
  72573. /**
  72574. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  72575. * labels, appearing next to each data point.
  72576. *
  72577. * Since v6.2.0, multiple data labels can be applied to each single point by
  72578. * defining them as an array of configs.
  72579. *
  72580. * In styled mode, the data labels can be styled with the
  72581. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  72582. * (see example).
  72583. */
  72584. dataLabels?: (PlotPcDataLabelsOptions|Array<PlotPcDataLabelsOptions>);
  72585. /**
  72586. * (Highcharts, Highstock) Options for the series data sorting.
  72587. */
  72588. dataSorting?: (DataSortingOptionsObject|PlotPcDataSortingOptions);
  72589. /**
  72590. * (Highstock) A description of the series to add to the screen reader
  72591. * information about the series.
  72592. */
  72593. description?: string;
  72594. /**
  72595. * (Highstock) Enable or disable the mouse tracking for a specific series.
  72596. * This includes point tooltips and click events on graphs and points. For
  72597. * large datasets it improves performance.
  72598. */
  72599. enableMouseTracking?: boolean;
  72600. /**
  72601. * (Highstock) General event handlers for the series items. These event
  72602. * hooks can also be attached to the series at run time using the
  72603. * `Highcharts.addEvent` function.
  72604. */
  72605. events?: SeriesEventsOptionsObject;
  72606. /**
  72607. * (Highstock) Determines whether the series should look for the nearest
  72608. * point in both dimensions or just the x-dimension when hovering the
  72609. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  72610. * series. If the data has duplicate x-values, it is recommended to set this
  72611. * to `'xy'` to allow hovering over all points.
  72612. *
  72613. * Applies only to series types using nearest neighbor search (not direct
  72614. * hover) for tooltip.
  72615. */
  72616. findNearestPointBy?: OptionsFindNearestPointByValue;
  72617. /**
  72618. * (Highstock) Defines when to display a gap in the graph, together with the
  72619. * gapUnit option.
  72620. *
  72621. * In case when `dataGrouping` is enabled, points can be grouped into a
  72622. * larger time span. This can make the grouped points to have a greater
  72623. * distance than the absolute value of `gapSize` property, which will result
  72624. * in disappearing graph completely. To prevent this situation the mentioned
  72625. * distance between grouped points is used instead of previously defined
  72626. * `gapSize`.
  72627. *
  72628. * In practice, this option is most often used to visualize gaps in time
  72629. * series. In a stock chart, intraday data is available for daytime hours,
  72630. * while gaps will appear in nights and weekends.
  72631. */
  72632. gapSize?: number;
  72633. /**
  72634. * (Highstock) Together with gapSize, this option defines where to draw gaps
  72635. * in the graph.
  72636. *
  72637. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  72638. * if the distance between two points is greater than 5 times that of the
  72639. * two closest points, the graph will be broken.
  72640. *
  72641. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  72642. * values, which on a datetime axis is milliseconds. This also applies to
  72643. * the navigator series that inherits gap options from the base series.
  72644. */
  72645. gapUnit?: OptionsGapUnitValue;
  72646. /**
  72647. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  72648. * chart width or only the zoomed area when zooming in on parts of the X
  72649. * axis. By default, the Y axis adjusts to the min and max of the visible
  72650. * data. Cartesian series only.
  72651. */
  72652. getExtremesFromAll?: boolean;
  72653. /**
  72654. * (Highstock) When set to `false` will prevent the series data from being
  72655. * included in any form of data export.
  72656. *
  72657. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  72658. * `includeInCSVExport`.
  72659. */
  72660. includeInDataExport?: boolean;
  72661. /**
  72662. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  72663. * series as possible in a natural way, seeking to avoid other series. The
  72664. * goal of this feature is to make the chart more easily readable, like if a
  72665. * human designer placed the labels in the optimal position.
  72666. *
  72667. * The series labels currently work with series types having a `graph` or an
  72668. * `area`.
  72669. */
  72670. label?: SeriesLabelOptionsObject;
  72671. /**
  72672. * (Highstock) The line marks the last price from all points.
  72673. */
  72674. lastPrice?: SeriesLastPriceOptionsObject;
  72675. /**
  72676. * (Highstock) The line marks the last price from visible range of points.
  72677. */
  72678. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  72679. /**
  72680. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  72681. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  72682. * the ends and bends.
  72683. */
  72684. linecap?: SeriesLinecapValue;
  72685. /**
  72686. * (Highcharts, Highstock) Pixel width of the graph line.
  72687. */
  72688. lineWidth?: number;
  72689. /**
  72690. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  72691. * based on. Required for this indicator.
  72692. */
  72693. linkedTo?: string;
  72694. /**
  72695. * (Highstock) Options for the point markers of line-like series. Properties
  72696. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  72697. * appearance of the markers. Other series types, like column series, don't
  72698. * have markers, but have visual options on the series level instead.
  72699. *
  72700. * In styled mode, the markers can be styled with the `.highcharts-point`,
  72701. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  72702. */
  72703. marker?: PointMarkerOptionsObject;
  72704. /**
  72705. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  72706. * If not set, it will be based on a technical indicator type and default
  72707. * params.
  72708. */
  72709. name?: string;
  72710. /**
  72711. * (Highstock) The color for the parts of the graph or points that are below
  72712. * the threshold. Note that `zones` takes precedence over the negative
  72713. * color. Using `negativeColor` is equivalent to applying a zone with value
  72714. * of 0.
  72715. */
  72716. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  72717. /**
  72718. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  72719. * dataLabels.
  72720. */
  72721. opacity?: number;
  72722. /**
  72723. * (Highstock) Paramters used in calculation of regression series' points.
  72724. */
  72725. params?: PlotPcParamsOptions;
  72726. /**
  72727. * (Highstock) Properties for each single point.
  72728. */
  72729. point?: PlotSeriesPointOptions;
  72730. /**
  72731. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  72732. * individual series. Overrides the chart wide configuration.
  72733. */
  72734. pointDescriptionFormatter?: Function;
  72735. /**
  72736. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  72737. * true, the checkbox next to the series name in the legend will be checked
  72738. * for a selected series.
  72739. */
  72740. selected?: boolean;
  72741. /**
  72742. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  72743. * the shadow can be an object configuration containing `color`, `offsetX`,
  72744. * `offsetY`, `opacity` and `width`.
  72745. */
  72746. shadow?: (boolean|ShadowOptionsObject);
  72747. /**
  72748. * (Highstock) If true, a checkbox is displayed next to the legend item to
  72749. * allow selecting the series. The state of the checkbox is determined by
  72750. * the `selected` option.
  72751. */
  72752. showCheckbox?: boolean;
  72753. /**
  72754. * (Highstock) Whether to display this particular series or series type in
  72755. * the legend. Standalone series are shown in legend by default, and linked
  72756. * series are not. Since v7.2.0 it is possible to show series that use
  72757. * colorAxis by setting this option to `true`.
  72758. */
  72759. showInLegend?: boolean;
  72760. /**
  72761. * (Highstock) If set to `true`, the accessibility module will skip past the
  72762. * points in this series for keyboard navigation.
  72763. */
  72764. skipKeyboardNavigation?: boolean;
  72765. /**
  72766. * (Highcharts, Highstock) When this is true, the series will not cause the
  72767. * Y axis to cross the zero plane (or threshold option) unless the data
  72768. * actually crosses the plane.
  72769. *
  72770. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  72771. * make the Y axis show negative values according to the `minPadding`
  72772. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  72773. */
  72774. softThreshold?: boolean;
  72775. states?: SeriesStatesOptionsObject;
  72776. /**
  72777. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  72778. * values are `left`, `center` and `right`.
  72779. */
  72780. step?: OptionsStepValue;
  72781. /**
  72782. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  72783. * event on a series isn't triggered until the mouse moves over another
  72784. * series, or out of the plot area. When false, the `mouseOut` event on a
  72785. * series is triggered when the mouse leaves the area around the series'
  72786. * graph or markers. This also implies the tooltip when not shared. When
  72787. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  72788. * be hidden when moving the mouse between series. Defaults to true for line
  72789. * and area type series, but to false for columns, pies etc.
  72790. *
  72791. * **Note:** The boost module will force this option because of technical
  72792. * limitations.
  72793. */
  72794. stickyTracking?: boolean;
  72795. /**
  72796. * (Highcharts, Highstock) The threshold, also called zero level or base
  72797. * level. For line type series this is only used in conjunction with
  72798. * negativeColor.
  72799. */
  72800. threshold?: (number|null);
  72801. /**
  72802. * (Highstock) A configuration object for the tooltip rendering of each
  72803. * single series. Properties are inherited from tooltip, but only the
  72804. * following properties can be defined on a series level.
  72805. */
  72806. tooltip?: SeriesTooltipOptionsObject;
  72807. topLine?: PlotPcTopLineOptions;
  72808. /**
  72809. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  72810. * is longer than this, only one dimensional arrays of numbers, or two
  72811. * dimensional arrays with x and y values are allowed. Also, only the first
  72812. * point is tested, and the rest are assumed to be the same format. This
  72813. * saves expensive data checking and indexing in long series. Set it to `0`
  72814. * disable.
  72815. *
  72816. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  72817. * two dimensional arrays are allowed.
  72818. */
  72819. turboThreshold?: number;
  72820. /**
  72821. * (Highstock) Set the initial visibility of the series.
  72822. */
  72823. visible?: boolean;
  72824. /**
  72825. * (Highmaps) Define the z index of the series.
  72826. */
  72827. zIndex?: number;
  72828. /**
  72829. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  72830. */
  72831. zoneAxis?: string;
  72832. /**
  72833. * (Highcharts, Highstock) An array defining zones within a series. Zones
  72834. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  72835. * the `zoneAxis` option. The zone definitions have to be in ascending order
  72836. * regarding to the value.
  72837. *
  72838. * In styled mode, the color zones are styled with the
  72839. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  72840. * option (view live demo).
  72841. */
  72842. zones?: Array<SeriesZonesOptionsObject>;
  72843. }
  72844. /**
  72845. * (Highstock) Paramters used in calculation of regression series' points.
  72846. */
  72847. export interface PlotPcParamsOptions {
  72848. index?: string;
  72849. /**
  72850. * (Highstock) The base period for indicator calculations. This is the
  72851. * number of data points which are taken into account for the indicator
  72852. * calculations.
  72853. */
  72854. period?: number;
  72855. }
  72856. export interface PlotPcTopLineOptions {
  72857. styles?: PlotPcTopLineStylesOptions;
  72858. }
  72859. export interface PlotPcTopLineStylesOptions {
  72860. /**
  72861. * (Highstock) Color of the top line. If not set, it's inherited from
  72862. * plotOptions.pc.color.
  72863. */
  72864. lineColor?: ColorString;
  72865. /**
  72866. * (Highstock) Pixel width of the line.
  72867. */
  72868. lineWidth?: number;
  72869. }
  72870. /**
  72871. * (Highcharts) Enable or disable the initial animation when a series is
  72872. * displayed. The animation can also be set as a configuration object. Please
  72873. * note that this option only applies to the initial animation of the series
  72874. * itself. For other animations, see chart.animation and the animation parameter
  72875. * under the API methods. The following properties are supported:
  72876. *
  72877. * - `defer`: The animation delay time in milliseconds.
  72878. *
  72879. * - `duration`: The duration of the animation in milliseconds.
  72880. *
  72881. * - `easing`: Can be a string reference to an easing function set on the `Math`
  72882. * object or a function. See the _Custom easing function_ demo below.
  72883. *
  72884. * Due to poor performance, animation is disabled in old IE browsers for several
  72885. * chart types.
  72886. */
  72887. export interface PlotPieAnimationOptions {
  72888. defer?: number;
  72889. }
  72890. /**
  72891. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  72892. * animation when a series is displayed for the `dataLabels`. The animation can
  72893. * also be set as a configuration object. Please note that this option only
  72894. * applies to the initial animation. For other animations, see chart.animation
  72895. * and the animation parameter under the API methods. The following properties
  72896. * are supported:
  72897. *
  72898. * - `defer`: The animation delay time in milliseconds.
  72899. */
  72900. export interface PlotPieDataLabelsAnimationOptions {
  72901. /**
  72902. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  72903. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  72904. * inherits defer time from the series.animation.defer.
  72905. */
  72906. defer?: number;
  72907. }
  72908. /**
  72909. * (Highcharts) A pie chart is a circular graphic which is divided into slices
  72910. * to illustrate numerical proportion.
  72911. *
  72912. * In TypeScript the type option must always be set.
  72913. *
  72914. * Configuration options for the series are given in three levels:
  72915. *
  72916. * 1. Options for all series in a chart are defined in the plotOptions.series
  72917. * object.
  72918. *
  72919. * 2. Options for all `pie` series are defined in plotOptions.pie.
  72920. *
  72921. * 3. Options for one single series are given in the series instance array. (see
  72922. * online documentation for example)
  72923. */
  72924. export interface PlotPieOptions {
  72925. /**
  72926. * (Highcharts) Accessibility options for a series.
  72927. */
  72928. accessibility?: SeriesAccessibilityOptionsObject;
  72929. /**
  72930. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  72931. * rendered. If `true`, areas which don't correspond to a data point, are
  72932. * rendered as `null` points. If `false`, those areas are skipped.
  72933. */
  72934. allAreas?: boolean;
  72935. /**
  72936. * (Highcharts) Allow this series' points to be selected by clicking on the
  72937. * graphic (columns, point markers, pie slices, map areas etc).
  72938. *
  72939. * The selected points can be handled by point select and unselect events,
  72940. * or collectively by the getSelectedPoints function.
  72941. *
  72942. * And alternative way of selecting points is through dragging.
  72943. */
  72944. allowPointSelect?: boolean;
  72945. /**
  72946. * (Highcharts) Enable or disable the initial animation when a series is
  72947. * displayed. The animation can also be set as a configuration object.
  72948. * Please note that this option only applies to the initial animation of the
  72949. * series itself. For other animations, see chart.animation and the
  72950. * animation parameter under the API methods. The following properties are
  72951. * supported:
  72952. *
  72953. * - `defer`: The animation delay time in milliseconds.
  72954. *
  72955. * - `duration`: The duration of the animation in milliseconds.
  72956. *
  72957. * - `easing`: Can be a string reference to an easing function set on the
  72958. * `Math` object or a function. See the _Custom easing function_ demo below.
  72959. *
  72960. * Due to poor performance, animation is disabled in old IE browsers for
  72961. * several chart types.
  72962. */
  72963. animation?: (boolean|PlotPieAnimationOptions|Partial<AnimationOptionsObject>);
  72964. /**
  72965. * (Highcharts) The color of the border surrounding each slice. When `null`,
  72966. * the border takes the same color as the slice fill. This can be used
  72967. * together with a `borderWidth` to fill drawing gaps created by
  72968. * antialiazing artefacts in borderless pies.
  72969. *
  72970. * In styled mode, the border stroke is given in the `.highcharts-point`
  72971. * class.
  72972. */
  72973. borderColor?: (ColorString|GradientColorObject|PatternObject);
  72974. /**
  72975. * (Highcharts) The width of the border surrounding each slice.
  72976. *
  72977. * When setting the border width to 0, there may be small gaps between the
  72978. * slices due to SVG antialiasing artefacts. To work around this, keep the
  72979. * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
  72980. *
  72981. * In styled mode, the border stroke width is given in the
  72982. * `.highcharts-point` class.
  72983. */
  72984. borderWidth?: number;
  72985. /**
  72986. * (Highcharts) The center of the pie chart relative to the plot area. Can
  72987. * be percentages or pixel values. The default behaviour (as of 3.0) is to
  72988. * center the pie so that all slices and data labels are within the plot
  72989. * area. As a consequence, the pie may actually jump around in a chart with
  72990. * dynamic values, as the data labels move. In that case, the center should
  72991. * be explicitly set, for example to `["50%", "50%"]`.
  72992. */
  72993. center?: [(number|string|null), (number|string|null)];
  72994. /**
  72995. * (Highcharts) An additional class name to apply to the series' graphical
  72996. * elements. This option does not replace default class names of the
  72997. * graphical element.
  72998. */
  72999. className?: string;
  73000. /**
  73001. * (Highcharts) Disable this option to allow series rendering in the whole
  73002. * plotting area.
  73003. *
  73004. * **Note:** Clipping should be always enabled when chart.zoomType is set
  73005. */
  73006. clip?: boolean;
  73007. /**
  73008. * (Highcharts) The color of the pie series. A pie series is represented as
  73009. * an empty circle if the total sum of its values is 0. Use this property to
  73010. * define the color of its border.
  73011. *
  73012. * In styled mode, the color can be defined by the colorIndex option. Also,
  73013. * the series color can be set with the `.highcharts-series`,
  73014. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  73015. * `.highcharts-series-{n}` class, or individual classes given by the
  73016. * `className` option.
  73017. */
  73018. color?: (ColorString|GradientColorObject|PatternObject);
  73019. /**
  73020. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  73021. * this number defines which colorAxis the particular series is connected
  73022. * to. It refers to either the axis id or the index of the axis in the
  73023. * colorAxis array, with 0 being the first. Set this option to false to
  73024. * prevent a series from connecting to the default color axis.
  73025. *
  73026. * Since v7.2.0 the option can also be an axis id or an axis index instead
  73027. * of a boolean flag.
  73028. */
  73029. colorAxis?: (boolean|number|string);
  73030. /**
  73031. * (Highcharts) Styled mode only. A specific color index to use for the
  73032. * series, so its graphic representations are given the class name
  73033. * `highcharts-color-{n}`.
  73034. */
  73035. colorIndex?: number;
  73036. /**
  73037. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  73038. * used to calculate point color if `colorAxis` is used. Requires to set
  73039. * `min` and `max` if some custom point property is used or if approximation
  73040. * for data grouping is set to `'sum'`.
  73041. */
  73042. colorKey?: string;
  73043. /**
  73044. * (Highcharts) A series specific or series type specific color set to use
  73045. * instead of the global colors.
  73046. */
  73047. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  73048. /**
  73049. * (Highstock) Compare the values of the series against the first non-null,
  73050. * non- zero value in the visible range. The y axis will show percentage or
  73051. * absolute change depending on whether `compare` is set to `"percent"` or
  73052. * `"value"`. When this is applied to multiple series, it allows comparing
  73053. * the development of the series against each other. Adds a `change` field
  73054. * to every point object.
  73055. */
  73056. compare?: string;
  73057. /**
  73058. * (Highstock) When compare is `percent`, this option dictates whether to
  73059. * use 0 or 100 as the base of comparison.
  73060. */
  73061. compareBase?: (0|100);
  73062. /**
  73063. * (Highstock) Defines if comparison should start from the first point
  73064. * within the visible range or should start from the first point **before**
  73065. * the range.
  73066. *
  73067. * In other words, this flag determines if first point within the visible
  73068. * range will have 0% (`compareStart=true`) or should have been already
  73069. * calculated according to the previous point (`compareStart=false`).
  73070. */
  73071. compareStart?: boolean;
  73072. /**
  73073. * (Gantt) Override Pathfinder connector options for a series. Requires
  73074. * Highcharts Gantt to be loaded.
  73075. */
  73076. connectors?: SeriesConnectorsOptionsObject;
  73077. /**
  73078. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  73079. * rounded to its nearest pixel in order to render sharp on screen. In some
  73080. * cases, when there are a lot of densely packed columns, this leads to
  73081. * visible difference in column widths or distance between columns. In these
  73082. * cases, setting `crisp` to `false` may look better, even though each
  73083. * column is rendered blurry.
  73084. */
  73085. crisp?: boolean;
  73086. /**
  73087. * (Highcharts) You can set the cursor to "pointer" if you have click events
  73088. * attached to the series, to signal to the user that the points and lines
  73089. * can be clicked.
  73090. *
  73091. * In styled mode, the series cursor can be set with the same classes as
  73092. * listed under series.color.
  73093. */
  73094. cursor?: (string|CursorValue);
  73095. /**
  73096. * (Highcharts) A reserved subspace to store options and values for
  73097. * customized functionality. Here you can add additional data for your own
  73098. * event callbacks and formatter callbacks.
  73099. */
  73100. custom?: Dictionary<any>;
  73101. /**
  73102. * (Highstock) Data grouping is the concept of sampling the data values into
  73103. * larger blocks in order to ease readability and increase performance of
  73104. * the JavaScript charts. Highcharts Stock by default applies data grouping
  73105. * when the points become closer than a certain pixel value, determined by
  73106. * the `groupPixelWidth` option.
  73107. *
  73108. * If data grouping is applied, the grouping information of grouped points
  73109. * can be read from the Point.dataGroup. If point options other than the
  73110. * data itself are set, for example `name` or `color` or custom properties,
  73111. * the grouping logic doesn't know how to group it. In this case the options
  73112. * of the first point instance are copied over to the group point. This can
  73113. * be altered through a custom `approximation` callback function.
  73114. */
  73115. dataGrouping?: DataGroupingOptionsObject;
  73116. /**
  73117. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  73118. * labels, appearing next to each data point.
  73119. *
  73120. * Since v6.2.0, multiple data labels can be applied to each single point by
  73121. * defining them as an array of configs.
  73122. *
  73123. * In styled mode, the data labels can be styled with the
  73124. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  73125. * (see example).
  73126. */
  73127. dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
  73128. /**
  73129. * (Highcharts) The thickness of a 3D pie.
  73130. */
  73131. depth?: number;
  73132. /**
  73133. * (Highcharts) A description of the series to add to the screen reader
  73134. * information about the series.
  73135. */
  73136. description?: string;
  73137. /**
  73138. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  73139. * This includes point tooltips and click events on graphs and points. For
  73140. * large datasets it improves performance.
  73141. */
  73142. enableMouseTracking?: boolean;
  73143. /**
  73144. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  73145. * right. Defaults to `startAngle` plus 360.
  73146. */
  73147. endAngle?: number;
  73148. /**
  73149. * (Highcharts) General event handlers for the series items. These event
  73150. * hooks can also be attached to the series at run time using the
  73151. * `Highcharts.addEvent` function.
  73152. */
  73153. events?: SeriesEventsOptionsObject;
  73154. /**
  73155. * (Highcharts) If the total sum of the pie's values is 0, the series is
  73156. * represented as an empty circle . The `fillColor` option defines the color
  73157. * of that circle. Use pie.borderWidth to set the border thickness.
  73158. */
  73159. fillColor?: (ColorString|GradientColorObject|PatternObject);
  73160. /**
  73161. * (Highstock) Defines when to display a gap in the graph, together with the
  73162. * gapUnit option.
  73163. *
  73164. * In case when `dataGrouping` is enabled, points can be grouped into a
  73165. * larger time span. This can make the grouped points to have a greater
  73166. * distance than the absolute value of `gapSize` property, which will result
  73167. * in disappearing graph completely. To prevent this situation the mentioned
  73168. * distance between grouped points is used instead of previously defined
  73169. * `gapSize`.
  73170. *
  73171. * In practice, this option is most often used to visualize gaps in time
  73172. * series. In a stock chart, intraday data is available for daytime hours,
  73173. * while gaps will appear in nights and weekends.
  73174. */
  73175. gapSize?: number;
  73176. /**
  73177. * (Highstock) Together with gapSize, this option defines where to draw gaps
  73178. * in the graph.
  73179. *
  73180. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  73181. * if the distance between two points is greater than 5 times that of the
  73182. * two closest points, the graph will be broken.
  73183. *
  73184. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  73185. * values, which on a datetime axis is milliseconds. This also applies to
  73186. * the navigator series that inherits gap options from the base series.
  73187. */
  73188. gapUnit?: OptionsGapUnitValue;
  73189. /**
  73190. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  73191. * whether the series shall be redrawn as if the hidden point were `null`.
  73192. *
  73193. * The default value changed from `false` to `true` with Highcharts 3.0.
  73194. */
  73195. ignoreHiddenPoint?: boolean;
  73196. /**
  73197. * (Highcharts) When set to `false` will prevent the series data from being
  73198. * included in any form of data export.
  73199. *
  73200. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  73201. * `includeInCSVExport`.
  73202. */
  73203. includeInDataExport?: boolean;
  73204. /**
  73205. * (Highcharts) The size of the inner diameter for the pie. A size greater
  73206. * than 0 renders a donut chart. Can be a percentage or pixel value.
  73207. * Percentages are relative to the pie size. Pixel values are given as
  73208. * integers.
  73209. *
  73210. * Note: in Highcharts < 4.1.2, the percentage was relative to the plot
  73211. * area, not the pie size.
  73212. */
  73213. innerSize?: (number|string);
  73214. /**
  73215. * (Highmaps) What property to join the `mapData` to the value data. For
  73216. * example, if joinBy is "code", the mapData items with a specific code is
  73217. * merged into the data with the same code. For maps loaded from GeoJSON,
  73218. * the keys may be held in each point's `properties` object.
  73219. *
  73220. * The joinBy option can also be an array of two values, where the first
  73221. * points to a key in the `mapData`, and the second points to another key in
  73222. * the `data`.
  73223. *
  73224. * When joinBy is `null`, the map items are joined by their position in the
  73225. * array, which performs much better in maps with many data points. This is
  73226. * the recommended option if you are printing more than a thousand data
  73227. * points and have a backend that can preprocess the data into a parallel
  73228. * array of the mapData.
  73229. */
  73230. joinBy?: (string|Array<string>);
  73231. /**
  73232. * (Highcharts) An array specifying which option maps to which key in the
  73233. * data point array. This makes it convenient to work with unstructured data
  73234. * arrays from different sources.
  73235. */
  73236. keys?: Array<string>;
  73237. /**
  73238. * (Highstock) The line marks the last price from all points.
  73239. */
  73240. lastPrice?: SeriesLastPriceOptionsObject;
  73241. /**
  73242. * (Highstock) The line marks the last price from visible range of points.
  73243. */
  73244. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  73245. /**
  73246. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  73247. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  73248. * the ends and bends.
  73249. */
  73250. linecap?: SeriesLinecapValue;
  73251. /**
  73252. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  73253. * Additionally, the value can be ":previous" to link to the previous
  73254. * series. When two series are linked, only the first one appears in the
  73255. * legend. Toggling the visibility of this also toggles the linked series.
  73256. *
  73257. * If master series uses data sorting and linked series does not have its
  73258. * own sorting definition, the linked series will be sorted in the same
  73259. * order as the master one.
  73260. */
  73261. linkedTo?: string;
  73262. /**
  73263. * (Highcharts) The minimum size for a pie in response to auto margins. The
  73264. * pie will try to shrink to make room for data labels in side the plot
  73265. * area, but only to this size.
  73266. */
  73267. minSize?: (number|string);
  73268. /**
  73269. * (Highstock) Options for the corresponding navigator series if
  73270. * `showInNavigator` is `true` for this series. Available options are the
  73271. * same as any series, documented at plotOptions and series.
  73272. *
  73273. * These options are merged with options in navigator.series, and will take
  73274. * precedence if the same option is defined both places.
  73275. */
  73276. navigatorOptions?: PlotSeriesOptions;
  73277. /**
  73278. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  73279. * dataLabels.
  73280. */
  73281. opacity?: number;
  73282. /**
  73283. * (Highcharts) Properties for each single point.
  73284. */
  73285. point?: PlotSeriesPointOptions;
  73286. /**
  73287. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  73288. * individual series. Overrides the chart wide configuration.
  73289. */
  73290. pointDescriptionFormatter?: Function;
  73291. /**
  73292. * (Highstock) The width of each point on the x axis. For example in a
  73293. * column chart with one value each day, the pointRange would be 1 day (= 24
  73294. * * 3600
  73295. *
  73296. * * 1000 milliseconds). This is normally computed automatically, but this
  73297. * option can be used to override the automatic value.
  73298. */
  73299. pointRange?: number;
  73300. /**
  73301. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  73302. * true, the checkbox next to the series name in the legend will be checked
  73303. * for a selected series.
  73304. */
  73305. selected?: boolean;
  73306. /**
  73307. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  73308. * the shadow can be an object configuration containing `color`, `offsetX`,
  73309. * `offsetY`, `opacity` and `width`.
  73310. */
  73311. shadow?: (boolean|ShadowOptionsObject);
  73312. /**
  73313. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  73314. * allow selecting the series. The state of the checkbox is determined by
  73315. * the `selected` option.
  73316. */
  73317. showCheckbox?: boolean;
  73318. /**
  73319. * (Highcharts) Whether to display this particular series or series type in
  73320. * the legend. Since 2.1, pies are not shown in the legend by default.
  73321. */
  73322. showInLegend?: boolean;
  73323. /**
  73324. * (Highstock) Whether or not to show the series in the navigator. Takes
  73325. * precedence over navigator.baseSeries if defined.
  73326. */
  73327. showInNavigator?: boolean;
  73328. /**
  73329. * (Highcharts) The diameter of the pie relative to the plot area. Can be a
  73330. * percentage or pixel value. Pixel values are given as integers. The
  73331. * default behaviour (as of 3.0) is to scale to the plot area and give room
  73332. * for data labels within the plot area. slicedOffset is also included in
  73333. * the default size calculation. As a consequence, the size of the pie may
  73334. * vary when points are updated and data labels more around. In that case it
  73335. * is best to set a fixed value, for example `"75%"`.
  73336. */
  73337. size?: (number|string|null);
  73338. /**
  73339. * (Highcharts) If set to `true`, the accessibility module will skip past
  73340. * the points in this series for keyboard navigation.
  73341. */
  73342. skipKeyboardNavigation?: boolean;
  73343. /**
  73344. * (Highcharts) If a point is sliced, moved out from the center, how many
  73345. * pixels should it be moved?.
  73346. */
  73347. slicedOffset?: number;
  73348. /**
  73349. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  73350. * and 90 right.
  73351. */
  73352. startAngle?: number;
  73353. states?: SeriesStatesOptionsObject;
  73354. /**
  73355. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  73356. * event on a series isn't triggered until the mouse moves over another
  73357. * series, or out of the plot area. When false, the `mouseOut` event on a
  73358. * series is triggered when the mouse leaves the area around the series'
  73359. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  73360. * false and `tooltip.shared` is false, the tooltip will be hidden when
  73361. * moving the mouse between series.
  73362. */
  73363. stickyTracking?: boolean;
  73364. /**
  73365. * (Highcharts) A configuration object for the tooltip rendering of each
  73366. * single series. Properties are inherited from tooltip, but only the
  73367. * following properties can be defined on a series level.
  73368. */
  73369. tooltip?: SeriesTooltipOptionsObject;
  73370. /**
  73371. * (Highstock) The parameter allows setting line series type and use OHLC
  73372. * indicators. Data in OHLC format is required.
  73373. */
  73374. useOhlcData?: boolean;
  73375. /**
  73376. * (Highcharts) Set the initial visibility of the series.
  73377. */
  73378. visible?: boolean;
  73379. /**
  73380. * (Highmaps) Define the z index of the series.
  73381. */
  73382. zIndex?: number;
  73383. }
  73384. /**
  73385. * (Highstock) Enable or disable the initial animation when a series is
  73386. * displayed. The animation can also be set as a configuration object. Please
  73387. * note that this option only applies to the initial animation of the series
  73388. * itself. For other animations, see chart.animation and the animation parameter
  73389. * under the API methods. The following properties are supported:
  73390. *
  73391. * - `defer`: The animation delay time in milliseconds.
  73392. *
  73393. * - `duration`: The duration of the animation in milliseconds.
  73394. *
  73395. * - `easing`: Can be a string reference to an easing function set on the `Math`
  73396. * object or a function. See the _Custom easing function_ demo below.
  73397. *
  73398. * Due to poor performance, animation is disabled in old IE browsers for several
  73399. * chart types.
  73400. */
  73401. export interface PlotPivotpointsAnimationOptions {
  73402. defer?: number;
  73403. }
  73404. /**
  73405. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  73406. * animation when a series is displayed for the `dataLabels`. The animation can
  73407. * also be set as a configuration object. Please note that this option only
  73408. * applies to the initial animation. For other animations, see chart.animation
  73409. * and the animation parameter under the API methods. The following properties
  73410. * are supported:
  73411. *
  73412. * - `defer`: The animation delay time in milliseconds.
  73413. */
  73414. export interface PlotPivotpointsDataLabelsAnimationOptions {
  73415. /**
  73416. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  73417. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  73418. * inherits defer time from the series.animation.defer.
  73419. */
  73420. defer?: number;
  73421. }
  73422. /**
  73423. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  73424. * appearing next to each data point.
  73425. *
  73426. * Since v6.2.0, multiple data labels can be applied to each single point by
  73427. * defining them as an array of configs.
  73428. *
  73429. * In styled mode, the data labels can be styled with the
  73430. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  73431. * example).
  73432. */
  73433. export interface PlotPivotpointsDataLabelsOptions {
  73434. /**
  73435. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  73436. * compared to the point. If `right`, the right side of the label should be
  73437. * touching the point. For points with an extent, like columns, the
  73438. * alignments also dictates how to align it inside the box, as given with
  73439. * the inside option. Can be one of `left`, `center` or `right`.
  73440. */
  73441. align?: (AlignValue|null);
  73442. /**
  73443. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  73444. * overlap. To make the labels less sensitive for overlapping, the
  73445. * dataLabels.padding can be set to 0.
  73446. */
  73447. allowOverlap?: boolean;
  73448. /**
  73449. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  73450. * animation when a series is displayed for the `dataLabels`. The animation
  73451. * can also be set as a configuration object. Please note that this option
  73452. * only applies to the initial animation. For other animations, see
  73453. * chart.animation and the animation parameter under the API methods. The
  73454. * following properties are supported:
  73455. *
  73456. * - `defer`: The animation delay time in milliseconds.
  73457. */
  73458. animation?: (boolean|PlotPivotpointsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  73459. /**
  73460. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  73461. * for the data label.
  73462. */
  73463. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  73464. /**
  73465. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  73466. * label. Defaults to `undefined`.
  73467. */
  73468. borderColor?: (ColorString|GradientColorObject|PatternObject);
  73469. /**
  73470. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  73471. * the data label.
  73472. */
  73473. borderRadius?: number;
  73474. /**
  73475. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  73476. * the data label.
  73477. */
  73478. borderWidth?: number;
  73479. /**
  73480. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  73481. * Particularly in styled mode, this can be used to give each series' or
  73482. * point's data label unique styling. In addition to this option, a default
  73483. * color class name is added so that we can give the labels a contrast text
  73484. * shadow.
  73485. */
  73486. className?: string;
  73487. /**
  73488. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  73489. * labels. Defaults to `undefined`. For certain series types, like column or
  73490. * map, the data labels can be drawn inside the points. In this case the
  73491. * data label will be drawn with maximum contrast by default. Additionally,
  73492. * it will be given a `text-outline` style with the opposite color, to
  73493. * further increase the contrast. This can be overridden by setting the
  73494. * `text-outline` style to `none` in the `dataLabels.style` option.
  73495. */
  73496. color?: (ColorString|GradientColorObject|PatternObject);
  73497. /**
  73498. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  73499. * are outside the plot area. By default, the data label is moved inside the
  73500. * plot area according to the overflow option.
  73501. */
  73502. crop?: boolean;
  73503. /**
  73504. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  73505. * labels until the initial series animation has finished. Setting to
  73506. * `false` renders the data label immediately. If set to `true` inherits the
  73507. * defer time set in plotOptions.series.animation. If set to a number, a
  73508. * defer time is specified in milliseconds.
  73509. */
  73510. defer?: (boolean|number);
  73511. /**
  73512. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  73513. * labels.
  73514. */
  73515. enabled?: boolean;
  73516. /**
  73517. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  73518. * of which data labels to display. The declarative filter is designed for
  73519. * use when callback functions are not available, like when the chart
  73520. * options require a pure JSON structure or for use with graphical editors.
  73521. * For programmatic control, use the `formatter` instead, and return
  73522. * `undefined` to disable a single data label.
  73523. */
  73524. filter?: DataLabelsFilterOptionsObject;
  73525. /**
  73526. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  73527. * label. Available variables are the same as for `formatter`.
  73528. */
  73529. format?: string;
  73530. /**
  73531. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  73532. * format the data label. Note that if a `format` is defined, the format
  73533. * takes precedence and the formatter is ignored.
  73534. */
  73535. formatter?: DataLabelsFormatterCallbackFunction;
  73536. /**
  73537. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  73538. * columns or map areas, whether to align the data label inside the box or
  73539. * to the actual value point. Defaults to `false` in most cases, `true` in
  73540. * stacked columns.
  73541. */
  73542. inside?: boolean;
  73543. /**
  73544. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  73545. * of null. Works analogously to format. `nullFormat` can be applied only to
  73546. * series which support displaying null points.
  73547. */
  73548. nullFormat?: (boolean|string);
  73549. /**
  73550. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  73551. * that defines formatting for points with the value of null. Works
  73552. * analogously to formatter. `nullPointFormatter` can be applied only to
  73553. * series which support displaying null points.
  73554. */
  73555. nullFormatter?: DataLabelsFormatterCallbackFunction;
  73556. /**
  73557. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  73558. * flow outside the plot area. The default is `"justify"`, which aligns them
  73559. * inside the plot area. For columns and bars, this means it will be moved
  73560. * inside the bar. To display data labels outside the plot area, set `crop`
  73561. * to `false` and `overflow` to `"allow"`.
  73562. */
  73563. overflow?: DataLabelsOverflowValue;
  73564. /**
  73565. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  73566. * the `backgroundColor` is set, this is the padding within the box.
  73567. */
  73568. padding?: number;
  73569. /**
  73570. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  73571. * points. If `center` alignment is not possible, it defaults to `right`.
  73572. */
  73573. position?: AlignValue;
  73574. /**
  73575. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  73576. * that due to a more complex structure, backgrounds, borders and padding
  73577. * will be lost on a rotated data label.
  73578. */
  73579. rotation?: number;
  73580. /**
  73581. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  73582. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  73583. * an object configuration containing `color`, `offsetX`, `offsetY`,
  73584. * `opacity` and `width`.
  73585. */
  73586. shadow?: (boolean|ShadowOptionsObject);
  73587. /**
  73588. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  73589. * the border around the label. Symbols are predefined functions on the
  73590. * Renderer object.
  73591. */
  73592. shape?: string;
  73593. /**
  73594. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  73595. * default `color` setting is `"contrast"`, which is a pseudo color that
  73596. * Highcharts picks up and applies the maximum contrast to the underlying
  73597. * point item, for example the bar in a bar chart.
  73598. *
  73599. * The `textOutline` is a pseudo property that applies an outline of the
  73600. * given width with the given color, which by default is the maximum
  73601. * contrast to the text. So a bright text color will result in a black text
  73602. * outline for maximum readability on a mixed background. In some cases,
  73603. * especially with grayscale text, the text outline doesn't work well, in
  73604. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  73605. * is true, the `textOutline` will not be picked up. In this, case, the same
  73606. * effect can be acheived through the `text-shadow` CSS property.
  73607. *
  73608. * For some series types, where each point has an extent, like for example
  73609. * tree maps, the data label may overflow the point. There are two
  73610. * strategies for handling overflow. By default, the text will wrap to
  73611. * multiple lines. The other strategy is to set `style.textOverflow` to
  73612. * `ellipsis`, which will keep the text on one line plus it will break
  73613. * inside long words.
  73614. */
  73615. style?: CSSObject;
  73616. /**
  73617. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  73618. * should follow marker's shape. Border and background are disabled for a
  73619. * label that follows a path.
  73620. *
  73621. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  73622. * to true will disable this option.
  73623. */
  73624. textPath?: DataLabelsTextPathOptionsObject;
  73625. /**
  73626. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  73627. * the labels.
  73628. */
  73629. useHTML?: boolean;
  73630. /**
  73631. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  73632. * label. Can be one of `top`, `middle` or `bottom`. The default value
  73633. * depends on the data, for instance in a column chart, the label is above
  73634. * positive values and below negative values.
  73635. */
  73636. verticalAlign?: (VerticalAlignValue|null);
  73637. /**
  73638. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  73639. * label relative to the point in pixels.
  73640. */
  73641. x?: number;
  73642. /**
  73643. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  73644. * label relative to the point in pixels.
  73645. */
  73646. y?: number;
  73647. /**
  73648. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  73649. * The default Z index puts it above the series. Use a Z index of 2 to
  73650. * display it behind the series.
  73651. */
  73652. z?: number;
  73653. }
  73654. /**
  73655. * (Highcharts, Highstock) Options for the series data sorting.
  73656. */
  73657. export interface PlotPivotpointsDataSortingOptions {
  73658. /**
  73659. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  73660. * Use xAxis.reversed to change the sorting order.
  73661. */
  73662. enabled?: boolean;
  73663. /**
  73664. * (Highcharts, Highstock) Whether to allow matching points by name in an
  73665. * update. If this option is disabled, points will be matched by order.
  73666. */
  73667. matchByName?: boolean;
  73668. /**
  73669. * (Highcharts, Highstock) Determines what data value should be used to sort
  73670. * by.
  73671. */
  73672. sortKey?: string;
  73673. }
  73674. /**
  73675. * (Highstock) Pivot points indicator. This series requires the `linkedTo`
  73676. * option to be set and should be loaded after `stock/indicators/indicators.js`
  73677. * file.
  73678. *
  73679. * In TypeScript the type option must always be set.
  73680. *
  73681. * Configuration options for the series are given in three levels:
  73682. *
  73683. * 1. Options for all series in a chart are defined in the plotOptions.series
  73684. * object.
  73685. *
  73686. * 2. Options for all `pivotpoints` series are defined in
  73687. * plotOptions.pivotpoints.
  73688. *
  73689. * 3. Options for one single series are given in the series instance array. (see
  73690. * online documentation for example)
  73691. */
  73692. export interface PlotPivotpointsOptions {
  73693. /**
  73694. * (Highstock) Accessibility options for a series.
  73695. */
  73696. accessibility?: SeriesAccessibilityOptionsObject;
  73697. /**
  73698. * (Highstock) Allow this series' points to be selected by clicking on the
  73699. * graphic (columns, point markers, pie slices, map areas etc).
  73700. *
  73701. * The selected points can be handled by point select and unselect events,
  73702. * or collectively by the getSelectedPoints function.
  73703. *
  73704. * And alternative way of selecting points is through dragging.
  73705. */
  73706. allowPointSelect?: boolean;
  73707. /**
  73708. * (Highstock) Enable or disable the initial animation when a series is
  73709. * displayed. The animation can also be set as a configuration object.
  73710. * Please note that this option only applies to the initial animation of the
  73711. * series itself. For other animations, see chart.animation and the
  73712. * animation parameter under the API methods. The following properties are
  73713. * supported:
  73714. *
  73715. * - `defer`: The animation delay time in milliseconds.
  73716. *
  73717. * - `duration`: The duration of the animation in milliseconds.
  73718. *
  73719. * - `easing`: Can be a string reference to an easing function set on the
  73720. * `Math` object or a function. See the _Custom easing function_ demo below.
  73721. *
  73722. * Due to poor performance, animation is disabled in old IE browsers for
  73723. * several chart types.
  73724. */
  73725. animation?: (boolean|PlotPivotpointsAnimationOptions|Partial<AnimationOptionsObject>);
  73726. /**
  73727. * (Highstock) For some series, there is a limit that shuts down initial
  73728. * animation by default when the total number of points in the chart is too
  73729. * high. For example, for a column chart and its derivatives, animation does
  73730. * not run if there is more than 250 points totally. To disable this cap,
  73731. * set `animationLimit` to `Infinity`.
  73732. */
  73733. animationLimit?: number;
  73734. /**
  73735. * (Highstock) Sets the color blending in the boost module.
  73736. */
  73737. boostBlending?: OptionsBoostBlendingValue;
  73738. /**
  73739. * (Highstock) Set the point threshold for when a series should enter boost
  73740. * mode.
  73741. *
  73742. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  73743. * there are 2000 or more points in the series.
  73744. *
  73745. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  73746. * it to 1 will force boosting.
  73747. *
  73748. * Note that the cropThreshold also affects this setting. When zooming in on
  73749. * a series that has fewer points than the `cropThreshold`, all points are
  73750. * rendered although outside the visible plot area, and the `boostThreshold`
  73751. * won't take effect.
  73752. */
  73753. boostThreshold?: number;
  73754. /**
  73755. * (Highmaps) The border color of the map areas.
  73756. *
  73757. * In styled mode, the border stroke is given in the `.highcharts-point`
  73758. * class.
  73759. */
  73760. borderColor?: (ColorString|GradientColorObject|PatternObject);
  73761. /**
  73762. * (Highmaps) The border width of each map area.
  73763. *
  73764. * In styled mode, the border stroke width is given in the
  73765. * `.highcharts-point` class.
  73766. */
  73767. borderWidth?: number;
  73768. /**
  73769. * (Highstock) An additional class name to apply to the series' graphical
  73770. * elements. This option does not replace default class names of the
  73771. * graphical element.
  73772. */
  73773. className?: string;
  73774. /**
  73775. * (Highstock) Disable this option to allow series rendering in the whole
  73776. * plotting area.
  73777. *
  73778. * **Note:** Clipping should be always enabled when chart.zoomType is set
  73779. */
  73780. clip?: boolean;
  73781. /**
  73782. * (Highstock) The main color of the series. In line type series it applies
  73783. * to the line and the point markers unless otherwise specified. In bar type
  73784. * series it applies to the bars unless a color is specified per point. The
  73785. * default value is pulled from the `options.colors` array.
  73786. *
  73787. * In styled mode, the color can be defined by the colorIndex option. Also,
  73788. * the series color can be set with the `.highcharts-series`,
  73789. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  73790. * `.highcharts-series-{n}` class, or individual classes given by the
  73791. * `className` option.
  73792. */
  73793. color?: (ColorString|GradientColorObject|PatternObject);
  73794. /**
  73795. * (Highstock) Styled mode only. A specific color index to use for the
  73796. * series, so its graphic representations are given the class name
  73797. * `highcharts-color-{n}`.
  73798. */
  73799. colorIndex?: number;
  73800. /**
  73801. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  73802. * used to calculate point color if `colorAxis` is used. Requires to set
  73803. * `min` and `max` if some custom point property is used or if approximation
  73804. * for data grouping is set to `'sum'`.
  73805. */
  73806. colorKey?: string;
  73807. /**
  73808. * (Highstock) Compare the values of the series against the first non-null,
  73809. * non- zero value in the visible range. The y axis will show percentage or
  73810. * absolute change depending on whether `compare` is set to `"percent"` or
  73811. * `"value"`. When this is applied to multiple series, it allows comparing
  73812. * the development of the series against each other. Adds a `change` field
  73813. * to every point object.
  73814. */
  73815. compare?: string;
  73816. /**
  73817. * (Highstock) When compare is `percent`, this option dictates whether to
  73818. * use 0 or 100 as the base of comparison.
  73819. */
  73820. compareBase?: (0|100);
  73821. /**
  73822. * (Highstock) Defines if comparison should start from the first point
  73823. * within the visible range or should start from the first point **before**
  73824. * the range.
  73825. *
  73826. * In other words, this flag determines if first point within the visible
  73827. * range will have 0% (`compareStart=true`) or should have been already
  73828. * calculated according to the previous point (`compareStart=false`).
  73829. */
  73830. compareStart?: boolean;
  73831. /**
  73832. * (Highstock) Whether to compare indicator to the main series values or
  73833. * indicator values.
  73834. */
  73835. compareToMain?: boolean;
  73836. /**
  73837. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  73838. * series plot across the extremes.
  73839. */
  73840. connectEnds?: boolean;
  73841. /**
  73842. * (Highcharts, Highstock) Whether to connect a graph line across null
  73843. * points, or render a gap between the two points on either side of the
  73844. * null.
  73845. */
  73846. connectNulls?: boolean;
  73847. /**
  73848. * (Gantt) Override Pathfinder connector options for a series. Requires
  73849. * Highcharts Gantt to be loaded.
  73850. */
  73851. connectors?: SeriesConnectorsOptionsObject;
  73852. /**
  73853. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  73854. * rounded to its nearest pixel in order to render sharp on screen. In some
  73855. * cases, when there are a lot of densely packed columns, this leads to
  73856. * visible difference in column widths or distance between columns. In these
  73857. * cases, setting `crisp` to `false` may look better, even though each
  73858. * column is rendered blurry.
  73859. */
  73860. crisp?: boolean;
  73861. /**
  73862. * (Highcharts, Highstock) When the series contains less points than the
  73863. * crop threshold, all points are drawn, even if the points fall outside the
  73864. * visible plot area at the current zoom. The advantage of drawing all
  73865. * points (including markers and columns), is that animation is performed on
  73866. * updates. On the other hand, when the series contains more points than the
  73867. * crop threshold, the series data is cropped to only contain points that
  73868. * fall within the plot area. The advantage of cropping away invisible
  73869. * points is to increase performance on large series.
  73870. */
  73871. cropThreshold?: number;
  73872. /**
  73873. * (Highstock) You can set the cursor to "pointer" if you have click events
  73874. * attached to the series, to signal to the user that the points and lines
  73875. * can be clicked.
  73876. *
  73877. * In styled mode, the series cursor can be set with the same classes as
  73878. * listed under series.color.
  73879. */
  73880. cursor?: (string|CursorValue);
  73881. /**
  73882. * (Highstock) A reserved subspace to store options and values for
  73883. * customized functionality. Here you can add additional data for your own
  73884. * event callbacks and formatter callbacks.
  73885. */
  73886. custom?: Dictionary<any>;
  73887. /**
  73888. * (Highstock) Name of the dash style to use for the graph, or for some
  73889. * series types the outline of each shape.
  73890. *
  73891. * In styled mode, the stroke dash-array can be set with the same classes as
  73892. * listed under series.color.
  73893. */
  73894. dashStyle?: DashStyleValue;
  73895. /**
  73896. * (Highstock) Data grouping is the concept of sampling the data values into
  73897. * larger blocks in order to ease readability and increase performance of
  73898. * the JavaScript charts. Highcharts Stock by default applies data grouping
  73899. * when the points become closer than a certain pixel value, determined by
  73900. * the `groupPixelWidth` option.
  73901. *
  73902. * If data grouping is applied, the grouping information of grouped points
  73903. * can be read from the Point.dataGroup. If point options other than the
  73904. * data itself are set, for example `name` or `color` or custom properties,
  73905. * the grouping logic doesn't know how to group it. In this case the options
  73906. * of the first point instance are copied over to the group point. This can
  73907. * be altered through a custom `approximation` callback function.
  73908. */
  73909. dataGrouping?: DataGroupingOptionsObject;
  73910. /**
  73911. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  73912. * labels, appearing next to each data point.
  73913. *
  73914. * Since v6.2.0, multiple data labels can be applied to each single point by
  73915. * defining them as an array of configs.
  73916. *
  73917. * In styled mode, the data labels can be styled with the
  73918. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  73919. * (see example).
  73920. */
  73921. dataLabels?: (PlotPivotpointsDataLabelsOptions|Array<PlotPivotpointsDataLabelsOptions>);
  73922. /**
  73923. * (Highcharts, Highstock) Options for the series data sorting.
  73924. */
  73925. dataSorting?: (DataSortingOptionsObject|PlotPivotpointsDataSortingOptions);
  73926. /**
  73927. * (Highstock) A description of the series to add to the screen reader
  73928. * information about the series.
  73929. */
  73930. description?: string;
  73931. /**
  73932. * (Highstock) Enable or disable the mouse tracking for a specific series.
  73933. * This includes point tooltips and click events on graphs and points. For
  73934. * large datasets it improves performance.
  73935. */
  73936. enableMouseTracking?: boolean;
  73937. /**
  73938. * (Highstock) General event handlers for the series items. These event
  73939. * hooks can also be attached to the series at run time using the
  73940. * `Highcharts.addEvent` function.
  73941. */
  73942. events?: SeriesEventsOptionsObject;
  73943. /**
  73944. * (Highstock) Determines whether the series should look for the nearest
  73945. * point in both dimensions or just the x-dimension when hovering the
  73946. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  73947. * series. If the data has duplicate x-values, it is recommended to set this
  73948. * to `'xy'` to allow hovering over all points.
  73949. *
  73950. * Applies only to series types using nearest neighbor search (not direct
  73951. * hover) for tooltip.
  73952. */
  73953. findNearestPointBy?: OptionsFindNearestPointByValue;
  73954. /**
  73955. * (Highstock) Defines when to display a gap in the graph, together with the
  73956. * gapUnit option.
  73957. *
  73958. * In case when `dataGrouping` is enabled, points can be grouped into a
  73959. * larger time span. This can make the grouped points to have a greater
  73960. * distance than the absolute value of `gapSize` property, which will result
  73961. * in disappearing graph completely. To prevent this situation the mentioned
  73962. * distance between grouped points is used instead of previously defined
  73963. * `gapSize`.
  73964. *
  73965. * In practice, this option is most often used to visualize gaps in time
  73966. * series. In a stock chart, intraday data is available for daytime hours,
  73967. * while gaps will appear in nights and weekends.
  73968. */
  73969. gapSize?: number;
  73970. /**
  73971. * (Highstock) Together with gapSize, this option defines where to draw gaps
  73972. * in the graph.
  73973. *
  73974. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  73975. * if the distance between two points is greater than 5 times that of the
  73976. * two closest points, the graph will be broken.
  73977. *
  73978. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  73979. * values, which on a datetime axis is milliseconds. This also applies to
  73980. * the navigator series that inherits gap options from the base series.
  73981. */
  73982. gapUnit?: OptionsGapUnitValue;
  73983. /**
  73984. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  73985. * chart width or only the zoomed area when zooming in on parts of the X
  73986. * axis. By default, the Y axis adjusts to the min and max of the visible
  73987. * data. Cartesian series only.
  73988. */
  73989. getExtremesFromAll?: boolean;
  73990. /**
  73991. * (Highstock) When set to `false` will prevent the series data from being
  73992. * included in any form of data export.
  73993. *
  73994. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  73995. * `includeInCSVExport`.
  73996. */
  73997. includeInDataExport?: boolean;
  73998. /**
  73999. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  74000. * series as possible in a natural way, seeking to avoid other series. The
  74001. * goal of this feature is to make the chart more easily readable, like if a
  74002. * human designer placed the labels in the optimal position.
  74003. *
  74004. * The series labels currently work with series types having a `graph` or an
  74005. * `area`.
  74006. */
  74007. label?: SeriesLabelOptionsObject;
  74008. /**
  74009. * (Highstock) The line marks the last price from all points.
  74010. */
  74011. lastPrice?: SeriesLastPriceOptionsObject;
  74012. /**
  74013. * (Highstock) The line marks the last price from visible range of points.
  74014. */
  74015. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  74016. /**
  74017. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  74018. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  74019. * the ends and bends.
  74020. */
  74021. linecap?: SeriesLinecapValue;
  74022. /**
  74023. * (Highcharts, Highstock) Pixel width of the graph line.
  74024. */
  74025. lineWidth?: number;
  74026. /**
  74027. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  74028. * based on. Required for this indicator.
  74029. */
  74030. linkedTo?: string;
  74031. /**
  74032. * (Highstock) Options for the point markers of line-like series. Properties
  74033. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  74034. * appearance of the markers. Other series types, like column series, don't
  74035. * have markers, but have visual options on the series level instead.
  74036. *
  74037. * In styled mode, the markers can be styled with the `.highcharts-point`,
  74038. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  74039. */
  74040. marker?: PointMarkerOptionsObject;
  74041. /**
  74042. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  74043. * If not set, it will be based on a technical indicator type and default
  74044. * params.
  74045. */
  74046. name?: string;
  74047. /**
  74048. * (Highstock) The color for the parts of the graph or points that are below
  74049. * the threshold. Note that `zones` takes precedence over the negative
  74050. * color. Using `negativeColor` is equivalent to applying a zone with value
  74051. * of 0.
  74052. */
  74053. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  74054. /**
  74055. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  74056. * dataLabels.
  74057. */
  74058. opacity?: number;
  74059. /**
  74060. * (Highstock) Paramters used in calculation of regression series' points.
  74061. */
  74062. params?: PlotPivotpointsParamsOptions;
  74063. /**
  74064. * (Highstock) Properties for each single point.
  74065. */
  74066. point?: PlotSeriesPointOptions;
  74067. /**
  74068. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  74069. * individual series. Overrides the chart wide configuration.
  74070. */
  74071. pointDescriptionFormatter?: Function;
  74072. /**
  74073. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  74074. * true, the checkbox next to the series name in the legend will be checked
  74075. * for a selected series.
  74076. */
  74077. selected?: boolean;
  74078. /**
  74079. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  74080. * the shadow can be an object configuration containing `color`, `offsetX`,
  74081. * `offsetY`, `opacity` and `width`.
  74082. */
  74083. shadow?: (boolean|ShadowOptionsObject);
  74084. /**
  74085. * (Highstock) If true, a checkbox is displayed next to the legend item to
  74086. * allow selecting the series. The state of the checkbox is determined by
  74087. * the `selected` option.
  74088. */
  74089. showCheckbox?: boolean;
  74090. /**
  74091. * (Highstock) Whether to display this particular series or series type in
  74092. * the legend. Standalone series are shown in legend by default, and linked
  74093. * series are not. Since v7.2.0 it is possible to show series that use
  74094. * colorAxis by setting this option to `true`.
  74095. */
  74096. showInLegend?: boolean;
  74097. /**
  74098. * (Highstock) If set to `true`, the accessibility module will skip past the
  74099. * points in this series for keyboard navigation.
  74100. */
  74101. skipKeyboardNavigation?: boolean;
  74102. /**
  74103. * (Highcharts, Highstock) When this is true, the series will not cause the
  74104. * Y axis to cross the zero plane (or threshold option) unless the data
  74105. * actually crosses the plane.
  74106. *
  74107. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  74108. * make the Y axis show negative values according to the `minPadding`
  74109. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  74110. */
  74111. softThreshold?: boolean;
  74112. states?: SeriesStatesOptionsObject;
  74113. /**
  74114. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  74115. * values are `left`, `center` and `right`.
  74116. */
  74117. step?: OptionsStepValue;
  74118. /**
  74119. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  74120. * event on a series isn't triggered until the mouse moves over another
  74121. * series, or out of the plot area. When false, the `mouseOut` event on a
  74122. * series is triggered when the mouse leaves the area around the series'
  74123. * graph or markers. This also implies the tooltip when not shared. When
  74124. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  74125. * be hidden when moving the mouse between series. Defaults to true for line
  74126. * and area type series, but to false for columns, pies etc.
  74127. *
  74128. * **Note:** The boost module will force this option because of technical
  74129. * limitations.
  74130. */
  74131. stickyTracking?: boolean;
  74132. /**
  74133. * (Highcharts, Highstock) The threshold, also called zero level or base
  74134. * level. For line type series this is only used in conjunction with
  74135. * negativeColor.
  74136. */
  74137. threshold?: (number|null);
  74138. /**
  74139. * (Highstock) A configuration object for the tooltip rendering of each
  74140. * single series. Properties are inherited from tooltip, but only the
  74141. * following properties can be defined on a series level.
  74142. */
  74143. tooltip?: SeriesTooltipOptionsObject;
  74144. /**
  74145. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  74146. * is longer than this, only one dimensional arrays of numbers, or two
  74147. * dimensional arrays with x and y values are allowed. Also, only the first
  74148. * point is tested, and the rest are assumed to be the same format. This
  74149. * saves expensive data checking and indexing in long series. Set it to `0`
  74150. * disable.
  74151. *
  74152. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  74153. * two dimensional arrays are allowed.
  74154. */
  74155. turboThreshold?: number;
  74156. /**
  74157. * (Highstock) Set the initial visibility of the series.
  74158. */
  74159. visible?: boolean;
  74160. /**
  74161. * (Highmaps) Define the z index of the series.
  74162. */
  74163. zIndex?: number;
  74164. /**
  74165. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  74166. */
  74167. zoneAxis?: string;
  74168. /**
  74169. * (Highcharts, Highstock) An array defining zones within a series. Zones
  74170. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  74171. * the `zoneAxis` option. The zone definitions have to be in ascending order
  74172. * regarding to the value.
  74173. *
  74174. * In styled mode, the color zones are styled with the
  74175. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  74176. * option (view live demo).
  74177. */
  74178. zones?: Array<SeriesZonesOptionsObject>;
  74179. }
  74180. /**
  74181. * (Highstock) Paramters used in calculation of regression series' points.
  74182. */
  74183. export interface PlotPivotpointsParamsOptions {
  74184. /**
  74185. * (Highstock) Algorithm used to calculate ressistance and support lines
  74186. * based on pivot points. Implemented algorithms: `'standard'`,
  74187. * `'fibonacci'` and `'camarilla'`
  74188. */
  74189. algorithm?: string;
  74190. index?: string;
  74191. /**
  74192. * (Highstock) The base period for indicator calculations. This is the
  74193. * number of data points which are taken into account for the indicator
  74194. * calculations.
  74195. */
  74196. period?: number;
  74197. }
  74198. /**
  74199. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  74200. * is displayed. The animation can also be set as a configuration object. Please
  74201. * note that this option only applies to the initial animation of the series
  74202. * itself. For other animations, see chart.animation and the animation parameter
  74203. * under the API methods. The following properties are supported:
  74204. *
  74205. * - `defer`: The animation delay time in milliseconds.
  74206. *
  74207. * - `duration`: The duration of the animation in milliseconds.
  74208. *
  74209. * - `easing`: Can be a string reference to an easing function set on the `Math`
  74210. * object or a function. See the _Custom easing function_ demo below.
  74211. *
  74212. * Due to poor performance, animation is disabled in old IE browsers for several
  74213. * chart types.
  74214. */
  74215. export interface PlotPolygonAnimationOptions {
  74216. defer?: number;
  74217. }
  74218. /**
  74219. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  74220. * animation when a series is displayed for the `dataLabels`. The animation can
  74221. * also be set as a configuration object. Please note that this option only
  74222. * applies to the initial animation. For other animations, see chart.animation
  74223. * and the animation parameter under the API methods. The following properties
  74224. * are supported:
  74225. *
  74226. * - `defer`: The animation delay time in milliseconds.
  74227. */
  74228. export interface PlotPolygonDataLabelsAnimationOptions {
  74229. /**
  74230. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  74231. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  74232. * inherits defer time from the series.animation.defer.
  74233. */
  74234. defer?: number;
  74235. }
  74236. /**
  74237. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  74238. * appearing next to each data point.
  74239. *
  74240. * Since v6.2.0, multiple data labels can be applied to each single point by
  74241. * defining them as an array of configs.
  74242. *
  74243. * In styled mode, the data labels can be styled with the
  74244. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  74245. * example).
  74246. */
  74247. export interface PlotPolygonDataLabelsOptions {
  74248. /**
  74249. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  74250. * compared to the point. If `right`, the right side of the label should be
  74251. * touching the point. For points with an extent, like columns, the
  74252. * alignments also dictates how to align it inside the box, as given with
  74253. * the inside option. Can be one of `left`, `center` or `right`.
  74254. */
  74255. align?: (AlignValue|null);
  74256. /**
  74257. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  74258. * overlap. To make the labels less sensitive for overlapping, the
  74259. * dataLabels.padding can be set to 0.
  74260. */
  74261. allowOverlap?: boolean;
  74262. /**
  74263. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  74264. * animation when a series is displayed for the `dataLabels`. The animation
  74265. * can also be set as a configuration object. Please note that this option
  74266. * only applies to the initial animation. For other animations, see
  74267. * chart.animation and the animation parameter under the API methods. The
  74268. * following properties are supported:
  74269. *
  74270. * - `defer`: The animation delay time in milliseconds.
  74271. */
  74272. animation?: (boolean|PlotPolygonDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  74273. /**
  74274. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  74275. * for the data label.
  74276. */
  74277. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  74278. /**
  74279. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  74280. * label. Defaults to `undefined`.
  74281. */
  74282. borderColor?: (ColorString|GradientColorObject|PatternObject);
  74283. /**
  74284. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  74285. * the data label.
  74286. */
  74287. borderRadius?: number;
  74288. /**
  74289. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  74290. * the data label.
  74291. */
  74292. borderWidth?: number;
  74293. /**
  74294. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  74295. * Particularly in styled mode, this can be used to give each series' or
  74296. * point's data label unique styling. In addition to this option, a default
  74297. * color class name is added so that we can give the labels a contrast text
  74298. * shadow.
  74299. */
  74300. className?: string;
  74301. /**
  74302. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  74303. * labels. Defaults to `undefined`. For certain series types, like column or
  74304. * map, the data labels can be drawn inside the points. In this case the
  74305. * data label will be drawn with maximum contrast by default. Additionally,
  74306. * it will be given a `text-outline` style with the opposite color, to
  74307. * further increase the contrast. This can be overridden by setting the
  74308. * `text-outline` style to `none` in the `dataLabels.style` option.
  74309. */
  74310. color?: (ColorString|GradientColorObject|PatternObject);
  74311. /**
  74312. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  74313. * are outside the plot area. By default, the data label is moved inside the
  74314. * plot area according to the overflow option.
  74315. */
  74316. crop?: boolean;
  74317. /**
  74318. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  74319. * labels until the initial series animation has finished. Setting to
  74320. * `false` renders the data label immediately. If set to `true` inherits the
  74321. * defer time set in plotOptions.series.animation. If set to a number, a
  74322. * defer time is specified in milliseconds.
  74323. */
  74324. defer?: (boolean|number);
  74325. /**
  74326. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  74327. * labels.
  74328. */
  74329. enabled?: boolean;
  74330. /**
  74331. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  74332. * of which data labels to display. The declarative filter is designed for
  74333. * use when callback functions are not available, like when the chart
  74334. * options require a pure JSON structure or for use with graphical editors.
  74335. * For programmatic control, use the `formatter` instead, and return
  74336. * `undefined` to disable a single data label.
  74337. */
  74338. filter?: DataLabelsFilterOptionsObject;
  74339. /**
  74340. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  74341. * label. Available variables are the same as for `formatter`.
  74342. */
  74343. format?: string;
  74344. /**
  74345. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  74346. * format the data label. Note that if a `format` is defined, the format
  74347. * takes precedence and the formatter is ignored.
  74348. */
  74349. formatter?: DataLabelsFormatterCallbackFunction;
  74350. /**
  74351. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  74352. * columns or map areas, whether to align the data label inside the box or
  74353. * to the actual value point. Defaults to `false` in most cases, `true` in
  74354. * stacked columns.
  74355. */
  74356. inside?: boolean;
  74357. /**
  74358. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  74359. * of null. Works analogously to format. `nullFormat` can be applied only to
  74360. * series which support displaying null points.
  74361. */
  74362. nullFormat?: (boolean|string);
  74363. /**
  74364. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  74365. * that defines formatting for points with the value of null. Works
  74366. * analogously to formatter. `nullPointFormatter` can be applied only to
  74367. * series which support displaying null points.
  74368. */
  74369. nullFormatter?: DataLabelsFormatterCallbackFunction;
  74370. /**
  74371. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  74372. * flow outside the plot area. The default is `"justify"`, which aligns them
  74373. * inside the plot area. For columns and bars, this means it will be moved
  74374. * inside the bar. To display data labels outside the plot area, set `crop`
  74375. * to `false` and `overflow` to `"allow"`.
  74376. */
  74377. overflow?: DataLabelsOverflowValue;
  74378. /**
  74379. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  74380. * the `backgroundColor` is set, this is the padding within the box.
  74381. */
  74382. padding?: number;
  74383. /**
  74384. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  74385. * points. If `center` alignment is not possible, it defaults to `right`.
  74386. */
  74387. position?: AlignValue;
  74388. /**
  74389. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  74390. * that due to a more complex structure, backgrounds, borders and padding
  74391. * will be lost on a rotated data label.
  74392. */
  74393. rotation?: number;
  74394. /**
  74395. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  74396. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  74397. * an object configuration containing `color`, `offsetX`, `offsetY`,
  74398. * `opacity` and `width`.
  74399. */
  74400. shadow?: (boolean|ShadowOptionsObject);
  74401. /**
  74402. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  74403. * the border around the label. Symbols are predefined functions on the
  74404. * Renderer object.
  74405. */
  74406. shape?: string;
  74407. /**
  74408. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  74409. * default `color` setting is `"contrast"`, which is a pseudo color that
  74410. * Highcharts picks up and applies the maximum contrast to the underlying
  74411. * point item, for example the bar in a bar chart.
  74412. *
  74413. * The `textOutline` is a pseudo property that applies an outline of the
  74414. * given width with the given color, which by default is the maximum
  74415. * contrast to the text. So a bright text color will result in a black text
  74416. * outline for maximum readability on a mixed background. In some cases,
  74417. * especially with grayscale text, the text outline doesn't work well, in
  74418. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  74419. * is true, the `textOutline` will not be picked up. In this, case, the same
  74420. * effect can be acheived through the `text-shadow` CSS property.
  74421. *
  74422. * For some series types, where each point has an extent, like for example
  74423. * tree maps, the data label may overflow the point. There are two
  74424. * strategies for handling overflow. By default, the text will wrap to
  74425. * multiple lines. The other strategy is to set `style.textOverflow` to
  74426. * `ellipsis`, which will keep the text on one line plus it will break
  74427. * inside long words.
  74428. */
  74429. style?: CSSObject;
  74430. /**
  74431. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  74432. * should follow marker's shape. Border and background are disabled for a
  74433. * label that follows a path.
  74434. *
  74435. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  74436. * to true will disable this option.
  74437. */
  74438. textPath?: DataLabelsTextPathOptionsObject;
  74439. /**
  74440. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  74441. * the labels.
  74442. */
  74443. useHTML?: boolean;
  74444. /**
  74445. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  74446. * label. Can be one of `top`, `middle` or `bottom`. The default value
  74447. * depends on the data, for instance in a column chart, the label is above
  74448. * positive values and below negative values.
  74449. */
  74450. verticalAlign?: (VerticalAlignValue|null);
  74451. /**
  74452. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  74453. * label relative to the point in pixels.
  74454. */
  74455. x?: number;
  74456. /**
  74457. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  74458. * label relative to the point in pixels.
  74459. */
  74460. y?: number;
  74461. /**
  74462. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  74463. * The default Z index puts it above the series. Use a Z index of 2 to
  74464. * display it behind the series.
  74465. */
  74466. z?: number;
  74467. }
  74468. /**
  74469. * (Highcharts, Highstock) Options for the series data sorting.
  74470. */
  74471. export interface PlotPolygonDataSortingOptions {
  74472. /**
  74473. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  74474. * Use xAxis.reversed to change the sorting order.
  74475. */
  74476. enabled?: boolean;
  74477. /**
  74478. * (Highcharts, Highstock) Whether to allow matching points by name in an
  74479. * update. If this option is disabled, points will be matched by order.
  74480. */
  74481. matchByName?: boolean;
  74482. /**
  74483. * (Highcharts, Highstock) Determines what data value should be used to sort
  74484. * by.
  74485. */
  74486. sortKey?: string;
  74487. }
  74488. /**
  74489. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  74490. * one state by default, the `default` state.
  74491. */
  74492. export interface PlotPolygonDragDropGuideBoxOptions {
  74493. /**
  74494. * (Highcharts, Highstock) Style options for the guide box default state.
  74495. */
  74496. default?: DragDropGuideBoxOptionsObject;
  74497. }
  74498. /**
  74499. * (Highcharts, Highstock) A polygon series can be used to draw any freeform
  74500. * shape in the cartesian coordinate system. A fill is applied with the `color`
  74501. * option, and stroke is applied through `lineWidth` and `lineColor` options.
  74502. *
  74503. * In TypeScript the type option must always be set.
  74504. *
  74505. * Configuration options for the series are given in three levels:
  74506. *
  74507. * 1. Options for all series in a chart are defined in the plotOptions.series
  74508. * object.
  74509. *
  74510. * 2. Options for all `polygon` series are defined in plotOptions.polygon.
  74511. *
  74512. * 3. Options for one single series are given in the series instance array. (see
  74513. * online documentation for example)
  74514. */
  74515. export interface PlotPolygonOptions {
  74516. /**
  74517. * (Highcharts, Highstock) Accessibility options for a series.
  74518. */
  74519. accessibility?: SeriesAccessibilityOptionsObject;
  74520. /**
  74521. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  74522. * rendered. If `true`, areas which don't correspond to a data point, are
  74523. * rendered as `null` points. If `false`, those areas are skipped.
  74524. */
  74525. allAreas?: boolean;
  74526. /**
  74527. * (Highcharts, Highstock) Allow this series' points to be selected by
  74528. * clicking on the graphic (columns, point markers, pie slices, map areas
  74529. * etc).
  74530. *
  74531. * The selected points can be handled by point select and unselect events,
  74532. * or collectively by the getSelectedPoints function.
  74533. *
  74534. * And alternative way of selecting points is through dragging.
  74535. */
  74536. allowPointSelect?: boolean;
  74537. /**
  74538. * (Highcharts, Highstock) Enable or disable the initial animation when a
  74539. * series is displayed. The animation can also be set as a configuration
  74540. * object. Please note that this option only applies to the initial
  74541. * animation of the series itself. For other animations, see chart.animation
  74542. * and the animation parameter under the API methods. The following
  74543. * properties are supported:
  74544. *
  74545. * - `defer`: The animation delay time in milliseconds.
  74546. *
  74547. * - `duration`: The duration of the animation in milliseconds.
  74548. *
  74549. * - `easing`: Can be a string reference to an easing function set on the
  74550. * `Math` object or a function. See the _Custom easing function_ demo below.
  74551. *
  74552. * Due to poor performance, animation is disabled in old IE browsers for
  74553. * several chart types.
  74554. */
  74555. animation?: (boolean|PlotPolygonAnimationOptions|Partial<AnimationOptionsObject>);
  74556. /**
  74557. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  74558. * initial animation by default when the total number of points in the chart
  74559. * is too high. For example, for a column chart and its derivatives,
  74560. * animation does not run if there is more than 250 points totally. To
  74561. * disable this cap, set `animationLimit` to `Infinity`.
  74562. */
  74563. animationLimit?: number;
  74564. /**
  74565. * (Highmaps) The border color of the map areas.
  74566. *
  74567. * In styled mode, the border stroke is given in the `.highcharts-point`
  74568. * class.
  74569. */
  74570. borderColor?: (ColorString|GradientColorObject|PatternObject);
  74571. /**
  74572. * (Highmaps) The border width of each map area.
  74573. *
  74574. * In styled mode, the border stroke width is given in the
  74575. * `.highcharts-point` class.
  74576. */
  74577. borderWidth?: number;
  74578. /**
  74579. * (Highcharts, Highstock) An additional class name to apply to the series'
  74580. * graphical elements. This option does not replace default class names of
  74581. * the graphical element.
  74582. */
  74583. className?: string;
  74584. /**
  74585. * (Highcharts, Highstock) Disable this option to allow series rendering in
  74586. * the whole plotting area.
  74587. *
  74588. * **Note:** Clipping should be always enabled when chart.zoomType is set
  74589. */
  74590. clip?: boolean;
  74591. /**
  74592. * (Highcharts, Highstock) The main color of the series. In line type series
  74593. * it applies to the line and the point markers unless otherwise specified.
  74594. * In bar type series it applies to the bars unless a color is specified per
  74595. * point. The default value is pulled from the `options.colors` array.
  74596. *
  74597. * In styled mode, the color can be defined by the colorIndex option. Also,
  74598. * the series color can be set with the `.highcharts-series`,
  74599. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  74600. * `.highcharts-series-{n}` class, or individual classes given by the
  74601. * `className` option.
  74602. */
  74603. color?: (ColorString|GradientColorObject|PatternObject);
  74604. /**
  74605. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  74606. * this number defines which colorAxis the particular series is connected
  74607. * to. It refers to either the axis id or the index of the axis in the
  74608. * colorAxis array, with 0 being the first. Set this option to false to
  74609. * prevent a series from connecting to the default color axis.
  74610. *
  74611. * Since v7.2.0 the option can also be an axis id or an axis index instead
  74612. * of a boolean flag.
  74613. */
  74614. colorAxis?: (boolean|number|string);
  74615. /**
  74616. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  74617. * for the series, so its graphic representations are given the class name
  74618. * `highcharts-color-{n}`.
  74619. */
  74620. colorIndex?: number;
  74621. /**
  74622. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  74623. * used to calculate point color if `colorAxis` is used. Requires to set
  74624. * `min` and `max` if some custom point property is used or if approximation
  74625. * for data grouping is set to `'sum'`.
  74626. */
  74627. colorKey?: string;
  74628. /**
  74629. * (Highstock) Compare the values of the series against the first non-null,
  74630. * non- zero value in the visible range. The y axis will show percentage or
  74631. * absolute change depending on whether `compare` is set to `"percent"` or
  74632. * `"value"`. When this is applied to multiple series, it allows comparing
  74633. * the development of the series against each other. Adds a `change` field
  74634. * to every point object.
  74635. */
  74636. compare?: string;
  74637. /**
  74638. * (Highstock) When compare is `percent`, this option dictates whether to
  74639. * use 0 or 100 as the base of comparison.
  74640. */
  74641. compareBase?: (0|100);
  74642. /**
  74643. * (Highstock) Defines if comparison should start from the first point
  74644. * within the visible range or should start from the first point **before**
  74645. * the range.
  74646. *
  74647. * In other words, this flag determines if first point within the visible
  74648. * range will have 0% (`compareStart=true`) or should have been already
  74649. * calculated according to the previous point (`compareStart=false`).
  74650. */
  74651. compareStart?: boolean;
  74652. /**
  74653. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  74654. * series plot across the extremes.
  74655. */
  74656. connectEnds?: boolean;
  74657. /**
  74658. * (Highcharts, Highstock) Whether to connect a graph line across null
  74659. * points, or render a gap between the two points on either side of the
  74660. * null.
  74661. */
  74662. connectNulls?: boolean;
  74663. /**
  74664. * (Gantt) Override Pathfinder connector options for a series. Requires
  74665. * Highcharts Gantt to be loaded.
  74666. */
  74667. connectors?: SeriesConnectorsOptionsObject;
  74668. /**
  74669. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  74670. * rounded to its nearest pixel in order to render sharp on screen. In some
  74671. * cases, when there are a lot of densely packed columns, this leads to
  74672. * visible difference in column widths or distance between columns. In these
  74673. * cases, setting `crisp` to `false` may look better, even though each
  74674. * column is rendered blurry.
  74675. */
  74676. crisp?: boolean;
  74677. /**
  74678. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  74679. * click events attached to the series, to signal to the user that the
  74680. * points and lines can be clicked.
  74681. *
  74682. * In styled mode, the series cursor can be set with the same classes as
  74683. * listed under series.color.
  74684. */
  74685. cursor?: (string|CursorValue);
  74686. /**
  74687. * (Highcharts, Highstock) A reserved subspace to store options and values
  74688. * for customized functionality. Here you can add additional data for your
  74689. * own event callbacks and formatter callbacks.
  74690. */
  74691. custom?: Dictionary<any>;
  74692. /**
  74693. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  74694. * for some series types the outline of each shape.
  74695. *
  74696. * In styled mode, the stroke dash-array can be set with the same classes as
  74697. * listed under series.color.
  74698. */
  74699. dashStyle?: DashStyleValue;
  74700. /**
  74701. * (Highstock) Data grouping is the concept of sampling the data values into
  74702. * larger blocks in order to ease readability and increase performance of
  74703. * the JavaScript charts. Highcharts Stock by default applies data grouping
  74704. * when the points become closer than a certain pixel value, determined by
  74705. * the `groupPixelWidth` option.
  74706. *
  74707. * If data grouping is applied, the grouping information of grouped points
  74708. * can be read from the Point.dataGroup. If point options other than the
  74709. * data itself are set, for example `name` or `color` or custom properties,
  74710. * the grouping logic doesn't know how to group it. In this case the options
  74711. * of the first point instance are copied over to the group point. This can
  74712. * be altered through a custom `approximation` callback function.
  74713. */
  74714. dataGrouping?: DataGroupingOptionsObject;
  74715. /**
  74716. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  74717. * labels, appearing next to each data point.
  74718. *
  74719. * Since v6.2.0, multiple data labels can be applied to each single point by
  74720. * defining them as an array of configs.
  74721. *
  74722. * In styled mode, the data labels can be styled with the
  74723. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  74724. * (see example).
  74725. */
  74726. dataLabels?: (PlotPolygonDataLabelsOptions|Array<PlotPolygonDataLabelsOptions>);
  74727. /**
  74728. * (Highcharts, Highstock) Options for the series data sorting.
  74729. */
  74730. dataSorting?: (DataSortingOptionsObject|PlotPolygonDataSortingOptions);
  74731. /**
  74732. * (Highcharts, Highstock) A description of the series to add to the screen
  74733. * reader information about the series.
  74734. */
  74735. description?: string;
  74736. /**
  74737. * (Highcharts, Highstock) The draggable-points module allows points to be
  74738. * moved around or modified in the chart. In addition to the options
  74739. * mentioned under the `dragDrop` API structure, the module fires three
  74740. * events, point.dragStart, point.drag and point.drop.
  74741. */
  74742. dragDrop?: SeriesDragDropOptionsObject;
  74743. /**
  74744. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  74745. * specific series. This includes point tooltips and click events on graphs
  74746. * and points. For large datasets it improves performance.
  74747. */
  74748. enableMouseTracking?: boolean;
  74749. /**
  74750. * (Highcharts, Highstock) General event handlers for the series items.
  74751. * These event hooks can also be attached to the series at run time using
  74752. * the `Highcharts.addEvent` function.
  74753. */
  74754. events?: SeriesEventsOptionsObject;
  74755. /**
  74756. * (Highcharts, Highstock) Determines whether the series should look for the
  74757. * nearest point in both dimensions or just the x-dimension when hovering
  74758. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  74759. * other series. If the data has duplicate x-values, it is recommended to
  74760. * set this to `'xy'` to allow hovering over all points.
  74761. *
  74762. * Applies only to series types using nearest neighbor search (not direct
  74763. * hover) for tooltip.
  74764. */
  74765. findNearestPointBy?: OptionsFindNearestPointByValue;
  74766. /**
  74767. * (Highstock) Defines when to display a gap in the graph, together with the
  74768. * gapUnit option.
  74769. *
  74770. * In case when `dataGrouping` is enabled, points can be grouped into a
  74771. * larger time span. This can make the grouped points to have a greater
  74772. * distance than the absolute value of `gapSize` property, which will result
  74773. * in disappearing graph completely. To prevent this situation the mentioned
  74774. * distance between grouped points is used instead of previously defined
  74775. * `gapSize`.
  74776. *
  74777. * In practice, this option is most often used to visualize gaps in time
  74778. * series. In a stock chart, intraday data is available for daytime hours,
  74779. * while gaps will appear in nights and weekends.
  74780. */
  74781. gapSize?: number;
  74782. /**
  74783. * (Highstock) Together with gapSize, this option defines where to draw gaps
  74784. * in the graph.
  74785. *
  74786. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  74787. * if the distance between two points is greater than 5 times that of the
  74788. * two closest points, the graph will be broken.
  74789. *
  74790. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  74791. * values, which on a datetime axis is milliseconds. This also applies to
  74792. * the navigator series that inherits gap options from the base series.
  74793. */
  74794. gapUnit?: OptionsGapUnitValue;
  74795. /**
  74796. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  74797. * chart width or only the zoomed area when zooming in on parts of the X
  74798. * axis. By default, the Y axis adjusts to the min and max of the visible
  74799. * data. Cartesian series only.
  74800. */
  74801. getExtremesFromAll?: boolean;
  74802. /**
  74803. * (Highcharts, Highstock) When set to `false` will prevent the series data
  74804. * from being included in any form of data export.
  74805. *
  74806. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  74807. * `includeInCSVExport`.
  74808. */
  74809. includeInDataExport?: boolean;
  74810. /**
  74811. * (Highmaps) What property to join the `mapData` to the value data. For
  74812. * example, if joinBy is "code", the mapData items with a specific code is
  74813. * merged into the data with the same code. For maps loaded from GeoJSON,
  74814. * the keys may be held in each point's `properties` object.
  74815. *
  74816. * The joinBy option can also be an array of two values, where the first
  74817. * points to a key in the `mapData`, and the second points to another key in
  74818. * the `data`.
  74819. *
  74820. * When joinBy is `null`, the map items are joined by their position in the
  74821. * array, which performs much better in maps with many data points. This is
  74822. * the recommended option if you are printing more than a thousand data
  74823. * points and have a backend that can preprocess the data into a parallel
  74824. * array of the mapData.
  74825. */
  74826. joinBy?: (string|Array<string>);
  74827. /**
  74828. * (Highcharts, Highstock) An array specifying which option maps to which
  74829. * key in the data point array. This makes it convenient to work with
  74830. * unstructured data arrays from different sources.
  74831. */
  74832. keys?: Array<string>;
  74833. /**
  74834. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  74835. * series as possible in a natural way, seeking to avoid other series. The
  74836. * goal of this feature is to make the chart more easily readable, like if a
  74837. * human designer placed the labels in the optimal position.
  74838. *
  74839. * The series labels currently work with series types having a `graph` or an
  74840. * `area`.
  74841. */
  74842. label?: SeriesLabelOptionsObject;
  74843. /**
  74844. * (Highstock) The line marks the last price from all points.
  74845. */
  74846. lastPrice?: SeriesLastPriceOptionsObject;
  74847. /**
  74848. * (Highstock) The line marks the last price from visible range of points.
  74849. */
  74850. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  74851. /**
  74852. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  74853. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  74854. * the ends and bends.
  74855. */
  74856. linecap?: SeriesLinecapValue;
  74857. /**
  74858. * (Highcharts, Highstock) The width of the line connecting the data points.
  74859. */
  74860. lineWidth?: number;
  74861. /**
  74862. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  74863. * Additionally, the value can be ":previous" to link to the previous
  74864. * series. When two series are linked, only the first one appears in the
  74865. * legend. Toggling the visibility of this also toggles the linked series.
  74866. *
  74867. * If master series uses data sorting and linked series does not have its
  74868. * own sorting definition, the linked series will be sorted in the same
  74869. * order as the master one.
  74870. */
  74871. linkedTo?: string;
  74872. /**
  74873. * (Highcharts, Highstock) Options for the point markers of line-like
  74874. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  74875. * the visual appearance of the markers. Other series types, like column
  74876. * series, don't have markers, but have visual options on the series level
  74877. * instead.
  74878. *
  74879. * In styled mode, the markers can be styled with the `.highcharts-point`,
  74880. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  74881. */
  74882. marker?: PointMarkerOptionsObject;
  74883. /**
  74884. * (Highstock) Options for the corresponding navigator series if
  74885. * `showInNavigator` is `true` for this series. Available options are the
  74886. * same as any series, documented at plotOptions and series.
  74887. *
  74888. * These options are merged with options in navigator.series, and will take
  74889. * precedence if the same option is defined both places.
  74890. */
  74891. navigatorOptions?: PlotSeriesOptions;
  74892. /**
  74893. * (Highcharts, Highstock) The color for the parts of the graph or points
  74894. * that are below the threshold. Note that `zones` takes precedence over the
  74895. * negative color. Using `negativeColor` is equivalent to applying a zone
  74896. * with value of 0.
  74897. */
  74898. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  74899. /**
  74900. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  74901. * and dataLabels.
  74902. */
  74903. opacity?: number;
  74904. /**
  74905. * (Highcharts, Highstock) Properties for each single point.
  74906. */
  74907. point?: PlotSeriesPointOptions;
  74908. /**
  74909. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  74910. * but for an individual series. Overrides the chart wide configuration.
  74911. */
  74912. pointDescriptionFormatter?: Function;
  74913. /**
  74914. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  74915. * a series, `pointInterval` defines the interval of the x values. For
  74916. * example, if a series contains one value every decade starting from year
  74917. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  74918. * `pointInterval` is set in milliseconds.
  74919. *
  74920. * It can be also be combined with `pointIntervalUnit` to draw irregular
  74921. * time intervals.
  74922. *
  74923. * Please note that this options applies to the _series data_, not the
  74924. * interval of the axis ticks, which is independent.
  74925. */
  74926. pointInterval?: number;
  74927. /**
  74928. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  74929. * setting the pointInterval to irregular time units, `day`, `month` and
  74930. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  74931. * also takes the DST crossover into consideration when dealing with local
  74932. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  74933. * months, 10 years etc.
  74934. *
  74935. * Please note that this options applies to the _series data_, not the
  74936. * interval of the axis ticks, which is independent.
  74937. */
  74938. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  74939. /**
  74940. * (Highstock) The width of each point on the x axis. For example in a
  74941. * column chart with one value each day, the pointRange would be 1 day (= 24
  74942. * * 3600
  74943. *
  74944. * * 1000 milliseconds). This is normally computed automatically, but this
  74945. * option can be used to override the automatic value.
  74946. */
  74947. pointRange?: number;
  74948. /**
  74949. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  74950. * a series, pointStart defines on what value to start. For example, if a
  74951. * series contains one yearly value starting from 1945, set pointStart to
  74952. * 1945.
  74953. */
  74954. pointStart?: number;
  74955. /**
  74956. * (Highcharts, Highstock) Whether to select the series initially. If
  74957. * `showCheckbox` is true, the checkbox next to the series name in the
  74958. * legend will be checked for a selected series.
  74959. */
  74960. selected?: boolean;
  74961. /**
  74962. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  74963. * legend item to allow selecting the series. The state of the checkbox is
  74964. * determined by the `selected` option.
  74965. */
  74966. showCheckbox?: boolean;
  74967. /**
  74968. * (Highcharts, Highstock) Whether to display this particular series or
  74969. * series type in the legend. Standalone series are shown in legend by
  74970. * default, and linked series are not. Since v7.2.0 it is possible to show
  74971. * series that use colorAxis by setting this option to `true`.
  74972. */
  74973. showInLegend?: boolean;
  74974. /**
  74975. * (Highstock) Whether or not to show the series in the navigator. Takes
  74976. * precedence over navigator.baseSeries if defined.
  74977. */
  74978. showInNavigator?: boolean;
  74979. /**
  74980. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  74981. * skip past the points in this series for keyboard navigation.
  74982. */
  74983. skipKeyboardNavigation?: boolean;
  74984. /**
  74985. * (Highcharts, Highstock) Whether to stack the values of each series on top
  74986. * of each other. Possible values are `undefined` to disable, `"normal"` to
  74987. * stack by value or `"percent"`.
  74988. *
  74989. * When stacking is enabled, data must be sorted in ascending X order.
  74990. *
  74991. * Some stacking options are related to specific series types. In the
  74992. * streamgraph series type, the stacking option is set to `"stream"`. The
  74993. * second one is `"overlap"`, which only applies to waterfall series.
  74994. */
  74995. stacking?: OptionsStackingValue;
  74996. states?: SeriesStatesOptionsObject;
  74997. /**
  74998. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  74999. * values are `left`, `center` and `right`.
  75000. */
  75001. step?: OptionsStepValue;
  75002. /**
  75003. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  75004. * `mouseOut` event on a series isn't triggered until the mouse moves over
  75005. * another series, or out of the plot area. When false, the `mouseOut` event
  75006. * on a series is triggered when the mouse leaves the area around the
  75007. * series' graph or markers. This also implies the tooltip. When
  75008. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  75009. * be hidden when moving the mouse between series.
  75010. */
  75011. stickyTracking?: boolean;
  75012. /**
  75013. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  75014. * of each single series. Properties are inherited from tooltip. Overridable
  75015. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  75016. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  75017. * series.name by default shows in the headerFormat and point.x and point.y
  75018. * in the pointFormat.
  75019. */
  75020. tooltip?: SeriesTooltipOptionsObject;
  75021. trackByArea?: boolean;
  75022. /**
  75023. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  75024. * is longer than this, only one dimensional arrays of numbers, or two
  75025. * dimensional arrays with x and y values are allowed. Also, only the first
  75026. * point is tested, and the rest are assumed to be the same format. This
  75027. * saves expensive data checking and indexing in long series. Set it to `0`
  75028. * disable.
  75029. *
  75030. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  75031. * two dimensional arrays are allowed.
  75032. */
  75033. turboThreshold?: number;
  75034. /**
  75035. * (Highcharts, Highstock) Set the initial visibility of the series.
  75036. */
  75037. visible?: boolean;
  75038. /**
  75039. * (Highmaps) Define the z index of the series.
  75040. */
  75041. zIndex?: number;
  75042. /**
  75043. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  75044. */
  75045. zoneAxis?: string;
  75046. /**
  75047. * (Highcharts, Highstock) An array defining zones within a series. Zones
  75048. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  75049. * the `zoneAxis` option. The zone definitions have to be in ascending order
  75050. * regarding to the value.
  75051. *
  75052. * In styled mode, the color zones are styled with the
  75053. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  75054. * option (view live demo).
  75055. */
  75056. zones?: Array<SeriesZonesOptionsObject>;
  75057. }
  75058. /**
  75059. * (Highstock) Enable or disable the initial animation when a series is
  75060. * displayed. The animation can also be set as a configuration object. Please
  75061. * note that this option only applies to the initial animation of the series
  75062. * itself. For other animations, see chart.animation and the animation parameter
  75063. * under the API methods. The following properties are supported:
  75064. *
  75065. * - `defer`: The animation delay time in milliseconds.
  75066. *
  75067. * - `duration`: The duration of the animation in milliseconds.
  75068. *
  75069. * - `easing`: Can be a string reference to an easing function set on the `Math`
  75070. * object or a function. See the _Custom easing function_ demo below.
  75071. *
  75072. * Due to poor performance, animation is disabled in old IE browsers for several
  75073. * chart types.
  75074. */
  75075. export interface PlotPpoAnimationOptions {
  75076. defer?: number;
  75077. }
  75078. /**
  75079. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  75080. * animation when a series is displayed for the `dataLabels`. The animation can
  75081. * also be set as a configuration object. Please note that this option only
  75082. * applies to the initial animation. For other animations, see chart.animation
  75083. * and the animation parameter under the API methods. The following properties
  75084. * are supported:
  75085. *
  75086. * - `defer`: The animation delay time in milliseconds.
  75087. */
  75088. export interface PlotPpoDataLabelsAnimationOptions {
  75089. /**
  75090. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  75091. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  75092. * inherits defer time from the series.animation.defer.
  75093. */
  75094. defer?: number;
  75095. }
  75096. /**
  75097. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  75098. * appearing next to each data point.
  75099. *
  75100. * Since v6.2.0, multiple data labels can be applied to each single point by
  75101. * defining them as an array of configs.
  75102. *
  75103. * In styled mode, the data labels can be styled with the
  75104. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  75105. * example).
  75106. */
  75107. export interface PlotPpoDataLabelsOptions {
  75108. /**
  75109. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  75110. * compared to the point. If `right`, the right side of the label should be
  75111. * touching the point. For points with an extent, like columns, the
  75112. * alignments also dictates how to align it inside the box, as given with
  75113. * the inside option. Can be one of `left`, `center` or `right`.
  75114. */
  75115. align?: (AlignValue|null);
  75116. /**
  75117. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  75118. * overlap. To make the labels less sensitive for overlapping, the
  75119. * dataLabels.padding can be set to 0.
  75120. */
  75121. allowOverlap?: boolean;
  75122. /**
  75123. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  75124. * animation when a series is displayed for the `dataLabels`. The animation
  75125. * can also be set as a configuration object. Please note that this option
  75126. * only applies to the initial animation. For other animations, see
  75127. * chart.animation and the animation parameter under the API methods. The
  75128. * following properties are supported:
  75129. *
  75130. * - `defer`: The animation delay time in milliseconds.
  75131. */
  75132. animation?: (boolean|PlotPpoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  75133. /**
  75134. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  75135. * for the data label.
  75136. */
  75137. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  75138. /**
  75139. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  75140. * label. Defaults to `undefined`.
  75141. */
  75142. borderColor?: (ColorString|GradientColorObject|PatternObject);
  75143. /**
  75144. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  75145. * the data label.
  75146. */
  75147. borderRadius?: number;
  75148. /**
  75149. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  75150. * the data label.
  75151. */
  75152. borderWidth?: number;
  75153. /**
  75154. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  75155. * Particularly in styled mode, this can be used to give each series' or
  75156. * point's data label unique styling. In addition to this option, a default
  75157. * color class name is added so that we can give the labels a contrast text
  75158. * shadow.
  75159. */
  75160. className?: string;
  75161. /**
  75162. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  75163. * labels. Defaults to `undefined`. For certain series types, like column or
  75164. * map, the data labels can be drawn inside the points. In this case the
  75165. * data label will be drawn with maximum contrast by default. Additionally,
  75166. * it will be given a `text-outline` style with the opposite color, to
  75167. * further increase the contrast. This can be overridden by setting the
  75168. * `text-outline` style to `none` in the `dataLabels.style` option.
  75169. */
  75170. color?: (ColorString|GradientColorObject|PatternObject);
  75171. /**
  75172. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  75173. * are outside the plot area. By default, the data label is moved inside the
  75174. * plot area according to the overflow option.
  75175. */
  75176. crop?: boolean;
  75177. /**
  75178. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  75179. * labels until the initial series animation has finished. Setting to
  75180. * `false` renders the data label immediately. If set to `true` inherits the
  75181. * defer time set in plotOptions.series.animation. If set to a number, a
  75182. * defer time is specified in milliseconds.
  75183. */
  75184. defer?: (boolean|number);
  75185. /**
  75186. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  75187. * labels.
  75188. */
  75189. enabled?: boolean;
  75190. /**
  75191. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  75192. * of which data labels to display. The declarative filter is designed for
  75193. * use when callback functions are not available, like when the chart
  75194. * options require a pure JSON structure or for use with graphical editors.
  75195. * For programmatic control, use the `formatter` instead, and return
  75196. * `undefined` to disable a single data label.
  75197. */
  75198. filter?: DataLabelsFilterOptionsObject;
  75199. /**
  75200. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  75201. * label. Available variables are the same as for `formatter`.
  75202. */
  75203. format?: string;
  75204. /**
  75205. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  75206. * format the data label. Note that if a `format` is defined, the format
  75207. * takes precedence and the formatter is ignored.
  75208. */
  75209. formatter?: DataLabelsFormatterCallbackFunction;
  75210. /**
  75211. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  75212. * columns or map areas, whether to align the data label inside the box or
  75213. * to the actual value point. Defaults to `false` in most cases, `true` in
  75214. * stacked columns.
  75215. */
  75216. inside?: boolean;
  75217. /**
  75218. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  75219. * of null. Works analogously to format. `nullFormat` can be applied only to
  75220. * series which support displaying null points.
  75221. */
  75222. nullFormat?: (boolean|string);
  75223. /**
  75224. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  75225. * that defines formatting for points with the value of null. Works
  75226. * analogously to formatter. `nullPointFormatter` can be applied only to
  75227. * series which support displaying null points.
  75228. */
  75229. nullFormatter?: DataLabelsFormatterCallbackFunction;
  75230. /**
  75231. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  75232. * flow outside the plot area. The default is `"justify"`, which aligns them
  75233. * inside the plot area. For columns and bars, this means it will be moved
  75234. * inside the bar. To display data labels outside the plot area, set `crop`
  75235. * to `false` and `overflow` to `"allow"`.
  75236. */
  75237. overflow?: DataLabelsOverflowValue;
  75238. /**
  75239. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  75240. * the `backgroundColor` is set, this is the padding within the box.
  75241. */
  75242. padding?: number;
  75243. /**
  75244. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  75245. * points. If `center` alignment is not possible, it defaults to `right`.
  75246. */
  75247. position?: AlignValue;
  75248. /**
  75249. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  75250. * that due to a more complex structure, backgrounds, borders and padding
  75251. * will be lost on a rotated data label.
  75252. */
  75253. rotation?: number;
  75254. /**
  75255. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  75256. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  75257. * an object configuration containing `color`, `offsetX`, `offsetY`,
  75258. * `opacity` and `width`.
  75259. */
  75260. shadow?: (boolean|ShadowOptionsObject);
  75261. /**
  75262. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  75263. * the border around the label. Symbols are predefined functions on the
  75264. * Renderer object.
  75265. */
  75266. shape?: string;
  75267. /**
  75268. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  75269. * default `color` setting is `"contrast"`, which is a pseudo color that
  75270. * Highcharts picks up and applies the maximum contrast to the underlying
  75271. * point item, for example the bar in a bar chart.
  75272. *
  75273. * The `textOutline` is a pseudo property that applies an outline of the
  75274. * given width with the given color, which by default is the maximum
  75275. * contrast to the text. So a bright text color will result in a black text
  75276. * outline for maximum readability on a mixed background. In some cases,
  75277. * especially with grayscale text, the text outline doesn't work well, in
  75278. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  75279. * is true, the `textOutline` will not be picked up. In this, case, the same
  75280. * effect can be acheived through the `text-shadow` CSS property.
  75281. *
  75282. * For some series types, where each point has an extent, like for example
  75283. * tree maps, the data label may overflow the point. There are two
  75284. * strategies for handling overflow. By default, the text will wrap to
  75285. * multiple lines. The other strategy is to set `style.textOverflow` to
  75286. * `ellipsis`, which will keep the text on one line plus it will break
  75287. * inside long words.
  75288. */
  75289. style?: CSSObject;
  75290. /**
  75291. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  75292. * should follow marker's shape. Border and background are disabled for a
  75293. * label that follows a path.
  75294. *
  75295. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  75296. * to true will disable this option.
  75297. */
  75298. textPath?: DataLabelsTextPathOptionsObject;
  75299. /**
  75300. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  75301. * the labels.
  75302. */
  75303. useHTML?: boolean;
  75304. /**
  75305. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  75306. * label. Can be one of `top`, `middle` or `bottom`. The default value
  75307. * depends on the data, for instance in a column chart, the label is above
  75308. * positive values and below negative values.
  75309. */
  75310. verticalAlign?: (VerticalAlignValue|null);
  75311. /**
  75312. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  75313. * label relative to the point in pixels.
  75314. */
  75315. x?: number;
  75316. /**
  75317. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  75318. * label relative to the point in pixels.
  75319. */
  75320. y?: number;
  75321. /**
  75322. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  75323. * The default Z index puts it above the series. Use a Z index of 2 to
  75324. * display it behind the series.
  75325. */
  75326. z?: number;
  75327. }
  75328. /**
  75329. * (Highcharts, Highstock) Options for the series data sorting.
  75330. */
  75331. export interface PlotPpoDataSortingOptions {
  75332. /**
  75333. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  75334. * Use xAxis.reversed to change the sorting order.
  75335. */
  75336. enabled?: boolean;
  75337. /**
  75338. * (Highcharts, Highstock) Whether to allow matching points by name in an
  75339. * update. If this option is disabled, points will be matched by order.
  75340. */
  75341. matchByName?: boolean;
  75342. /**
  75343. * (Highcharts, Highstock) Determines what data value should be used to sort
  75344. * by.
  75345. */
  75346. sortKey?: string;
  75347. }
  75348. /**
  75349. * (Highstock) Percentage Price Oscillator. This series requires the `linkedTo`
  75350. * option to be set and should be loaded after the
  75351. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  75352. *
  75353. * In TypeScript the type option must always be set.
  75354. *
  75355. * Configuration options for the series are given in three levels:
  75356. *
  75357. * 1. Options for all series in a chart are defined in the plotOptions.series
  75358. * object.
  75359. *
  75360. * 2. Options for all `ppo` series are defined in plotOptions.ppo.
  75361. *
  75362. * 3. Options for one single series are given in the series instance array. (see
  75363. * online documentation for example)
  75364. */
  75365. export interface PlotPpoOptions {
  75366. /**
  75367. * (Highstock) Accessibility options for a series.
  75368. */
  75369. accessibility?: SeriesAccessibilityOptionsObject;
  75370. /**
  75371. * (Highstock) Allow this series' points to be selected by clicking on the
  75372. * graphic (columns, point markers, pie slices, map areas etc).
  75373. *
  75374. * The selected points can be handled by point select and unselect events,
  75375. * or collectively by the getSelectedPoints function.
  75376. *
  75377. * And alternative way of selecting points is through dragging.
  75378. */
  75379. allowPointSelect?: boolean;
  75380. /**
  75381. * (Highstock) Enable or disable the initial animation when a series is
  75382. * displayed. The animation can also be set as a configuration object.
  75383. * Please note that this option only applies to the initial animation of the
  75384. * series itself. For other animations, see chart.animation and the
  75385. * animation parameter under the API methods. The following properties are
  75386. * supported:
  75387. *
  75388. * - `defer`: The animation delay time in milliseconds.
  75389. *
  75390. * - `duration`: The duration of the animation in milliseconds.
  75391. *
  75392. * - `easing`: Can be a string reference to an easing function set on the
  75393. * `Math` object or a function. See the _Custom easing function_ demo below.
  75394. *
  75395. * Due to poor performance, animation is disabled in old IE browsers for
  75396. * several chart types.
  75397. */
  75398. animation?: (boolean|PlotPpoAnimationOptions|Partial<AnimationOptionsObject>);
  75399. /**
  75400. * (Highstock) For some series, there is a limit that shuts down initial
  75401. * animation by default when the total number of points in the chart is too
  75402. * high. For example, for a column chart and its derivatives, animation does
  75403. * not run if there is more than 250 points totally. To disable this cap,
  75404. * set `animationLimit` to `Infinity`.
  75405. */
  75406. animationLimit?: number;
  75407. /**
  75408. * (Highstock) Sets the color blending in the boost module.
  75409. */
  75410. boostBlending?: OptionsBoostBlendingValue;
  75411. /**
  75412. * (Highstock) Set the point threshold for when a series should enter boost
  75413. * mode.
  75414. *
  75415. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  75416. * there are 2000 or more points in the series.
  75417. *
  75418. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  75419. * it to 1 will force boosting.
  75420. *
  75421. * Note that the cropThreshold also affects this setting. When zooming in on
  75422. * a series that has fewer points than the `cropThreshold`, all points are
  75423. * rendered although outside the visible plot area, and the `boostThreshold`
  75424. * won't take effect.
  75425. */
  75426. boostThreshold?: number;
  75427. /**
  75428. * (Highmaps) The border color of the map areas.
  75429. *
  75430. * In styled mode, the border stroke is given in the `.highcharts-point`
  75431. * class.
  75432. */
  75433. borderColor?: (ColorString|GradientColorObject|PatternObject);
  75434. /**
  75435. * (Highmaps) The border width of each map area.
  75436. *
  75437. * In styled mode, the border stroke width is given in the
  75438. * `.highcharts-point` class.
  75439. */
  75440. borderWidth?: number;
  75441. /**
  75442. * (Highstock) An additional class name to apply to the series' graphical
  75443. * elements. This option does not replace default class names of the
  75444. * graphical element.
  75445. */
  75446. className?: string;
  75447. /**
  75448. * (Highstock) Disable this option to allow series rendering in the whole
  75449. * plotting area.
  75450. *
  75451. * **Note:** Clipping should be always enabled when chart.zoomType is set
  75452. */
  75453. clip?: boolean;
  75454. /**
  75455. * (Highstock) The main color of the series. In line type series it applies
  75456. * to the line and the point markers unless otherwise specified. In bar type
  75457. * series it applies to the bars unless a color is specified per point. The
  75458. * default value is pulled from the `options.colors` array.
  75459. *
  75460. * In styled mode, the color can be defined by the colorIndex option. Also,
  75461. * the series color can be set with the `.highcharts-series`,
  75462. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  75463. * `.highcharts-series-{n}` class, or individual classes given by the
  75464. * `className` option.
  75465. */
  75466. color?: (ColorString|GradientColorObject|PatternObject);
  75467. /**
  75468. * (Highstock) Styled mode only. A specific color index to use for the
  75469. * series, so its graphic representations are given the class name
  75470. * `highcharts-color-{n}`.
  75471. */
  75472. colorIndex?: number;
  75473. /**
  75474. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  75475. * used to calculate point color if `colorAxis` is used. Requires to set
  75476. * `min` and `max` if some custom point property is used or if approximation
  75477. * for data grouping is set to `'sum'`.
  75478. */
  75479. colorKey?: string;
  75480. /**
  75481. * (Highstock) Compare the values of the series against the first non-null,
  75482. * non- zero value in the visible range. The y axis will show percentage or
  75483. * absolute change depending on whether `compare` is set to `"percent"` or
  75484. * `"value"`. When this is applied to multiple series, it allows comparing
  75485. * the development of the series against each other. Adds a `change` field
  75486. * to every point object.
  75487. */
  75488. compare?: string;
  75489. /**
  75490. * (Highstock) When compare is `percent`, this option dictates whether to
  75491. * use 0 or 100 as the base of comparison.
  75492. */
  75493. compareBase?: (0|100);
  75494. /**
  75495. * (Highstock) Defines if comparison should start from the first point
  75496. * within the visible range or should start from the first point **before**
  75497. * the range.
  75498. *
  75499. * In other words, this flag determines if first point within the visible
  75500. * range will have 0% (`compareStart=true`) or should have been already
  75501. * calculated according to the previous point (`compareStart=false`).
  75502. */
  75503. compareStart?: boolean;
  75504. /**
  75505. * (Highstock) Whether to compare indicator to the main series values or
  75506. * indicator values.
  75507. */
  75508. compareToMain?: boolean;
  75509. /**
  75510. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  75511. * series plot across the extremes.
  75512. */
  75513. connectEnds?: boolean;
  75514. /**
  75515. * (Highcharts, Highstock) Whether to connect a graph line across null
  75516. * points, or render a gap between the two points on either side of the
  75517. * null.
  75518. */
  75519. connectNulls?: boolean;
  75520. /**
  75521. * (Gantt) Override Pathfinder connector options for a series. Requires
  75522. * Highcharts Gantt to be loaded.
  75523. */
  75524. connectors?: SeriesConnectorsOptionsObject;
  75525. /**
  75526. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  75527. * rounded to its nearest pixel in order to render sharp on screen. In some
  75528. * cases, when there are a lot of densely packed columns, this leads to
  75529. * visible difference in column widths or distance between columns. In these
  75530. * cases, setting `crisp` to `false` may look better, even though each
  75531. * column is rendered blurry.
  75532. */
  75533. crisp?: boolean;
  75534. /**
  75535. * (Highcharts, Highstock) When the series contains less points than the
  75536. * crop threshold, all points are drawn, even if the points fall outside the
  75537. * visible plot area at the current zoom. The advantage of drawing all
  75538. * points (including markers and columns), is that animation is performed on
  75539. * updates. On the other hand, when the series contains more points than the
  75540. * crop threshold, the series data is cropped to only contain points that
  75541. * fall within the plot area. The advantage of cropping away invisible
  75542. * points is to increase performance on large series.
  75543. */
  75544. cropThreshold?: number;
  75545. /**
  75546. * (Highstock) You can set the cursor to "pointer" if you have click events
  75547. * attached to the series, to signal to the user that the points and lines
  75548. * can be clicked.
  75549. *
  75550. * In styled mode, the series cursor can be set with the same classes as
  75551. * listed under series.color.
  75552. */
  75553. cursor?: (string|CursorValue);
  75554. /**
  75555. * (Highstock) A reserved subspace to store options and values for
  75556. * customized functionality. Here you can add additional data for your own
  75557. * event callbacks and formatter callbacks.
  75558. */
  75559. custom?: Dictionary<any>;
  75560. /**
  75561. * (Highstock) Name of the dash style to use for the graph, or for some
  75562. * series types the outline of each shape.
  75563. *
  75564. * In styled mode, the stroke dash-array can be set with the same classes as
  75565. * listed under series.color.
  75566. */
  75567. dashStyle?: DashStyleValue;
  75568. /**
  75569. * (Highstock) Data grouping is the concept of sampling the data values into
  75570. * larger blocks in order to ease readability and increase performance of
  75571. * the JavaScript charts. Highcharts Stock by default applies data grouping
  75572. * when the points become closer than a certain pixel value, determined by
  75573. * the `groupPixelWidth` option.
  75574. *
  75575. * If data grouping is applied, the grouping information of grouped points
  75576. * can be read from the Point.dataGroup. If point options other than the
  75577. * data itself are set, for example `name` or `color` or custom properties,
  75578. * the grouping logic doesn't know how to group it. In this case the options
  75579. * of the first point instance are copied over to the group point. This can
  75580. * be altered through a custom `approximation` callback function.
  75581. */
  75582. dataGrouping?: DataGroupingOptionsObject;
  75583. /**
  75584. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  75585. * labels, appearing next to each data point.
  75586. *
  75587. * Since v6.2.0, multiple data labels can be applied to each single point by
  75588. * defining them as an array of configs.
  75589. *
  75590. * In styled mode, the data labels can be styled with the
  75591. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  75592. * (see example).
  75593. */
  75594. dataLabels?: (PlotPpoDataLabelsOptions|Array<PlotPpoDataLabelsOptions>);
  75595. /**
  75596. * (Highcharts, Highstock) Options for the series data sorting.
  75597. */
  75598. dataSorting?: (DataSortingOptionsObject|PlotPpoDataSortingOptions);
  75599. /**
  75600. * (Highstock) A description of the series to add to the screen reader
  75601. * information about the series.
  75602. */
  75603. description?: string;
  75604. /**
  75605. * (Highstock) Enable or disable the mouse tracking for a specific series.
  75606. * This includes point tooltips and click events on graphs and points. For
  75607. * large datasets it improves performance.
  75608. */
  75609. enableMouseTracking?: boolean;
  75610. /**
  75611. * (Highstock) General event handlers for the series items. These event
  75612. * hooks can also be attached to the series at run time using the
  75613. * `Highcharts.addEvent` function.
  75614. */
  75615. events?: SeriesEventsOptionsObject;
  75616. /**
  75617. * (Highstock) Determines whether the series should look for the nearest
  75618. * point in both dimensions or just the x-dimension when hovering the
  75619. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  75620. * series. If the data has duplicate x-values, it is recommended to set this
  75621. * to `'xy'` to allow hovering over all points.
  75622. *
  75623. * Applies only to series types using nearest neighbor search (not direct
  75624. * hover) for tooltip.
  75625. */
  75626. findNearestPointBy?: OptionsFindNearestPointByValue;
  75627. /**
  75628. * (Highstock) Defines when to display a gap in the graph, together with the
  75629. * gapUnit option.
  75630. *
  75631. * In case when `dataGrouping` is enabled, points can be grouped into a
  75632. * larger time span. This can make the grouped points to have a greater
  75633. * distance than the absolute value of `gapSize` property, which will result
  75634. * in disappearing graph completely. To prevent this situation the mentioned
  75635. * distance between grouped points is used instead of previously defined
  75636. * `gapSize`.
  75637. *
  75638. * In practice, this option is most often used to visualize gaps in time
  75639. * series. In a stock chart, intraday data is available for daytime hours,
  75640. * while gaps will appear in nights and weekends.
  75641. */
  75642. gapSize?: number;
  75643. /**
  75644. * (Highstock) Together with gapSize, this option defines where to draw gaps
  75645. * in the graph.
  75646. *
  75647. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  75648. * if the distance between two points is greater than 5 times that of the
  75649. * two closest points, the graph will be broken.
  75650. *
  75651. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  75652. * values, which on a datetime axis is milliseconds. This also applies to
  75653. * the navigator series that inherits gap options from the base series.
  75654. */
  75655. gapUnit?: OptionsGapUnitValue;
  75656. /**
  75657. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  75658. * chart width or only the zoomed area when zooming in on parts of the X
  75659. * axis. By default, the Y axis adjusts to the min and max of the visible
  75660. * data. Cartesian series only.
  75661. */
  75662. getExtremesFromAll?: boolean;
  75663. /**
  75664. * (Highstock) When set to `false` will prevent the series data from being
  75665. * included in any form of data export.
  75666. *
  75667. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  75668. * `includeInCSVExport`.
  75669. */
  75670. includeInDataExport?: boolean;
  75671. /**
  75672. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  75673. * series as possible in a natural way, seeking to avoid other series. The
  75674. * goal of this feature is to make the chart more easily readable, like if a
  75675. * human designer placed the labels in the optimal position.
  75676. *
  75677. * The series labels currently work with series types having a `graph` or an
  75678. * `area`.
  75679. */
  75680. label?: SeriesLabelOptionsObject;
  75681. /**
  75682. * (Highstock) The line marks the last price from all points.
  75683. */
  75684. lastPrice?: SeriesLastPriceOptionsObject;
  75685. /**
  75686. * (Highstock) The line marks the last price from visible range of points.
  75687. */
  75688. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  75689. /**
  75690. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  75691. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  75692. * the ends and bends.
  75693. */
  75694. linecap?: SeriesLinecapValue;
  75695. /**
  75696. * (Highcharts, Highstock) Pixel width of the graph line.
  75697. */
  75698. lineWidth?: number;
  75699. /**
  75700. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  75701. * based on. Required for this indicator.
  75702. */
  75703. linkedTo?: string;
  75704. /**
  75705. * (Highstock) Options for the point markers of line-like series. Properties
  75706. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  75707. * appearance of the markers. Other series types, like column series, don't
  75708. * have markers, but have visual options on the series level instead.
  75709. *
  75710. * In styled mode, the markers can be styled with the `.highcharts-point`,
  75711. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  75712. */
  75713. marker?: PointMarkerOptionsObject;
  75714. /**
  75715. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  75716. * If not set, it will be based on a technical indicator type and default
  75717. * params.
  75718. */
  75719. name?: string;
  75720. /**
  75721. * (Highstock) The color for the parts of the graph or points that are below
  75722. * the threshold. Note that `zones` takes precedence over the negative
  75723. * color. Using `negativeColor` is equivalent to applying a zone with value
  75724. * of 0.
  75725. */
  75726. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  75727. /**
  75728. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  75729. * dataLabels.
  75730. */
  75731. opacity?: number;
  75732. /**
  75733. * (Highstock) Paramters used in calculation of Percentage Price Oscillator
  75734. * series points.
  75735. */
  75736. params?: PlotPpoParamsOptions;
  75737. /**
  75738. * (Highstock) Properties for each single point.
  75739. */
  75740. point?: PlotSeriesPointOptions;
  75741. /**
  75742. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  75743. * individual series. Overrides the chart wide configuration.
  75744. */
  75745. pointDescriptionFormatter?: Function;
  75746. /**
  75747. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  75748. * true, the checkbox next to the series name in the legend will be checked
  75749. * for a selected series.
  75750. */
  75751. selected?: boolean;
  75752. /**
  75753. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  75754. * the shadow can be an object configuration containing `color`, `offsetX`,
  75755. * `offsetY`, `opacity` and `width`.
  75756. */
  75757. shadow?: (boolean|ShadowOptionsObject);
  75758. /**
  75759. * (Highstock) If true, a checkbox is displayed next to the legend item to
  75760. * allow selecting the series. The state of the checkbox is determined by
  75761. * the `selected` option.
  75762. */
  75763. showCheckbox?: boolean;
  75764. /**
  75765. * (Highstock) Whether to display this particular series or series type in
  75766. * the legend. Standalone series are shown in legend by default, and linked
  75767. * series are not. Since v7.2.0 it is possible to show series that use
  75768. * colorAxis by setting this option to `true`.
  75769. */
  75770. showInLegend?: boolean;
  75771. /**
  75772. * (Highstock) If set to `true`, the accessibility module will skip past the
  75773. * points in this series for keyboard navigation.
  75774. */
  75775. skipKeyboardNavigation?: boolean;
  75776. /**
  75777. * (Highcharts, Highstock) When this is true, the series will not cause the
  75778. * Y axis to cross the zero plane (or threshold option) unless the data
  75779. * actually crosses the plane.
  75780. *
  75781. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  75782. * make the Y axis show negative values according to the `minPadding`
  75783. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  75784. */
  75785. softThreshold?: boolean;
  75786. states?: SeriesStatesOptionsObject;
  75787. /**
  75788. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  75789. * values are `left`, `center` and `right`.
  75790. */
  75791. step?: OptionsStepValue;
  75792. /**
  75793. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  75794. * event on a series isn't triggered until the mouse moves over another
  75795. * series, or out of the plot area. When false, the `mouseOut` event on a
  75796. * series is triggered when the mouse leaves the area around the series'
  75797. * graph or markers. This also implies the tooltip when not shared. When
  75798. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  75799. * be hidden when moving the mouse between series. Defaults to true for line
  75800. * and area type series, but to false for columns, pies etc.
  75801. *
  75802. * **Note:** The boost module will force this option because of technical
  75803. * limitations.
  75804. */
  75805. stickyTracking?: boolean;
  75806. /**
  75807. * (Highcharts, Highstock) The threshold, also called zero level or base
  75808. * level. For line type series this is only used in conjunction with
  75809. * negativeColor.
  75810. */
  75811. threshold?: (number|null);
  75812. /**
  75813. * (Highstock) A configuration object for the tooltip rendering of each
  75814. * single series. Properties are inherited from tooltip, but only the
  75815. * following properties can be defined on a series level.
  75816. */
  75817. tooltip?: SeriesTooltipOptionsObject;
  75818. /**
  75819. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  75820. * is longer than this, only one dimensional arrays of numbers, or two
  75821. * dimensional arrays with x and y values are allowed. Also, only the first
  75822. * point is tested, and the rest are assumed to be the same format. This
  75823. * saves expensive data checking and indexing in long series. Set it to `0`
  75824. * disable.
  75825. *
  75826. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  75827. * two dimensional arrays are allowed.
  75828. */
  75829. turboThreshold?: number;
  75830. /**
  75831. * (Highstock) Set the initial visibility of the series.
  75832. */
  75833. visible?: boolean;
  75834. /**
  75835. * (Highmaps) Define the z index of the series.
  75836. */
  75837. zIndex?: number;
  75838. /**
  75839. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  75840. */
  75841. zoneAxis?: string;
  75842. /**
  75843. * (Highcharts, Highstock) An array defining zones within a series. Zones
  75844. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  75845. * the `zoneAxis` option. The zone definitions have to be in ascending order
  75846. * regarding to the value.
  75847. *
  75848. * In styled mode, the color zones are styled with the
  75849. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  75850. * option (view live demo).
  75851. */
  75852. zones?: Array<SeriesZonesOptionsObject>;
  75853. }
  75854. /**
  75855. * (Highstock) Paramters used in calculation of Percentage Price Oscillator
  75856. * series points.
  75857. */
  75858. export interface PlotPpoParamsOptions {
  75859. /**
  75860. * (Highstock) The point index which indicator calculations will base. For
  75861. * example using OHLC data, index=2 means the indicator will be calculated
  75862. * using Low values.
  75863. *
  75864. * By default index value used to be set to 0. Since Highcharts Stock 7 by
  75865. * default index is set to 3 which means that the ema indicator will be
  75866. * calculated using Close values.
  75867. */
  75868. index?: number;
  75869. period?: string;
  75870. /**
  75871. * (Highstock) Periods for Percentage Price Oscillator calculations.
  75872. */
  75873. periods?: Array<number>;
  75874. }
  75875. /**
  75876. * (Highstock) Enable or disable the initial animation when a series is
  75877. * displayed. The animation can also be set as a configuration object. Please
  75878. * note that this option only applies to the initial animation of the series
  75879. * itself. For other animations, see chart.animation and the animation parameter
  75880. * under the API methods. The following properties are supported:
  75881. *
  75882. * - `defer`: The animation delay time in milliseconds.
  75883. *
  75884. * - `duration`: The duration of the animation in milliseconds.
  75885. *
  75886. * - `easing`: Can be a string reference to an easing function set on the `Math`
  75887. * object or a function. See the _Custom easing function_ demo below.
  75888. *
  75889. * Due to poor performance, animation is disabled in old IE browsers for several
  75890. * chart types.
  75891. */
  75892. export interface PlotPriceenvelopesAnimationOptions {
  75893. defer?: number;
  75894. }
  75895. /**
  75896. * (Highstock) Bottom line options.
  75897. */
  75898. export interface PlotPriceenvelopesBottomLineOptions {
  75899. styles?: PlotPriceenvelopesBottomLineStylesOptions;
  75900. }
  75901. export interface PlotPriceenvelopesBottomLineStylesOptions {
  75902. /**
  75903. * (Highstock) Color of the line. If not set, it's inherited from
  75904. * plotOptions.priceenvelopes.color.
  75905. */
  75906. lineColor?: ColorString;
  75907. /**
  75908. * (Highstock) Pixel width of the line.
  75909. */
  75910. lineWidth?: number;
  75911. }
  75912. /**
  75913. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  75914. * animation when a series is displayed for the `dataLabels`. The animation can
  75915. * also be set as a configuration object. Please note that this option only
  75916. * applies to the initial animation. For other animations, see chart.animation
  75917. * and the animation parameter under the API methods. The following properties
  75918. * are supported:
  75919. *
  75920. * - `defer`: The animation delay time in milliseconds.
  75921. */
  75922. export interface PlotPriceenvelopesDataLabelsAnimationOptions {
  75923. /**
  75924. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  75925. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  75926. * inherits defer time from the series.animation.defer.
  75927. */
  75928. defer?: number;
  75929. }
  75930. /**
  75931. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  75932. * appearing next to each data point.
  75933. *
  75934. * Since v6.2.0, multiple data labels can be applied to each single point by
  75935. * defining them as an array of configs.
  75936. *
  75937. * In styled mode, the data labels can be styled with the
  75938. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  75939. * example).
  75940. */
  75941. export interface PlotPriceenvelopesDataLabelsOptions {
  75942. /**
  75943. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  75944. * compared to the point. If `right`, the right side of the label should be
  75945. * touching the point. For points with an extent, like columns, the
  75946. * alignments also dictates how to align it inside the box, as given with
  75947. * the inside option. Can be one of `left`, `center` or `right`.
  75948. */
  75949. align?: (AlignValue|null);
  75950. /**
  75951. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  75952. * overlap. To make the labels less sensitive for overlapping, the
  75953. * dataLabels.padding can be set to 0.
  75954. */
  75955. allowOverlap?: boolean;
  75956. /**
  75957. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  75958. * animation when a series is displayed for the `dataLabels`. The animation
  75959. * can also be set as a configuration object. Please note that this option
  75960. * only applies to the initial animation. For other animations, see
  75961. * chart.animation and the animation parameter under the API methods. The
  75962. * following properties are supported:
  75963. *
  75964. * - `defer`: The animation delay time in milliseconds.
  75965. */
  75966. animation?: (boolean|PlotPriceenvelopesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  75967. /**
  75968. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  75969. * for the data label.
  75970. */
  75971. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  75972. /**
  75973. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  75974. * label. Defaults to `undefined`.
  75975. */
  75976. borderColor?: (ColorString|GradientColorObject|PatternObject);
  75977. /**
  75978. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  75979. * the data label.
  75980. */
  75981. borderRadius?: number;
  75982. /**
  75983. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  75984. * the data label.
  75985. */
  75986. borderWidth?: number;
  75987. /**
  75988. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  75989. * Particularly in styled mode, this can be used to give each series' or
  75990. * point's data label unique styling. In addition to this option, a default
  75991. * color class name is added so that we can give the labels a contrast text
  75992. * shadow.
  75993. */
  75994. className?: string;
  75995. /**
  75996. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  75997. * labels. Defaults to `undefined`. For certain series types, like column or
  75998. * map, the data labels can be drawn inside the points. In this case the
  75999. * data label will be drawn with maximum contrast by default. Additionally,
  76000. * it will be given a `text-outline` style with the opposite color, to
  76001. * further increase the contrast. This can be overridden by setting the
  76002. * `text-outline` style to `none` in the `dataLabels.style` option.
  76003. */
  76004. color?: (ColorString|GradientColorObject|PatternObject);
  76005. /**
  76006. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  76007. * are outside the plot area. By default, the data label is moved inside the
  76008. * plot area according to the overflow option.
  76009. */
  76010. crop?: boolean;
  76011. /**
  76012. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  76013. * labels until the initial series animation has finished. Setting to
  76014. * `false` renders the data label immediately. If set to `true` inherits the
  76015. * defer time set in plotOptions.series.animation. If set to a number, a
  76016. * defer time is specified in milliseconds.
  76017. */
  76018. defer?: (boolean|number);
  76019. /**
  76020. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  76021. * labels.
  76022. */
  76023. enabled?: boolean;
  76024. /**
  76025. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  76026. * of which data labels to display. The declarative filter is designed for
  76027. * use when callback functions are not available, like when the chart
  76028. * options require a pure JSON structure or for use with graphical editors.
  76029. * For programmatic control, use the `formatter` instead, and return
  76030. * `undefined` to disable a single data label.
  76031. */
  76032. filter?: DataLabelsFilterOptionsObject;
  76033. /**
  76034. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  76035. * label. Available variables are the same as for `formatter`.
  76036. */
  76037. format?: string;
  76038. /**
  76039. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  76040. * format the data label. Note that if a `format` is defined, the format
  76041. * takes precedence and the formatter is ignored.
  76042. */
  76043. formatter?: DataLabelsFormatterCallbackFunction;
  76044. /**
  76045. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  76046. * columns or map areas, whether to align the data label inside the box or
  76047. * to the actual value point. Defaults to `false` in most cases, `true` in
  76048. * stacked columns.
  76049. */
  76050. inside?: boolean;
  76051. /**
  76052. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  76053. * of null. Works analogously to format. `nullFormat` can be applied only to
  76054. * series which support displaying null points.
  76055. */
  76056. nullFormat?: (boolean|string);
  76057. /**
  76058. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  76059. * that defines formatting for points with the value of null. Works
  76060. * analogously to formatter. `nullPointFormatter` can be applied only to
  76061. * series which support displaying null points.
  76062. */
  76063. nullFormatter?: DataLabelsFormatterCallbackFunction;
  76064. /**
  76065. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  76066. * flow outside the plot area. The default is `"justify"`, which aligns them
  76067. * inside the plot area. For columns and bars, this means it will be moved
  76068. * inside the bar. To display data labels outside the plot area, set `crop`
  76069. * to `false` and `overflow` to `"allow"`.
  76070. */
  76071. overflow?: DataLabelsOverflowValue;
  76072. /**
  76073. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  76074. * the `backgroundColor` is set, this is the padding within the box.
  76075. */
  76076. padding?: number;
  76077. /**
  76078. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  76079. * points. If `center` alignment is not possible, it defaults to `right`.
  76080. */
  76081. position?: AlignValue;
  76082. /**
  76083. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  76084. * that due to a more complex structure, backgrounds, borders and padding
  76085. * will be lost on a rotated data label.
  76086. */
  76087. rotation?: number;
  76088. /**
  76089. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  76090. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  76091. * an object configuration containing `color`, `offsetX`, `offsetY`,
  76092. * `opacity` and `width`.
  76093. */
  76094. shadow?: (boolean|ShadowOptionsObject);
  76095. /**
  76096. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  76097. * the border around the label. Symbols are predefined functions on the
  76098. * Renderer object.
  76099. */
  76100. shape?: string;
  76101. /**
  76102. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  76103. * default `color` setting is `"contrast"`, which is a pseudo color that
  76104. * Highcharts picks up and applies the maximum contrast to the underlying
  76105. * point item, for example the bar in a bar chart.
  76106. *
  76107. * The `textOutline` is a pseudo property that applies an outline of the
  76108. * given width with the given color, which by default is the maximum
  76109. * contrast to the text. So a bright text color will result in a black text
  76110. * outline for maximum readability on a mixed background. In some cases,
  76111. * especially with grayscale text, the text outline doesn't work well, in
  76112. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  76113. * is true, the `textOutline` will not be picked up. In this, case, the same
  76114. * effect can be acheived through the `text-shadow` CSS property.
  76115. *
  76116. * For some series types, where each point has an extent, like for example
  76117. * tree maps, the data label may overflow the point. There are two
  76118. * strategies for handling overflow. By default, the text will wrap to
  76119. * multiple lines. The other strategy is to set `style.textOverflow` to
  76120. * `ellipsis`, which will keep the text on one line plus it will break
  76121. * inside long words.
  76122. */
  76123. style?: CSSObject;
  76124. /**
  76125. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  76126. * should follow marker's shape. Border and background are disabled for a
  76127. * label that follows a path.
  76128. *
  76129. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  76130. * to true will disable this option.
  76131. */
  76132. textPath?: DataLabelsTextPathOptionsObject;
  76133. /**
  76134. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  76135. * the labels.
  76136. */
  76137. useHTML?: boolean;
  76138. /**
  76139. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  76140. * label. Can be one of `top`, `middle` or `bottom`. The default value
  76141. * depends on the data, for instance in a column chart, the label is above
  76142. * positive values and below negative values.
  76143. */
  76144. verticalAlign?: (VerticalAlignValue|null);
  76145. /**
  76146. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  76147. * label relative to the point in pixels.
  76148. */
  76149. x?: number;
  76150. /**
  76151. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  76152. * label relative to the point in pixels.
  76153. */
  76154. y?: number;
  76155. /**
  76156. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  76157. * The default Z index puts it above the series. Use a Z index of 2 to
  76158. * display it behind the series.
  76159. */
  76160. z?: number;
  76161. }
  76162. /**
  76163. * (Highcharts, Highstock) Options for the series data sorting.
  76164. */
  76165. export interface PlotPriceenvelopesDataSortingOptions {
  76166. /**
  76167. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  76168. * Use xAxis.reversed to change the sorting order.
  76169. */
  76170. enabled?: boolean;
  76171. /**
  76172. * (Highcharts, Highstock) Whether to allow matching points by name in an
  76173. * update. If this option is disabled, points will be matched by order.
  76174. */
  76175. matchByName?: boolean;
  76176. /**
  76177. * (Highcharts, Highstock) Determines what data value should be used to sort
  76178. * by.
  76179. */
  76180. sortKey?: string;
  76181. }
  76182. /**
  76183. * (Highstock) Price envelopes indicator based on SMA calculations. This series
  76184. * requires the `linkedTo` option to be set and should be loaded after the
  76185. * `stock/indicators/indicators.js` file.
  76186. *
  76187. * In TypeScript the type option must always be set.
  76188. *
  76189. * Configuration options for the series are given in three levels:
  76190. *
  76191. * 1. Options for all series in a chart are defined in the plotOptions.series
  76192. * object.
  76193. *
  76194. * 2. Options for all `priceenvelopes` series are defined in
  76195. * plotOptions.priceenvelopes.
  76196. *
  76197. * 3. Options for one single series are given in the series instance array. (see
  76198. * online documentation for example)
  76199. */
  76200. export interface PlotPriceenvelopesOptions {
  76201. /**
  76202. * (Highstock) Accessibility options for a series.
  76203. */
  76204. accessibility?: SeriesAccessibilityOptionsObject;
  76205. /**
  76206. * (Highstock) Allow this series' points to be selected by clicking on the
  76207. * graphic (columns, point markers, pie slices, map areas etc).
  76208. *
  76209. * The selected points can be handled by point select and unselect events,
  76210. * or collectively by the getSelectedPoints function.
  76211. *
  76212. * And alternative way of selecting points is through dragging.
  76213. */
  76214. allowPointSelect?: boolean;
  76215. /**
  76216. * (Highstock) Enable or disable the initial animation when a series is
  76217. * displayed. The animation can also be set as a configuration object.
  76218. * Please note that this option only applies to the initial animation of the
  76219. * series itself. For other animations, see chart.animation and the
  76220. * animation parameter under the API methods. The following properties are
  76221. * supported:
  76222. *
  76223. * - `defer`: The animation delay time in milliseconds.
  76224. *
  76225. * - `duration`: The duration of the animation in milliseconds.
  76226. *
  76227. * - `easing`: Can be a string reference to an easing function set on the
  76228. * `Math` object or a function. See the _Custom easing function_ demo below.
  76229. *
  76230. * Due to poor performance, animation is disabled in old IE browsers for
  76231. * several chart types.
  76232. */
  76233. animation?: (boolean|PlotPriceenvelopesAnimationOptions|Partial<AnimationOptionsObject>);
  76234. /**
  76235. * (Highstock) For some series, there is a limit that shuts down initial
  76236. * animation by default when the total number of points in the chart is too
  76237. * high. For example, for a column chart and its derivatives, animation does
  76238. * not run if there is more than 250 points totally. To disable this cap,
  76239. * set `animationLimit` to `Infinity`.
  76240. */
  76241. animationLimit?: number;
  76242. /**
  76243. * (Highstock) Sets the color blending in the boost module.
  76244. */
  76245. boostBlending?: OptionsBoostBlendingValue;
  76246. /**
  76247. * (Highstock) Set the point threshold for when a series should enter boost
  76248. * mode.
  76249. *
  76250. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  76251. * there are 2000 or more points in the series.
  76252. *
  76253. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  76254. * it to 1 will force boosting.
  76255. *
  76256. * Note that the cropThreshold also affects this setting. When zooming in on
  76257. * a series that has fewer points than the `cropThreshold`, all points are
  76258. * rendered although outside the visible plot area, and the `boostThreshold`
  76259. * won't take effect.
  76260. */
  76261. boostThreshold?: number;
  76262. /**
  76263. * (Highmaps) The border color of the map areas.
  76264. *
  76265. * In styled mode, the border stroke is given in the `.highcharts-point`
  76266. * class.
  76267. */
  76268. borderColor?: (ColorString|GradientColorObject|PatternObject);
  76269. /**
  76270. * (Highmaps) The border width of each map area.
  76271. *
  76272. * In styled mode, the border stroke width is given in the
  76273. * `.highcharts-point` class.
  76274. */
  76275. borderWidth?: number;
  76276. /**
  76277. * (Highstock) Bottom line options.
  76278. */
  76279. bottomLine?: PlotPriceenvelopesBottomLineOptions;
  76280. /**
  76281. * (Highstock) An additional class name to apply to the series' graphical
  76282. * elements. This option does not replace default class names of the
  76283. * graphical element.
  76284. */
  76285. className?: string;
  76286. /**
  76287. * (Highstock) Disable this option to allow series rendering in the whole
  76288. * plotting area.
  76289. *
  76290. * **Note:** Clipping should be always enabled when chart.zoomType is set
  76291. */
  76292. clip?: boolean;
  76293. /**
  76294. * (Highstock) The main color of the series. In line type series it applies
  76295. * to the line and the point markers unless otherwise specified. In bar type
  76296. * series it applies to the bars unless a color is specified per point. The
  76297. * default value is pulled from the `options.colors` array.
  76298. *
  76299. * In styled mode, the color can be defined by the colorIndex option. Also,
  76300. * the series color can be set with the `.highcharts-series`,
  76301. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  76302. * `.highcharts-series-{n}` class, or individual classes given by the
  76303. * `className` option.
  76304. */
  76305. color?: (ColorString|GradientColorObject|PatternObject);
  76306. /**
  76307. * (Highstock) Styled mode only. A specific color index to use for the
  76308. * series, so its graphic representations are given the class name
  76309. * `highcharts-color-{n}`.
  76310. */
  76311. colorIndex?: number;
  76312. /**
  76313. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  76314. * used to calculate point color if `colorAxis` is used. Requires to set
  76315. * `min` and `max` if some custom point property is used or if approximation
  76316. * for data grouping is set to `'sum'`.
  76317. */
  76318. colorKey?: string;
  76319. /**
  76320. * (Highstock) Compare the values of the series against the first non-null,
  76321. * non- zero value in the visible range. The y axis will show percentage or
  76322. * absolute change depending on whether `compare` is set to `"percent"` or
  76323. * `"value"`. When this is applied to multiple series, it allows comparing
  76324. * the development of the series against each other. Adds a `change` field
  76325. * to every point object.
  76326. */
  76327. compare?: string;
  76328. /**
  76329. * (Highstock) When compare is `percent`, this option dictates whether to
  76330. * use 0 or 100 as the base of comparison.
  76331. */
  76332. compareBase?: (0|100);
  76333. /**
  76334. * (Highstock) Defines if comparison should start from the first point
  76335. * within the visible range or should start from the first point **before**
  76336. * the range.
  76337. *
  76338. * In other words, this flag determines if first point within the visible
  76339. * range will have 0% (`compareStart=true`) or should have been already
  76340. * calculated according to the previous point (`compareStart=false`).
  76341. */
  76342. compareStart?: boolean;
  76343. /**
  76344. * (Highstock) Whether to compare indicator to the main series values or
  76345. * indicator values.
  76346. */
  76347. compareToMain?: boolean;
  76348. /**
  76349. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  76350. * series plot across the extremes.
  76351. */
  76352. connectEnds?: boolean;
  76353. /**
  76354. * (Highcharts, Highstock) Whether to connect a graph line across null
  76355. * points, or render a gap between the two points on either side of the
  76356. * null.
  76357. */
  76358. connectNulls?: boolean;
  76359. /**
  76360. * (Gantt) Override Pathfinder connector options for a series. Requires
  76361. * Highcharts Gantt to be loaded.
  76362. */
  76363. connectors?: SeriesConnectorsOptionsObject;
  76364. /**
  76365. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  76366. * rounded to its nearest pixel in order to render sharp on screen. In some
  76367. * cases, when there are a lot of densely packed columns, this leads to
  76368. * visible difference in column widths or distance between columns. In these
  76369. * cases, setting `crisp` to `false` may look better, even though each
  76370. * column is rendered blurry.
  76371. */
  76372. crisp?: boolean;
  76373. /**
  76374. * (Highcharts, Highstock) When the series contains less points than the
  76375. * crop threshold, all points are drawn, even if the points fall outside the
  76376. * visible plot area at the current zoom. The advantage of drawing all
  76377. * points (including markers and columns), is that animation is performed on
  76378. * updates. On the other hand, when the series contains more points than the
  76379. * crop threshold, the series data is cropped to only contain points that
  76380. * fall within the plot area. The advantage of cropping away invisible
  76381. * points is to increase performance on large series.
  76382. */
  76383. cropThreshold?: number;
  76384. /**
  76385. * (Highstock) You can set the cursor to "pointer" if you have click events
  76386. * attached to the series, to signal to the user that the points and lines
  76387. * can be clicked.
  76388. *
  76389. * In styled mode, the series cursor can be set with the same classes as
  76390. * listed under series.color.
  76391. */
  76392. cursor?: (string|CursorValue);
  76393. /**
  76394. * (Highstock) A reserved subspace to store options and values for
  76395. * customized functionality. Here you can add additional data for your own
  76396. * event callbacks and formatter callbacks.
  76397. */
  76398. custom?: Dictionary<any>;
  76399. /**
  76400. * (Highstock) Name of the dash style to use for the graph, or for some
  76401. * series types the outline of each shape.
  76402. *
  76403. * In styled mode, the stroke dash-array can be set with the same classes as
  76404. * listed under series.color.
  76405. */
  76406. dashStyle?: DashStyleValue;
  76407. /**
  76408. * (Highstock) Data grouping is the concept of sampling the data values into
  76409. * larger blocks in order to ease readability and increase performance of
  76410. * the JavaScript charts. Highcharts Stock by default applies data grouping
  76411. * when the points become closer than a certain pixel value, determined by
  76412. * the `groupPixelWidth` option.
  76413. *
  76414. * If data grouping is applied, the grouping information of grouped points
  76415. * can be read from the Point.dataGroup. If point options other than the
  76416. * data itself are set, for example `name` or `color` or custom properties,
  76417. * the grouping logic doesn't know how to group it. In this case the options
  76418. * of the first point instance are copied over to the group point. This can
  76419. * be altered through a custom `approximation` callback function.
  76420. */
  76421. dataGrouping?: DataGroupingOptionsObject;
  76422. /**
  76423. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  76424. * labels, appearing next to each data point.
  76425. *
  76426. * Since v6.2.0, multiple data labels can be applied to each single point by
  76427. * defining them as an array of configs.
  76428. *
  76429. * In styled mode, the data labels can be styled with the
  76430. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  76431. * (see example).
  76432. */
  76433. dataLabels?: (PlotPriceenvelopesDataLabelsOptions|Array<PlotPriceenvelopesDataLabelsOptions>);
  76434. /**
  76435. * (Highcharts, Highstock) Options for the series data sorting.
  76436. */
  76437. dataSorting?: (DataSortingOptionsObject|PlotPriceenvelopesDataSortingOptions);
  76438. /**
  76439. * (Highstock) A description of the series to add to the screen reader
  76440. * information about the series.
  76441. */
  76442. description?: string;
  76443. /**
  76444. * (Highstock) Enable or disable the mouse tracking for a specific series.
  76445. * This includes point tooltips and click events on graphs and points. For
  76446. * large datasets it improves performance.
  76447. */
  76448. enableMouseTracking?: boolean;
  76449. /**
  76450. * (Highstock) General event handlers for the series items. These event
  76451. * hooks can also be attached to the series at run time using the
  76452. * `Highcharts.addEvent` function.
  76453. */
  76454. events?: SeriesEventsOptionsObject;
  76455. /**
  76456. * (Highstock) Determines whether the series should look for the nearest
  76457. * point in both dimensions or just the x-dimension when hovering the
  76458. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  76459. * series. If the data has duplicate x-values, it is recommended to set this
  76460. * to `'xy'` to allow hovering over all points.
  76461. *
  76462. * Applies only to series types using nearest neighbor search (not direct
  76463. * hover) for tooltip.
  76464. */
  76465. findNearestPointBy?: OptionsFindNearestPointByValue;
  76466. /**
  76467. * (Highstock) Defines when to display a gap in the graph, together with the
  76468. * gapUnit option.
  76469. *
  76470. * In case when `dataGrouping` is enabled, points can be grouped into a
  76471. * larger time span. This can make the grouped points to have a greater
  76472. * distance than the absolute value of `gapSize` property, which will result
  76473. * in disappearing graph completely. To prevent this situation the mentioned
  76474. * distance between grouped points is used instead of previously defined
  76475. * `gapSize`.
  76476. *
  76477. * In practice, this option is most often used to visualize gaps in time
  76478. * series. In a stock chart, intraday data is available for daytime hours,
  76479. * while gaps will appear in nights and weekends.
  76480. */
  76481. gapSize?: number;
  76482. /**
  76483. * (Highstock) Together with gapSize, this option defines where to draw gaps
  76484. * in the graph.
  76485. *
  76486. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  76487. * if the distance between two points is greater than 5 times that of the
  76488. * two closest points, the graph will be broken.
  76489. *
  76490. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  76491. * values, which on a datetime axis is milliseconds. This also applies to
  76492. * the navigator series that inherits gap options from the base series.
  76493. */
  76494. gapUnit?: OptionsGapUnitValue;
  76495. /**
  76496. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  76497. * chart width or only the zoomed area when zooming in on parts of the X
  76498. * axis. By default, the Y axis adjusts to the min and max of the visible
  76499. * data. Cartesian series only.
  76500. */
  76501. getExtremesFromAll?: boolean;
  76502. /**
  76503. * (Highstock) When set to `false` will prevent the series data from being
  76504. * included in any form of data export.
  76505. *
  76506. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  76507. * `includeInCSVExport`.
  76508. */
  76509. includeInDataExport?: boolean;
  76510. /**
  76511. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  76512. * series as possible in a natural way, seeking to avoid other series. The
  76513. * goal of this feature is to make the chart more easily readable, like if a
  76514. * human designer placed the labels in the optimal position.
  76515. *
  76516. * The series labels currently work with series types having a `graph` or an
  76517. * `area`.
  76518. */
  76519. label?: SeriesLabelOptionsObject;
  76520. /**
  76521. * (Highstock) The line marks the last price from all points.
  76522. */
  76523. lastPrice?: SeriesLastPriceOptionsObject;
  76524. /**
  76525. * (Highstock) The line marks the last price from visible range of points.
  76526. */
  76527. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  76528. /**
  76529. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  76530. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  76531. * the ends and bends.
  76532. */
  76533. linecap?: SeriesLinecapValue;
  76534. /**
  76535. * (Highcharts, Highstock) Pixel width of the graph line.
  76536. */
  76537. lineWidth?: number;
  76538. /**
  76539. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  76540. * based on. Required for this indicator.
  76541. */
  76542. linkedTo?: string;
  76543. /**
  76544. * (Highstock) Options for the point markers of line-like series. Properties
  76545. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  76546. * appearance of the markers. Other series types, like column series, don't
  76547. * have markers, but have visual options on the series level instead.
  76548. *
  76549. * In styled mode, the markers can be styled with the `.highcharts-point`,
  76550. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  76551. */
  76552. marker?: PointMarkerOptionsObject;
  76553. /**
  76554. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  76555. * If not set, it will be based on a technical indicator type and default
  76556. * params.
  76557. */
  76558. name?: string;
  76559. /**
  76560. * (Highstock) The color for the parts of the graph or points that are below
  76561. * the threshold. Note that `zones` takes precedence over the negative
  76562. * color. Using `negativeColor` is equivalent to applying a zone with value
  76563. * of 0.
  76564. */
  76565. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  76566. /**
  76567. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  76568. * dataLabels.
  76569. */
  76570. opacity?: number;
  76571. /**
  76572. * (Highstock) Paramters used in calculation of regression series' points.
  76573. */
  76574. params?: PlotPriceenvelopesParamsOptions;
  76575. /**
  76576. * (Highstock) Properties for each single point.
  76577. */
  76578. point?: PlotSeriesPointOptions;
  76579. /**
  76580. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  76581. * individual series. Overrides the chart wide configuration.
  76582. */
  76583. pointDescriptionFormatter?: Function;
  76584. /**
  76585. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  76586. * true, the checkbox next to the series name in the legend will be checked
  76587. * for a selected series.
  76588. */
  76589. selected?: boolean;
  76590. /**
  76591. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  76592. * the shadow can be an object configuration containing `color`, `offsetX`,
  76593. * `offsetY`, `opacity` and `width`.
  76594. */
  76595. shadow?: (boolean|ShadowOptionsObject);
  76596. /**
  76597. * (Highstock) If true, a checkbox is displayed next to the legend item to
  76598. * allow selecting the series. The state of the checkbox is determined by
  76599. * the `selected` option.
  76600. */
  76601. showCheckbox?: boolean;
  76602. /**
  76603. * (Highstock) Whether to display this particular series or series type in
  76604. * the legend. Standalone series are shown in legend by default, and linked
  76605. * series are not. Since v7.2.0 it is possible to show series that use
  76606. * colorAxis by setting this option to `true`.
  76607. */
  76608. showInLegend?: boolean;
  76609. /**
  76610. * (Highstock) If set to `true`, the accessibility module will skip past the
  76611. * points in this series for keyboard navigation.
  76612. */
  76613. skipKeyboardNavigation?: boolean;
  76614. /**
  76615. * (Highcharts, Highstock) When this is true, the series will not cause the
  76616. * Y axis to cross the zero plane (or threshold option) unless the data
  76617. * actually crosses the plane.
  76618. *
  76619. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  76620. * make the Y axis show negative values according to the `minPadding`
  76621. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  76622. */
  76623. softThreshold?: boolean;
  76624. states?: SeriesStatesOptionsObject;
  76625. /**
  76626. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  76627. * values are `left`, `center` and `right`.
  76628. */
  76629. step?: OptionsStepValue;
  76630. /**
  76631. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  76632. * event on a series isn't triggered until the mouse moves over another
  76633. * series, or out of the plot area. When false, the `mouseOut` event on a
  76634. * series is triggered when the mouse leaves the area around the series'
  76635. * graph or markers. This also implies the tooltip when not shared. When
  76636. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  76637. * be hidden when moving the mouse between series. Defaults to true for line
  76638. * and area type series, but to false for columns, pies etc.
  76639. *
  76640. * **Note:** The boost module will force this option because of technical
  76641. * limitations.
  76642. */
  76643. stickyTracking?: boolean;
  76644. /**
  76645. * (Highcharts, Highstock) The threshold, also called zero level or base
  76646. * level. For line type series this is only used in conjunction with
  76647. * negativeColor.
  76648. */
  76649. threshold?: (number|null);
  76650. /**
  76651. * (Highstock) A configuration object for the tooltip rendering of each
  76652. * single series. Properties are inherited from tooltip, but only the
  76653. * following properties can be defined on a series level.
  76654. */
  76655. tooltip?: SeriesTooltipOptionsObject;
  76656. /**
  76657. * (Highstock) Top line options.
  76658. */
  76659. topLine?: PlotPriceenvelopesTopLineOptions;
  76660. /**
  76661. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  76662. * is longer than this, only one dimensional arrays of numbers, or two
  76663. * dimensional arrays with x and y values are allowed. Also, only the first
  76664. * point is tested, and the rest are assumed to be the same format. This
  76665. * saves expensive data checking and indexing in long series. Set it to `0`
  76666. * disable.
  76667. *
  76668. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  76669. * two dimensional arrays are allowed.
  76670. */
  76671. turboThreshold?: number;
  76672. /**
  76673. * (Highstock) Set the initial visibility of the series.
  76674. */
  76675. visible?: boolean;
  76676. /**
  76677. * (Highmaps) Define the z index of the series.
  76678. */
  76679. zIndex?: number;
  76680. /**
  76681. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  76682. */
  76683. zoneAxis?: string;
  76684. /**
  76685. * (Highcharts, Highstock) An array defining zones within a series. Zones
  76686. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  76687. * the `zoneAxis` option. The zone definitions have to be in ascending order
  76688. * regarding to the value.
  76689. *
  76690. * In styled mode, the color zones are styled with the
  76691. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  76692. * option (view live demo).
  76693. */
  76694. zones?: Array<SeriesZonesOptionsObject>;
  76695. }
  76696. /**
  76697. * (Highstock) Paramters used in calculation of regression series' points.
  76698. */
  76699. export interface PlotPriceenvelopesParamsOptions {
  76700. /**
  76701. * (Highstock) Percentage below the moving average that should be displayed.
  76702. * 0.1 means 90%. Relative to the calculated value.
  76703. */
  76704. bottomBand?: number;
  76705. /**
  76706. * (Highstock) The point index which indicator calculations will base. For
  76707. * example using OHLC data, index=2 means the indicator will be calculated
  76708. * using Low values.
  76709. */
  76710. index?: number;
  76711. /**
  76712. * (Highstock) The base period for indicator calculations. This is the
  76713. * number of data points which are taken into account for the indicator
  76714. * calculations.
  76715. */
  76716. period?: number;
  76717. /**
  76718. * (Highstock) Percentage above the moving average that should be displayed.
  76719. * 0.1 means 110%. Relative to the calculated value.
  76720. */
  76721. topBand?: number;
  76722. }
  76723. /**
  76724. * (Highstock) Top line options.
  76725. */
  76726. export interface PlotPriceenvelopesTopLineOptions {
  76727. styles?: PlotPriceenvelopesTopLineStylesOptions;
  76728. }
  76729. export interface PlotPriceenvelopesTopLineStylesOptions {
  76730. /**
  76731. * (Highstock) Color of the line. If not set, it's inherited from
  76732. * plotOptions.priceenvelopes.color.
  76733. */
  76734. lineColor?: ColorString;
  76735. /**
  76736. * (Highstock) Pixel width of the line.
  76737. */
  76738. lineWidth?: number;
  76739. }
  76740. /**
  76741. * (Highstock) Enable or disable the initial animation when a series is
  76742. * displayed. The animation can also be set as a configuration object. Please
  76743. * note that this option only applies to the initial animation of the series
  76744. * itself. For other animations, see chart.animation and the animation parameter
  76745. * under the API methods. The following properties are supported:
  76746. *
  76747. * - `defer`: The animation delay time in milliseconds.
  76748. *
  76749. * - `duration`: The duration of the animation in milliseconds.
  76750. *
  76751. * - `easing`: Can be a string reference to an easing function set on the `Math`
  76752. * object or a function. See the _Custom easing function_ demo below.
  76753. *
  76754. * Due to poor performance, animation is disabled in old IE browsers for several
  76755. * chart types.
  76756. */
  76757. export interface PlotPsarAnimationOptions {
  76758. defer?: number;
  76759. }
  76760. /**
  76761. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  76762. * animation when a series is displayed for the `dataLabels`. The animation can
  76763. * also be set as a configuration object. Please note that this option only
  76764. * applies to the initial animation. For other animations, see chart.animation
  76765. * and the animation parameter under the API methods. The following properties
  76766. * are supported:
  76767. *
  76768. * - `defer`: The animation delay time in milliseconds.
  76769. */
  76770. export interface PlotPsarDataLabelsAnimationOptions {
  76771. /**
  76772. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  76773. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  76774. * inherits defer time from the series.animation.defer.
  76775. */
  76776. defer?: number;
  76777. }
  76778. /**
  76779. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  76780. * appearing next to each data point.
  76781. *
  76782. * Since v6.2.0, multiple data labels can be applied to each single point by
  76783. * defining them as an array of configs.
  76784. *
  76785. * In styled mode, the data labels can be styled with the
  76786. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  76787. * example).
  76788. */
  76789. export interface PlotPsarDataLabelsOptions {
  76790. /**
  76791. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  76792. * compared to the point. If `right`, the right side of the label should be
  76793. * touching the point. For points with an extent, like columns, the
  76794. * alignments also dictates how to align it inside the box, as given with
  76795. * the inside option. Can be one of `left`, `center` or `right`.
  76796. */
  76797. align?: (AlignValue|null);
  76798. /**
  76799. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  76800. * overlap. To make the labels less sensitive for overlapping, the
  76801. * dataLabels.padding can be set to 0.
  76802. */
  76803. allowOverlap?: boolean;
  76804. /**
  76805. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  76806. * animation when a series is displayed for the `dataLabels`. The animation
  76807. * can also be set as a configuration object. Please note that this option
  76808. * only applies to the initial animation. For other animations, see
  76809. * chart.animation and the animation parameter under the API methods. The
  76810. * following properties are supported:
  76811. *
  76812. * - `defer`: The animation delay time in milliseconds.
  76813. */
  76814. animation?: (boolean|PlotPsarDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  76815. /**
  76816. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  76817. * for the data label.
  76818. */
  76819. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  76820. /**
  76821. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  76822. * label. Defaults to `undefined`.
  76823. */
  76824. borderColor?: (ColorString|GradientColorObject|PatternObject);
  76825. /**
  76826. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  76827. * the data label.
  76828. */
  76829. borderRadius?: number;
  76830. /**
  76831. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  76832. * the data label.
  76833. */
  76834. borderWidth?: number;
  76835. /**
  76836. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  76837. * Particularly in styled mode, this can be used to give each series' or
  76838. * point's data label unique styling. In addition to this option, a default
  76839. * color class name is added so that we can give the labels a contrast text
  76840. * shadow.
  76841. */
  76842. className?: string;
  76843. /**
  76844. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  76845. * labels. Defaults to `undefined`. For certain series types, like column or
  76846. * map, the data labels can be drawn inside the points. In this case the
  76847. * data label will be drawn with maximum contrast by default. Additionally,
  76848. * it will be given a `text-outline` style with the opposite color, to
  76849. * further increase the contrast. This can be overridden by setting the
  76850. * `text-outline` style to `none` in the `dataLabels.style` option.
  76851. */
  76852. color?: (ColorString|GradientColorObject|PatternObject);
  76853. /**
  76854. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  76855. * are outside the plot area. By default, the data label is moved inside the
  76856. * plot area according to the overflow option.
  76857. */
  76858. crop?: boolean;
  76859. /**
  76860. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  76861. * labels until the initial series animation has finished. Setting to
  76862. * `false` renders the data label immediately. If set to `true` inherits the
  76863. * defer time set in plotOptions.series.animation. If set to a number, a
  76864. * defer time is specified in milliseconds.
  76865. */
  76866. defer?: (boolean|number);
  76867. /**
  76868. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  76869. * labels.
  76870. */
  76871. enabled?: boolean;
  76872. /**
  76873. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  76874. * of which data labels to display. The declarative filter is designed for
  76875. * use when callback functions are not available, like when the chart
  76876. * options require a pure JSON structure or for use with graphical editors.
  76877. * For programmatic control, use the `formatter` instead, and return
  76878. * `undefined` to disable a single data label.
  76879. */
  76880. filter?: DataLabelsFilterOptionsObject;
  76881. /**
  76882. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  76883. * label. Available variables are the same as for `formatter`.
  76884. */
  76885. format?: string;
  76886. /**
  76887. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  76888. * format the data label. Note that if a `format` is defined, the format
  76889. * takes precedence and the formatter is ignored.
  76890. */
  76891. formatter?: DataLabelsFormatterCallbackFunction;
  76892. /**
  76893. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  76894. * columns or map areas, whether to align the data label inside the box or
  76895. * to the actual value point. Defaults to `false` in most cases, `true` in
  76896. * stacked columns.
  76897. */
  76898. inside?: boolean;
  76899. /**
  76900. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  76901. * of null. Works analogously to format. `nullFormat` can be applied only to
  76902. * series which support displaying null points.
  76903. */
  76904. nullFormat?: (boolean|string);
  76905. /**
  76906. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  76907. * that defines formatting for points with the value of null. Works
  76908. * analogously to formatter. `nullPointFormatter` can be applied only to
  76909. * series which support displaying null points.
  76910. */
  76911. nullFormatter?: DataLabelsFormatterCallbackFunction;
  76912. /**
  76913. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  76914. * flow outside the plot area. The default is `"justify"`, which aligns them
  76915. * inside the plot area. For columns and bars, this means it will be moved
  76916. * inside the bar. To display data labels outside the plot area, set `crop`
  76917. * to `false` and `overflow` to `"allow"`.
  76918. */
  76919. overflow?: DataLabelsOverflowValue;
  76920. /**
  76921. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  76922. * the `backgroundColor` is set, this is the padding within the box.
  76923. */
  76924. padding?: number;
  76925. /**
  76926. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  76927. * points. If `center` alignment is not possible, it defaults to `right`.
  76928. */
  76929. position?: AlignValue;
  76930. /**
  76931. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  76932. * that due to a more complex structure, backgrounds, borders and padding
  76933. * will be lost on a rotated data label.
  76934. */
  76935. rotation?: number;
  76936. /**
  76937. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  76938. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  76939. * an object configuration containing `color`, `offsetX`, `offsetY`,
  76940. * `opacity` and `width`.
  76941. */
  76942. shadow?: (boolean|ShadowOptionsObject);
  76943. /**
  76944. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  76945. * the border around the label. Symbols are predefined functions on the
  76946. * Renderer object.
  76947. */
  76948. shape?: string;
  76949. /**
  76950. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  76951. * default `color` setting is `"contrast"`, which is a pseudo color that
  76952. * Highcharts picks up and applies the maximum contrast to the underlying
  76953. * point item, for example the bar in a bar chart.
  76954. *
  76955. * The `textOutline` is a pseudo property that applies an outline of the
  76956. * given width with the given color, which by default is the maximum
  76957. * contrast to the text. So a bright text color will result in a black text
  76958. * outline for maximum readability on a mixed background. In some cases,
  76959. * especially with grayscale text, the text outline doesn't work well, in
  76960. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  76961. * is true, the `textOutline` will not be picked up. In this, case, the same
  76962. * effect can be acheived through the `text-shadow` CSS property.
  76963. *
  76964. * For some series types, where each point has an extent, like for example
  76965. * tree maps, the data label may overflow the point. There are two
  76966. * strategies for handling overflow. By default, the text will wrap to
  76967. * multiple lines. The other strategy is to set `style.textOverflow` to
  76968. * `ellipsis`, which will keep the text on one line plus it will break
  76969. * inside long words.
  76970. */
  76971. style?: CSSObject;
  76972. /**
  76973. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  76974. * should follow marker's shape. Border and background are disabled for a
  76975. * label that follows a path.
  76976. *
  76977. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  76978. * to true will disable this option.
  76979. */
  76980. textPath?: DataLabelsTextPathOptionsObject;
  76981. /**
  76982. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  76983. * the labels.
  76984. */
  76985. useHTML?: boolean;
  76986. /**
  76987. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  76988. * label. Can be one of `top`, `middle` or `bottom`. The default value
  76989. * depends on the data, for instance in a column chart, the label is above
  76990. * positive values and below negative values.
  76991. */
  76992. verticalAlign?: (VerticalAlignValue|null);
  76993. /**
  76994. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  76995. * label relative to the point in pixels.
  76996. */
  76997. x?: number;
  76998. /**
  76999. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  77000. * label relative to the point in pixels.
  77001. */
  77002. y?: number;
  77003. /**
  77004. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  77005. * The default Z index puts it above the series. Use a Z index of 2 to
  77006. * display it behind the series.
  77007. */
  77008. z?: number;
  77009. }
  77010. /**
  77011. * (Highcharts, Highstock) Options for the series data sorting.
  77012. */
  77013. export interface PlotPsarDataSortingOptions {
  77014. /**
  77015. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  77016. * Use xAxis.reversed to change the sorting order.
  77017. */
  77018. enabled?: boolean;
  77019. /**
  77020. * (Highcharts, Highstock) Whether to allow matching points by name in an
  77021. * update. If this option is disabled, points will be matched by order.
  77022. */
  77023. matchByName?: boolean;
  77024. /**
  77025. * (Highcharts, Highstock) Determines what data value should be used to sort
  77026. * by.
  77027. */
  77028. sortKey?: string;
  77029. }
  77030. /**
  77031. * (Highstock) Parabolic SAR. This series requires `linkedTo` option to be set
  77032. * and should be loaded after `stock/indicators/indicators.js` file.
  77033. *
  77034. * In TypeScript the type option must always be set.
  77035. *
  77036. * Configuration options for the series are given in three levels:
  77037. *
  77038. * 1. Options for all series in a chart are defined in the plotOptions.series
  77039. * object.
  77040. *
  77041. * 2. Options for all `psar` series are defined in plotOptions.psar.
  77042. *
  77043. * 3. Options for one single series are given in the series instance array. (see
  77044. * online documentation for example)
  77045. */
  77046. export interface PlotPsarOptions {
  77047. /**
  77048. * (Highstock) Accessibility options for a series.
  77049. */
  77050. accessibility?: SeriesAccessibilityOptionsObject;
  77051. /**
  77052. * (Highstock) Allow this series' points to be selected by clicking on the
  77053. * graphic (columns, point markers, pie slices, map areas etc).
  77054. *
  77055. * The selected points can be handled by point select and unselect events,
  77056. * or collectively by the getSelectedPoints function.
  77057. *
  77058. * And alternative way of selecting points is through dragging.
  77059. */
  77060. allowPointSelect?: boolean;
  77061. /**
  77062. * (Highstock) Enable or disable the initial animation when a series is
  77063. * displayed. The animation can also be set as a configuration object.
  77064. * Please note that this option only applies to the initial animation of the
  77065. * series itself. For other animations, see chart.animation and the
  77066. * animation parameter under the API methods. The following properties are
  77067. * supported:
  77068. *
  77069. * - `defer`: The animation delay time in milliseconds.
  77070. *
  77071. * - `duration`: The duration of the animation in milliseconds.
  77072. *
  77073. * - `easing`: Can be a string reference to an easing function set on the
  77074. * `Math` object or a function. See the _Custom easing function_ demo below.
  77075. *
  77076. * Due to poor performance, animation is disabled in old IE browsers for
  77077. * several chart types.
  77078. */
  77079. animation?: (boolean|PlotPsarAnimationOptions|Partial<AnimationOptionsObject>);
  77080. /**
  77081. * (Highstock) For some series, there is a limit that shuts down initial
  77082. * animation by default when the total number of points in the chart is too
  77083. * high. For example, for a column chart and its derivatives, animation does
  77084. * not run if there is more than 250 points totally. To disable this cap,
  77085. * set `animationLimit` to `Infinity`.
  77086. */
  77087. animationLimit?: number;
  77088. /**
  77089. * (Highstock) Sets the color blending in the boost module.
  77090. */
  77091. boostBlending?: OptionsBoostBlendingValue;
  77092. /**
  77093. * (Highstock) Set the point threshold for when a series should enter boost
  77094. * mode.
  77095. *
  77096. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  77097. * there are 2000 or more points in the series.
  77098. *
  77099. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  77100. * it to 1 will force boosting.
  77101. *
  77102. * Note that the cropThreshold also affects this setting. When zooming in on
  77103. * a series that has fewer points than the `cropThreshold`, all points are
  77104. * rendered although outside the visible plot area, and the `boostThreshold`
  77105. * won't take effect.
  77106. */
  77107. boostThreshold?: number;
  77108. /**
  77109. * (Highmaps) The border color of the map areas.
  77110. *
  77111. * In styled mode, the border stroke is given in the `.highcharts-point`
  77112. * class.
  77113. */
  77114. borderColor?: (ColorString|GradientColorObject|PatternObject);
  77115. /**
  77116. * (Highmaps) The border width of each map area.
  77117. *
  77118. * In styled mode, the border stroke width is given in the
  77119. * `.highcharts-point` class.
  77120. */
  77121. borderWidth?: number;
  77122. /**
  77123. * (Highstock) An additional class name to apply to the series' graphical
  77124. * elements. This option does not replace default class names of the
  77125. * graphical element.
  77126. */
  77127. className?: string;
  77128. /**
  77129. * (Highstock) Disable this option to allow series rendering in the whole
  77130. * plotting area.
  77131. *
  77132. * **Note:** Clipping should be always enabled when chart.zoomType is set
  77133. */
  77134. clip?: boolean;
  77135. /**
  77136. * (Highstock) The main color of the series. In line type series it applies
  77137. * to the line and the point markers unless otherwise specified. In bar type
  77138. * series it applies to the bars unless a color is specified per point. The
  77139. * default value is pulled from the `options.colors` array.
  77140. *
  77141. * In styled mode, the color can be defined by the colorIndex option. Also,
  77142. * the series color can be set with the `.highcharts-series`,
  77143. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  77144. * `.highcharts-series-{n}` class, or individual classes given by the
  77145. * `className` option.
  77146. */
  77147. color?: (ColorString|GradientColorObject|PatternObject);
  77148. /**
  77149. * (Highstock) Styled mode only. A specific color index to use for the
  77150. * series, so its graphic representations are given the class name
  77151. * `highcharts-color-{n}`.
  77152. */
  77153. colorIndex?: number;
  77154. /**
  77155. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  77156. * used to calculate point color if `colorAxis` is used. Requires to set
  77157. * `min` and `max` if some custom point property is used or if approximation
  77158. * for data grouping is set to `'sum'`.
  77159. */
  77160. colorKey?: string;
  77161. /**
  77162. * (Highstock) Compare the values of the series against the first non-null,
  77163. * non- zero value in the visible range. The y axis will show percentage or
  77164. * absolute change depending on whether `compare` is set to `"percent"` or
  77165. * `"value"`. When this is applied to multiple series, it allows comparing
  77166. * the development of the series against each other. Adds a `change` field
  77167. * to every point object.
  77168. */
  77169. compare?: string;
  77170. /**
  77171. * (Highstock) When compare is `percent`, this option dictates whether to
  77172. * use 0 or 100 as the base of comparison.
  77173. */
  77174. compareBase?: (0|100);
  77175. /**
  77176. * (Highstock) Defines if comparison should start from the first point
  77177. * within the visible range or should start from the first point **before**
  77178. * the range.
  77179. *
  77180. * In other words, this flag determines if first point within the visible
  77181. * range will have 0% (`compareStart=true`) or should have been already
  77182. * calculated according to the previous point (`compareStart=false`).
  77183. */
  77184. compareStart?: boolean;
  77185. /**
  77186. * (Highstock) Whether to compare indicator to the main series values or
  77187. * indicator values.
  77188. */
  77189. compareToMain?: boolean;
  77190. /**
  77191. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  77192. * series plot across the extremes.
  77193. */
  77194. connectEnds?: boolean;
  77195. /**
  77196. * (Highcharts, Highstock) Whether to connect a graph line across null
  77197. * points, or render a gap between the two points on either side of the
  77198. * null.
  77199. */
  77200. connectNulls?: boolean;
  77201. /**
  77202. * (Gantt) Override Pathfinder connector options for a series. Requires
  77203. * Highcharts Gantt to be loaded.
  77204. */
  77205. connectors?: SeriesConnectorsOptionsObject;
  77206. /**
  77207. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  77208. * rounded to its nearest pixel in order to render sharp on screen. In some
  77209. * cases, when there are a lot of densely packed columns, this leads to
  77210. * visible difference in column widths or distance between columns. In these
  77211. * cases, setting `crisp` to `false` may look better, even though each
  77212. * column is rendered blurry.
  77213. */
  77214. crisp?: boolean;
  77215. /**
  77216. * (Highcharts, Highstock) When the series contains less points than the
  77217. * crop threshold, all points are drawn, even if the points fall outside the
  77218. * visible plot area at the current zoom. The advantage of drawing all
  77219. * points (including markers and columns), is that animation is performed on
  77220. * updates. On the other hand, when the series contains more points than the
  77221. * crop threshold, the series data is cropped to only contain points that
  77222. * fall within the plot area. The advantage of cropping away invisible
  77223. * points is to increase performance on large series.
  77224. */
  77225. cropThreshold?: number;
  77226. /**
  77227. * (Highstock) You can set the cursor to "pointer" if you have click events
  77228. * attached to the series, to signal to the user that the points and lines
  77229. * can be clicked.
  77230. *
  77231. * In styled mode, the series cursor can be set with the same classes as
  77232. * listed under series.color.
  77233. */
  77234. cursor?: (string|CursorValue);
  77235. /**
  77236. * (Highstock) A reserved subspace to store options and values for
  77237. * customized functionality. Here you can add additional data for your own
  77238. * event callbacks and formatter callbacks.
  77239. */
  77240. custom?: Dictionary<any>;
  77241. /**
  77242. * (Highstock) Name of the dash style to use for the graph, or for some
  77243. * series types the outline of each shape.
  77244. *
  77245. * In styled mode, the stroke dash-array can be set with the same classes as
  77246. * listed under series.color.
  77247. */
  77248. dashStyle?: DashStyleValue;
  77249. /**
  77250. * (Highstock) Data grouping is the concept of sampling the data values into
  77251. * larger blocks in order to ease readability and increase performance of
  77252. * the JavaScript charts. Highcharts Stock by default applies data grouping
  77253. * when the points become closer than a certain pixel value, determined by
  77254. * the `groupPixelWidth` option.
  77255. *
  77256. * If data grouping is applied, the grouping information of grouped points
  77257. * can be read from the Point.dataGroup. If point options other than the
  77258. * data itself are set, for example `name` or `color` or custom properties,
  77259. * the grouping logic doesn't know how to group it. In this case the options
  77260. * of the first point instance are copied over to the group point. This can
  77261. * be altered through a custom `approximation` callback function.
  77262. */
  77263. dataGrouping?: DataGroupingOptionsObject;
  77264. /**
  77265. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  77266. * labels, appearing next to each data point.
  77267. *
  77268. * Since v6.2.0, multiple data labels can be applied to each single point by
  77269. * defining them as an array of configs.
  77270. *
  77271. * In styled mode, the data labels can be styled with the
  77272. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  77273. * (see example).
  77274. */
  77275. dataLabels?: (PlotPsarDataLabelsOptions|Array<PlotPsarDataLabelsOptions>);
  77276. /**
  77277. * (Highcharts, Highstock) Options for the series data sorting.
  77278. */
  77279. dataSorting?: (DataSortingOptionsObject|PlotPsarDataSortingOptions);
  77280. /**
  77281. * (Highstock) A description of the series to add to the screen reader
  77282. * information about the series.
  77283. */
  77284. description?: string;
  77285. /**
  77286. * (Highstock) Enable or disable the mouse tracking for a specific series.
  77287. * This includes point tooltips and click events on graphs and points. For
  77288. * large datasets it improves performance.
  77289. */
  77290. enableMouseTracking?: boolean;
  77291. /**
  77292. * (Highstock) General event handlers for the series items. These event
  77293. * hooks can also be attached to the series at run time using the
  77294. * `Highcharts.addEvent` function.
  77295. */
  77296. events?: SeriesEventsOptionsObject;
  77297. /**
  77298. * (Highstock) Determines whether the series should look for the nearest
  77299. * point in both dimensions or just the x-dimension when hovering the
  77300. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  77301. * series. If the data has duplicate x-values, it is recommended to set this
  77302. * to `'xy'` to allow hovering over all points.
  77303. *
  77304. * Applies only to series types using nearest neighbor search (not direct
  77305. * hover) for tooltip.
  77306. */
  77307. findNearestPointBy?: OptionsFindNearestPointByValue;
  77308. /**
  77309. * (Highstock) Defines when to display a gap in the graph, together with the
  77310. * gapUnit option.
  77311. *
  77312. * In case when `dataGrouping` is enabled, points can be grouped into a
  77313. * larger time span. This can make the grouped points to have a greater
  77314. * distance than the absolute value of `gapSize` property, which will result
  77315. * in disappearing graph completely. To prevent this situation the mentioned
  77316. * distance between grouped points is used instead of previously defined
  77317. * `gapSize`.
  77318. *
  77319. * In practice, this option is most often used to visualize gaps in time
  77320. * series. In a stock chart, intraday data is available for daytime hours,
  77321. * while gaps will appear in nights and weekends.
  77322. */
  77323. gapSize?: number;
  77324. /**
  77325. * (Highstock) Together with gapSize, this option defines where to draw gaps
  77326. * in the graph.
  77327. *
  77328. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  77329. * if the distance between two points is greater than 5 times that of the
  77330. * two closest points, the graph will be broken.
  77331. *
  77332. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  77333. * values, which on a datetime axis is milliseconds. This also applies to
  77334. * the navigator series that inherits gap options from the base series.
  77335. */
  77336. gapUnit?: OptionsGapUnitValue;
  77337. /**
  77338. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  77339. * chart width or only the zoomed area when zooming in on parts of the X
  77340. * axis. By default, the Y axis adjusts to the min and max of the visible
  77341. * data. Cartesian series only.
  77342. */
  77343. getExtremesFromAll?: boolean;
  77344. /**
  77345. * (Highstock) When set to `false` will prevent the series data from being
  77346. * included in any form of data export.
  77347. *
  77348. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  77349. * `includeInCSVExport`.
  77350. */
  77351. includeInDataExport?: boolean;
  77352. /**
  77353. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  77354. * series as possible in a natural way, seeking to avoid other series. The
  77355. * goal of this feature is to make the chart more easily readable, like if a
  77356. * human designer placed the labels in the optimal position.
  77357. *
  77358. * The series labels currently work with series types having a `graph` or an
  77359. * `area`.
  77360. */
  77361. label?: SeriesLabelOptionsObject;
  77362. /**
  77363. * (Highstock) The line marks the last price from all points.
  77364. */
  77365. lastPrice?: SeriesLastPriceOptionsObject;
  77366. /**
  77367. * (Highstock) The line marks the last price from visible range of points.
  77368. */
  77369. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  77370. /**
  77371. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  77372. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  77373. * the ends and bends.
  77374. */
  77375. linecap?: SeriesLinecapValue;
  77376. /**
  77377. * (Highcharts, Highstock) Pixel width of the graph line.
  77378. */
  77379. lineWidth?: number;
  77380. /**
  77381. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  77382. * based on. Required for this indicator.
  77383. */
  77384. linkedTo?: string;
  77385. /**
  77386. * (Highstock) Options for the point markers of line-like series. Properties
  77387. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  77388. * appearance of the markers. Other series types, like column series, don't
  77389. * have markers, but have visual options on the series level instead.
  77390. *
  77391. * In styled mode, the markers can be styled with the `.highcharts-point`,
  77392. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  77393. */
  77394. marker?: PointMarkerOptionsObject;
  77395. /**
  77396. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  77397. * If not set, it will be based on a technical indicator type and default
  77398. * params.
  77399. */
  77400. name?: string;
  77401. /**
  77402. * (Highstock) The color for the parts of the graph or points that are below
  77403. * the threshold. Note that `zones` takes precedence over the negative
  77404. * color. Using `negativeColor` is equivalent to applying a zone with value
  77405. * of 0.
  77406. */
  77407. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  77408. /**
  77409. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  77410. * dataLabels.
  77411. */
  77412. opacity?: number;
  77413. /**
  77414. * (Highstock) Paramters used in calculation of regression series' points.
  77415. */
  77416. params?: PlotPsarParamsOptions;
  77417. /**
  77418. * (Highstock) Properties for each single point.
  77419. */
  77420. point?: PlotSeriesPointOptions;
  77421. /**
  77422. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  77423. * individual series. Overrides the chart wide configuration.
  77424. */
  77425. pointDescriptionFormatter?: Function;
  77426. /**
  77427. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  77428. * true, the checkbox next to the series name in the legend will be checked
  77429. * for a selected series.
  77430. */
  77431. selected?: boolean;
  77432. /**
  77433. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  77434. * the shadow can be an object configuration containing `color`, `offsetX`,
  77435. * `offsetY`, `opacity` and `width`.
  77436. */
  77437. shadow?: (boolean|ShadowOptionsObject);
  77438. /**
  77439. * (Highstock) If true, a checkbox is displayed next to the legend item to
  77440. * allow selecting the series. The state of the checkbox is determined by
  77441. * the `selected` option.
  77442. */
  77443. showCheckbox?: boolean;
  77444. /**
  77445. * (Highstock) Whether to display this particular series or series type in
  77446. * the legend. Standalone series are shown in legend by default, and linked
  77447. * series are not. Since v7.2.0 it is possible to show series that use
  77448. * colorAxis by setting this option to `true`.
  77449. */
  77450. showInLegend?: boolean;
  77451. /**
  77452. * (Highstock) If set to `true`, the accessibility module will skip past the
  77453. * points in this series for keyboard navigation.
  77454. */
  77455. skipKeyboardNavigation?: boolean;
  77456. /**
  77457. * (Highcharts, Highstock) When this is true, the series will not cause the
  77458. * Y axis to cross the zero plane (or threshold option) unless the data
  77459. * actually crosses the plane.
  77460. *
  77461. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  77462. * make the Y axis show negative values according to the `minPadding`
  77463. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  77464. */
  77465. softThreshold?: boolean;
  77466. states?: SeriesStatesOptionsObject;
  77467. /**
  77468. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  77469. * values are `left`, `center` and `right`.
  77470. */
  77471. step?: OptionsStepValue;
  77472. /**
  77473. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  77474. * event on a series isn't triggered until the mouse moves over another
  77475. * series, or out of the plot area. When false, the `mouseOut` event on a
  77476. * series is triggered when the mouse leaves the area around the series'
  77477. * graph or markers. This also implies the tooltip when not shared. When
  77478. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  77479. * be hidden when moving the mouse between series. Defaults to true for line
  77480. * and area type series, but to false for columns, pies etc.
  77481. *
  77482. * **Note:** The boost module will force this option because of technical
  77483. * limitations.
  77484. */
  77485. stickyTracking?: boolean;
  77486. /**
  77487. * (Highcharts, Highstock) The threshold, also called zero level or base
  77488. * level. For line type series this is only used in conjunction with
  77489. * negativeColor.
  77490. */
  77491. threshold?: (number|null);
  77492. /**
  77493. * (Highstock) A configuration object for the tooltip rendering of each
  77494. * single series. Properties are inherited from tooltip, but only the
  77495. * following properties can be defined on a series level.
  77496. */
  77497. tooltip?: SeriesTooltipOptionsObject;
  77498. /**
  77499. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  77500. * is longer than this, only one dimensional arrays of numbers, or two
  77501. * dimensional arrays with x and y values are allowed. Also, only the first
  77502. * point is tested, and the rest are assumed to be the same format. This
  77503. * saves expensive data checking and indexing in long series. Set it to `0`
  77504. * disable.
  77505. *
  77506. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  77507. * two dimensional arrays are allowed.
  77508. */
  77509. turboThreshold?: number;
  77510. /**
  77511. * (Highstock) Set the initial visibility of the series.
  77512. */
  77513. visible?: boolean;
  77514. /**
  77515. * (Highmaps) Define the z index of the series.
  77516. */
  77517. zIndex?: number;
  77518. /**
  77519. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  77520. */
  77521. zoneAxis?: string;
  77522. /**
  77523. * (Highcharts, Highstock) An array defining zones within a series. Zones
  77524. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  77525. * the `zoneAxis` option. The zone definitions have to be in ascending order
  77526. * regarding to the value.
  77527. *
  77528. * In styled mode, the color zones are styled with the
  77529. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  77530. * option (view live demo).
  77531. */
  77532. zones?: Array<SeriesZonesOptionsObject>;
  77533. }
  77534. /**
  77535. * (Highstock) Paramters used in calculation of regression series' points.
  77536. */
  77537. export interface PlotPsarParamsOptions {
  77538. /**
  77539. * (Highstock) Number of maximum decimals that are used in PSAR
  77540. * calculations.
  77541. */
  77542. decimals?: number;
  77543. /**
  77544. * (Highstock) Acceleration factor increases by increment each time the
  77545. * extreme point makes a new high.
  77546. */
  77547. increment?: number;
  77548. /**
  77549. * (Highstock) Index from which PSAR is starting calculation
  77550. */
  77551. index?: number;
  77552. /**
  77553. * (Highstock) The initial value for acceleration factor. Acceleration
  77554. * factor is starting with this value and increases by specified increment
  77555. * each time the extreme point makes a new high. AF can reach a maximum of
  77556. * maxAccelerationFactor, no matter how long the uptrend extends.
  77557. */
  77558. initialAccelerationFactor?: number;
  77559. /**
  77560. * (Highstock) The Maximum value for acceleration factor. AF can reach a
  77561. * maximum of maxAccelerationFactor, no matter how long the uptrend extends.
  77562. */
  77563. maxAccelerationFactor?: number;
  77564. period?: string;
  77565. }
  77566. /**
  77567. * (Highcharts) Enable or disable the initial animation when a series is
  77568. * displayed. The animation can also be set as a configuration object. Please
  77569. * note that this option only applies to the initial animation of the series
  77570. * itself. For other animations, see chart.animation and the animation parameter
  77571. * under the API methods. The following properties are supported:
  77572. *
  77573. * - `defer`: The animation delay time in milliseconds.
  77574. *
  77575. * - `duration`: The duration of the animation in milliseconds.
  77576. *
  77577. * - `easing`: Can be a string reference to an easing function set on the `Math`
  77578. * object or a function. See the _Custom easing function_ demo below.
  77579. *
  77580. * Due to poor performance, animation is disabled in old IE browsers for several
  77581. * chart types.
  77582. */
  77583. export interface PlotPyramid3dAnimationOptions {
  77584. defer?: number;
  77585. }
  77586. /**
  77587. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  77588. * animation when a series is displayed for the `dataLabels`. The animation can
  77589. * also be set as a configuration object. Please note that this option only
  77590. * applies to the initial animation. For other animations, see chart.animation
  77591. * and the animation parameter under the API methods. The following properties
  77592. * are supported:
  77593. *
  77594. * - `defer`: The animation delay time in milliseconds.
  77595. */
  77596. export interface PlotPyramid3dDataLabelsAnimationOptions {
  77597. /**
  77598. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  77599. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  77600. * inherits defer time from the series.animation.defer.
  77601. */
  77602. defer?: number;
  77603. }
  77604. /**
  77605. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  77606. * appearing next to each data point.
  77607. *
  77608. * Since v6.2.0, multiple data labels can be applied to each single point by
  77609. * defining them as an array of configs.
  77610. *
  77611. * In styled mode, the data labels can be styled with the
  77612. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  77613. * example).
  77614. */
  77615. export interface PlotPyramid3dDataLabelsOptions {
  77616. /**
  77617. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  77618. * compared to the point. If `right`, the right side of the label should be
  77619. * touching the point. For points with an extent, like columns, the
  77620. * alignments also dictates how to align it inside the box, as given with
  77621. * the inside option. Can be one of `left`, `center` or `right`.
  77622. */
  77623. align?: string;
  77624. /**
  77625. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  77626. * overlap. To make the labels less sensitive for overlapping, the
  77627. * dataLabels.padding can be set to 0.
  77628. */
  77629. allowOverlap?: boolean;
  77630. /**
  77631. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  77632. * animation when a series is displayed for the `dataLabels`. The animation
  77633. * can also be set as a configuration object. Please note that this option
  77634. * only applies to the initial animation. For other animations, see
  77635. * chart.animation and the animation parameter under the API methods. The
  77636. * following properties are supported:
  77637. *
  77638. * - `defer`: The animation delay time in milliseconds.
  77639. */
  77640. animation?: (boolean|PlotPyramid3dDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  77641. /**
  77642. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  77643. * for the data label.
  77644. */
  77645. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  77646. /**
  77647. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  77648. * label. Defaults to `undefined`.
  77649. */
  77650. borderColor?: (ColorString|GradientColorObject|PatternObject);
  77651. /**
  77652. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  77653. * the data label.
  77654. */
  77655. borderRadius?: number;
  77656. /**
  77657. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  77658. * the data label.
  77659. */
  77660. borderWidth?: number;
  77661. /**
  77662. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  77663. * Particularly in styled mode, this can be used to give each series' or
  77664. * point's data label unique styling. In addition to this option, a default
  77665. * color class name is added so that we can give the labels a contrast text
  77666. * shadow.
  77667. */
  77668. className?: string;
  77669. /**
  77670. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  77671. * labels. Defaults to `undefined`. For certain series types, like column or
  77672. * map, the data labels can be drawn inside the points. In this case the
  77673. * data label will be drawn with maximum contrast by default. Additionally,
  77674. * it will be given a `text-outline` style with the opposite color, to
  77675. * further increase the contrast. This can be overridden by setting the
  77676. * `text-outline` style to `none` in the `dataLabels.style` option.
  77677. */
  77678. color?: (ColorString|GradientColorObject|PatternObject);
  77679. /**
  77680. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  77681. * are outside the plot area. By default, the data label is moved inside the
  77682. * plot area according to the overflow option.
  77683. */
  77684. crop?: boolean;
  77685. /**
  77686. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  77687. * labels until the initial series animation has finished. Setting to
  77688. * `false` renders the data label immediately. If set to `true` inherits the
  77689. * defer time set in plotOptions.series.animation. If set to a number, a
  77690. * defer time is specified in milliseconds.
  77691. */
  77692. defer?: (boolean|number);
  77693. /**
  77694. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  77695. * labels.
  77696. */
  77697. enabled?: boolean;
  77698. /**
  77699. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  77700. * of which data labels to display. The declarative filter is designed for
  77701. * use when callback functions are not available, like when the chart
  77702. * options require a pure JSON structure or for use with graphical editors.
  77703. * For programmatic control, use the `formatter` instead, and return
  77704. * `undefined` to disable a single data label.
  77705. */
  77706. filter?: DataLabelsFilterOptionsObject;
  77707. /**
  77708. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  77709. * label. Available variables are the same as for `formatter`.
  77710. */
  77711. format?: string;
  77712. /**
  77713. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  77714. * format the data label. Note that if a `format` is defined, the format
  77715. * takes precedence and the formatter is ignored.
  77716. */
  77717. formatter?: DataLabelsFormatterCallbackFunction;
  77718. /**
  77719. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  77720. * columns or map areas, whether to align the data label inside the box or
  77721. * to the actual value point. Defaults to `false` in most cases, `true` in
  77722. * stacked columns.
  77723. */
  77724. inside?: boolean;
  77725. /**
  77726. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  77727. * of null. Works analogously to format. `nullFormat` can be applied only to
  77728. * series which support displaying null points.
  77729. */
  77730. nullFormat?: (boolean|string);
  77731. /**
  77732. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  77733. * that defines formatting for points with the value of null. Works
  77734. * analogously to formatter. `nullPointFormatter` can be applied only to
  77735. * series which support displaying null points.
  77736. */
  77737. nullFormatter?: DataLabelsFormatterCallbackFunction;
  77738. /**
  77739. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  77740. * flow outside the plot area. The default is `"justify"`, which aligns them
  77741. * inside the plot area. For columns and bars, this means it will be moved
  77742. * inside the bar. To display data labels outside the plot area, set `crop`
  77743. * to `false` and `overflow` to `"allow"`.
  77744. */
  77745. overflow?: string;
  77746. /**
  77747. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  77748. * the `backgroundColor` is set, this is the padding within the box.
  77749. */
  77750. padding?: number;
  77751. /**
  77752. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  77753. * points. If `center` alignment is not possible, it defaults to `right`.
  77754. */
  77755. position?: AlignValue;
  77756. /**
  77757. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  77758. * that due to a more complex structure, backgrounds, borders and padding
  77759. * will be lost on a rotated data label.
  77760. */
  77761. rotation?: number;
  77762. /**
  77763. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  77764. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  77765. * an object configuration containing `color`, `offsetX`, `offsetY`,
  77766. * `opacity` and `width`.
  77767. */
  77768. shadow?: (boolean|ShadowOptionsObject);
  77769. /**
  77770. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  77771. * the border around the label. Symbols are predefined functions on the
  77772. * Renderer object.
  77773. */
  77774. shape?: string;
  77775. /**
  77776. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  77777. * default `color` setting is `"contrast"`, which is a pseudo color that
  77778. * Highcharts picks up and applies the maximum contrast to the underlying
  77779. * point item, for example the bar in a bar chart.
  77780. *
  77781. * The `textOutline` is a pseudo property that applies an outline of the
  77782. * given width with the given color, which by default is the maximum
  77783. * contrast to the text. So a bright text color will result in a black text
  77784. * outline for maximum readability on a mixed background. In some cases,
  77785. * especially with grayscale text, the text outline doesn't work well, in
  77786. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  77787. * is true, the `textOutline` will not be picked up. In this, case, the same
  77788. * effect can be acheived through the `text-shadow` CSS property.
  77789. *
  77790. * For some series types, where each point has an extent, like for example
  77791. * tree maps, the data label may overflow the point. There are two
  77792. * strategies for handling overflow. By default, the text will wrap to
  77793. * multiple lines. The other strategy is to set `style.textOverflow` to
  77794. * `ellipsis`, which will keep the text on one line plus it will break
  77795. * inside long words.
  77796. */
  77797. style?: CSSObject;
  77798. /**
  77799. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  77800. * should follow marker's shape. Border and background are disabled for a
  77801. * label that follows a path.
  77802. *
  77803. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  77804. * to true will disable this option.
  77805. */
  77806. textPath?: DataLabelsTextPathOptionsObject;
  77807. /**
  77808. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  77809. * the labels.
  77810. */
  77811. useHTML?: boolean;
  77812. /**
  77813. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  77814. * label. Can be one of `top`, `middle` or `bottom`. The default value
  77815. * depends on the data, for instance in a column chart, the label is above
  77816. * positive values and below negative values.
  77817. */
  77818. verticalAlign?: string;
  77819. /**
  77820. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  77821. * label relative to the point in pixels.
  77822. */
  77823. x?: number;
  77824. /**
  77825. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  77826. * label relative to the point in pixels.
  77827. */
  77828. y?: number;
  77829. /**
  77830. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  77831. * The default Z index puts it above the series. Use a Z index of 2 to
  77832. * display it behind the series.
  77833. */
  77834. z?: number;
  77835. }
  77836. /**
  77837. * (Highcharts) Style options for the guide box. The guide box has one state by
  77838. * default, the `default` state.
  77839. */
  77840. export interface PlotPyramid3dDragDropGuideBoxOptions {
  77841. /**
  77842. * (Highcharts) Style options for the guide box default state.
  77843. */
  77844. default?: DragDropGuideBoxOptionsObject;
  77845. }
  77846. /**
  77847. * (Highcharts) A pyramid3d is a 3d version of pyramid series type. Pyramid
  77848. * charts are a type of chart often used to visualize stages in a sales project,
  77849. * where the top are the initial stages with the most clients.
  77850. *
  77851. * In TypeScript the type option must always be set.
  77852. *
  77853. * Configuration options for the series are given in three levels:
  77854. *
  77855. * 1. Options for all series in a chart are defined in the plotOptions.series
  77856. * object.
  77857. *
  77858. * 2. Options for all `pyramid3d` series are defined in plotOptions.pyramid3d.
  77859. *
  77860. * 3. Options for one single series are given in the series instance array. (see
  77861. * online documentation for example)
  77862. */
  77863. export interface PlotPyramid3dOptions {
  77864. /**
  77865. * (Highcharts) Accessibility options for a series.
  77866. */
  77867. accessibility?: SeriesAccessibilityOptionsObject;
  77868. /**
  77869. * (Highcharts) Allow this series' points to be selected by clicking on the
  77870. * graphic (columns, point markers, pie slices, map areas etc).
  77871. *
  77872. * The selected points can be handled by point select and unselect events,
  77873. * or collectively by the getSelectedPoints function.
  77874. *
  77875. * And alternative way of selecting points is through dragging.
  77876. */
  77877. allowPointSelect?: boolean;
  77878. /**
  77879. * (Highcharts) Enable or disable the initial animation when a series is
  77880. * displayed. The animation can also be set as a configuration object.
  77881. * Please note that this option only applies to the initial animation of the
  77882. * series itself. For other animations, see chart.animation and the
  77883. * animation parameter under the API methods. The following properties are
  77884. * supported:
  77885. *
  77886. * - `defer`: The animation delay time in milliseconds.
  77887. *
  77888. * - `duration`: The duration of the animation in milliseconds.
  77889. *
  77890. * - `easing`: Can be a string reference to an easing function set on the
  77891. * `Math` object or a function. See the _Custom easing function_ demo below.
  77892. *
  77893. * Due to poor performance, animation is disabled in old IE browsers for
  77894. * several chart types.
  77895. */
  77896. animation?: (boolean|PlotPyramid3dAnimationOptions);
  77897. /**
  77898. * (Highcharts) For some series, there is a limit that shuts down initial
  77899. * animation by default when the total number of points in the chart is too
  77900. * high. For example, for a column chart and its derivatives, animation does
  77901. * not run if there is more than 250 points totally. To disable this cap,
  77902. * set `animationLimit` to `Infinity`.
  77903. */
  77904. animationLimit?: number;
  77905. /**
  77906. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  77907. * column or bar.
  77908. *
  77909. * In styled mode, the border stroke can be set with the `.highcharts-point`
  77910. * rule.
  77911. */
  77912. borderColor?: (ColorString|GradientColorObject|PatternObject);
  77913. /**
  77914. * (Highcharts, Highstock, Gantt) The corner radius of the border
  77915. * surrounding each column or bar.
  77916. */
  77917. borderRadius?: number;
  77918. /**
  77919. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  77920. * column or bar. Defaults to `1` when there is room for a border, but to
  77921. * `0` when the columns are so dense that a border would cover the next
  77922. * column.
  77923. *
  77924. * In styled mode, the stroke width can be set with the `.highcharts-point`
  77925. * rule.
  77926. */
  77927. borderWidth?: number;
  77928. /**
  77929. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  77930. * the category, ignoring null or missing points. When `false`, space will
  77931. * be reserved for null or missing points.
  77932. */
  77933. centerInCategory?: boolean;
  77934. /**
  77935. * (Highcharts) An additional class name to apply to the series' graphical
  77936. * elements. This option does not replace default class names of the
  77937. * graphical element.
  77938. */
  77939. className?: string;
  77940. /**
  77941. * (Highcharts) Disable this option to allow series rendering in the whole
  77942. * plotting area.
  77943. *
  77944. * **Note:** Clipping should be always enabled when chart.zoomType is set
  77945. */
  77946. clip?: boolean;
  77947. /**
  77948. * (Highcharts) The main color of the series. In line type series it applies
  77949. * to the line and the point markers unless otherwise specified. In bar type
  77950. * series it applies to the bars unless a color is specified per point. The
  77951. * default value is pulled from the `options.colors` array.
  77952. *
  77953. * In styled mode, the color can be defined by the colorIndex option. Also,
  77954. * the series color can be set with the `.highcharts-series`,
  77955. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  77956. * `.highcharts-series-{n}` class, or individual classes given by the
  77957. * `className` option.
  77958. */
  77959. color?: (ColorString|GradientColorObject|PatternObject);
  77960. /**
  77961. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  77962. * from the global colors or series-specific plotOptions.column.colors
  77963. * collections, this option determines whether the chart should receive one
  77964. * color per series or one color per point.
  77965. *
  77966. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  77967. * and instead this option gives the points individual color class names on
  77968. * the form `highcharts-color-{n}`.
  77969. */
  77970. colorByPoint?: boolean;
  77971. /**
  77972. * (Highcharts) Styled mode only. A specific color index to use for the
  77973. * series, so its graphic representations are given the class name
  77974. * `highcharts-color-{n}`.
  77975. */
  77976. colorIndex?: number;
  77977. /**
  77978. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  77979. * used to calculate point color if `colorAxis` is used. Requires to set
  77980. * `min` and `max` if some custom point property is used or if approximation
  77981. * for data grouping is set to `'sum'`.
  77982. */
  77983. colorKey?: string;
  77984. /**
  77985. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  77986. * color set to apply instead of the global colors when colorByPoint is
  77987. * true.
  77988. */
  77989. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  77990. /**
  77991. * (Highstock) Defines if comparison should start from the first point
  77992. * within the visible range or should start from the first point **before**
  77993. * the range.
  77994. *
  77995. * In other words, this flag determines if first point within the visible
  77996. * range will have 0% (`compareStart=true`) or should have been already
  77997. * calculated according to the previous point (`compareStart=false`).
  77998. */
  77999. compareStart?: boolean;
  78000. /**
  78001. * (Gantt) Override Pathfinder connector options for a series. Requires
  78002. * Highcharts Gantt to be loaded.
  78003. */
  78004. connectors?: SeriesConnectorsOptionsObject;
  78005. /**
  78006. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  78007. * rounded to its nearest pixel in order to render sharp on screen. In some
  78008. * cases, when there are a lot of densely packed columns, this leads to
  78009. * visible difference in column widths or distance between columns. In these
  78010. * cases, setting `crisp` to `false` may look better, even though each
  78011. * column is rendered blurry.
  78012. */
  78013. crisp?: boolean;
  78014. /**
  78015. * (Highcharts, Highstock, Gantt) When the series contains less points than
  78016. * the crop threshold, all points are drawn, event if the points fall
  78017. * outside the visible plot area at the current zoom. The advantage of
  78018. * drawing all points (including markers and columns), is that animation is
  78019. * performed on updates. On the other hand, when the series contains more
  78020. * points than the crop threshold, the series data is cropped to only
  78021. * contain points that fall within the plot area. The advantage of cropping
  78022. * away invisible points is to increase performance on large series.
  78023. */
  78024. cropThreshold?: number;
  78025. /**
  78026. * (Highcharts) You can set the cursor to "pointer" if you have click events
  78027. * attached to the series, to signal to the user that the points and lines
  78028. * can be clicked.
  78029. *
  78030. * In styled mode, the series cursor can be set with the same classes as
  78031. * listed under series.color.
  78032. */
  78033. cursor?: (string|CursorValue);
  78034. /**
  78035. * (Highcharts) A reserved subspace to store options and values for
  78036. * customized functionality. Here you can add additional data for your own
  78037. * event callbacks and formatter callbacks.
  78038. */
  78039. custom?: Dictionary<any>;
  78040. /**
  78041. * (Highcharts) Name of the dash style to use for the graph, or for some
  78042. * series types the outline of each shape.
  78043. *
  78044. * In styled mode, the stroke dash-array can be set with the same classes as
  78045. * listed under series.color.
  78046. */
  78047. dashStyle?: DashStyleValue;
  78048. /**
  78049. * (Highstock) Data grouping is the concept of sampling the data values into
  78050. * larger blocks in order to ease readability and increase performance of
  78051. * the JavaScript charts. Highcharts Stock by default applies data grouping
  78052. * when the points become closer than a certain pixel value, determined by
  78053. * the `groupPixelWidth` option.
  78054. *
  78055. * If data grouping is applied, the grouping information of grouped points
  78056. * can be read from the Point.dataGroup. If point options other than the
  78057. * data itself are set, for example `name` or `color` or custom properties,
  78058. * the grouping logic doesn't know how to group it. In this case the options
  78059. * of the first point instance are copied over to the group point. This can
  78060. * be altered through a custom `approximation` callback function.
  78061. */
  78062. dataGrouping?: DataGroupingOptionsObject;
  78063. /**
  78064. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  78065. * labels, appearing next to each data point.
  78066. *
  78067. * Since v6.2.0, multiple data labels can be applied to each single point by
  78068. * defining them as an array of configs.
  78069. *
  78070. * In styled mode, the data labels can be styled with the
  78071. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  78072. * (see example).
  78073. */
  78074. dataLabels?: (PlotPyramid3dDataLabelsOptions|Array<PlotPyramid3dDataLabelsOptions>);
  78075. /**
  78076. * (Highcharts) Depth of the columns in a 3D column chart.
  78077. */
  78078. depth?: number;
  78079. /**
  78080. * (Highcharts) A description of the series to add to the screen reader
  78081. * information about the series.
  78082. */
  78083. description?: string;
  78084. /**
  78085. * (Highcharts) The draggable-points module allows points to be moved around
  78086. * or modified in the chart. In addition to the options mentioned under the
  78087. * `dragDrop` API structure, the module fires three events, point.dragStart,
  78088. * point.drag and point.drop.
  78089. */
  78090. dragDrop?: SeriesDragDropOptionsObject;
  78091. /**
  78092. * (Highcharts) 3D columns only. The color of the edges. Similar to
  78093. * `borderColor`, except it defaults to the same color as the column.
  78094. */
  78095. edgeColor?: ColorString;
  78096. /**
  78097. * (Highcharts) 3D columns only. The width of the colored edges.
  78098. */
  78099. edgeWidth?: number;
  78100. /**
  78101. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  78102. * This includes point tooltips and click events on graphs and points. For
  78103. * large datasets it improves performance.
  78104. */
  78105. enableMouseTracking?: boolean;
  78106. /**
  78107. * (Highcharts) General event handlers for the series items. These event
  78108. * hooks can also be attached to the series at run time using the
  78109. * `Highcharts.addEvent` function.
  78110. */
  78111. events?: SeriesEventsOptionsObject;
  78112. /**
  78113. * (Highcharts) Determines whether the series should look for the nearest
  78114. * point in both dimensions or just the x-dimension when hovering the
  78115. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  78116. * series. If the data has duplicate x-values, it is recommended to set this
  78117. * to `'xy'` to allow hovering over all points.
  78118. *
  78119. * Applies only to series types using nearest neighbor search (not direct
  78120. * hover) for tooltip.
  78121. */
  78122. findNearestPointBy?: OptionsFindNearestPointByValue;
  78123. /**
  78124. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  78125. * chart width or only the zoomed area when zooming in on parts of the X
  78126. * axis. By default, the Y axis adjusts to the min and max of the visible
  78127. * data. Cartesian series only.
  78128. */
  78129. getExtremesFromAll?: boolean;
  78130. /**
  78131. * (Highcharts) By deafult sides fill is set to a gradient through this
  78132. * option being set to `true`. Set to `false` to get solid color for the
  78133. * sides.
  78134. */
  78135. gradientForSides?: boolean;
  78136. /**
  78137. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  78138. * let them render independent of each other. Non-grouped columns will be
  78139. * laid out individually and overlap each other.
  78140. */
  78141. grouping?: boolean;
  78142. /**
  78143. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  78144. * axis units.
  78145. */
  78146. groupPadding?: number;
  78147. /**
  78148. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  78149. */
  78150. groupZPadding?: number;
  78151. /**
  78152. * (Highcharts) The height of the series. If it is a number it defines the
  78153. * pixel height, if it is a percentage string it is the percentage of the
  78154. * plot area height.
  78155. */
  78156. height?: (number|string);
  78157. /**
  78158. * (Highcharts) When set to `false` will prevent the series data from being
  78159. * included in any form of data export.
  78160. *
  78161. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  78162. * `includeInCSVExport`.
  78163. */
  78164. includeInDataExport?: boolean;
  78165. /**
  78166. * (Highmaps) What property to join the `mapData` to the value data. For
  78167. * example, if joinBy is "code", the mapData items with a specific code is
  78168. * merged into the data with the same code. For maps loaded from GeoJSON,
  78169. * the keys may be held in each point's `properties` object.
  78170. *
  78171. * The joinBy option can also be an array of two values, where the first
  78172. * points to a key in the `mapData`, and the second points to another key in
  78173. * the `data`.
  78174. *
  78175. * When joinBy is `null`, the map items are joined by their position in the
  78176. * array, which performs much better in maps with many data points. This is
  78177. * the recommended option if you are printing more than a thousand data
  78178. * points and have a backend that can preprocess the data into a parallel
  78179. * array of the mapData.
  78180. */
  78181. joinBy?: (string|Array<string>);
  78182. /**
  78183. * (Highcharts) An array specifying which option maps to which key in the
  78184. * data point array. This makes it convenient to work with unstructured data
  78185. * arrays from different sources.
  78186. */
  78187. keys?: Array<string>;
  78188. /**
  78189. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  78190. * series as possible in a natural way, seeking to avoid other series. The
  78191. * goal of this feature is to make the chart more easily readable, like if a
  78192. * human designer placed the labels in the optimal position.
  78193. *
  78194. * The series labels currently work with series types having a `graph` or an
  78195. * `area`.
  78196. */
  78197. label?: SeriesLabelOptionsObject;
  78198. /**
  78199. * (Highstock) The line marks the last price from all points.
  78200. */
  78201. lastPrice?: SeriesLastPriceOptionsObject;
  78202. /**
  78203. * (Highstock) The line marks the last price from visible range of points.
  78204. */
  78205. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  78206. /**
  78207. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  78208. * Additionally, the value can be ":previous" to link to the previous
  78209. * series. When two series are linked, only the first one appears in the
  78210. * legend. Toggling the visibility of this also toggles the linked series.
  78211. *
  78212. * If master series uses data sorting and linked series does not have its
  78213. * own sorting definition, the linked series will be sorted in the same
  78214. * order as the master one.
  78215. */
  78216. linkedTo?: string;
  78217. /**
  78218. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  78219. * column, translated to the height of a bar in a bar chart. This prevents
  78220. * the columns from becoming too wide when there is a small number of points
  78221. * in the chart.
  78222. */
  78223. maxPointWidth?: number;
  78224. /**
  78225. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  78226. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  78227. * to zero) point, set the minimal point length to a pixel value like 3\. In
  78228. * stacked column charts, minPointLength might not be respected for tightly
  78229. * packed values.
  78230. */
  78231. minPointLength?: number;
  78232. /**
  78233. * (Highstock) Options for the corresponding navigator series if
  78234. * `showInNavigator` is `true` for this series. Available options are the
  78235. * same as any series, documented at plotOptions and series.
  78236. *
  78237. * These options are merged with options in navigator.series, and will take
  78238. * precedence if the same option is defined both places.
  78239. */
  78240. navigatorOptions?: PlotSeriesOptions;
  78241. neckHeight?: number;
  78242. neckWidth?: number;
  78243. /**
  78244. * (Highcharts) The color for the parts of the graph or points that are
  78245. * below the threshold. Note that `zones` takes precedence over the negative
  78246. * color. Using `negativeColor` is equivalent to applying a zone with value
  78247. * of 0.
  78248. */
  78249. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  78250. /**
  78251. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  78252. * dataLabels.
  78253. */
  78254. opacity?: number;
  78255. /**
  78256. * (Highcharts) Properties for each single point.
  78257. */
  78258. point?: PlotSeriesPointOptions;
  78259. /**
  78260. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  78261. * individual series. Overrides the chart wide configuration.
  78262. */
  78263. pointDescriptionFormatter?: Function;
  78264. /**
  78265. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  78266. * a series, `pointInterval` defines the interval of the x values. For
  78267. * example, if a series contains one value every decade starting from year
  78268. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  78269. * `pointInterval` is set in milliseconds.
  78270. *
  78271. * It can be also be combined with `pointIntervalUnit` to draw irregular
  78272. * time intervals.
  78273. *
  78274. * Please note that this options applies to the _series data_, not the
  78275. * interval of the axis ticks, which is independent.
  78276. */
  78277. pointInterval?: number;
  78278. /**
  78279. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  78280. * setting the pointInterval to irregular time units, `day`, `month` and
  78281. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  78282. * also takes the DST crossover into consideration when dealing with local
  78283. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  78284. * months, 10 years etc.
  78285. *
  78286. * Please note that this options applies to the _series data_, not the
  78287. * interval of the axis ticks, which is independent.
  78288. */
  78289. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  78290. /**
  78291. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  78292. * axis units.
  78293. */
  78294. pointPadding?: number;
  78295. /**
  78296. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  78297. * `number`.
  78298. *
  78299. * In a column chart, when pointPlacement is `"on"`, the point will not
  78300. * create any padding of the X axis. In a polar column chart this means that
  78301. * the first column points directly north. If the pointPlacement is
  78302. * `"between"`, the columns will be laid out between ticks. This is useful
  78303. * for example for visualising an amount between two points in time or in a
  78304. * certain sector of a polar chart.
  78305. *
  78306. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  78307. * is on the axis value, -0.5 is between this value and the previous, and
  78308. * 0.5 is between this value and the next. Unlike the textual options,
  78309. * numeric point placement options won't affect axis padding.
  78310. *
  78311. * Note that pointPlacement needs a pointRange to work. For column series
  78312. * this is computed, but for line-type series it needs to be set.
  78313. *
  78314. * For the `xrange` series type and gantt charts, if the Y axis is a
  78315. * category axis, the `pointPlacement` applies to the Y axis rather than the
  78316. * (typically datetime) X axis.
  78317. *
  78318. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  78319. */
  78320. pointPlacement?: (number|string);
  78321. /**
  78322. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  78323. * for. This determines the width of the column. On a categorized axis, the
  78324. * range will be 1 by default (one category unit). On linear and datetime
  78325. * axes, the range will be computed as the distance between the two closest
  78326. * data points.
  78327. *
  78328. * The default `null` means it is computed automatically, but this option
  78329. * can be used to override the automatic value.
  78330. *
  78331. * This option is set by default to 1 if data sorting is enabled.
  78332. */
  78333. pointRange?: (number|null);
  78334. /**
  78335. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  78336. * a series, pointStart defines on what value to start. For example, if a
  78337. * series contains one yearly value starting from 1945, set pointStart to
  78338. * 1945.
  78339. */
  78340. pointStart?: number;
  78341. /**
  78342. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  78343. * each column or bar point. When set to `undefined`, the width is
  78344. * calculated from the `pointPadding` and `groupPadding`. The width effects
  78345. * the dimension that is not based on the point value. For column series it
  78346. * is the hoizontal length and for bar series it is the vertical length.
  78347. */
  78348. pointWidth?: number;
  78349. /**
  78350. * (Highcharts) A reversed pyramid3d is funnel3d, but the latter supports
  78351. * neck related options: neckHeight and neckWidth
  78352. */
  78353. reversed?: boolean;
  78354. /**
  78355. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  78356. * true, the checkbox next to the series name in the legend will be checked
  78357. * for a selected series.
  78358. */
  78359. selected?: boolean;
  78360. /**
  78361. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  78362. * the shadow can be an object configuration containing `color`, `offsetX`,
  78363. * `offsetY`, `opacity` and `width`.
  78364. */
  78365. shadow?: (boolean|ShadowOptionsObject);
  78366. /**
  78367. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  78368. * allow selecting the series. The state of the checkbox is determined by
  78369. * the `selected` option.
  78370. */
  78371. showCheckbox?: boolean;
  78372. /**
  78373. * (Highcharts) Whether to display this particular series or series type in
  78374. * the legend. Standalone series are shown in legend by default, and linked
  78375. * series are not. Since v7.2.0 it is possible to show series that use
  78376. * colorAxis by setting this option to `true`.
  78377. */
  78378. showInLegend?: boolean;
  78379. /**
  78380. * (Highstock) Whether or not to show the series in the navigator. Takes
  78381. * precedence over navigator.baseSeries if defined.
  78382. */
  78383. showInNavigator?: boolean;
  78384. /**
  78385. * (Highcharts) If set to `true`, the accessibility module will skip past
  78386. * the points in this series for keyboard navigation.
  78387. */
  78388. skipKeyboardNavigation?: boolean;
  78389. /**
  78390. * (Highcharts, Highstock) When this is true, the series will not cause the
  78391. * Y axis to cross the zero plane (or threshold option) unless the data
  78392. * actually crosses the plane.
  78393. *
  78394. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  78395. * make the Y axis show negative values according to the `minPadding`
  78396. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  78397. */
  78398. softThreshold?: boolean;
  78399. /**
  78400. * (Highcharts, Highstock) Whether to stack the values of each series on top
  78401. * of each other. Possible values are `undefined` to disable, `"normal"` to
  78402. * stack by value or `"percent"`.
  78403. *
  78404. * When stacking is enabled, data must be sorted in ascending X order.
  78405. *
  78406. * Some stacking options are related to specific series types. In the
  78407. * streamgraph series type, the stacking option is set to `"stream"`. The
  78408. * second one is `"overlap"`, which only applies to waterfall series.
  78409. */
  78410. stacking?: OptionsStackingValue;
  78411. states?: SeriesStatesOptionsObject;
  78412. /**
  78413. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  78414. * event on a series isn't triggered until the mouse moves over another
  78415. * series, or out of the plot area. When false, the `mouseOut` event on a
  78416. * series is triggered when the mouse leaves the area around the series'
  78417. * graph or markers. This also implies the tooltip when not shared. When
  78418. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  78419. * be hidden when moving the mouse between series. Defaults to true for line
  78420. * and area type series, but to false for columns, pies etc.
  78421. *
  78422. * **Note:** The boost module will force this option because of technical
  78423. * limitations.
  78424. */
  78425. stickyTracking?: boolean;
  78426. /**
  78427. * (Highcharts) The Y axis value to serve as the base for the columns, for
  78428. * distinguishing between values above and below a threshold. If `null`, the
  78429. * columns extend from the padding Y axis minimum.
  78430. */
  78431. threshold?: (number|null);
  78432. /**
  78433. * (Highcharts) A configuration object for the tooltip rendering of each
  78434. * single series. Properties are inherited from tooltip, but only the
  78435. * following properties can be defined on a series level.
  78436. */
  78437. tooltip?: SeriesTooltipOptionsObject;
  78438. /**
  78439. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  78440. * is longer than this, only one dimensional arrays of numbers, or two
  78441. * dimensional arrays with x and y values are allowed. Also, only the first
  78442. * point is tested, and the rest are assumed to be the same format. This
  78443. * saves expensive data checking and indexing in long series. Set it to `0`
  78444. * disable.
  78445. *
  78446. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  78447. * two dimensional arrays are allowed.
  78448. */
  78449. turboThreshold?: number;
  78450. /**
  78451. * (Highcharts) Set the initial visibility of the series.
  78452. */
  78453. visible?: boolean;
  78454. /**
  78455. * (Highcharts) The max width of the series compared to the width of the
  78456. * plot area, or the pixel width if it is a number.
  78457. */
  78458. width?: (number|string);
  78459. /**
  78460. * (Highmaps) Define the z index of the series.
  78461. */
  78462. zIndex?: number;
  78463. /**
  78464. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  78465. */
  78466. zoneAxis?: string;
  78467. /**
  78468. * (Highcharts, Highstock) An array defining zones within a series. Zones
  78469. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  78470. * the `zoneAxis` option. The zone definitions have to be in ascending order
  78471. * regarding to the value.
  78472. *
  78473. * In styled mode, the color zones are styled with the
  78474. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  78475. * option (view live demo).
  78476. */
  78477. zones?: Array<SeriesZonesOptionsObject>;
  78478. }
  78479. /**
  78480. * (Highcharts) Initial animation is by default disabled for the funnel chart.
  78481. */
  78482. export interface PlotPyramidAnimationOptions {
  78483. defer?: number;
  78484. }
  78485. /**
  78486. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  78487. * animation when a series is displayed for the `dataLabels`. The animation can
  78488. * also be set as a configuration object. Please note that this option only
  78489. * applies to the initial animation. For other animations, see chart.animation
  78490. * and the animation parameter under the API methods. The following properties
  78491. * are supported:
  78492. *
  78493. * - `defer`: The animation delay time in milliseconds.
  78494. */
  78495. export interface PlotPyramidDataLabelsAnimationOptions {
  78496. /**
  78497. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  78498. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  78499. * inherits defer time from the series.animation.defer.
  78500. */
  78501. defer?: number;
  78502. }
  78503. /**
  78504. * (Highcharts) A pyramid series is a special type of funnel, without neck and
  78505. * reversed by default.
  78506. *
  78507. * In TypeScript the type option must always be set.
  78508. *
  78509. * Configuration options for the series are given in three levels:
  78510. *
  78511. * 1. Options for all series in a chart are defined in the plotOptions.series
  78512. * object.
  78513. *
  78514. * 2. Options for all `pyramid` series are defined in plotOptions.pyramid.
  78515. *
  78516. * 3. Options for one single series are given in the series instance array. (see
  78517. * online documentation for example)
  78518. */
  78519. export interface PlotPyramidOptions {
  78520. /**
  78521. * (Highcharts) Accessibility options for a series.
  78522. */
  78523. accessibility?: SeriesAccessibilityOptionsObject;
  78524. /**
  78525. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  78526. * rendered. If `true`, areas which don't correspond to a data point, are
  78527. * rendered as `null` points. If `false`, those areas are skipped.
  78528. */
  78529. allAreas?: boolean;
  78530. /**
  78531. * (Highcharts) Allow this series' points to be selected by clicking on the
  78532. * graphic (columns, point markers, pie slices, map areas etc).
  78533. *
  78534. * The selected points can be handled by point select and unselect events,
  78535. * or collectively by the getSelectedPoints function.
  78536. *
  78537. * And alternative way of selecting points is through dragging.
  78538. */
  78539. allowPointSelect?: boolean;
  78540. /**
  78541. * (Highcharts) Initial animation is by default disabled for the funnel
  78542. * chart.
  78543. */
  78544. animation?: (boolean|PlotPyramidAnimationOptions);
  78545. /**
  78546. * (Highcharts) The color of the border surrounding each slice. When `null`,
  78547. * the border takes the same color as the slice fill. This can be used
  78548. * together with a `borderWidth` to fill drawing gaps created by
  78549. * antialiazing artefacts in borderless pies.
  78550. *
  78551. * In styled mode, the border stroke is given in the `.highcharts-point`
  78552. * class.
  78553. */
  78554. borderColor?: (ColorString|GradientColorObject|PatternObject);
  78555. /**
  78556. * (Highcharts) The width of the border surrounding each slice.
  78557. *
  78558. * When setting the border width to 0, there may be small gaps between the
  78559. * slices due to SVG antialiasing artefacts. To work around this, keep the
  78560. * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
  78561. *
  78562. * In styled mode, the border stroke width is given in the
  78563. * `.highcharts-point` class.
  78564. */
  78565. borderWidth?: number;
  78566. /**
  78567. * (Highcharts) The center of the series. By default, it is centered in the
  78568. * middle of the plot area, so it fills the plot area height.
  78569. */
  78570. center?: Array<(number|string)>;
  78571. /**
  78572. * (Highcharts) An additional class name to apply to the series' graphical
  78573. * elements. This option does not replace default class names of the
  78574. * graphical element.
  78575. */
  78576. className?: string;
  78577. /**
  78578. * (Highcharts) Disable this option to allow series rendering in the whole
  78579. * plotting area.
  78580. *
  78581. * **Note:** Clipping should be always enabled when chart.zoomType is set
  78582. */
  78583. clip?: boolean;
  78584. /**
  78585. * (Highcharts) The color of the pie series. A pie series is represented as
  78586. * an empty circle if the total sum of its values is 0. Use this property to
  78587. * define the color of its border.
  78588. *
  78589. * In styled mode, the color can be defined by the colorIndex option. Also,
  78590. * the series color can be set with the `.highcharts-series`,
  78591. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  78592. * `.highcharts-series-{n}` class, or individual classes given by the
  78593. * `className` option.
  78594. */
  78595. color?: (ColorString|GradientColorObject|PatternObject);
  78596. /**
  78597. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  78598. * this number defines which colorAxis the particular series is connected
  78599. * to. It refers to either the axis id or the index of the axis in the
  78600. * colorAxis array, with 0 being the first. Set this option to false to
  78601. * prevent a series from connecting to the default color axis.
  78602. *
  78603. * Since v7.2.0 the option can also be an axis id or an axis index instead
  78604. * of a boolean flag.
  78605. */
  78606. colorAxis?: (boolean|number|string);
  78607. /**
  78608. * (Highcharts) Styled mode only. A specific color index to use for the
  78609. * series, so its graphic representations are given the class name
  78610. * `highcharts-color-{n}`.
  78611. */
  78612. colorIndex?: number;
  78613. /**
  78614. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  78615. * used to calculate point color if `colorAxis` is used. Requires to set
  78616. * `min` and `max` if some custom point property is used or if approximation
  78617. * for data grouping is set to `'sum'`.
  78618. */
  78619. colorKey?: string;
  78620. /**
  78621. * (Highcharts) A series specific or series type specific color set to use
  78622. * instead of the global colors.
  78623. */
  78624. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  78625. /**
  78626. * (Highstock) Compare the values of the series against the first non-null,
  78627. * non- zero value in the visible range. The y axis will show percentage or
  78628. * absolute change depending on whether `compare` is set to `"percent"` or
  78629. * `"value"`. When this is applied to multiple series, it allows comparing
  78630. * the development of the series against each other. Adds a `change` field
  78631. * to every point object.
  78632. */
  78633. compare?: string;
  78634. /**
  78635. * (Highstock) When compare is `percent`, this option dictates whether to
  78636. * use 0 or 100 as the base of comparison.
  78637. */
  78638. compareBase?: (0|100);
  78639. /**
  78640. * (Highstock) Defines if comparison should start from the first point
  78641. * within the visible range or should start from the first point **before**
  78642. * the range.
  78643. *
  78644. * In other words, this flag determines if first point within the visible
  78645. * range will have 0% (`compareStart=true`) or should have been already
  78646. * calculated according to the previous point (`compareStart=false`).
  78647. */
  78648. compareStart?: boolean;
  78649. /**
  78650. * (Gantt) Override Pathfinder connector options for a series. Requires
  78651. * Highcharts Gantt to be loaded.
  78652. */
  78653. connectors?: SeriesConnectorsOptionsObject;
  78654. /**
  78655. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  78656. * rounded to its nearest pixel in order to render sharp on screen. In some
  78657. * cases, when there are a lot of densely packed columns, this leads to
  78658. * visible difference in column widths or distance between columns. In these
  78659. * cases, setting `crisp` to `false` may look better, even though each
  78660. * column is rendered blurry.
  78661. */
  78662. crisp?: boolean;
  78663. /**
  78664. * (Highcharts) You can set the cursor to "pointer" if you have click events
  78665. * attached to the series, to signal to the user that the points and lines
  78666. * can be clicked.
  78667. *
  78668. * In styled mode, the series cursor can be set with the same classes as
  78669. * listed under series.color.
  78670. */
  78671. cursor?: (string|CursorValue);
  78672. /**
  78673. * (Highcharts) A reserved subspace to store options and values for
  78674. * customized functionality. Here you can add additional data for your own
  78675. * event callbacks and formatter callbacks.
  78676. */
  78677. custom?: Dictionary<any>;
  78678. /**
  78679. * (Highstock) Data grouping is the concept of sampling the data values into
  78680. * larger blocks in order to ease readability and increase performance of
  78681. * the JavaScript charts. Highcharts Stock by default applies data grouping
  78682. * when the points become closer than a certain pixel value, determined by
  78683. * the `groupPixelWidth` option.
  78684. *
  78685. * If data grouping is applied, the grouping information of grouped points
  78686. * can be read from the Point.dataGroup. If point options other than the
  78687. * data itself are set, for example `name` or `color` or custom properties,
  78688. * the grouping logic doesn't know how to group it. In this case the options
  78689. * of the first point instance are copied over to the group point. This can
  78690. * be altered through a custom `approximation` callback function.
  78691. */
  78692. dataGrouping?: DataGroupingOptionsObject;
  78693. /**
  78694. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  78695. * labels, appearing next to each data point.
  78696. *
  78697. * Since v6.2.0, multiple data labels can be applied to each single point by
  78698. * defining them as an array of configs.
  78699. *
  78700. * In styled mode, the data labels can be styled with the
  78701. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  78702. * (see example).
  78703. */
  78704. dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
  78705. /**
  78706. * (Highcharts) The thickness of a 3D pie.
  78707. */
  78708. depth?: number;
  78709. /**
  78710. * (Highcharts) A description of the series to add to the screen reader
  78711. * information about the series.
  78712. */
  78713. description?: string;
  78714. /**
  78715. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  78716. * This includes point tooltips and click events on graphs and points. For
  78717. * large datasets it improves performance.
  78718. */
  78719. enableMouseTracking?: boolean;
  78720. /**
  78721. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  78722. * right. Defaults to `startAngle` plus 360.
  78723. */
  78724. endAngle?: number;
  78725. /**
  78726. * (Highcharts) General event handlers for the series items. These event
  78727. * hooks can also be attached to the series at run time using the
  78728. * `Highcharts.addEvent` function.
  78729. */
  78730. events?: SeriesEventsOptionsObject;
  78731. /**
  78732. * (Highcharts) If the total sum of the pie's values is 0, the series is
  78733. * represented as an empty circle . The `fillColor` option defines the color
  78734. * of that circle. Use pie.borderWidth to set the border thickness.
  78735. */
  78736. fillColor?: (ColorString|GradientColorObject|PatternObject);
  78737. /**
  78738. * (Highstock) Defines when to display a gap in the graph, together with the
  78739. * gapUnit option.
  78740. *
  78741. * In case when `dataGrouping` is enabled, points can be grouped into a
  78742. * larger time span. This can make the grouped points to have a greater
  78743. * distance than the absolute value of `gapSize` property, which will result
  78744. * in disappearing graph completely. To prevent this situation the mentioned
  78745. * distance between grouped points is used instead of previously defined
  78746. * `gapSize`.
  78747. *
  78748. * In practice, this option is most often used to visualize gaps in time
  78749. * series. In a stock chart, intraday data is available for daytime hours,
  78750. * while gaps will appear in nights and weekends.
  78751. */
  78752. gapSize?: number;
  78753. /**
  78754. * (Highstock) Together with gapSize, this option defines where to draw gaps
  78755. * in the graph.
  78756. *
  78757. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  78758. * if the distance between two points is greater than 5 times that of the
  78759. * two closest points, the graph will be broken.
  78760. *
  78761. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  78762. * values, which on a datetime axis is milliseconds. This also applies to
  78763. * the navigator series that inherits gap options from the base series.
  78764. */
  78765. gapUnit?: OptionsGapUnitValue;
  78766. /**
  78767. * (Highcharts) The height of the funnel or pyramid. If it is a number it
  78768. * defines the pixel height, if it is a percentage string it is the
  78769. * percentage of the plot area height.
  78770. */
  78771. height?: (number|string);
  78772. /**
  78773. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  78774. * whether the series shall be redrawn as if the hidden point were `null`.
  78775. *
  78776. * The default value changed from `false` to `true` with Highcharts 3.0.
  78777. */
  78778. ignoreHiddenPoint?: boolean;
  78779. /**
  78780. * (Highcharts) When set to `false` will prevent the series data from being
  78781. * included in any form of data export.
  78782. *
  78783. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  78784. * `includeInCSVExport`.
  78785. */
  78786. includeInDataExport?: boolean;
  78787. /**
  78788. * (Highmaps) What property to join the `mapData` to the value data. For
  78789. * example, if joinBy is "code", the mapData items with a specific code is
  78790. * merged into the data with the same code. For maps loaded from GeoJSON,
  78791. * the keys may be held in each point's `properties` object.
  78792. *
  78793. * The joinBy option can also be an array of two values, where the first
  78794. * points to a key in the `mapData`, and the second points to another key in
  78795. * the `data`.
  78796. *
  78797. * When joinBy is `null`, the map items are joined by their position in the
  78798. * array, which performs much better in maps with many data points. This is
  78799. * the recommended option if you are printing more than a thousand data
  78800. * points and have a backend that can preprocess the data into a parallel
  78801. * array of the mapData.
  78802. */
  78803. joinBy?: (string|Array<string>);
  78804. /**
  78805. * (Highcharts) An array specifying which option maps to which key in the
  78806. * data point array. This makes it convenient to work with unstructured data
  78807. * arrays from different sources.
  78808. */
  78809. keys?: Array<string>;
  78810. /**
  78811. * (Highstock) The line marks the last price from all points.
  78812. */
  78813. lastPrice?: SeriesLastPriceOptionsObject;
  78814. /**
  78815. * (Highstock) The line marks the last price from visible range of points.
  78816. */
  78817. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  78818. /**
  78819. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  78820. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  78821. * the ends and bends.
  78822. */
  78823. linecap?: SeriesLinecapValue;
  78824. /**
  78825. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  78826. * Additionally, the value can be ":previous" to link to the previous
  78827. * series. When two series are linked, only the first one appears in the
  78828. * legend. Toggling the visibility of this also toggles the linked series.
  78829. *
  78830. * If master series uses data sorting and linked series does not have its
  78831. * own sorting definition, the linked series will be sorted in the same
  78832. * order as the master one.
  78833. */
  78834. linkedTo?: string;
  78835. /**
  78836. * (Highcharts) The minimum size for a pie in response to auto margins. The
  78837. * pie will try to shrink to make room for data labels in side the plot
  78838. * area, but only to this size.
  78839. */
  78840. minSize?: (number|string);
  78841. /**
  78842. * (Highstock) Options for the corresponding navigator series if
  78843. * `showInNavigator` is `true` for this series. Available options are the
  78844. * same as any series, documented at plotOptions and series.
  78845. *
  78846. * These options are merged with options in navigator.series, and will take
  78847. * precedence if the same option is defined both places.
  78848. */
  78849. navigatorOptions?: PlotSeriesOptions;
  78850. /**
  78851. * (Highcharts) The pyramid neck width is zero by default, as opposed to the
  78852. * funnel, which shares the same layout logic.
  78853. */
  78854. neckHeight?: string;
  78855. /**
  78856. * (Highcharts) The pyramid neck width is zero by default, as opposed to the
  78857. * funnel, which shares the same layout logic.
  78858. */
  78859. neckWidth?: string;
  78860. /**
  78861. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  78862. * dataLabels.
  78863. */
  78864. opacity?: number;
  78865. /**
  78866. * (Highcharts) Properties for each single point.
  78867. */
  78868. point?: PlotSeriesPointOptions;
  78869. /**
  78870. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  78871. * individual series. Overrides the chart wide configuration.
  78872. */
  78873. pointDescriptionFormatter?: Function;
  78874. /**
  78875. * (Highstock) The width of each point on the x axis. For example in a
  78876. * column chart with one value each day, the pointRange would be 1 day (= 24
  78877. * * 3600
  78878. *
  78879. * * 1000 milliseconds). This is normally computed automatically, but this
  78880. * option can be used to override the automatic value.
  78881. */
  78882. pointRange?: number;
  78883. /**
  78884. * (Highcharts) The pyramid is reversed by default, as opposed to the
  78885. * funnel, which shares the layout engine, and is not reversed.
  78886. */
  78887. reversed?: boolean;
  78888. /**
  78889. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  78890. * true, the checkbox next to the series name in the legend will be checked
  78891. * for a selected series.
  78892. */
  78893. selected?: boolean;
  78894. /**
  78895. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  78896. * the shadow can be an object configuration containing `color`, `offsetX`,
  78897. * `offsetY`, `opacity` and `width`.
  78898. */
  78899. shadow?: (boolean|ShadowOptionsObject);
  78900. /**
  78901. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  78902. * allow selecting the series. The state of the checkbox is determined by
  78903. * the `selected` option.
  78904. */
  78905. showCheckbox?: boolean;
  78906. /**
  78907. * (Highcharts) Whether to display this particular series or series type in
  78908. * the legend. Since 2.1, pies are not shown in the legend by default.
  78909. */
  78910. showInLegend?: boolean;
  78911. /**
  78912. * (Highstock) Whether or not to show the series in the navigator. Takes
  78913. * precedence over navigator.baseSeries if defined.
  78914. */
  78915. showInNavigator?: boolean;
  78916. /**
  78917. * (Highcharts) If set to `true`, the accessibility module will skip past
  78918. * the points in this series for keyboard navigation.
  78919. */
  78920. skipKeyboardNavigation?: boolean;
  78921. /**
  78922. * (Highcharts) If a point is sliced, moved out from the center, how many
  78923. * pixels should it be moved?.
  78924. */
  78925. slicedOffset?: number;
  78926. /**
  78927. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  78928. * and 90 right.
  78929. */
  78930. startAngle?: number;
  78931. /**
  78932. * (Highcharts) Options for the series states.
  78933. */
  78934. states?: SeriesStatesOptionsObject;
  78935. /**
  78936. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  78937. * event on a series isn't triggered until the mouse moves over another
  78938. * series, or out of the plot area. When false, the `mouseOut` event on a
  78939. * series is triggered when the mouse leaves the area around the series'
  78940. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  78941. * false and `tooltip.shared` is false, the tooltip will be hidden when
  78942. * moving the mouse between series.
  78943. */
  78944. stickyTracking?: boolean;
  78945. /**
  78946. * (Highcharts) A configuration object for the tooltip rendering of each
  78947. * single series. Properties are inherited from tooltip, but only the
  78948. * following properties can be defined on a series level.
  78949. */
  78950. tooltip?: SeriesTooltipOptionsObject;
  78951. /**
  78952. * (Highstock) The parameter allows setting line series type and use OHLC
  78953. * indicators. Data in OHLC format is required.
  78954. */
  78955. useOhlcData?: boolean;
  78956. /**
  78957. * (Highcharts) Set the initial visibility of the series.
  78958. */
  78959. visible?: boolean;
  78960. /**
  78961. * (Highcharts) The width of the funnel compared to the width of the plot
  78962. * area, or the pixel width if it is a number.
  78963. */
  78964. width?: (number|string);
  78965. /**
  78966. * (Highmaps) Define the z index of the series.
  78967. */
  78968. zIndex?: number;
  78969. }
  78970. /**
  78971. * (Highstock) Enable or disable the initial animation when a series is
  78972. * displayed. The animation can also be set as a configuration object. Please
  78973. * note that this option only applies to the initial animation of the series
  78974. * itself. For other animations, see chart.animation and the animation parameter
  78975. * under the API methods. The following properties are supported:
  78976. *
  78977. * - `defer`: The animation delay time in milliseconds.
  78978. *
  78979. * - `duration`: The duration of the animation in milliseconds.
  78980. *
  78981. * - `easing`: Can be a string reference to an easing function set on the `Math`
  78982. * object or a function. See the _Custom easing function_ demo below.
  78983. *
  78984. * Due to poor performance, animation is disabled in old IE browsers for several
  78985. * chart types.
  78986. */
  78987. export interface PlotRocAnimationOptions {
  78988. defer?: number;
  78989. }
  78990. /**
  78991. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  78992. * animation when a series is displayed for the `dataLabels`. The animation can
  78993. * also be set as a configuration object. Please note that this option only
  78994. * applies to the initial animation. For other animations, see chart.animation
  78995. * and the animation parameter under the API methods. The following properties
  78996. * are supported:
  78997. *
  78998. * - `defer`: The animation delay time in milliseconds.
  78999. */
  79000. export interface PlotRocDataLabelsAnimationOptions {
  79001. /**
  79002. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  79003. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  79004. * inherits defer time from the series.animation.defer.
  79005. */
  79006. defer?: number;
  79007. }
  79008. /**
  79009. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  79010. * appearing next to each data point.
  79011. *
  79012. * Since v6.2.0, multiple data labels can be applied to each single point by
  79013. * defining them as an array of configs.
  79014. *
  79015. * In styled mode, the data labels can be styled with the
  79016. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  79017. * example).
  79018. */
  79019. export interface PlotRocDataLabelsOptions {
  79020. /**
  79021. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  79022. * compared to the point. If `right`, the right side of the label should be
  79023. * touching the point. For points with an extent, like columns, the
  79024. * alignments also dictates how to align it inside the box, as given with
  79025. * the inside option. Can be one of `left`, `center` or `right`.
  79026. */
  79027. align?: (AlignValue|null);
  79028. /**
  79029. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  79030. * overlap. To make the labels less sensitive for overlapping, the
  79031. * dataLabels.padding can be set to 0.
  79032. */
  79033. allowOverlap?: boolean;
  79034. /**
  79035. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  79036. * animation when a series is displayed for the `dataLabels`. The animation
  79037. * can also be set as a configuration object. Please note that this option
  79038. * only applies to the initial animation. For other animations, see
  79039. * chart.animation and the animation parameter under the API methods. The
  79040. * following properties are supported:
  79041. *
  79042. * - `defer`: The animation delay time in milliseconds.
  79043. */
  79044. animation?: (boolean|PlotRocDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  79045. /**
  79046. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  79047. * for the data label.
  79048. */
  79049. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  79050. /**
  79051. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  79052. * label. Defaults to `undefined`.
  79053. */
  79054. borderColor?: (ColorString|GradientColorObject|PatternObject);
  79055. /**
  79056. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  79057. * the data label.
  79058. */
  79059. borderRadius?: number;
  79060. /**
  79061. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  79062. * the data label.
  79063. */
  79064. borderWidth?: number;
  79065. /**
  79066. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  79067. * Particularly in styled mode, this can be used to give each series' or
  79068. * point's data label unique styling. In addition to this option, a default
  79069. * color class name is added so that we can give the labels a contrast text
  79070. * shadow.
  79071. */
  79072. className?: string;
  79073. /**
  79074. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  79075. * labels. Defaults to `undefined`. For certain series types, like column or
  79076. * map, the data labels can be drawn inside the points. In this case the
  79077. * data label will be drawn with maximum contrast by default. Additionally,
  79078. * it will be given a `text-outline` style with the opposite color, to
  79079. * further increase the contrast. This can be overridden by setting the
  79080. * `text-outline` style to `none` in the `dataLabels.style` option.
  79081. */
  79082. color?: (ColorString|GradientColorObject|PatternObject);
  79083. /**
  79084. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  79085. * are outside the plot area. By default, the data label is moved inside the
  79086. * plot area according to the overflow option.
  79087. */
  79088. crop?: boolean;
  79089. /**
  79090. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  79091. * labels until the initial series animation has finished. Setting to
  79092. * `false` renders the data label immediately. If set to `true` inherits the
  79093. * defer time set in plotOptions.series.animation. If set to a number, a
  79094. * defer time is specified in milliseconds.
  79095. */
  79096. defer?: (boolean|number);
  79097. /**
  79098. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  79099. * labels.
  79100. */
  79101. enabled?: boolean;
  79102. /**
  79103. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  79104. * of which data labels to display. The declarative filter is designed for
  79105. * use when callback functions are not available, like when the chart
  79106. * options require a pure JSON structure or for use with graphical editors.
  79107. * For programmatic control, use the `formatter` instead, and return
  79108. * `undefined` to disable a single data label.
  79109. */
  79110. filter?: DataLabelsFilterOptionsObject;
  79111. /**
  79112. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  79113. * label. Available variables are the same as for `formatter`.
  79114. */
  79115. format?: string;
  79116. /**
  79117. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  79118. * format the data label. Note that if a `format` is defined, the format
  79119. * takes precedence and the formatter is ignored.
  79120. */
  79121. formatter?: DataLabelsFormatterCallbackFunction;
  79122. /**
  79123. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  79124. * columns or map areas, whether to align the data label inside the box or
  79125. * to the actual value point. Defaults to `false` in most cases, `true` in
  79126. * stacked columns.
  79127. */
  79128. inside?: boolean;
  79129. /**
  79130. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  79131. * of null. Works analogously to format. `nullFormat` can be applied only to
  79132. * series which support displaying null points.
  79133. */
  79134. nullFormat?: (boolean|string);
  79135. /**
  79136. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  79137. * that defines formatting for points with the value of null. Works
  79138. * analogously to formatter. `nullPointFormatter` can be applied only to
  79139. * series which support displaying null points.
  79140. */
  79141. nullFormatter?: DataLabelsFormatterCallbackFunction;
  79142. /**
  79143. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  79144. * flow outside the plot area. The default is `"justify"`, which aligns them
  79145. * inside the plot area. For columns and bars, this means it will be moved
  79146. * inside the bar. To display data labels outside the plot area, set `crop`
  79147. * to `false` and `overflow` to `"allow"`.
  79148. */
  79149. overflow?: DataLabelsOverflowValue;
  79150. /**
  79151. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  79152. * the `backgroundColor` is set, this is the padding within the box.
  79153. */
  79154. padding?: number;
  79155. /**
  79156. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  79157. * points. If `center` alignment is not possible, it defaults to `right`.
  79158. */
  79159. position?: AlignValue;
  79160. /**
  79161. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  79162. * that due to a more complex structure, backgrounds, borders and padding
  79163. * will be lost on a rotated data label.
  79164. */
  79165. rotation?: number;
  79166. /**
  79167. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  79168. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  79169. * an object configuration containing `color`, `offsetX`, `offsetY`,
  79170. * `opacity` and `width`.
  79171. */
  79172. shadow?: (boolean|ShadowOptionsObject);
  79173. /**
  79174. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  79175. * the border around the label. Symbols are predefined functions on the
  79176. * Renderer object.
  79177. */
  79178. shape?: string;
  79179. /**
  79180. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  79181. * default `color` setting is `"contrast"`, which is a pseudo color that
  79182. * Highcharts picks up and applies the maximum contrast to the underlying
  79183. * point item, for example the bar in a bar chart.
  79184. *
  79185. * The `textOutline` is a pseudo property that applies an outline of the
  79186. * given width with the given color, which by default is the maximum
  79187. * contrast to the text. So a bright text color will result in a black text
  79188. * outline for maximum readability on a mixed background. In some cases,
  79189. * especially with grayscale text, the text outline doesn't work well, in
  79190. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  79191. * is true, the `textOutline` will not be picked up. In this, case, the same
  79192. * effect can be acheived through the `text-shadow` CSS property.
  79193. *
  79194. * For some series types, where each point has an extent, like for example
  79195. * tree maps, the data label may overflow the point. There are two
  79196. * strategies for handling overflow. By default, the text will wrap to
  79197. * multiple lines. The other strategy is to set `style.textOverflow` to
  79198. * `ellipsis`, which will keep the text on one line plus it will break
  79199. * inside long words.
  79200. */
  79201. style?: CSSObject;
  79202. /**
  79203. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  79204. * should follow marker's shape. Border and background are disabled for a
  79205. * label that follows a path.
  79206. *
  79207. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  79208. * to true will disable this option.
  79209. */
  79210. textPath?: DataLabelsTextPathOptionsObject;
  79211. /**
  79212. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  79213. * the labels.
  79214. */
  79215. useHTML?: boolean;
  79216. /**
  79217. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  79218. * label. Can be one of `top`, `middle` or `bottom`. The default value
  79219. * depends on the data, for instance in a column chart, the label is above
  79220. * positive values and below negative values.
  79221. */
  79222. verticalAlign?: (VerticalAlignValue|null);
  79223. /**
  79224. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  79225. * label relative to the point in pixels.
  79226. */
  79227. x?: number;
  79228. /**
  79229. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  79230. * label relative to the point in pixels.
  79231. */
  79232. y?: number;
  79233. /**
  79234. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  79235. * The default Z index puts it above the series. Use a Z index of 2 to
  79236. * display it behind the series.
  79237. */
  79238. z?: number;
  79239. }
  79240. /**
  79241. * (Highcharts, Highstock) Options for the series data sorting.
  79242. */
  79243. export interface PlotRocDataSortingOptions {
  79244. /**
  79245. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  79246. * Use xAxis.reversed to change the sorting order.
  79247. */
  79248. enabled?: boolean;
  79249. /**
  79250. * (Highcharts, Highstock) Whether to allow matching points by name in an
  79251. * update. If this option is disabled, points will be matched by order.
  79252. */
  79253. matchByName?: boolean;
  79254. /**
  79255. * (Highcharts, Highstock) Determines what data value should be used to sort
  79256. * by.
  79257. */
  79258. sortKey?: string;
  79259. }
  79260. /**
  79261. * (Highstock) Rate of change indicator (ROC). The indicator value for each
  79262. * point is defined as:
  79263. *
  79264. * `(C - Cn) / Cn * 100`
  79265. *
  79266. * where: `C` is the close value of the point of the same x in the linked series
  79267. * and `Cn` is the close value of the point `n` periods ago. `n` is set through
  79268. * period.
  79269. *
  79270. * This series requires `linkedTo` option to be set.
  79271. *
  79272. * In TypeScript the type option must always be set.
  79273. *
  79274. * Configuration options for the series are given in three levels:
  79275. *
  79276. * 1. Options for all series in a chart are defined in the plotOptions.series
  79277. * object.
  79278. *
  79279. * 2. Options for all `roc` series are defined in plotOptions.roc.
  79280. *
  79281. * 3. Options for one single series are given in the series instance array. (see
  79282. * online documentation for example)
  79283. */
  79284. export interface PlotRocOptions {
  79285. /**
  79286. * (Highstock) Accessibility options for a series.
  79287. */
  79288. accessibility?: SeriesAccessibilityOptionsObject;
  79289. /**
  79290. * (Highstock) Allow this series' points to be selected by clicking on the
  79291. * graphic (columns, point markers, pie slices, map areas etc).
  79292. *
  79293. * The selected points can be handled by point select and unselect events,
  79294. * or collectively by the getSelectedPoints function.
  79295. *
  79296. * And alternative way of selecting points is through dragging.
  79297. */
  79298. allowPointSelect?: boolean;
  79299. /**
  79300. * (Highstock) Enable or disable the initial animation when a series is
  79301. * displayed. The animation can also be set as a configuration object.
  79302. * Please note that this option only applies to the initial animation of the
  79303. * series itself. For other animations, see chart.animation and the
  79304. * animation parameter under the API methods. The following properties are
  79305. * supported:
  79306. *
  79307. * - `defer`: The animation delay time in milliseconds.
  79308. *
  79309. * - `duration`: The duration of the animation in milliseconds.
  79310. *
  79311. * - `easing`: Can be a string reference to an easing function set on the
  79312. * `Math` object or a function. See the _Custom easing function_ demo below.
  79313. *
  79314. * Due to poor performance, animation is disabled in old IE browsers for
  79315. * several chart types.
  79316. */
  79317. animation?: (boolean|PlotRocAnimationOptions|Partial<AnimationOptionsObject>);
  79318. /**
  79319. * (Highstock) For some series, there is a limit that shuts down initial
  79320. * animation by default when the total number of points in the chart is too
  79321. * high. For example, for a column chart and its derivatives, animation does
  79322. * not run if there is more than 250 points totally. To disable this cap,
  79323. * set `animationLimit` to `Infinity`.
  79324. */
  79325. animationLimit?: number;
  79326. /**
  79327. * (Highstock) Sets the color blending in the boost module.
  79328. */
  79329. boostBlending?: OptionsBoostBlendingValue;
  79330. /**
  79331. * (Highstock) Set the point threshold for when a series should enter boost
  79332. * mode.
  79333. *
  79334. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  79335. * there are 2000 or more points in the series.
  79336. *
  79337. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  79338. * it to 1 will force boosting.
  79339. *
  79340. * Note that the cropThreshold also affects this setting. When zooming in on
  79341. * a series that has fewer points than the `cropThreshold`, all points are
  79342. * rendered although outside the visible plot area, and the `boostThreshold`
  79343. * won't take effect.
  79344. */
  79345. boostThreshold?: number;
  79346. /**
  79347. * (Highmaps) The border color of the map areas.
  79348. *
  79349. * In styled mode, the border stroke is given in the `.highcharts-point`
  79350. * class.
  79351. */
  79352. borderColor?: (ColorString|GradientColorObject|PatternObject);
  79353. /**
  79354. * (Highmaps) The border width of each map area.
  79355. *
  79356. * In styled mode, the border stroke width is given in the
  79357. * `.highcharts-point` class.
  79358. */
  79359. borderWidth?: number;
  79360. /**
  79361. * (Highstock) An additional class name to apply to the series' graphical
  79362. * elements. This option does not replace default class names of the
  79363. * graphical element.
  79364. */
  79365. className?: string;
  79366. /**
  79367. * (Highstock) Disable this option to allow series rendering in the whole
  79368. * plotting area.
  79369. *
  79370. * **Note:** Clipping should be always enabled when chart.zoomType is set
  79371. */
  79372. clip?: boolean;
  79373. /**
  79374. * (Highstock) The main color of the series. In line type series it applies
  79375. * to the line and the point markers unless otherwise specified. In bar type
  79376. * series it applies to the bars unless a color is specified per point. The
  79377. * default value is pulled from the `options.colors` array.
  79378. *
  79379. * In styled mode, the color can be defined by the colorIndex option. Also,
  79380. * the series color can be set with the `.highcharts-series`,
  79381. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  79382. * `.highcharts-series-{n}` class, or individual classes given by the
  79383. * `className` option.
  79384. */
  79385. color?: (ColorString|GradientColorObject|PatternObject);
  79386. /**
  79387. * (Highstock) Styled mode only. A specific color index to use for the
  79388. * series, so its graphic representations are given the class name
  79389. * `highcharts-color-{n}`.
  79390. */
  79391. colorIndex?: number;
  79392. /**
  79393. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  79394. * used to calculate point color if `colorAxis` is used. Requires to set
  79395. * `min` and `max` if some custom point property is used or if approximation
  79396. * for data grouping is set to `'sum'`.
  79397. */
  79398. colorKey?: string;
  79399. /**
  79400. * (Highstock) Compare the values of the series against the first non-null,
  79401. * non- zero value in the visible range. The y axis will show percentage or
  79402. * absolute change depending on whether `compare` is set to `"percent"` or
  79403. * `"value"`. When this is applied to multiple series, it allows comparing
  79404. * the development of the series against each other. Adds a `change` field
  79405. * to every point object.
  79406. */
  79407. compare?: string;
  79408. /**
  79409. * (Highstock) When compare is `percent`, this option dictates whether to
  79410. * use 0 or 100 as the base of comparison.
  79411. */
  79412. compareBase?: (0|100);
  79413. /**
  79414. * (Highstock) Defines if comparison should start from the first point
  79415. * within the visible range or should start from the first point **before**
  79416. * the range.
  79417. *
  79418. * In other words, this flag determines if first point within the visible
  79419. * range will have 0% (`compareStart=true`) or should have been already
  79420. * calculated according to the previous point (`compareStart=false`).
  79421. */
  79422. compareStart?: boolean;
  79423. /**
  79424. * (Highstock) Whether to compare indicator to the main series values or
  79425. * indicator values.
  79426. */
  79427. compareToMain?: boolean;
  79428. /**
  79429. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  79430. * series plot across the extremes.
  79431. */
  79432. connectEnds?: boolean;
  79433. /**
  79434. * (Highcharts, Highstock) Whether to connect a graph line across null
  79435. * points, or render a gap between the two points on either side of the
  79436. * null.
  79437. */
  79438. connectNulls?: boolean;
  79439. /**
  79440. * (Gantt) Override Pathfinder connector options for a series. Requires
  79441. * Highcharts Gantt to be loaded.
  79442. */
  79443. connectors?: SeriesConnectorsOptionsObject;
  79444. /**
  79445. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  79446. * rounded to its nearest pixel in order to render sharp on screen. In some
  79447. * cases, when there are a lot of densely packed columns, this leads to
  79448. * visible difference in column widths or distance between columns. In these
  79449. * cases, setting `crisp` to `false` may look better, even though each
  79450. * column is rendered blurry.
  79451. */
  79452. crisp?: boolean;
  79453. /**
  79454. * (Highcharts, Highstock) When the series contains less points than the
  79455. * crop threshold, all points are drawn, even if the points fall outside the
  79456. * visible plot area at the current zoom. The advantage of drawing all
  79457. * points (including markers and columns), is that animation is performed on
  79458. * updates. On the other hand, when the series contains more points than the
  79459. * crop threshold, the series data is cropped to only contain points that
  79460. * fall within the plot area. The advantage of cropping away invisible
  79461. * points is to increase performance on large series.
  79462. */
  79463. cropThreshold?: number;
  79464. /**
  79465. * (Highstock) You can set the cursor to "pointer" if you have click events
  79466. * attached to the series, to signal to the user that the points and lines
  79467. * can be clicked.
  79468. *
  79469. * In styled mode, the series cursor can be set with the same classes as
  79470. * listed under series.color.
  79471. */
  79472. cursor?: (string|CursorValue);
  79473. /**
  79474. * (Highstock) A reserved subspace to store options and values for
  79475. * customized functionality. Here you can add additional data for your own
  79476. * event callbacks and formatter callbacks.
  79477. */
  79478. custom?: Dictionary<any>;
  79479. /**
  79480. * (Highstock) Name of the dash style to use for the graph, or for some
  79481. * series types the outline of each shape.
  79482. *
  79483. * In styled mode, the stroke dash-array can be set with the same classes as
  79484. * listed under series.color.
  79485. */
  79486. dashStyle?: DashStyleValue;
  79487. /**
  79488. * (Highstock) Data grouping is the concept of sampling the data values into
  79489. * larger blocks in order to ease readability and increase performance of
  79490. * the JavaScript charts. Highcharts Stock by default applies data grouping
  79491. * when the points become closer than a certain pixel value, determined by
  79492. * the `groupPixelWidth` option.
  79493. *
  79494. * If data grouping is applied, the grouping information of grouped points
  79495. * can be read from the Point.dataGroup. If point options other than the
  79496. * data itself are set, for example `name` or `color` or custom properties,
  79497. * the grouping logic doesn't know how to group it. In this case the options
  79498. * of the first point instance are copied over to the group point. This can
  79499. * be altered through a custom `approximation` callback function.
  79500. */
  79501. dataGrouping?: DataGroupingOptionsObject;
  79502. /**
  79503. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  79504. * labels, appearing next to each data point.
  79505. *
  79506. * Since v6.2.0, multiple data labels can be applied to each single point by
  79507. * defining them as an array of configs.
  79508. *
  79509. * In styled mode, the data labels can be styled with the
  79510. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  79511. * (see example).
  79512. */
  79513. dataLabels?: (PlotRocDataLabelsOptions|Array<PlotRocDataLabelsOptions>);
  79514. /**
  79515. * (Highcharts, Highstock) Options for the series data sorting.
  79516. */
  79517. dataSorting?: (DataSortingOptionsObject|PlotRocDataSortingOptions);
  79518. /**
  79519. * (Highstock) A description of the series to add to the screen reader
  79520. * information about the series.
  79521. */
  79522. description?: string;
  79523. /**
  79524. * (Highstock) Enable or disable the mouse tracking for a specific series.
  79525. * This includes point tooltips and click events on graphs and points. For
  79526. * large datasets it improves performance.
  79527. */
  79528. enableMouseTracking?: boolean;
  79529. /**
  79530. * (Highstock) General event handlers for the series items. These event
  79531. * hooks can also be attached to the series at run time using the
  79532. * `Highcharts.addEvent` function.
  79533. */
  79534. events?: SeriesEventsOptionsObject;
  79535. /**
  79536. * (Highstock) Determines whether the series should look for the nearest
  79537. * point in both dimensions or just the x-dimension when hovering the
  79538. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  79539. * series. If the data has duplicate x-values, it is recommended to set this
  79540. * to `'xy'` to allow hovering over all points.
  79541. *
  79542. * Applies only to series types using nearest neighbor search (not direct
  79543. * hover) for tooltip.
  79544. */
  79545. findNearestPointBy?: OptionsFindNearestPointByValue;
  79546. /**
  79547. * (Highstock) Defines when to display a gap in the graph, together with the
  79548. * gapUnit option.
  79549. *
  79550. * In case when `dataGrouping` is enabled, points can be grouped into a
  79551. * larger time span. This can make the grouped points to have a greater
  79552. * distance than the absolute value of `gapSize` property, which will result
  79553. * in disappearing graph completely. To prevent this situation the mentioned
  79554. * distance between grouped points is used instead of previously defined
  79555. * `gapSize`.
  79556. *
  79557. * In practice, this option is most often used to visualize gaps in time
  79558. * series. In a stock chart, intraday data is available for daytime hours,
  79559. * while gaps will appear in nights and weekends.
  79560. */
  79561. gapSize?: number;
  79562. /**
  79563. * (Highstock) Together with gapSize, this option defines where to draw gaps
  79564. * in the graph.
  79565. *
  79566. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  79567. * if the distance between two points is greater than 5 times that of the
  79568. * two closest points, the graph will be broken.
  79569. *
  79570. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  79571. * values, which on a datetime axis is milliseconds. This also applies to
  79572. * the navigator series that inherits gap options from the base series.
  79573. */
  79574. gapUnit?: OptionsGapUnitValue;
  79575. /**
  79576. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  79577. * chart width or only the zoomed area when zooming in on parts of the X
  79578. * axis. By default, the Y axis adjusts to the min and max of the visible
  79579. * data. Cartesian series only.
  79580. */
  79581. getExtremesFromAll?: boolean;
  79582. /**
  79583. * (Highstock) When set to `false` will prevent the series data from being
  79584. * included in any form of data export.
  79585. *
  79586. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  79587. * `includeInCSVExport`.
  79588. */
  79589. includeInDataExport?: boolean;
  79590. /**
  79591. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  79592. * series as possible in a natural way, seeking to avoid other series. The
  79593. * goal of this feature is to make the chart more easily readable, like if a
  79594. * human designer placed the labels in the optimal position.
  79595. *
  79596. * The series labels currently work with series types having a `graph` or an
  79597. * `area`.
  79598. */
  79599. label?: SeriesLabelOptionsObject;
  79600. /**
  79601. * (Highstock) The line marks the last price from all points.
  79602. */
  79603. lastPrice?: SeriesLastPriceOptionsObject;
  79604. /**
  79605. * (Highstock) The line marks the last price from visible range of points.
  79606. */
  79607. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  79608. /**
  79609. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  79610. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  79611. * the ends and bends.
  79612. */
  79613. linecap?: SeriesLinecapValue;
  79614. /**
  79615. * (Highcharts, Highstock) Pixel width of the graph line.
  79616. */
  79617. lineWidth?: number;
  79618. /**
  79619. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  79620. * based on. Required for this indicator.
  79621. */
  79622. linkedTo?: string;
  79623. /**
  79624. * (Highstock) Options for the point markers of line-like series. Properties
  79625. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  79626. * appearance of the markers. Other series types, like column series, don't
  79627. * have markers, but have visual options on the series level instead.
  79628. *
  79629. * In styled mode, the markers can be styled with the `.highcharts-point`,
  79630. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  79631. */
  79632. marker?: PointMarkerOptionsObject;
  79633. /**
  79634. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  79635. * If not set, it will be based on a technical indicator type and default
  79636. * params.
  79637. */
  79638. name?: string;
  79639. /**
  79640. * (Highstock) The color for the parts of the graph or points that are below
  79641. * the threshold. Note that `zones` takes precedence over the negative
  79642. * color. Using `negativeColor` is equivalent to applying a zone with value
  79643. * of 0.
  79644. */
  79645. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  79646. /**
  79647. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  79648. * dataLabels.
  79649. */
  79650. opacity?: number;
  79651. /**
  79652. * (Highstock) Paramters used in calculation of regression series' points.
  79653. */
  79654. params?: PlotRocParamsOptions;
  79655. /**
  79656. * (Highstock) Properties for each single point.
  79657. */
  79658. point?: PlotSeriesPointOptions;
  79659. /**
  79660. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  79661. * individual series. Overrides the chart wide configuration.
  79662. */
  79663. pointDescriptionFormatter?: Function;
  79664. /**
  79665. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  79666. * true, the checkbox next to the series name in the legend will be checked
  79667. * for a selected series.
  79668. */
  79669. selected?: boolean;
  79670. /**
  79671. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  79672. * the shadow can be an object configuration containing `color`, `offsetX`,
  79673. * `offsetY`, `opacity` and `width`.
  79674. */
  79675. shadow?: (boolean|ShadowOptionsObject);
  79676. /**
  79677. * (Highstock) If true, a checkbox is displayed next to the legend item to
  79678. * allow selecting the series. The state of the checkbox is determined by
  79679. * the `selected` option.
  79680. */
  79681. showCheckbox?: boolean;
  79682. /**
  79683. * (Highstock) Whether to display this particular series or series type in
  79684. * the legend. Standalone series are shown in legend by default, and linked
  79685. * series are not. Since v7.2.0 it is possible to show series that use
  79686. * colorAxis by setting this option to `true`.
  79687. */
  79688. showInLegend?: boolean;
  79689. /**
  79690. * (Highstock) If set to `true`, the accessibility module will skip past the
  79691. * points in this series for keyboard navigation.
  79692. */
  79693. skipKeyboardNavigation?: boolean;
  79694. /**
  79695. * (Highcharts, Highstock) When this is true, the series will not cause the
  79696. * Y axis to cross the zero plane (or threshold option) unless the data
  79697. * actually crosses the plane.
  79698. *
  79699. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  79700. * make the Y axis show negative values according to the `minPadding`
  79701. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  79702. */
  79703. softThreshold?: boolean;
  79704. states?: SeriesStatesOptionsObject;
  79705. /**
  79706. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  79707. * values are `left`, `center` and `right`.
  79708. */
  79709. step?: OptionsStepValue;
  79710. /**
  79711. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  79712. * event on a series isn't triggered until the mouse moves over another
  79713. * series, or out of the plot area. When false, the `mouseOut` event on a
  79714. * series is triggered when the mouse leaves the area around the series'
  79715. * graph or markers. This also implies the tooltip when not shared. When
  79716. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  79717. * be hidden when moving the mouse between series. Defaults to true for line
  79718. * and area type series, but to false for columns, pies etc.
  79719. *
  79720. * **Note:** The boost module will force this option because of technical
  79721. * limitations.
  79722. */
  79723. stickyTracking?: boolean;
  79724. /**
  79725. * (Highcharts, Highstock) The threshold, also called zero level or base
  79726. * level. For line type series this is only used in conjunction with
  79727. * negativeColor.
  79728. */
  79729. threshold?: (number|null);
  79730. /**
  79731. * (Highstock) A configuration object for the tooltip rendering of each
  79732. * single series. Properties are inherited from tooltip, but only the
  79733. * following properties can be defined on a series level.
  79734. */
  79735. tooltip?: SeriesTooltipOptionsObject;
  79736. /**
  79737. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  79738. * is longer than this, only one dimensional arrays of numbers, or two
  79739. * dimensional arrays with x and y values are allowed. Also, only the first
  79740. * point is tested, and the rest are assumed to be the same format. This
  79741. * saves expensive data checking and indexing in long series. Set it to `0`
  79742. * disable.
  79743. *
  79744. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  79745. * two dimensional arrays are allowed.
  79746. */
  79747. turboThreshold?: number;
  79748. /**
  79749. * (Highstock) Set the initial visibility of the series.
  79750. */
  79751. visible?: boolean;
  79752. /**
  79753. * (Highmaps) Define the z index of the series.
  79754. */
  79755. zIndex?: number;
  79756. /**
  79757. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  79758. */
  79759. zoneAxis?: string;
  79760. /**
  79761. * (Highcharts, Highstock) An array defining zones within a series. Zones
  79762. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  79763. * the `zoneAxis` option. The zone definitions have to be in ascending order
  79764. * regarding to the value.
  79765. *
  79766. * In styled mode, the color zones are styled with the
  79767. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  79768. * option (view live demo).
  79769. */
  79770. zones?: Array<SeriesZonesOptionsObject>;
  79771. }
  79772. /**
  79773. * (Highstock) Paramters used in calculation of regression series' points.
  79774. */
  79775. export interface PlotRocParamsOptions {
  79776. /**
  79777. * (Highstock) The point index which indicator calculations will base. For
  79778. * example using OHLC data, index=2 means the indicator will be calculated
  79779. * using Low values.
  79780. */
  79781. index?: number;
  79782. /**
  79783. * (Highstock) The base period for indicator calculations. This is the
  79784. * number of data points which are taken into account for the indicator
  79785. * calculations.
  79786. */
  79787. period?: number;
  79788. }
  79789. /**
  79790. * (Highstock) Enable or disable the initial animation when a series is
  79791. * displayed. The animation can also be set as a configuration object. Please
  79792. * note that this option only applies to the initial animation of the series
  79793. * itself. For other animations, see chart.animation and the animation parameter
  79794. * under the API methods. The following properties are supported:
  79795. *
  79796. * - `defer`: The animation delay time in milliseconds.
  79797. *
  79798. * - `duration`: The duration of the animation in milliseconds.
  79799. *
  79800. * - `easing`: Can be a string reference to an easing function set on the `Math`
  79801. * object or a function. See the _Custom easing function_ demo below.
  79802. *
  79803. * Due to poor performance, animation is disabled in old IE browsers for several
  79804. * chart types.
  79805. */
  79806. export interface PlotRsiAnimationOptions {
  79807. defer?: number;
  79808. }
  79809. /**
  79810. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  79811. * animation when a series is displayed for the `dataLabels`. The animation can
  79812. * also be set as a configuration object. Please note that this option only
  79813. * applies to the initial animation. For other animations, see chart.animation
  79814. * and the animation parameter under the API methods. The following properties
  79815. * are supported:
  79816. *
  79817. * - `defer`: The animation delay time in milliseconds.
  79818. */
  79819. export interface PlotRsiDataLabelsAnimationOptions {
  79820. /**
  79821. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  79822. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  79823. * inherits defer time from the series.animation.defer.
  79824. */
  79825. defer?: number;
  79826. }
  79827. /**
  79828. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  79829. * appearing next to each data point.
  79830. *
  79831. * Since v6.2.0, multiple data labels can be applied to each single point by
  79832. * defining them as an array of configs.
  79833. *
  79834. * In styled mode, the data labels can be styled with the
  79835. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  79836. * example).
  79837. */
  79838. export interface PlotRsiDataLabelsOptions {
  79839. /**
  79840. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  79841. * compared to the point. If `right`, the right side of the label should be
  79842. * touching the point. For points with an extent, like columns, the
  79843. * alignments also dictates how to align it inside the box, as given with
  79844. * the inside option. Can be one of `left`, `center` or `right`.
  79845. */
  79846. align?: (AlignValue|null);
  79847. /**
  79848. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  79849. * overlap. To make the labels less sensitive for overlapping, the
  79850. * dataLabels.padding can be set to 0.
  79851. */
  79852. allowOverlap?: boolean;
  79853. /**
  79854. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  79855. * animation when a series is displayed for the `dataLabels`. The animation
  79856. * can also be set as a configuration object. Please note that this option
  79857. * only applies to the initial animation. For other animations, see
  79858. * chart.animation and the animation parameter under the API methods. The
  79859. * following properties are supported:
  79860. *
  79861. * - `defer`: The animation delay time in milliseconds.
  79862. */
  79863. animation?: (boolean|PlotRsiDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  79864. /**
  79865. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  79866. * for the data label.
  79867. */
  79868. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  79869. /**
  79870. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  79871. * label. Defaults to `undefined`.
  79872. */
  79873. borderColor?: (ColorString|GradientColorObject|PatternObject);
  79874. /**
  79875. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  79876. * the data label.
  79877. */
  79878. borderRadius?: number;
  79879. /**
  79880. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  79881. * the data label.
  79882. */
  79883. borderWidth?: number;
  79884. /**
  79885. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  79886. * Particularly in styled mode, this can be used to give each series' or
  79887. * point's data label unique styling. In addition to this option, a default
  79888. * color class name is added so that we can give the labels a contrast text
  79889. * shadow.
  79890. */
  79891. className?: string;
  79892. /**
  79893. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  79894. * labels. Defaults to `undefined`. For certain series types, like column or
  79895. * map, the data labels can be drawn inside the points. In this case the
  79896. * data label will be drawn with maximum contrast by default. Additionally,
  79897. * it will be given a `text-outline` style with the opposite color, to
  79898. * further increase the contrast. This can be overridden by setting the
  79899. * `text-outline` style to `none` in the `dataLabels.style` option.
  79900. */
  79901. color?: (ColorString|GradientColorObject|PatternObject);
  79902. /**
  79903. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  79904. * are outside the plot area. By default, the data label is moved inside the
  79905. * plot area according to the overflow option.
  79906. */
  79907. crop?: boolean;
  79908. /**
  79909. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  79910. * labels until the initial series animation has finished. Setting to
  79911. * `false` renders the data label immediately. If set to `true` inherits the
  79912. * defer time set in plotOptions.series.animation. If set to a number, a
  79913. * defer time is specified in milliseconds.
  79914. */
  79915. defer?: (boolean|number);
  79916. /**
  79917. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  79918. * labels.
  79919. */
  79920. enabled?: boolean;
  79921. /**
  79922. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  79923. * of which data labels to display. The declarative filter is designed for
  79924. * use when callback functions are not available, like when the chart
  79925. * options require a pure JSON structure or for use with graphical editors.
  79926. * For programmatic control, use the `formatter` instead, and return
  79927. * `undefined` to disable a single data label.
  79928. */
  79929. filter?: DataLabelsFilterOptionsObject;
  79930. /**
  79931. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  79932. * label. Available variables are the same as for `formatter`.
  79933. */
  79934. format?: string;
  79935. /**
  79936. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  79937. * format the data label. Note that if a `format` is defined, the format
  79938. * takes precedence and the formatter is ignored.
  79939. */
  79940. formatter?: DataLabelsFormatterCallbackFunction;
  79941. /**
  79942. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  79943. * columns or map areas, whether to align the data label inside the box or
  79944. * to the actual value point. Defaults to `false` in most cases, `true` in
  79945. * stacked columns.
  79946. */
  79947. inside?: boolean;
  79948. /**
  79949. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  79950. * of null. Works analogously to format. `nullFormat` can be applied only to
  79951. * series which support displaying null points.
  79952. */
  79953. nullFormat?: (boolean|string);
  79954. /**
  79955. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  79956. * that defines formatting for points with the value of null. Works
  79957. * analogously to formatter. `nullPointFormatter` can be applied only to
  79958. * series which support displaying null points.
  79959. */
  79960. nullFormatter?: DataLabelsFormatterCallbackFunction;
  79961. /**
  79962. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  79963. * flow outside the plot area. The default is `"justify"`, which aligns them
  79964. * inside the plot area. For columns and bars, this means it will be moved
  79965. * inside the bar. To display data labels outside the plot area, set `crop`
  79966. * to `false` and `overflow` to `"allow"`.
  79967. */
  79968. overflow?: DataLabelsOverflowValue;
  79969. /**
  79970. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  79971. * the `backgroundColor` is set, this is the padding within the box.
  79972. */
  79973. padding?: number;
  79974. /**
  79975. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  79976. * points. If `center` alignment is not possible, it defaults to `right`.
  79977. */
  79978. position?: AlignValue;
  79979. /**
  79980. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  79981. * that due to a more complex structure, backgrounds, borders and padding
  79982. * will be lost on a rotated data label.
  79983. */
  79984. rotation?: number;
  79985. /**
  79986. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  79987. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  79988. * an object configuration containing `color`, `offsetX`, `offsetY`,
  79989. * `opacity` and `width`.
  79990. */
  79991. shadow?: (boolean|ShadowOptionsObject);
  79992. /**
  79993. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  79994. * the border around the label. Symbols are predefined functions on the
  79995. * Renderer object.
  79996. */
  79997. shape?: string;
  79998. /**
  79999. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  80000. * default `color` setting is `"contrast"`, which is a pseudo color that
  80001. * Highcharts picks up and applies the maximum contrast to the underlying
  80002. * point item, for example the bar in a bar chart.
  80003. *
  80004. * The `textOutline` is a pseudo property that applies an outline of the
  80005. * given width with the given color, which by default is the maximum
  80006. * contrast to the text. So a bright text color will result in a black text
  80007. * outline for maximum readability on a mixed background. In some cases,
  80008. * especially with grayscale text, the text outline doesn't work well, in
  80009. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  80010. * is true, the `textOutline` will not be picked up. In this, case, the same
  80011. * effect can be acheived through the `text-shadow` CSS property.
  80012. *
  80013. * For some series types, where each point has an extent, like for example
  80014. * tree maps, the data label may overflow the point. There are two
  80015. * strategies for handling overflow. By default, the text will wrap to
  80016. * multiple lines. The other strategy is to set `style.textOverflow` to
  80017. * `ellipsis`, which will keep the text on one line plus it will break
  80018. * inside long words.
  80019. */
  80020. style?: CSSObject;
  80021. /**
  80022. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  80023. * should follow marker's shape. Border and background are disabled for a
  80024. * label that follows a path.
  80025. *
  80026. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  80027. * to true will disable this option.
  80028. */
  80029. textPath?: DataLabelsTextPathOptionsObject;
  80030. /**
  80031. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  80032. * the labels.
  80033. */
  80034. useHTML?: boolean;
  80035. /**
  80036. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  80037. * label. Can be one of `top`, `middle` or `bottom`. The default value
  80038. * depends on the data, for instance in a column chart, the label is above
  80039. * positive values and below negative values.
  80040. */
  80041. verticalAlign?: (VerticalAlignValue|null);
  80042. /**
  80043. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  80044. * label relative to the point in pixels.
  80045. */
  80046. x?: number;
  80047. /**
  80048. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  80049. * label relative to the point in pixels.
  80050. */
  80051. y?: number;
  80052. /**
  80053. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  80054. * The default Z index puts it above the series. Use a Z index of 2 to
  80055. * display it behind the series.
  80056. */
  80057. z?: number;
  80058. }
  80059. /**
  80060. * (Highcharts, Highstock) Options for the series data sorting.
  80061. */
  80062. export interface PlotRsiDataSortingOptions {
  80063. /**
  80064. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  80065. * Use xAxis.reversed to change the sorting order.
  80066. */
  80067. enabled?: boolean;
  80068. /**
  80069. * (Highcharts, Highstock) Whether to allow matching points by name in an
  80070. * update. If this option is disabled, points will be matched by order.
  80071. */
  80072. matchByName?: boolean;
  80073. /**
  80074. * (Highcharts, Highstock) Determines what data value should be used to sort
  80075. * by.
  80076. */
  80077. sortKey?: string;
  80078. }
  80079. /**
  80080. * (Highstock) Relative strength index (RSI) technical indicator. This series
  80081. * requires the `linkedTo` option to be set and should be loaded after the
  80082. * `stock/indicators/indicators.js` file.
  80083. *
  80084. * In TypeScript the type option must always be set.
  80085. *
  80086. * Configuration options for the series are given in three levels:
  80087. *
  80088. * 1. Options for all series in a chart are defined in the plotOptions.series
  80089. * object.
  80090. *
  80091. * 2. Options for all `rsi` series are defined in plotOptions.rsi.
  80092. *
  80093. * 3. Options for one single series are given in the series instance array. (see
  80094. * online documentation for example)
  80095. */
  80096. export interface PlotRsiOptions {
  80097. /**
  80098. * (Highstock) Accessibility options for a series.
  80099. */
  80100. accessibility?: SeriesAccessibilityOptionsObject;
  80101. /**
  80102. * (Highstock) Allow this series' points to be selected by clicking on the
  80103. * graphic (columns, point markers, pie slices, map areas etc).
  80104. *
  80105. * The selected points can be handled by point select and unselect events,
  80106. * or collectively by the getSelectedPoints function.
  80107. *
  80108. * And alternative way of selecting points is through dragging.
  80109. */
  80110. allowPointSelect?: boolean;
  80111. /**
  80112. * (Highstock) Enable or disable the initial animation when a series is
  80113. * displayed. The animation can also be set as a configuration object.
  80114. * Please note that this option only applies to the initial animation of the
  80115. * series itself. For other animations, see chart.animation and the
  80116. * animation parameter under the API methods. The following properties are
  80117. * supported:
  80118. *
  80119. * - `defer`: The animation delay time in milliseconds.
  80120. *
  80121. * - `duration`: The duration of the animation in milliseconds.
  80122. *
  80123. * - `easing`: Can be a string reference to an easing function set on the
  80124. * `Math` object or a function. See the _Custom easing function_ demo below.
  80125. *
  80126. * Due to poor performance, animation is disabled in old IE browsers for
  80127. * several chart types.
  80128. */
  80129. animation?: (boolean|PlotRsiAnimationOptions|Partial<AnimationOptionsObject>);
  80130. /**
  80131. * (Highstock) For some series, there is a limit that shuts down initial
  80132. * animation by default when the total number of points in the chart is too
  80133. * high. For example, for a column chart and its derivatives, animation does
  80134. * not run if there is more than 250 points totally. To disable this cap,
  80135. * set `animationLimit` to `Infinity`.
  80136. */
  80137. animationLimit?: number;
  80138. /**
  80139. * (Highstock) Sets the color blending in the boost module.
  80140. */
  80141. boostBlending?: OptionsBoostBlendingValue;
  80142. /**
  80143. * (Highstock) Set the point threshold for when a series should enter boost
  80144. * mode.
  80145. *
  80146. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  80147. * there are 2000 or more points in the series.
  80148. *
  80149. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  80150. * it to 1 will force boosting.
  80151. *
  80152. * Note that the cropThreshold also affects this setting. When zooming in on
  80153. * a series that has fewer points than the `cropThreshold`, all points are
  80154. * rendered although outside the visible plot area, and the `boostThreshold`
  80155. * won't take effect.
  80156. */
  80157. boostThreshold?: number;
  80158. /**
  80159. * (Highmaps) The border color of the map areas.
  80160. *
  80161. * In styled mode, the border stroke is given in the `.highcharts-point`
  80162. * class.
  80163. */
  80164. borderColor?: (ColorString|GradientColorObject|PatternObject);
  80165. /**
  80166. * (Highmaps) The border width of each map area.
  80167. *
  80168. * In styled mode, the border stroke width is given in the
  80169. * `.highcharts-point` class.
  80170. */
  80171. borderWidth?: number;
  80172. /**
  80173. * (Highstock) An additional class name to apply to the series' graphical
  80174. * elements. This option does not replace default class names of the
  80175. * graphical element.
  80176. */
  80177. className?: string;
  80178. /**
  80179. * (Highstock) Disable this option to allow series rendering in the whole
  80180. * plotting area.
  80181. *
  80182. * **Note:** Clipping should be always enabled when chart.zoomType is set
  80183. */
  80184. clip?: boolean;
  80185. /**
  80186. * (Highstock) The main color of the series. In line type series it applies
  80187. * to the line and the point markers unless otherwise specified. In bar type
  80188. * series it applies to the bars unless a color is specified per point. The
  80189. * default value is pulled from the `options.colors` array.
  80190. *
  80191. * In styled mode, the color can be defined by the colorIndex option. Also,
  80192. * the series color can be set with the `.highcharts-series`,
  80193. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  80194. * `.highcharts-series-{n}` class, or individual classes given by the
  80195. * `className` option.
  80196. */
  80197. color?: (ColorString|GradientColorObject|PatternObject);
  80198. /**
  80199. * (Highstock) Styled mode only. A specific color index to use for the
  80200. * series, so its graphic representations are given the class name
  80201. * `highcharts-color-{n}`.
  80202. */
  80203. colorIndex?: number;
  80204. /**
  80205. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  80206. * used to calculate point color if `colorAxis` is used. Requires to set
  80207. * `min` and `max` if some custom point property is used or if approximation
  80208. * for data grouping is set to `'sum'`.
  80209. */
  80210. colorKey?: string;
  80211. /**
  80212. * (Highstock) Compare the values of the series against the first non-null,
  80213. * non- zero value in the visible range. The y axis will show percentage or
  80214. * absolute change depending on whether `compare` is set to `"percent"` or
  80215. * `"value"`. When this is applied to multiple series, it allows comparing
  80216. * the development of the series against each other. Adds a `change` field
  80217. * to every point object.
  80218. */
  80219. compare?: string;
  80220. /**
  80221. * (Highstock) When compare is `percent`, this option dictates whether to
  80222. * use 0 or 100 as the base of comparison.
  80223. */
  80224. compareBase?: (0|100);
  80225. /**
  80226. * (Highstock) Defines if comparison should start from the first point
  80227. * within the visible range or should start from the first point **before**
  80228. * the range.
  80229. *
  80230. * In other words, this flag determines if first point within the visible
  80231. * range will have 0% (`compareStart=true`) or should have been already
  80232. * calculated according to the previous point (`compareStart=false`).
  80233. */
  80234. compareStart?: boolean;
  80235. /**
  80236. * (Highstock) Whether to compare indicator to the main series values or
  80237. * indicator values.
  80238. */
  80239. compareToMain?: boolean;
  80240. /**
  80241. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  80242. * series plot across the extremes.
  80243. */
  80244. connectEnds?: boolean;
  80245. /**
  80246. * (Highcharts, Highstock) Whether to connect a graph line across null
  80247. * points, or render a gap between the two points on either side of the
  80248. * null.
  80249. */
  80250. connectNulls?: boolean;
  80251. /**
  80252. * (Gantt) Override Pathfinder connector options for a series. Requires
  80253. * Highcharts Gantt to be loaded.
  80254. */
  80255. connectors?: SeriesConnectorsOptionsObject;
  80256. /**
  80257. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  80258. * rounded to its nearest pixel in order to render sharp on screen. In some
  80259. * cases, when there are a lot of densely packed columns, this leads to
  80260. * visible difference in column widths or distance between columns. In these
  80261. * cases, setting `crisp` to `false` may look better, even though each
  80262. * column is rendered blurry.
  80263. */
  80264. crisp?: boolean;
  80265. /**
  80266. * (Highcharts, Highstock) When the series contains less points than the
  80267. * crop threshold, all points are drawn, even if the points fall outside the
  80268. * visible plot area at the current zoom. The advantage of drawing all
  80269. * points (including markers and columns), is that animation is performed on
  80270. * updates. On the other hand, when the series contains more points than the
  80271. * crop threshold, the series data is cropped to only contain points that
  80272. * fall within the plot area. The advantage of cropping away invisible
  80273. * points is to increase performance on large series.
  80274. */
  80275. cropThreshold?: number;
  80276. /**
  80277. * (Highstock) You can set the cursor to "pointer" if you have click events
  80278. * attached to the series, to signal to the user that the points and lines
  80279. * can be clicked.
  80280. *
  80281. * In styled mode, the series cursor can be set with the same classes as
  80282. * listed under series.color.
  80283. */
  80284. cursor?: (string|CursorValue);
  80285. /**
  80286. * (Highstock) A reserved subspace to store options and values for
  80287. * customized functionality. Here you can add additional data for your own
  80288. * event callbacks and formatter callbacks.
  80289. */
  80290. custom?: Dictionary<any>;
  80291. /**
  80292. * (Highstock) Name of the dash style to use for the graph, or for some
  80293. * series types the outline of each shape.
  80294. *
  80295. * In styled mode, the stroke dash-array can be set with the same classes as
  80296. * listed under series.color.
  80297. */
  80298. dashStyle?: DashStyleValue;
  80299. /**
  80300. * (Highstock) Data grouping is the concept of sampling the data values into
  80301. * larger blocks in order to ease readability and increase performance of
  80302. * the JavaScript charts. Highcharts Stock by default applies data grouping
  80303. * when the points become closer than a certain pixel value, determined by
  80304. * the `groupPixelWidth` option.
  80305. *
  80306. * If data grouping is applied, the grouping information of grouped points
  80307. * can be read from the Point.dataGroup. If point options other than the
  80308. * data itself are set, for example `name` or `color` or custom properties,
  80309. * the grouping logic doesn't know how to group it. In this case the options
  80310. * of the first point instance are copied over to the group point. This can
  80311. * be altered through a custom `approximation` callback function.
  80312. */
  80313. dataGrouping?: DataGroupingOptionsObject;
  80314. /**
  80315. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  80316. * labels, appearing next to each data point.
  80317. *
  80318. * Since v6.2.0, multiple data labels can be applied to each single point by
  80319. * defining them as an array of configs.
  80320. *
  80321. * In styled mode, the data labels can be styled with the
  80322. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  80323. * (see example).
  80324. */
  80325. dataLabels?: (PlotRsiDataLabelsOptions|Array<PlotRsiDataLabelsOptions>);
  80326. /**
  80327. * (Highcharts, Highstock) Options for the series data sorting.
  80328. */
  80329. dataSorting?: (DataSortingOptionsObject|PlotRsiDataSortingOptions);
  80330. /**
  80331. * (Highstock) A description of the series to add to the screen reader
  80332. * information about the series.
  80333. */
  80334. description?: string;
  80335. /**
  80336. * (Highstock) Enable or disable the mouse tracking for a specific series.
  80337. * This includes point tooltips and click events on graphs and points. For
  80338. * large datasets it improves performance.
  80339. */
  80340. enableMouseTracking?: boolean;
  80341. /**
  80342. * (Highstock) General event handlers for the series items. These event
  80343. * hooks can also be attached to the series at run time using the
  80344. * `Highcharts.addEvent` function.
  80345. */
  80346. events?: SeriesEventsOptionsObject;
  80347. /**
  80348. * (Highstock) Determines whether the series should look for the nearest
  80349. * point in both dimensions or just the x-dimension when hovering the
  80350. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  80351. * series. If the data has duplicate x-values, it is recommended to set this
  80352. * to `'xy'` to allow hovering over all points.
  80353. *
  80354. * Applies only to series types using nearest neighbor search (not direct
  80355. * hover) for tooltip.
  80356. */
  80357. findNearestPointBy?: OptionsFindNearestPointByValue;
  80358. /**
  80359. * (Highstock) Defines when to display a gap in the graph, together with the
  80360. * gapUnit option.
  80361. *
  80362. * In case when `dataGrouping` is enabled, points can be grouped into a
  80363. * larger time span. This can make the grouped points to have a greater
  80364. * distance than the absolute value of `gapSize` property, which will result
  80365. * in disappearing graph completely. To prevent this situation the mentioned
  80366. * distance between grouped points is used instead of previously defined
  80367. * `gapSize`.
  80368. *
  80369. * In practice, this option is most often used to visualize gaps in time
  80370. * series. In a stock chart, intraday data is available for daytime hours,
  80371. * while gaps will appear in nights and weekends.
  80372. */
  80373. gapSize?: number;
  80374. /**
  80375. * (Highstock) Together with gapSize, this option defines where to draw gaps
  80376. * in the graph.
  80377. *
  80378. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  80379. * if the distance between two points is greater than 5 times that of the
  80380. * two closest points, the graph will be broken.
  80381. *
  80382. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  80383. * values, which on a datetime axis is milliseconds. This also applies to
  80384. * the navigator series that inherits gap options from the base series.
  80385. */
  80386. gapUnit?: OptionsGapUnitValue;
  80387. /**
  80388. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  80389. * chart width or only the zoomed area when zooming in on parts of the X
  80390. * axis. By default, the Y axis adjusts to the min and max of the visible
  80391. * data. Cartesian series only.
  80392. */
  80393. getExtremesFromAll?: boolean;
  80394. /**
  80395. * (Highstock) When set to `false` will prevent the series data from being
  80396. * included in any form of data export.
  80397. *
  80398. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  80399. * `includeInCSVExport`.
  80400. */
  80401. includeInDataExport?: boolean;
  80402. /**
  80403. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  80404. * series as possible in a natural way, seeking to avoid other series. The
  80405. * goal of this feature is to make the chart more easily readable, like if a
  80406. * human designer placed the labels in the optimal position.
  80407. *
  80408. * The series labels currently work with series types having a `graph` or an
  80409. * `area`.
  80410. */
  80411. label?: SeriesLabelOptionsObject;
  80412. /**
  80413. * (Highstock) The line marks the last price from all points.
  80414. */
  80415. lastPrice?: SeriesLastPriceOptionsObject;
  80416. /**
  80417. * (Highstock) The line marks the last price from visible range of points.
  80418. */
  80419. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  80420. /**
  80421. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  80422. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  80423. * the ends and bends.
  80424. */
  80425. linecap?: SeriesLinecapValue;
  80426. /**
  80427. * (Highcharts, Highstock) Pixel width of the graph line.
  80428. */
  80429. lineWidth?: number;
  80430. /**
  80431. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  80432. * based on. Required for this indicator.
  80433. */
  80434. linkedTo?: string;
  80435. /**
  80436. * (Highstock) Options for the point markers of line-like series. Properties
  80437. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  80438. * appearance of the markers. Other series types, like column series, don't
  80439. * have markers, but have visual options on the series level instead.
  80440. *
  80441. * In styled mode, the markers can be styled with the `.highcharts-point`,
  80442. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  80443. */
  80444. marker?: PointMarkerOptionsObject;
  80445. /**
  80446. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  80447. * If not set, it will be based on a technical indicator type and default
  80448. * params.
  80449. */
  80450. name?: string;
  80451. /**
  80452. * (Highstock) The color for the parts of the graph or points that are below
  80453. * the threshold. Note that `zones` takes precedence over the negative
  80454. * color. Using `negativeColor` is equivalent to applying a zone with value
  80455. * of 0.
  80456. */
  80457. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  80458. /**
  80459. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  80460. * dataLabels.
  80461. */
  80462. opacity?: number;
  80463. /**
  80464. * (Highstock) Paramters used in calculation of regression series' points.
  80465. */
  80466. params?: PlotRsiParamsOptions;
  80467. /**
  80468. * (Highstock) Properties for each single point.
  80469. */
  80470. point?: PlotSeriesPointOptions;
  80471. /**
  80472. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  80473. * individual series. Overrides the chart wide configuration.
  80474. */
  80475. pointDescriptionFormatter?: Function;
  80476. /**
  80477. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  80478. * true, the checkbox next to the series name in the legend will be checked
  80479. * for a selected series.
  80480. */
  80481. selected?: boolean;
  80482. /**
  80483. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  80484. * the shadow can be an object configuration containing `color`, `offsetX`,
  80485. * `offsetY`, `opacity` and `width`.
  80486. */
  80487. shadow?: (boolean|ShadowOptionsObject);
  80488. /**
  80489. * (Highstock) If true, a checkbox is displayed next to the legend item to
  80490. * allow selecting the series. The state of the checkbox is determined by
  80491. * the `selected` option.
  80492. */
  80493. showCheckbox?: boolean;
  80494. /**
  80495. * (Highstock) Whether to display this particular series or series type in
  80496. * the legend. Standalone series are shown in legend by default, and linked
  80497. * series are not. Since v7.2.0 it is possible to show series that use
  80498. * colorAxis by setting this option to `true`.
  80499. */
  80500. showInLegend?: boolean;
  80501. /**
  80502. * (Highstock) If set to `true`, the accessibility module will skip past the
  80503. * points in this series for keyboard navigation.
  80504. */
  80505. skipKeyboardNavigation?: boolean;
  80506. /**
  80507. * (Highcharts, Highstock) When this is true, the series will not cause the
  80508. * Y axis to cross the zero plane (or threshold option) unless the data
  80509. * actually crosses the plane.
  80510. *
  80511. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  80512. * make the Y axis show negative values according to the `minPadding`
  80513. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  80514. */
  80515. softThreshold?: boolean;
  80516. states?: SeriesStatesOptionsObject;
  80517. /**
  80518. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  80519. * values are `left`, `center` and `right`.
  80520. */
  80521. step?: OptionsStepValue;
  80522. /**
  80523. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  80524. * event on a series isn't triggered until the mouse moves over another
  80525. * series, or out of the plot area. When false, the `mouseOut` event on a
  80526. * series is triggered when the mouse leaves the area around the series'
  80527. * graph or markers. This also implies the tooltip when not shared. When
  80528. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  80529. * be hidden when moving the mouse between series. Defaults to true for line
  80530. * and area type series, but to false for columns, pies etc.
  80531. *
  80532. * **Note:** The boost module will force this option because of technical
  80533. * limitations.
  80534. */
  80535. stickyTracking?: boolean;
  80536. /**
  80537. * (Highcharts, Highstock) The threshold, also called zero level or base
  80538. * level. For line type series this is only used in conjunction with
  80539. * negativeColor.
  80540. */
  80541. threshold?: (number|null);
  80542. /**
  80543. * (Highstock) A configuration object for the tooltip rendering of each
  80544. * single series. Properties are inherited from tooltip, but only the
  80545. * following properties can be defined on a series level.
  80546. */
  80547. tooltip?: SeriesTooltipOptionsObject;
  80548. /**
  80549. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  80550. * is longer than this, only one dimensional arrays of numbers, or two
  80551. * dimensional arrays with x and y values are allowed. Also, only the first
  80552. * point is tested, and the rest are assumed to be the same format. This
  80553. * saves expensive data checking and indexing in long series. Set it to `0`
  80554. * disable.
  80555. *
  80556. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  80557. * two dimensional arrays are allowed.
  80558. */
  80559. turboThreshold?: number;
  80560. /**
  80561. * (Highstock) Set the initial visibility of the series.
  80562. */
  80563. visible?: boolean;
  80564. /**
  80565. * (Highmaps) Define the z index of the series.
  80566. */
  80567. zIndex?: number;
  80568. /**
  80569. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  80570. */
  80571. zoneAxis?: string;
  80572. /**
  80573. * (Highcharts, Highstock) An array defining zones within a series. Zones
  80574. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  80575. * the `zoneAxis` option. The zone definitions have to be in ascending order
  80576. * regarding to the value.
  80577. *
  80578. * In styled mode, the color zones are styled with the
  80579. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  80580. * option (view live demo).
  80581. */
  80582. zones?: Array<SeriesZonesOptionsObject>;
  80583. }
  80584. /**
  80585. * (Highstock) Paramters used in calculation of regression series' points.
  80586. */
  80587. export interface PlotRsiParamsOptions {
  80588. decimals?: number;
  80589. /**
  80590. * (Highstock) The point index which indicator calculations will base. For
  80591. * example using OHLC data, index=2 means the indicator will be calculated
  80592. * using Low values.
  80593. */
  80594. index?: number;
  80595. /**
  80596. * (Highstock) The base period for indicator calculations. This is the
  80597. * number of data points which are taken into account for the indicator
  80598. * calculations.
  80599. */
  80600. period?: number;
  80601. }
  80602. /**
  80603. * (Highcharts) Enable or disable the initial animation when a series is
  80604. * displayed. The animation can also be set as a configuration object. Please
  80605. * note that this option only applies to the initial animation of the series
  80606. * itself. For other animations, see chart.animation and the animation parameter
  80607. * under the API methods. The following properties are supported:
  80608. *
  80609. * - `defer`: The animation delay time in milliseconds.
  80610. *
  80611. * - `duration`: The duration of the animation in milliseconds.
  80612. *
  80613. * - `easing`: Can be a string reference to an easing function set on the `Math`
  80614. * object or a function. See the _Custom easing function_ demo below.
  80615. *
  80616. * Due to poor performance, animation is disabled in old IE browsers for several
  80617. * chart types.
  80618. */
  80619. export interface PlotSankeyAnimationOptions {
  80620. defer?: number;
  80621. }
  80622. /**
  80623. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  80624. * animation when a series is displayed for the `dataLabels`. The animation can
  80625. * also be set as a configuration object. Please note that this option only
  80626. * applies to the initial animation. For other animations, see chart.animation
  80627. * and the animation parameter under the API methods. The following properties
  80628. * are supported:
  80629. *
  80630. * - `defer`: The animation delay time in milliseconds.
  80631. */
  80632. export interface PlotSankeyDataLabelsAnimationOptions {
  80633. /**
  80634. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  80635. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  80636. * inherits defer time from the series.animation.defer.
  80637. */
  80638. defer?: number;
  80639. }
  80640. /**
  80641. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  80642. * animation when a series is displayed for the `dataLabels`. The animation can
  80643. * also be set as a configuration object. Please note that this option only
  80644. * applies to the initial animation. For other animations, see chart.animation
  80645. * and the animation parameter under the API methods. The following properties
  80646. * are supported:
  80647. *
  80648. * - `defer`: The animation delay time in milliseconds.
  80649. */
  80650. export interface PlotSankeyLevelsDataLabelsAnimationOptions {
  80651. /**
  80652. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  80653. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  80654. * inherits defer time from the series.animation.defer.
  80655. */
  80656. defer?: number;
  80657. }
  80658. /**
  80659. * (Highcharts) Set options on specific levels. Takes precedence over series
  80660. * options, but not node and link options.
  80661. */
  80662. export interface PlotSankeyLevelsOptions {
  80663. /**
  80664. * (Highcharts) Can set `borderColor` on all nodes which lay on the same
  80665. * level.
  80666. */
  80667. borderColor?: ColorString;
  80668. /**
  80669. * (Highcharts) Can set `borderWidth` on all nodes which lay on the same
  80670. * level.
  80671. */
  80672. borderWidth?: number;
  80673. /**
  80674. * (Highcharts) Can set `color` on all nodes which lay on the same level.
  80675. */
  80676. color?: (ColorString|GradientColorObject|PatternObject);
  80677. /**
  80678. * (Highcharts) Can set `colorByPoint` on all nodes which lay on the same
  80679. * level.
  80680. */
  80681. colorByPoint?: boolean;
  80682. /**
  80683. * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
  80684. * points which lay on the same level.
  80685. */
  80686. dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
  80687. /**
  80688. * (Highcharts) Decides which level takes effect from the options set in the
  80689. * levels object.
  80690. */
  80691. level?: number;
  80692. /**
  80693. * (Highcharts) Can set `linkOpacity` on all points which lay on the same
  80694. * level.
  80695. */
  80696. linkOpacity?: number;
  80697. /**
  80698. * (Highcharts) Can set `states` on all nodes and points which lay on the
  80699. * same level.
  80700. */
  80701. states?: SeriesStatesOptionsObject;
  80702. }
  80703. /**
  80704. * (Highcharts) A sankey diagram is a type of flow diagram, in which the width
  80705. * of the link between two nodes is shown proportionally to the flow quantity.
  80706. *
  80707. * In TypeScript the type option must always be set.
  80708. *
  80709. * Configuration options for the series are given in three levels:
  80710. *
  80711. * 1. Options for all series in a chart are defined in the plotOptions.series
  80712. * object.
  80713. *
  80714. * 2. Options for all `sankey` series are defined in plotOptions.sankey.
  80715. *
  80716. * 3. Options for one single series are given in the series instance array. (see
  80717. * online documentation for example)
  80718. */
  80719. export interface PlotSankeyOptions {
  80720. /**
  80721. * (Highcharts) Accessibility options for a series.
  80722. */
  80723. accessibility?: SeriesAccessibilityOptionsObject;
  80724. /**
  80725. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  80726. * rendered. If `true`, areas which don't correspond to a data point, are
  80727. * rendered as `null` points. If `false`, those areas are skipped.
  80728. */
  80729. allAreas?: boolean;
  80730. /**
  80731. * (Highcharts) Allow this series' points to be selected by clicking on the
  80732. * graphic (columns, point markers, pie slices, map areas etc).
  80733. *
  80734. * The selected points can be handled by point select and unselect events,
  80735. * or collectively by the getSelectedPoints function.
  80736. *
  80737. * And alternative way of selecting points is through dragging.
  80738. */
  80739. allowPointSelect?: boolean;
  80740. /**
  80741. * (Highcharts) Enable or disable the initial animation when a series is
  80742. * displayed. The animation can also be set as a configuration object.
  80743. * Please note that this option only applies to the initial animation of the
  80744. * series itself. For other animations, see chart.animation and the
  80745. * animation parameter under the API methods. The following properties are
  80746. * supported:
  80747. *
  80748. * - `defer`: The animation delay time in milliseconds.
  80749. *
  80750. * - `duration`: The duration of the animation in milliseconds.
  80751. *
  80752. * - `easing`: Can be a string reference to an easing function set on the
  80753. * `Math` object or a function. See the _Custom easing function_ demo below.
  80754. *
  80755. * Due to poor performance, animation is disabled in old IE browsers for
  80756. * several chart types.
  80757. */
  80758. animation?: (boolean|PlotSankeyAnimationOptions|Partial<AnimationOptionsObject>);
  80759. /**
  80760. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  80761. * column or bar.
  80762. *
  80763. * In styled mode, the border stroke can be set with the `.highcharts-point`
  80764. * rule.
  80765. */
  80766. borderColor?: (ColorString|GradientColorObject|PatternObject);
  80767. /**
  80768. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  80769. * column or bar. Defaults to `1` when there is room for a border, but to
  80770. * `0` when the columns are so dense that a border would cover the next
  80771. * column.
  80772. *
  80773. * In styled mode, the stroke width can be set with the `.highcharts-point`
  80774. * rule.
  80775. */
  80776. borderWidth?: number;
  80777. /**
  80778. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  80779. * the category, ignoring null or missing points. When `false`, space will
  80780. * be reserved for null or missing points.
  80781. */
  80782. centerInCategory?: boolean;
  80783. /**
  80784. * (Highcharts) An additional class name to apply to the series' graphical
  80785. * elements. This option does not replace default class names of the
  80786. * graphical element.
  80787. */
  80788. className?: string;
  80789. /**
  80790. * (Highcharts) Disable this option to allow series rendering in the whole
  80791. * plotting area.
  80792. *
  80793. * **Note:** Clipping should be always enabled when chart.zoomType is set
  80794. */
  80795. clip?: boolean;
  80796. /**
  80797. * (Highcharts) The main color of the series. In line type series it applies
  80798. * to the line and the point markers unless otherwise specified. In bar type
  80799. * series it applies to the bars unless a color is specified per point. The
  80800. * default value is pulled from the `options.colors` array.
  80801. *
  80802. * In styled mode, the color can be defined by the colorIndex option. Also,
  80803. * the series color can be set with the `.highcharts-series`,
  80804. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  80805. * `.highcharts-series-{n}` class, or individual classes given by the
  80806. * `className` option.
  80807. */
  80808. color?: (ColorString|GradientColorObject|PatternObject);
  80809. /**
  80810. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  80811. * from the global colors or series-specific plotOptions.column.colors
  80812. * collections, this option determines whether the chart should receive one
  80813. * color per series or one color per point.
  80814. *
  80815. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  80816. * and instead this option gives the points individual color class names on
  80817. * the form `highcharts-color-{n}`.
  80818. */
  80819. colorByPoint?: boolean;
  80820. /**
  80821. * (Highcharts) Styled mode only. A specific color index to use for the
  80822. * series, so its graphic representations are given the class name
  80823. * `highcharts-color-{n}`.
  80824. */
  80825. colorIndex?: number;
  80826. /**
  80827. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  80828. * color set to apply instead of the global colors when colorByPoint is
  80829. * true.
  80830. */
  80831. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  80832. /**
  80833. * (Highstock) Compare the values of the series against the first non-null,
  80834. * non- zero value in the visible range. The y axis will show percentage or
  80835. * absolute change depending on whether `compare` is set to `"percent"` or
  80836. * `"value"`. When this is applied to multiple series, it allows comparing
  80837. * the development of the series against each other. Adds a `change` field
  80838. * to every point object.
  80839. */
  80840. compare?: string;
  80841. /**
  80842. * (Highstock) When compare is `percent`, this option dictates whether to
  80843. * use 0 or 100 as the base of comparison.
  80844. */
  80845. compareBase?: (0|100);
  80846. /**
  80847. * (Highstock) Defines if comparison should start from the first point
  80848. * within the visible range or should start from the first point **before**
  80849. * the range.
  80850. *
  80851. * In other words, this flag determines if first point within the visible
  80852. * range will have 0% (`compareStart=true`) or should have been already
  80853. * calculated according to the previous point (`compareStart=false`).
  80854. */
  80855. compareStart?: boolean;
  80856. /**
  80857. * (Gantt) Override Pathfinder connector options for a series. Requires
  80858. * Highcharts Gantt to be loaded.
  80859. */
  80860. connectors?: SeriesConnectorsOptionsObject;
  80861. /**
  80862. * (Highcharts) You can set the cursor to "pointer" if you have click events
  80863. * attached to the series, to signal to the user that the points and lines
  80864. * can be clicked.
  80865. *
  80866. * In styled mode, the series cursor can be set with the same classes as
  80867. * listed under series.color.
  80868. */
  80869. cursor?: (string|CursorValue);
  80870. /**
  80871. * (Highcharts) Higher numbers makes the links in a sankey diagram or
  80872. * dependency wheelrender more curved. A `curveFactor` of 0 makes the lines
  80873. * straight.
  80874. */
  80875. curveFactor?: number;
  80876. /**
  80877. * (Highcharts) A reserved subspace to store options and values for
  80878. * customized functionality. Here you can add additional data for your own
  80879. * event callbacks and formatter callbacks.
  80880. */
  80881. custom?: Dictionary<any>;
  80882. /**
  80883. * (Highcharts) Name of the dash style to use for the graph, or for some
  80884. * series types the outline of each shape.
  80885. *
  80886. * In styled mode, the stroke dash-array can be set with the same classes as
  80887. * listed under series.color.
  80888. */
  80889. dashStyle?: DashStyleValue;
  80890. /**
  80891. * (Highstock) Data grouping is the concept of sampling the data values into
  80892. * larger blocks in order to ease readability and increase performance of
  80893. * the JavaScript charts. Highcharts Stock by default applies data grouping
  80894. * when the points become closer than a certain pixel value, determined by
  80895. * the `groupPixelWidth` option.
  80896. *
  80897. * If data grouping is applied, the grouping information of grouped points
  80898. * can be read from the Point.dataGroup. If point options other than the
  80899. * data itself are set, for example `name` or `color` or custom properties,
  80900. * the grouping logic doesn't know how to group it. In this case the options
  80901. * of the first point instance are copied over to the group point. This can
  80902. * be altered through a custom `approximation` callback function.
  80903. */
  80904. dataGrouping?: DataGroupingOptionsObject;
  80905. /**
  80906. * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
  80907. * appearing on top of the nodes and links. For sankey charts, data labels
  80908. * are visible for the nodes by default, but hidden for links. This is
  80909. * controlled by modifying the `nodeFormat`, and the `format` that applies
  80910. * to links and is an empty string by default.
  80911. */
  80912. dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
  80913. /**
  80914. * (Highcharts) A description of the series to add to the screen reader
  80915. * information about the series.
  80916. */
  80917. description?: string;
  80918. /**
  80919. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  80920. * This includes point tooltips and click events on graphs and points. For
  80921. * large datasets it improves performance.
  80922. */
  80923. enableMouseTracking?: boolean;
  80924. /**
  80925. * (Highcharts) General event handlers for the series items. These event
  80926. * hooks can also be attached to the series at run time using the
  80927. * `Highcharts.addEvent` function.
  80928. */
  80929. events?: SeriesEventsOptionsObject;
  80930. /**
  80931. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  80932. * chart width or only the zoomed area when zooming in on parts of the X
  80933. * axis. By default, the Y axis adjusts to the min and max of the visible
  80934. * data. Cartesian series only.
  80935. */
  80936. getExtremesFromAll?: boolean;
  80937. /**
  80938. * (Highcharts) When set to `false` will prevent the series data from being
  80939. * included in any form of data export.
  80940. *
  80941. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  80942. * `includeInCSVExport`.
  80943. */
  80944. includeInDataExport?: boolean;
  80945. /**
  80946. * (Highmaps) What property to join the `mapData` to the value data. For
  80947. * example, if joinBy is "code", the mapData items with a specific code is
  80948. * merged into the data with the same code. For maps loaded from GeoJSON,
  80949. * the keys may be held in each point's `properties` object.
  80950. *
  80951. * The joinBy option can also be an array of two values, where the first
  80952. * points to a key in the `mapData`, and the second points to another key in
  80953. * the `data`.
  80954. *
  80955. * When joinBy is `null`, the map items are joined by their position in the
  80956. * array, which performs much better in maps with many data points. This is
  80957. * the recommended option if you are printing more than a thousand data
  80958. * points and have a backend that can preprocess the data into a parallel
  80959. * array of the mapData.
  80960. */
  80961. joinBy?: (string|Array<string>);
  80962. /**
  80963. * (Highcharts) An array specifying which option maps to which key in the
  80964. * data point array. This makes it convenient to work with unstructured data
  80965. * arrays from different sources.
  80966. */
  80967. keys?: Array<string>;
  80968. /**
  80969. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  80970. * series as possible in a natural way, seeking to avoid other series. The
  80971. * goal of this feature is to make the chart more easily readable, like if a
  80972. * human designer placed the labels in the optimal position.
  80973. *
  80974. * The series labels currently work with series types having a `graph` or an
  80975. * `area`.
  80976. */
  80977. label?: SeriesLabelOptionsObject;
  80978. /**
  80979. * (Highstock) The line marks the last price from all points.
  80980. */
  80981. lastPrice?: SeriesLastPriceOptionsObject;
  80982. /**
  80983. * (Highstock) The line marks the last price from visible range of points.
  80984. */
  80985. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  80986. /**
  80987. * (Highcharts) Set options on specific levels. Takes precedence over series
  80988. * options, but not node and link options.
  80989. */
  80990. levels?: Array<PlotSankeyLevelsOptions>;
  80991. /**
  80992. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  80993. * Additionally, the value can be ":previous" to link to the previous
  80994. * series. When two series are linked, only the first one appears in the
  80995. * legend. Toggling the visibility of this also toggles the linked series.
  80996. *
  80997. * If master series uses data sorting and linked series does not have its
  80998. * own sorting definition, the linked series will be sorted in the same
  80999. * order as the master one.
  81000. */
  81001. linkedTo?: string;
  81002. /**
  81003. * (Highcharts) Opacity for the links between nodes in the sankey diagram.
  81004. */
  81005. linkOpacity?: number;
  81006. /**
  81007. * (Highcharts) The minimal width for a line of a sankey. By default, 0
  81008. * values are not shown.
  81009. */
  81010. minLinkWidth?: number;
  81011. /**
  81012. * (Highstock) Options for the corresponding navigator series if
  81013. * `showInNavigator` is `true` for this series. Available options are the
  81014. * same as any series, documented at plotOptions and series.
  81015. *
  81016. * These options are merged with options in navigator.series, and will take
  81017. * precedence if the same option is defined both places.
  81018. */
  81019. navigatorOptions?: PlotSeriesOptions;
  81020. /**
  81021. * (Highcharts) The padding between nodes in a sankey diagram or dependency
  81022. * wheel, in pixels.
  81023. *
  81024. * If the number of nodes is so great that it is possible to lay them out
  81025. * within the plot area with the given `nodePadding`, they will be rendered
  81026. * with a smaller padding as a strategy to avoid overflow.
  81027. */
  81028. nodePadding?: number;
  81029. /**
  81030. * (Highcharts) The pixel width of each node in a sankey diagram or
  81031. * dependency wheel, or the height in case the chart is inverted.
  81032. */
  81033. nodeWidth?: number;
  81034. /**
  81035. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  81036. * dataLabels.
  81037. */
  81038. opacity?: number;
  81039. /**
  81040. * (Highcharts) Properties for each single point.
  81041. */
  81042. point?: PlotSeriesPointOptions;
  81043. /**
  81044. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  81045. * individual series. Overrides the chart wide configuration.
  81046. */
  81047. pointDescriptionFormatter?: Function;
  81048. /**
  81049. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  81050. * true, the checkbox next to the series name in the legend will be checked
  81051. * for a selected series.
  81052. */
  81053. selected?: boolean;
  81054. /**
  81055. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  81056. * allow selecting the series. The state of the checkbox is determined by
  81057. * the `selected` option.
  81058. */
  81059. showCheckbox?: boolean;
  81060. /**
  81061. * (Highcharts) Whether to display this particular series or series type in
  81062. * the legend. Standalone series are shown in legend by default, and linked
  81063. * series are not. Since v7.2.0 it is possible to show series that use
  81064. * colorAxis by setting this option to `true`.
  81065. */
  81066. showInLegend?: boolean;
  81067. /**
  81068. * (Highstock) Whether or not to show the series in the navigator. Takes
  81069. * precedence over navigator.baseSeries if defined.
  81070. */
  81071. showInNavigator?: boolean;
  81072. /**
  81073. * (Highcharts) If set to `true`, the accessibility module will skip past
  81074. * the points in this series for keyboard navigation.
  81075. */
  81076. skipKeyboardNavigation?: boolean;
  81077. states?: SeriesStatesOptionsObject;
  81078. /**
  81079. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  81080. * event on a series isn't triggered until the mouse moves over another
  81081. * series, or out of the plot area. When false, the `mouseOut` event on a
  81082. * series is triggered when the mouse leaves the area around the series'
  81083. * graph or markers. This also implies the tooltip when not shared. When
  81084. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  81085. * be hidden when moving the mouse between series. Defaults to true for line
  81086. * and area type series, but to false for columns, pies etc.
  81087. *
  81088. * **Note:** The boost module will force this option because of technical
  81089. * limitations.
  81090. */
  81091. stickyTracking?: boolean;
  81092. /**
  81093. * (Highcharts) A configuration object for the tooltip rendering of each
  81094. * single series. Properties are inherited from tooltip, but only the
  81095. * following properties can be defined on a series level.
  81096. */
  81097. tooltip?: SeriesTooltipOptionsObject;
  81098. /**
  81099. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  81100. * is longer than this, only one dimensional arrays of numbers, or two
  81101. * dimensional arrays with x and y values are allowed. Also, only the first
  81102. * point is tested, and the rest are assumed to be the same format. This
  81103. * saves expensive data checking and indexing in long series. Set it to `0`
  81104. * disable.
  81105. *
  81106. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  81107. * two dimensional arrays are allowed.
  81108. */
  81109. turboThreshold?: number;
  81110. /**
  81111. * (Highcharts) Set the initial visibility of the series.
  81112. */
  81113. visible?: boolean;
  81114. /**
  81115. * (Highmaps) Define the z index of the series.
  81116. */
  81117. zIndex?: number;
  81118. }
  81119. /**
  81120. * (Highcharts) Enable or disable the initial animation when a series is
  81121. * displayed. The animation can also be set as a configuration object. Please
  81122. * note that this option only applies to the initial animation of the series
  81123. * itself. For other animations, see chart.animation and the animation parameter
  81124. * under the API methods. The following properties are supported:
  81125. *
  81126. * - `defer`: The animation delay time in milliseconds.
  81127. *
  81128. * - `duration`: The duration of the animation in milliseconds.
  81129. *
  81130. * - `easing`: Can be a string reference to an easing function set on the `Math`
  81131. * object or a function. See the _Custom easing function_ demo below.
  81132. *
  81133. * Due to poor performance, animation is disabled in old IE browsers for several
  81134. * chart types.
  81135. */
  81136. export interface PlotScatter3dAnimationOptions {
  81137. defer?: number;
  81138. }
  81139. /**
  81140. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  81141. * animation when a series is displayed for the `dataLabels`. The animation can
  81142. * also be set as a configuration object. Please note that this option only
  81143. * applies to the initial animation. For other animations, see chart.animation
  81144. * and the animation parameter under the API methods. The following properties
  81145. * are supported:
  81146. *
  81147. * - `defer`: The animation delay time in milliseconds.
  81148. */
  81149. export interface PlotScatter3dDataLabelsAnimationOptions {
  81150. /**
  81151. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  81152. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  81153. * inherits defer time from the series.animation.defer.
  81154. */
  81155. defer?: number;
  81156. }
  81157. /**
  81158. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  81159. * appearing next to each data point.
  81160. *
  81161. * Since v6.2.0, multiple data labels can be applied to each single point by
  81162. * defining them as an array of configs.
  81163. *
  81164. * In styled mode, the data labels can be styled with the
  81165. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  81166. * example).
  81167. */
  81168. export interface PlotScatter3dDataLabelsOptions {
  81169. /**
  81170. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  81171. * compared to the point. If `right`, the right side of the label should be
  81172. * touching the point. For points with an extent, like columns, the
  81173. * alignments also dictates how to align it inside the box, as given with
  81174. * the inside option. Can be one of `left`, `center` or `right`.
  81175. */
  81176. align?: (AlignValue|null);
  81177. /**
  81178. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  81179. * overlap. To make the labels less sensitive for overlapping, the
  81180. * dataLabels.padding can be set to 0.
  81181. */
  81182. allowOverlap?: boolean;
  81183. /**
  81184. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  81185. * animation when a series is displayed for the `dataLabels`. The animation
  81186. * can also be set as a configuration object. Please note that this option
  81187. * only applies to the initial animation. For other animations, see
  81188. * chart.animation and the animation parameter under the API methods. The
  81189. * following properties are supported:
  81190. *
  81191. * - `defer`: The animation delay time in milliseconds.
  81192. */
  81193. animation?: (boolean|PlotScatter3dDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  81194. /**
  81195. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  81196. * for the data label.
  81197. */
  81198. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  81199. /**
  81200. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  81201. * label. Defaults to `undefined`.
  81202. */
  81203. borderColor?: (ColorString|GradientColorObject|PatternObject);
  81204. /**
  81205. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  81206. * the data label.
  81207. */
  81208. borderRadius?: number;
  81209. /**
  81210. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  81211. * the data label.
  81212. */
  81213. borderWidth?: number;
  81214. /**
  81215. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  81216. * Particularly in styled mode, this can be used to give each series' or
  81217. * point's data label unique styling. In addition to this option, a default
  81218. * color class name is added so that we can give the labels a contrast text
  81219. * shadow.
  81220. */
  81221. className?: string;
  81222. /**
  81223. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  81224. * labels. Defaults to `undefined`. For certain series types, like column or
  81225. * map, the data labels can be drawn inside the points. In this case the
  81226. * data label will be drawn with maximum contrast by default. Additionally,
  81227. * it will be given a `text-outline` style with the opposite color, to
  81228. * further increase the contrast. This can be overridden by setting the
  81229. * `text-outline` style to `none` in the `dataLabels.style` option.
  81230. */
  81231. color?: (ColorString|GradientColorObject|PatternObject);
  81232. /**
  81233. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  81234. * are outside the plot area. By default, the data label is moved inside the
  81235. * plot area according to the overflow option.
  81236. */
  81237. crop?: boolean;
  81238. /**
  81239. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  81240. * labels until the initial series animation has finished. Setting to
  81241. * `false` renders the data label immediately. If set to `true` inherits the
  81242. * defer time set in plotOptions.series.animation. If set to a number, a
  81243. * defer time is specified in milliseconds.
  81244. */
  81245. defer?: (boolean|number);
  81246. /**
  81247. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  81248. * labels.
  81249. */
  81250. enabled?: boolean;
  81251. /**
  81252. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  81253. * of which data labels to display. The declarative filter is designed for
  81254. * use when callback functions are not available, like when the chart
  81255. * options require a pure JSON structure or for use with graphical editors.
  81256. * For programmatic control, use the `formatter` instead, and return
  81257. * `undefined` to disable a single data label.
  81258. */
  81259. filter?: DataLabelsFilterOptionsObject;
  81260. /**
  81261. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  81262. * label. Available variables are the same as for `formatter`.
  81263. */
  81264. format?: string;
  81265. /**
  81266. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  81267. * format the data label. Note that if a `format` is defined, the format
  81268. * takes precedence and the formatter is ignored.
  81269. */
  81270. formatter?: DataLabelsFormatterCallbackFunction;
  81271. /**
  81272. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  81273. * columns or map areas, whether to align the data label inside the box or
  81274. * to the actual value point. Defaults to `false` in most cases, `true` in
  81275. * stacked columns.
  81276. */
  81277. inside?: boolean;
  81278. /**
  81279. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  81280. * of null. Works analogously to format. `nullFormat` can be applied only to
  81281. * series which support displaying null points.
  81282. */
  81283. nullFormat?: (boolean|string);
  81284. /**
  81285. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  81286. * that defines formatting for points with the value of null. Works
  81287. * analogously to formatter. `nullPointFormatter` can be applied only to
  81288. * series which support displaying null points.
  81289. */
  81290. nullFormatter?: DataLabelsFormatterCallbackFunction;
  81291. /**
  81292. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  81293. * flow outside the plot area. The default is `"justify"`, which aligns them
  81294. * inside the plot area. For columns and bars, this means it will be moved
  81295. * inside the bar. To display data labels outside the plot area, set `crop`
  81296. * to `false` and `overflow` to `"allow"`.
  81297. */
  81298. overflow?: DataLabelsOverflowValue;
  81299. /**
  81300. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  81301. * the `backgroundColor` is set, this is the padding within the box.
  81302. */
  81303. padding?: number;
  81304. /**
  81305. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  81306. * points. If `center` alignment is not possible, it defaults to `right`.
  81307. */
  81308. position?: AlignValue;
  81309. /**
  81310. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  81311. * that due to a more complex structure, backgrounds, borders and padding
  81312. * will be lost on a rotated data label.
  81313. */
  81314. rotation?: number;
  81315. /**
  81316. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  81317. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  81318. * an object configuration containing `color`, `offsetX`, `offsetY`,
  81319. * `opacity` and `width`.
  81320. */
  81321. shadow?: (boolean|ShadowOptionsObject);
  81322. /**
  81323. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  81324. * the border around the label. Symbols are predefined functions on the
  81325. * Renderer object.
  81326. */
  81327. shape?: string;
  81328. /**
  81329. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  81330. * default `color` setting is `"contrast"`, which is a pseudo color that
  81331. * Highcharts picks up and applies the maximum contrast to the underlying
  81332. * point item, for example the bar in a bar chart.
  81333. *
  81334. * The `textOutline` is a pseudo property that applies an outline of the
  81335. * given width with the given color, which by default is the maximum
  81336. * contrast to the text. So a bright text color will result in a black text
  81337. * outline for maximum readability on a mixed background. In some cases,
  81338. * especially with grayscale text, the text outline doesn't work well, in
  81339. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  81340. * is true, the `textOutline` will not be picked up. In this, case, the same
  81341. * effect can be acheived through the `text-shadow` CSS property.
  81342. *
  81343. * For some series types, where each point has an extent, like for example
  81344. * tree maps, the data label may overflow the point. There are two
  81345. * strategies for handling overflow. By default, the text will wrap to
  81346. * multiple lines. The other strategy is to set `style.textOverflow` to
  81347. * `ellipsis`, which will keep the text on one line plus it will break
  81348. * inside long words.
  81349. */
  81350. style?: CSSObject;
  81351. /**
  81352. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  81353. * should follow marker's shape. Border and background are disabled for a
  81354. * label that follows a path.
  81355. *
  81356. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  81357. * to true will disable this option.
  81358. */
  81359. textPath?: DataLabelsTextPathOptionsObject;
  81360. /**
  81361. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  81362. * the labels.
  81363. */
  81364. useHTML?: boolean;
  81365. /**
  81366. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  81367. * label. Can be one of `top`, `middle` or `bottom`. The default value
  81368. * depends on the data, for instance in a column chart, the label is above
  81369. * positive values and below negative values.
  81370. */
  81371. verticalAlign?: (VerticalAlignValue|null);
  81372. /**
  81373. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  81374. * label relative to the point in pixels.
  81375. */
  81376. x?: number;
  81377. /**
  81378. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  81379. * label relative to the point in pixels.
  81380. */
  81381. y?: number;
  81382. /**
  81383. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  81384. * The default Z index puts it above the series. Use a Z index of 2 to
  81385. * display it behind the series.
  81386. */
  81387. z?: number;
  81388. }
  81389. /**
  81390. * (Highcharts, Highstock) Options for the series data sorting.
  81391. */
  81392. export interface PlotScatter3dDataSortingOptions {
  81393. /**
  81394. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  81395. * Use xAxis.reversed to change the sorting order.
  81396. */
  81397. enabled?: boolean;
  81398. /**
  81399. * (Highcharts, Highstock) Whether to allow matching points by name in an
  81400. * update. If this option is disabled, points will be matched by order.
  81401. */
  81402. matchByName?: boolean;
  81403. /**
  81404. * (Highcharts, Highstock) Determines what data value should be used to sort
  81405. * by.
  81406. */
  81407. sortKey?: string;
  81408. }
  81409. /**
  81410. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  81411. * plotting discrete values, a little random noise may help telling the points
  81412. * apart. The jitter setting applies a random displacement of up to `n` axis
  81413. * units in either direction. So for example on a horizontal X axis, setting the
  81414. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  81415. * units to the left and 0.24 units to the right of the true axis position. On a
  81416. * category axis, setting it to 0.5 will fill up the bin and make the data
  81417. * appear continuous.
  81418. *
  81419. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  81420. * will correspond to the underlying series' default groupPadding and
  81421. * pointPadding settings.
  81422. */
  81423. export interface PlotScatter3dJitterOptions {
  81424. /**
  81425. * (Highcharts, Highstock) The maximal X offset for the random jitter
  81426. * effect.
  81427. */
  81428. x?: number;
  81429. /**
  81430. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  81431. * effect.
  81432. */
  81433. y?: number;
  81434. }
  81435. /**
  81436. * (Highcharts) A 3D scatter plot uses x, y and z coordinates to display values
  81437. * for three variables for a set of data.
  81438. *
  81439. * In TypeScript the type option must always be set.
  81440. *
  81441. * Configuration options for the series are given in three levels:
  81442. *
  81443. * 1. Options for all series in a chart are defined in the plotOptions.series
  81444. * object.
  81445. *
  81446. * 2. Options for all `scatter3d` series are defined in plotOptions.scatter3d.
  81447. *
  81448. * 3. Options for one single series are given in the series instance array. (see
  81449. * online documentation for example)
  81450. */
  81451. export interface PlotScatter3dOptions {
  81452. /**
  81453. * (Highcharts) Accessibility options for a series.
  81454. */
  81455. accessibility?: SeriesAccessibilityOptionsObject;
  81456. /**
  81457. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  81458. * rendered. If `true`, areas which don't correspond to a data point, are
  81459. * rendered as `null` points. If `false`, those areas are skipped.
  81460. */
  81461. allAreas?: boolean;
  81462. /**
  81463. * (Highcharts) Allow this series' points to be selected by clicking on the
  81464. * graphic (columns, point markers, pie slices, map areas etc).
  81465. *
  81466. * The selected points can be handled by point select and unselect events,
  81467. * or collectively by the getSelectedPoints function.
  81468. *
  81469. * And alternative way of selecting points is through dragging.
  81470. */
  81471. allowPointSelect?: boolean;
  81472. /**
  81473. * (Highcharts) Enable or disable the initial animation when a series is
  81474. * displayed. The animation can also be set as a configuration object.
  81475. * Please note that this option only applies to the initial animation of the
  81476. * series itself. For other animations, see chart.animation and the
  81477. * animation parameter under the API methods. The following properties are
  81478. * supported:
  81479. *
  81480. * - `defer`: The animation delay time in milliseconds.
  81481. *
  81482. * - `duration`: The duration of the animation in milliseconds.
  81483. *
  81484. * - `easing`: Can be a string reference to an easing function set on the
  81485. * `Math` object or a function. See the _Custom easing function_ demo below.
  81486. *
  81487. * Due to poor performance, animation is disabled in old IE browsers for
  81488. * several chart types.
  81489. */
  81490. animation?: (boolean|PlotScatter3dAnimationOptions|Partial<AnimationOptionsObject>);
  81491. /**
  81492. * (Highcharts) For some series, there is a limit that shuts down initial
  81493. * animation by default when the total number of points in the chart is too
  81494. * high. For example, for a column chart and its derivatives, animation does
  81495. * not run if there is more than 250 points totally. To disable this cap,
  81496. * set `animationLimit` to `Infinity`.
  81497. */
  81498. animationLimit?: number;
  81499. /**
  81500. * (Highmaps) The border color of the map areas.
  81501. *
  81502. * In styled mode, the border stroke is given in the `.highcharts-point`
  81503. * class.
  81504. */
  81505. borderColor?: (ColorString|GradientColorObject|PatternObject);
  81506. /**
  81507. * (Highmaps) The border width of each map area.
  81508. *
  81509. * In styled mode, the border stroke width is given in the
  81510. * `.highcharts-point` class.
  81511. */
  81512. borderWidth?: number;
  81513. /**
  81514. * (Highcharts) An additional class name to apply to the series' graphical
  81515. * elements. This option does not replace default class names of the
  81516. * graphical element.
  81517. */
  81518. className?: string;
  81519. /**
  81520. * (Highcharts) Disable this option to allow series rendering in the whole
  81521. * plotting area.
  81522. *
  81523. * **Note:** Clipping should be always enabled when chart.zoomType is set
  81524. */
  81525. clip?: boolean;
  81526. /**
  81527. * (Highcharts) The main color of the series. In line type series it applies
  81528. * to the line and the point markers unless otherwise specified. In bar type
  81529. * series it applies to the bars unless a color is specified per point. The
  81530. * default value is pulled from the `options.colors` array.
  81531. *
  81532. * In styled mode, the color can be defined by the colorIndex option. Also,
  81533. * the series color can be set with the `.highcharts-series`,
  81534. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  81535. * `.highcharts-series-{n}` class, or individual classes given by the
  81536. * `className` option.
  81537. */
  81538. color?: (ColorString|GradientColorObject|PatternObject);
  81539. /**
  81540. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  81541. * this number defines which colorAxis the particular series is connected
  81542. * to. It refers to either the axis id or the index of the axis in the
  81543. * colorAxis array, with 0 being the first. Set this option to false to
  81544. * prevent a series from connecting to the default color axis.
  81545. *
  81546. * Since v7.2.0 the option can also be an axis id or an axis index instead
  81547. * of a boolean flag.
  81548. */
  81549. colorAxis?: (boolean|number|string);
  81550. /**
  81551. * (Highcharts) Styled mode only. A specific color index to use for the
  81552. * series, so its graphic representations are given the class name
  81553. * `highcharts-color-{n}`.
  81554. */
  81555. colorIndex?: number;
  81556. /**
  81557. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  81558. * used to calculate point color if `colorAxis` is used. Requires to set
  81559. * `min` and `max` if some custom point property is used or if approximation
  81560. * for data grouping is set to `'sum'`.
  81561. */
  81562. colorKey?: string;
  81563. /**
  81564. * (Highstock) Compare the values of the series against the first non-null,
  81565. * non- zero value in the visible range. The y axis will show percentage or
  81566. * absolute change depending on whether `compare` is set to `"percent"` or
  81567. * `"value"`. When this is applied to multiple series, it allows comparing
  81568. * the development of the series against each other. Adds a `change` field
  81569. * to every point object.
  81570. */
  81571. compare?: string;
  81572. /**
  81573. * (Highstock) When compare is `percent`, this option dictates whether to
  81574. * use 0 or 100 as the base of comparison.
  81575. */
  81576. compareBase?: (0|100);
  81577. /**
  81578. * (Highstock) Defines if comparison should start from the first point
  81579. * within the visible range or should start from the first point **before**
  81580. * the range.
  81581. *
  81582. * In other words, this flag determines if first point within the visible
  81583. * range will have 0% (`compareStart=true`) or should have been already
  81584. * calculated according to the previous point (`compareStart=false`).
  81585. */
  81586. compareStart?: boolean;
  81587. /**
  81588. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  81589. * series plot across the extremes.
  81590. */
  81591. connectEnds?: boolean;
  81592. /**
  81593. * (Highcharts, Highstock) Whether to connect a graph line across null
  81594. * points, or render a gap between the two points on either side of the
  81595. * null.
  81596. */
  81597. connectNulls?: boolean;
  81598. /**
  81599. * (Gantt) Override Pathfinder connector options for a series. Requires
  81600. * Highcharts Gantt to be loaded.
  81601. */
  81602. connectors?: SeriesConnectorsOptionsObject;
  81603. /**
  81604. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  81605. * rounded to its nearest pixel in order to render sharp on screen. In some
  81606. * cases, when there are a lot of densely packed columns, this leads to
  81607. * visible difference in column widths or distance between columns. In these
  81608. * cases, setting `crisp` to `false` may look better, even though each
  81609. * column is rendered blurry.
  81610. */
  81611. crisp?: boolean;
  81612. /**
  81613. * (Highcharts) You can set the cursor to "pointer" if you have click events
  81614. * attached to the series, to signal to the user that the points and lines
  81615. * can be clicked.
  81616. *
  81617. * In styled mode, the series cursor can be set with the same classes as
  81618. * listed under series.color.
  81619. */
  81620. cursor?: (string|CursorValue);
  81621. /**
  81622. * (Highcharts) A reserved subspace to store options and values for
  81623. * customized functionality. Here you can add additional data for your own
  81624. * event callbacks and formatter callbacks.
  81625. */
  81626. custom?: Dictionary<any>;
  81627. /**
  81628. * (Highcharts) Name of the dash style to use for the graph, or for some
  81629. * series types the outline of each shape.
  81630. *
  81631. * In styled mode, the stroke dash-array can be set with the same classes as
  81632. * listed under series.color.
  81633. */
  81634. dashStyle?: DashStyleValue;
  81635. /**
  81636. * (Highstock) Data grouping is the concept of sampling the data values into
  81637. * larger blocks in order to ease readability and increase performance of
  81638. * the JavaScript charts. Highcharts Stock by default applies data grouping
  81639. * when the points become closer than a certain pixel value, determined by
  81640. * the `groupPixelWidth` option.
  81641. *
  81642. * If data grouping is applied, the grouping information of grouped points
  81643. * can be read from the Point.dataGroup. If point options other than the
  81644. * data itself are set, for example `name` or `color` or custom properties,
  81645. * the grouping logic doesn't know how to group it. In this case the options
  81646. * of the first point instance are copied over to the group point. This can
  81647. * be altered through a custom `approximation` callback function.
  81648. */
  81649. dataGrouping?: DataGroupingOptionsObject;
  81650. /**
  81651. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  81652. * labels, appearing next to each data point.
  81653. *
  81654. * Since v6.2.0, multiple data labels can be applied to each single point by
  81655. * defining them as an array of configs.
  81656. *
  81657. * In styled mode, the data labels can be styled with the
  81658. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  81659. * (see example).
  81660. */
  81661. dataLabels?: (PlotScatter3dDataLabelsOptions|Array<PlotScatter3dDataLabelsOptions>);
  81662. /**
  81663. * (Highcharts, Highstock) Options for the series data sorting.
  81664. */
  81665. dataSorting?: (DataSortingOptionsObject|PlotScatter3dDataSortingOptions);
  81666. /**
  81667. * (Highcharts) A description of the series to add to the screen reader
  81668. * information about the series.
  81669. */
  81670. description?: string;
  81671. /**
  81672. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  81673. * This includes point tooltips and click events on graphs and points. For
  81674. * large datasets it improves performance.
  81675. */
  81676. enableMouseTracking?: boolean;
  81677. /**
  81678. * (Highcharts) General event handlers for the series items. These event
  81679. * hooks can also be attached to the series at run time using the
  81680. * `Highcharts.addEvent` function.
  81681. */
  81682. events?: SeriesEventsOptionsObject;
  81683. /**
  81684. * (Highcharts) Determines whether the series should look for the nearest
  81685. * point in both dimensions or just the x-dimension when hovering the
  81686. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  81687. * series. If the data has duplicate x-values, it is recommended to set this
  81688. * to `'xy'` to allow hovering over all points.
  81689. *
  81690. * Applies only to series types using nearest neighbor search (not direct
  81691. * hover) for tooltip.
  81692. */
  81693. findNearestPointBy?: OptionsFindNearestPointByValue;
  81694. /**
  81695. * (Highstock) Defines when to display a gap in the graph, together with the
  81696. * gapUnit option.
  81697. *
  81698. * In case when `dataGrouping` is enabled, points can be grouped into a
  81699. * larger time span. This can make the grouped points to have a greater
  81700. * distance than the absolute value of `gapSize` property, which will result
  81701. * in disappearing graph completely. To prevent this situation the mentioned
  81702. * distance between grouped points is used instead of previously defined
  81703. * `gapSize`.
  81704. *
  81705. * In practice, this option is most often used to visualize gaps in time
  81706. * series. In a stock chart, intraday data is available for daytime hours,
  81707. * while gaps will appear in nights and weekends.
  81708. */
  81709. gapSize?: number;
  81710. /**
  81711. * (Highstock) Together with gapSize, this option defines where to draw gaps
  81712. * in the graph.
  81713. *
  81714. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  81715. * if the distance between two points is greater than 5 times that of the
  81716. * two closest points, the graph will be broken.
  81717. *
  81718. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  81719. * values, which on a datetime axis is milliseconds. This also applies to
  81720. * the navigator series that inherits gap options from the base series.
  81721. */
  81722. gapUnit?: OptionsGapUnitValue;
  81723. /**
  81724. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  81725. * chart width or only the zoomed area when zooming in on parts of the X
  81726. * axis. By default, the Y axis adjusts to the min and max of the visible
  81727. * data. Cartesian series only.
  81728. */
  81729. getExtremesFromAll?: boolean;
  81730. /**
  81731. * (Highcharts) When set to `false` will prevent the series data from being
  81732. * included in any form of data export.
  81733. *
  81734. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  81735. * `includeInCSVExport`.
  81736. */
  81737. includeInDataExport?: boolean;
  81738. /**
  81739. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  81740. * When plotting discrete values, a little random noise may help telling the
  81741. * points apart. The jitter setting applies a random displacement of up to
  81742. * `n` axis units in either direction. So for example on a horizontal X
  81743. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  81744. * position between 0.24 units to the left and 0.24 units to the right of
  81745. * the true axis position. On a category axis, setting it to 0.5 will fill
  81746. * up the bin and make the data appear continuous.
  81747. *
  81748. * When rendered on top of a box plot or a column series, a jitter value of
  81749. * 0.24 will correspond to the underlying series' default groupPadding and
  81750. * pointPadding settings.
  81751. */
  81752. jitter?: PlotScatter3dJitterOptions;
  81753. /**
  81754. * (Highmaps) What property to join the `mapData` to the value data. For
  81755. * example, if joinBy is "code", the mapData items with a specific code is
  81756. * merged into the data with the same code. For maps loaded from GeoJSON,
  81757. * the keys may be held in each point's `properties` object.
  81758. *
  81759. * The joinBy option can also be an array of two values, where the first
  81760. * points to a key in the `mapData`, and the second points to another key in
  81761. * the `data`.
  81762. *
  81763. * When joinBy is `null`, the map items are joined by their position in the
  81764. * array, which performs much better in maps with many data points. This is
  81765. * the recommended option if you are printing more than a thousand data
  81766. * points and have a backend that can preprocess the data into a parallel
  81767. * array of the mapData.
  81768. */
  81769. joinBy?: (string|Array<string>);
  81770. /**
  81771. * (Highcharts) An array specifying which option maps to which key in the
  81772. * data point array. This makes it convenient to work with unstructured data
  81773. * arrays from different sources.
  81774. */
  81775. keys?: Array<string>;
  81776. /**
  81777. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  81778. * series as possible in a natural way, seeking to avoid other series. The
  81779. * goal of this feature is to make the chart more easily readable, like if a
  81780. * human designer placed the labels in the optimal position.
  81781. *
  81782. * The series labels currently work with series types having a `graph` or an
  81783. * `area`.
  81784. */
  81785. label?: SeriesLabelOptionsObject;
  81786. /**
  81787. * (Highstock) The line marks the last price from all points.
  81788. */
  81789. lastPrice?: SeriesLastPriceOptionsObject;
  81790. /**
  81791. * (Highstock) The line marks the last price from visible range of points.
  81792. */
  81793. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  81794. /**
  81795. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  81796. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  81797. * the ends and bends.
  81798. */
  81799. linecap?: SeriesLinecapValue;
  81800. /**
  81801. * (Highcharts, Highstock) The width of the line connecting the data points.
  81802. */
  81803. lineWidth?: number;
  81804. /**
  81805. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  81806. * Additionally, the value can be ":previous" to link to the previous
  81807. * series. When two series are linked, only the first one appears in the
  81808. * legend. Toggling the visibility of this also toggles the linked series.
  81809. *
  81810. * If master series uses data sorting and linked series does not have its
  81811. * own sorting definition, the linked series will be sorted in the same
  81812. * order as the master one.
  81813. */
  81814. linkedTo?: string;
  81815. /**
  81816. * (Highcharts) Options for the point markers of line-like series.
  81817. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  81818. * visual appearance of the markers. Other series types, like column series,
  81819. * don't have markers, but have visual options on the series level instead.
  81820. *
  81821. * In styled mode, the markers can be styled with the `.highcharts-point`,
  81822. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  81823. */
  81824. marker?: PointMarkerOptionsObject;
  81825. /**
  81826. * (Highstock) Options for the corresponding navigator series if
  81827. * `showInNavigator` is `true` for this series. Available options are the
  81828. * same as any series, documented at plotOptions and series.
  81829. *
  81830. * These options are merged with options in navigator.series, and will take
  81831. * precedence if the same option is defined both places.
  81832. */
  81833. navigatorOptions?: PlotSeriesOptions;
  81834. /**
  81835. * (Highcharts) The color for the parts of the graph or points that are
  81836. * below the threshold. Note that `zones` takes precedence over the negative
  81837. * color. Using `negativeColor` is equivalent to applying a zone with value
  81838. * of 0.
  81839. */
  81840. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  81841. /**
  81842. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  81843. * dataLabels.
  81844. */
  81845. opacity?: number;
  81846. /**
  81847. * (Highcharts) Properties for each single point.
  81848. */
  81849. point?: PlotSeriesPointOptions;
  81850. /**
  81851. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  81852. * individual series. Overrides the chart wide configuration.
  81853. */
  81854. pointDescriptionFormatter?: Function;
  81855. /**
  81856. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  81857. * a series, `pointInterval` defines the interval of the x values. For
  81858. * example, if a series contains one value every decade starting from year
  81859. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  81860. * `pointInterval` is set in milliseconds.
  81861. *
  81862. * It can be also be combined with `pointIntervalUnit` to draw irregular
  81863. * time intervals.
  81864. *
  81865. * Please note that this options applies to the _series data_, not the
  81866. * interval of the axis ticks, which is independent.
  81867. */
  81868. pointInterval?: number;
  81869. /**
  81870. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  81871. * setting the pointInterval to irregular time units, `day`, `month` and
  81872. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  81873. * also takes the DST crossover into consideration when dealing with local
  81874. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  81875. * months, 10 years etc.
  81876. *
  81877. * Please note that this options applies to the _series data_, not the
  81878. * interval of the axis ticks, which is independent.
  81879. */
  81880. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  81881. /**
  81882. * (Highstock) The width of each point on the x axis. For example in a
  81883. * column chart with one value each day, the pointRange would be 1 day (= 24
  81884. * * 3600
  81885. *
  81886. * * 1000 milliseconds). This is normally computed automatically, but this
  81887. * option can be used to override the automatic value.
  81888. */
  81889. pointRange?: number;
  81890. /**
  81891. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  81892. * a series, pointStart defines on what value to start. For example, if a
  81893. * series contains one yearly value starting from 1945, set pointStart to
  81894. * 1945.
  81895. */
  81896. pointStart?: number;
  81897. /**
  81898. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  81899. * true, the checkbox next to the series name in the legend will be checked
  81900. * for a selected series.
  81901. */
  81902. selected?: boolean;
  81903. /**
  81904. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  81905. * allow selecting the series. The state of the checkbox is determined by
  81906. * the `selected` option.
  81907. */
  81908. showCheckbox?: boolean;
  81909. /**
  81910. * (Highcharts) Whether to display this particular series or series type in
  81911. * the legend. Standalone series are shown in legend by default, and linked
  81912. * series are not. Since v7.2.0 it is possible to show series that use
  81913. * colorAxis by setting this option to `true`.
  81914. */
  81915. showInLegend?: boolean;
  81916. /**
  81917. * (Highstock) Whether or not to show the series in the navigator. Takes
  81918. * precedence over navigator.baseSeries if defined.
  81919. */
  81920. showInNavigator?: boolean;
  81921. /**
  81922. * (Highcharts) If set to `true`, the accessibility module will skip past
  81923. * the points in this series for keyboard navigation.
  81924. */
  81925. skipKeyboardNavigation?: boolean;
  81926. /**
  81927. * (Highcharts, Highstock) When this is true, the series will not cause the
  81928. * Y axis to cross the zero plane (or threshold option) unless the data
  81929. * actually crosses the plane.
  81930. *
  81931. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  81932. * make the Y axis show negative values according to the `minPadding`
  81933. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  81934. */
  81935. softThreshold?: boolean;
  81936. /**
  81937. * (Highcharts, Highstock) Whether to stack the values of each series on top
  81938. * of each other. Possible values are `undefined` to disable, `"normal"` to
  81939. * stack by value or `"percent"`.
  81940. *
  81941. * When stacking is enabled, data must be sorted in ascending X order.
  81942. *
  81943. * Some stacking options are related to specific series types. In the
  81944. * streamgraph series type, the stacking option is set to `"stream"`. The
  81945. * second one is `"overlap"`, which only applies to waterfall series.
  81946. */
  81947. stacking?: OptionsStackingValue;
  81948. states?: SeriesStatesOptionsObject;
  81949. /**
  81950. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  81951. * values are `left`, `center` and `right`.
  81952. */
  81953. step?: OptionsStepValue;
  81954. /**
  81955. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  81956. * `mouseOut` event on a series isn't triggered until the mouse moves over
  81957. * another series, or out of the plot area. When false, the `mouseOut` event
  81958. * on a series is triggered when the mouse leaves the area around the
  81959. * series' graph or markers. This also implies the tooltip. When
  81960. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  81961. * be hidden when moving the mouse between series.
  81962. */
  81963. stickyTracking?: boolean;
  81964. /**
  81965. * (Highcharts, Highstock) The threshold, also called zero level or base
  81966. * level. For line type series this is only used in conjunction with
  81967. * negativeColor.
  81968. */
  81969. threshold?: (number|null);
  81970. /**
  81971. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  81972. * of each single series. Properties are inherited from tooltip. Overridable
  81973. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  81974. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  81975. * series.name by default shows in the headerFormat and point.x and point.y
  81976. * in the pointFormat.
  81977. */
  81978. tooltip?: SeriesTooltipOptionsObject;
  81979. /**
  81980. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  81981. * is longer than this, only one dimensional arrays of numbers, or two
  81982. * dimensional arrays with x and y values are allowed. Also, only the first
  81983. * point is tested, and the rest are assumed to be the same format. This
  81984. * saves expensive data checking and indexing in long series. Set it to `0`
  81985. * disable.
  81986. *
  81987. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  81988. * two dimensional arrays are allowed.
  81989. */
  81990. turboThreshold?: number;
  81991. /**
  81992. * (Highcharts) Set the initial visibility of the series.
  81993. */
  81994. visible?: boolean;
  81995. /**
  81996. * (Highmaps) Define the z index of the series.
  81997. */
  81998. zIndex?: number;
  81999. /**
  82000. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  82001. */
  82002. zoneAxis?: string;
  82003. /**
  82004. * (Highcharts, Highstock) An array defining zones within a series. Zones
  82005. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  82006. * the `zoneAxis` option. The zone definitions have to be in ascending order
  82007. * regarding to the value.
  82008. *
  82009. * In styled mode, the color zones are styled with the
  82010. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  82011. * option (view live demo).
  82012. */
  82013. zones?: Array<SeriesZonesOptionsObject>;
  82014. }
  82015. /**
  82016. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  82017. * is displayed. The animation can also be set as a configuration object. Please
  82018. * note that this option only applies to the initial animation of the series
  82019. * itself. For other animations, see chart.animation and the animation parameter
  82020. * under the API methods. The following properties are supported:
  82021. *
  82022. * - `defer`: The animation delay time in milliseconds.
  82023. *
  82024. * - `duration`: The duration of the animation in milliseconds.
  82025. *
  82026. * - `easing`: Can be a string reference to an easing function set on the `Math`
  82027. * object or a function. See the _Custom easing function_ demo below.
  82028. *
  82029. * Due to poor performance, animation is disabled in old IE browsers for several
  82030. * chart types.
  82031. */
  82032. export interface PlotScatterAnimationOptions {
  82033. defer?: number;
  82034. }
  82035. export interface PlotScatterClusterEventsOptions {
  82036. /**
  82037. * (Highcharts, Highmaps) Fires when the cluster point is clicked and
  82038. * `drillToCluster` is enabled. One parameter, `event`, is passed to the
  82039. * function. The default action is to zoom to the cluster points range. This
  82040. * can be prevented by calling `event.preventDefault()`.
  82041. */
  82042. drillToCluster?: MarkerClusterDrillCallbackFunction;
  82043. }
  82044. /**
  82045. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
  82046. * to change the type of the algorithm, gridSize, distance or iterations.
  82047. */
  82048. export interface PlotScatterClusterLayoutAlgorithmOptions {
  82049. /**
  82050. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
  82051. * maximum distance between point and cluster center so that this point will
  82052. * be inside the cluster. The distance is either a number defining pixels or
  82053. * a percentage defining a percentage of the plot area width.
  82054. */
  82055. distance?: (number|string);
  82056. /**
  82057. * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
  82058. * size of a grid square element either as a number defining pixels, or a
  82059. * percentage defining a percentage of the plot area width.
  82060. */
  82061. gridSize?: (number|string);
  82062. /**
  82063. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
  82064. * the number of iterations that this algorithm will be repeated to find
  82065. * clusters positions.
  82066. */
  82067. iterations?: number;
  82068. /**
  82069. * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
  82070. * more visible points than the kmeansThreshold the `grid` algorithm is used
  82071. * to find clusters, otherwise `kmeans`. It ensures good performance on
  82072. * large datasets and better clusters arrangement after the zoom.
  82073. */
  82074. kmeansThreshold?: number;
  82075. /**
  82076. * (Highcharts, Highmaps) Type of the algorithm used to combine points into
  82077. * a cluster. There are three available algorithms:
  82078. *
  82079. * 1) `grid` - grid-based clustering technique. Points are assigned to
  82080. * squares of set size depending on their position on the plot area. Points
  82081. * inside the grid square are combined into a cluster. The grid size can be
  82082. * controlled by `gridSize` property (grid size changes at certain zoom
  82083. * levels).
  82084. *
  82085. * 2) `kmeans` - based on K-Means clustering technique. In the first step,
  82086. * points are divided using the grid method (distance property is a grid
  82087. * size) to find the initial amount of clusters. Next, each point is
  82088. * classified by computing the distance between each cluster center and that
  82089. * point. When the closest cluster distance is lower than distance property
  82090. * set by a user the point is added to this cluster otherwise is classified
  82091. * as `noise`. The algorithm is repeated until each cluster center not
  82092. * change its previous position more than one pixel. This technique is more
  82093. * accurate but also more time consuming than the `grid` algorithm,
  82094. * especially for big datasets.
  82095. *
  82096. * 3) `optimizedKmeans` - based on K-Means clustering technique. This
  82097. * algorithm uses k-means algorithm only on the chart initialization or when
  82098. * chart extremes have greater range than on initialization. When a chart is
  82099. * redrawn the algorithm checks only clustered points distance from the
  82100. * cluster center and rebuild it when the point is spaced enough to be
  82101. * outside the cluster. It provides performance improvement and more stable
  82102. * clusters position yet can be used rather on small and sparse datasets.
  82103. *
  82104. * By default, the algorithm depends on visible quantity of points and
  82105. * `kmeansThreshold`. When there are more visible points than the
  82106. * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
  82107. *
  82108. * The custom clustering algorithm can be added by assigning a callback
  82109. * function as the type property. This function takes an array of
  82110. * `processedXData`, `processedYData`, `processedXData` indexes and
  82111. * `layoutAlgorithm` options as arguments and should return an object with
  82112. * grouped data.
  82113. *
  82114. * The algorithm should return an object like that: (see online
  82115. * documentation for example)
  82116. *
  82117. * `clusterId` (example above - unique id of a cluster or noise) is an array
  82118. * of points belonging to a cluster. If the array has only one point or
  82119. * fewer points than set in `cluster.minimumClusterSize` it won't be
  82120. * combined into a cluster.
  82121. */
  82122. type?: (string|Function);
  82123. }
  82124. /**
  82125. * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
  82126. * the data values into larger blocks in order to ease readability and increase
  82127. * performance of the JavaScript charts.
  82128. *
  82129. * Note: marker clusters module is not working with `boost` and
  82130. * `draggable-points` modules.
  82131. *
  82132. * The marker clusters feature requires the marker-clusters.js file to be
  82133. * loaded, found in the modules directory of the download package, or online at
  82134. * code.highcharts.com/modules/marker-clusters.js.
  82135. */
  82136. export interface PlotScatterClusterOptions {
  82137. /**
  82138. * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
  82139. * this option works only when `layoutAlgorithm.type = "grid"`.
  82140. */
  82141. allowOverlap?: boolean;
  82142. /**
  82143. * (Highcharts, Highmaps) Options for the cluster marker animation.
  82144. */
  82145. animation?: (boolean|Partial<AnimationOptionsObject>);
  82146. /**
  82147. * (Highcharts, Highmaps) Options for the cluster data labels.
  82148. */
  82149. dataLabels?: DataLabelsOptions;
  82150. /**
  82151. * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
  82152. * when a cluster is clicked.
  82153. */
  82154. drillToCluster?: boolean;
  82155. /**
  82156. * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
  82157. */
  82158. enabled?: boolean;
  82159. events?: PlotScatterClusterEventsOptions;
  82160. /**
  82161. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
  82162. * options to change the type of the algorithm, gridSize, distance or
  82163. * iterations.
  82164. */
  82165. layoutAlgorithm?: PlotScatterClusterLayoutAlgorithmOptions;
  82166. /**
  82167. * (Highcharts, Highmaps) Options for the cluster marker.
  82168. */
  82169. marker?: PointMarkerOptionsObject;
  82170. /**
  82171. * (Highcharts, Highmaps) The minimum amount of points to be combined into a
  82172. * cluster. This value has to be greater or equal to 2.
  82173. */
  82174. minimumClusterSize?: number;
  82175. states?: PlotScatterClusterStatesOptions;
  82176. /**
  82177. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  82178. *
  82179. * In styled mode, the color zones are styled with the
  82180. * `.highcharts-cluster-zone-{n}` class, or custom classed from the
  82181. * `className` option.
  82182. */
  82183. zones?: Array<PlotScatterClusterZonesOptions>;
  82184. }
  82185. export interface PlotScatterClusterStatesHoverOptions {
  82186. /**
  82187. * (Highcharts, Highmaps) The fill color of the cluster marker in hover
  82188. * state. When `undefined`, the series' or point's fillColor for normal
  82189. * state is used.
  82190. */
  82191. fillColor?: ColorType;
  82192. }
  82193. export interface PlotScatterClusterStatesOptions {
  82194. hover?: PlotScatterClusterStatesHoverOptions;
  82195. }
  82196. /**
  82197. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  82198. *
  82199. * In styled mode, the color zones are styled with the
  82200. * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
  82201. * option.
  82202. */
  82203. export interface PlotScatterClusterZonesOptions {
  82204. /**
  82205. * (Highcharts, Highmaps) Styled mode only. A custom class name for the
  82206. * zone.
  82207. */
  82208. className?: string;
  82209. /**
  82210. * (Highcharts, Highmaps) The value where the zone starts.
  82211. */
  82212. from?: number;
  82213. /**
  82214. * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
  82215. * zone.
  82216. */
  82217. marker?: PointMarkerOptionsObject;
  82218. /**
  82219. * (Highcharts, Highmaps) The value where the zone ends.
  82220. */
  82221. to?: number;
  82222. }
  82223. /**
  82224. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  82225. * animation when a series is displayed for the `dataLabels`. The animation can
  82226. * also be set as a configuration object. Please note that this option only
  82227. * applies to the initial animation. For other animations, see chart.animation
  82228. * and the animation parameter under the API methods. The following properties
  82229. * are supported:
  82230. *
  82231. * - `defer`: The animation delay time in milliseconds.
  82232. */
  82233. export interface PlotScatterDataLabelsAnimationOptions {
  82234. /**
  82235. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  82236. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  82237. * inherits defer time from the series.animation.defer.
  82238. */
  82239. defer?: number;
  82240. }
  82241. /**
  82242. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  82243. * appearing next to each data point.
  82244. *
  82245. * Since v6.2.0, multiple data labels can be applied to each single point by
  82246. * defining them as an array of configs.
  82247. *
  82248. * In styled mode, the data labels can be styled with the
  82249. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  82250. * example).
  82251. */
  82252. export interface PlotScatterDataLabelsOptions {
  82253. /**
  82254. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  82255. * compared to the point. If `right`, the right side of the label should be
  82256. * touching the point. For points with an extent, like columns, the
  82257. * alignments also dictates how to align it inside the box, as given with
  82258. * the inside option. Can be one of `left`, `center` or `right`.
  82259. */
  82260. align?: (AlignValue|null);
  82261. /**
  82262. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  82263. * overlap. To make the labels less sensitive for overlapping, the
  82264. * dataLabels.padding can be set to 0.
  82265. */
  82266. allowOverlap?: boolean;
  82267. /**
  82268. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  82269. * animation when a series is displayed for the `dataLabels`. The animation
  82270. * can also be set as a configuration object. Please note that this option
  82271. * only applies to the initial animation. For other animations, see
  82272. * chart.animation and the animation parameter under the API methods. The
  82273. * following properties are supported:
  82274. *
  82275. * - `defer`: The animation delay time in milliseconds.
  82276. */
  82277. animation?: (boolean|PlotScatterDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  82278. /**
  82279. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  82280. * for the data label.
  82281. */
  82282. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  82283. /**
  82284. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  82285. * label. Defaults to `undefined`.
  82286. */
  82287. borderColor?: (ColorString|GradientColorObject|PatternObject);
  82288. /**
  82289. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  82290. * the data label.
  82291. */
  82292. borderRadius?: number;
  82293. /**
  82294. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  82295. * the data label.
  82296. */
  82297. borderWidth?: number;
  82298. /**
  82299. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  82300. * Particularly in styled mode, this can be used to give each series' or
  82301. * point's data label unique styling. In addition to this option, a default
  82302. * color class name is added so that we can give the labels a contrast text
  82303. * shadow.
  82304. */
  82305. className?: string;
  82306. /**
  82307. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  82308. * labels. Defaults to `undefined`. For certain series types, like column or
  82309. * map, the data labels can be drawn inside the points. In this case the
  82310. * data label will be drawn with maximum contrast by default. Additionally,
  82311. * it will be given a `text-outline` style with the opposite color, to
  82312. * further increase the contrast. This can be overridden by setting the
  82313. * `text-outline` style to `none` in the `dataLabels.style` option.
  82314. */
  82315. color?: (ColorString|GradientColorObject|PatternObject);
  82316. /**
  82317. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  82318. * are outside the plot area. By default, the data label is moved inside the
  82319. * plot area according to the overflow option.
  82320. */
  82321. crop?: boolean;
  82322. /**
  82323. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  82324. * labels until the initial series animation has finished. Setting to
  82325. * `false` renders the data label immediately. If set to `true` inherits the
  82326. * defer time set in plotOptions.series.animation. If set to a number, a
  82327. * defer time is specified in milliseconds.
  82328. */
  82329. defer?: (boolean|number);
  82330. /**
  82331. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  82332. * labels.
  82333. */
  82334. enabled?: boolean;
  82335. /**
  82336. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  82337. * of which data labels to display. The declarative filter is designed for
  82338. * use when callback functions are not available, like when the chart
  82339. * options require a pure JSON structure or for use with graphical editors.
  82340. * For programmatic control, use the `formatter` instead, and return
  82341. * `undefined` to disable a single data label.
  82342. */
  82343. filter?: DataLabelsFilterOptionsObject;
  82344. /**
  82345. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  82346. * label. Available variables are the same as for `formatter`.
  82347. */
  82348. format?: string;
  82349. /**
  82350. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  82351. * format the data label. Note that if a `format` is defined, the format
  82352. * takes precedence and the formatter is ignored.
  82353. */
  82354. formatter?: DataLabelsFormatterCallbackFunction;
  82355. /**
  82356. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  82357. * columns or map areas, whether to align the data label inside the box or
  82358. * to the actual value point. Defaults to `false` in most cases, `true` in
  82359. * stacked columns.
  82360. */
  82361. inside?: boolean;
  82362. /**
  82363. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  82364. * of null. Works analogously to format. `nullFormat` can be applied only to
  82365. * series which support displaying null points.
  82366. */
  82367. nullFormat?: (boolean|string);
  82368. /**
  82369. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  82370. * that defines formatting for points with the value of null. Works
  82371. * analogously to formatter. `nullPointFormatter` can be applied only to
  82372. * series which support displaying null points.
  82373. */
  82374. nullFormatter?: DataLabelsFormatterCallbackFunction;
  82375. /**
  82376. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  82377. * flow outside the plot area. The default is `"justify"`, which aligns them
  82378. * inside the plot area. For columns and bars, this means it will be moved
  82379. * inside the bar. To display data labels outside the plot area, set `crop`
  82380. * to `false` and `overflow` to `"allow"`.
  82381. */
  82382. overflow?: DataLabelsOverflowValue;
  82383. /**
  82384. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  82385. * the `backgroundColor` is set, this is the padding within the box.
  82386. */
  82387. padding?: number;
  82388. /**
  82389. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  82390. * points. If `center` alignment is not possible, it defaults to `right`.
  82391. */
  82392. position?: AlignValue;
  82393. /**
  82394. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  82395. * that due to a more complex structure, backgrounds, borders and padding
  82396. * will be lost on a rotated data label.
  82397. */
  82398. rotation?: number;
  82399. /**
  82400. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  82401. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  82402. * an object configuration containing `color`, `offsetX`, `offsetY`,
  82403. * `opacity` and `width`.
  82404. */
  82405. shadow?: (boolean|ShadowOptionsObject);
  82406. /**
  82407. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  82408. * the border around the label. Symbols are predefined functions on the
  82409. * Renderer object.
  82410. */
  82411. shape?: string;
  82412. /**
  82413. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  82414. * default `color` setting is `"contrast"`, which is a pseudo color that
  82415. * Highcharts picks up and applies the maximum contrast to the underlying
  82416. * point item, for example the bar in a bar chart.
  82417. *
  82418. * The `textOutline` is a pseudo property that applies an outline of the
  82419. * given width with the given color, which by default is the maximum
  82420. * contrast to the text. So a bright text color will result in a black text
  82421. * outline for maximum readability on a mixed background. In some cases,
  82422. * especially with grayscale text, the text outline doesn't work well, in
  82423. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  82424. * is true, the `textOutline` will not be picked up. In this, case, the same
  82425. * effect can be acheived through the `text-shadow` CSS property.
  82426. *
  82427. * For some series types, where each point has an extent, like for example
  82428. * tree maps, the data label may overflow the point. There are two
  82429. * strategies for handling overflow. By default, the text will wrap to
  82430. * multiple lines. The other strategy is to set `style.textOverflow` to
  82431. * `ellipsis`, which will keep the text on one line plus it will break
  82432. * inside long words.
  82433. */
  82434. style?: CSSObject;
  82435. /**
  82436. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  82437. * should follow marker's shape. Border and background are disabled for a
  82438. * label that follows a path.
  82439. *
  82440. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  82441. * to true will disable this option.
  82442. */
  82443. textPath?: DataLabelsTextPathOptionsObject;
  82444. /**
  82445. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  82446. * the labels.
  82447. */
  82448. useHTML?: boolean;
  82449. /**
  82450. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  82451. * label. Can be one of `top`, `middle` or `bottom`. The default value
  82452. * depends on the data, for instance in a column chart, the label is above
  82453. * positive values and below negative values.
  82454. */
  82455. verticalAlign?: (VerticalAlignValue|null);
  82456. /**
  82457. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  82458. * label relative to the point in pixels.
  82459. */
  82460. x?: number;
  82461. /**
  82462. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  82463. * label relative to the point in pixels.
  82464. */
  82465. y?: number;
  82466. /**
  82467. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  82468. * The default Z index puts it above the series. Use a Z index of 2 to
  82469. * display it behind the series.
  82470. */
  82471. z?: number;
  82472. }
  82473. /**
  82474. * (Highcharts, Highstock) Options for the series data sorting.
  82475. */
  82476. export interface PlotScatterDataSortingOptions {
  82477. /**
  82478. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  82479. * Use xAxis.reversed to change the sorting order.
  82480. */
  82481. enabled?: boolean;
  82482. /**
  82483. * (Highcharts, Highstock) Whether to allow matching points by name in an
  82484. * update. If this option is disabled, points will be matched by order.
  82485. */
  82486. matchByName?: boolean;
  82487. /**
  82488. * (Highcharts, Highstock) Determines what data value should be used to sort
  82489. * by.
  82490. */
  82491. sortKey?: string;
  82492. }
  82493. /**
  82494. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  82495. * one state by default, the `default` state.
  82496. */
  82497. export interface PlotScatterDragDropGuideBoxOptions {
  82498. /**
  82499. * (Highcharts, Highstock) Style options for the guide box default state.
  82500. */
  82501. default?: DragDropGuideBoxOptionsObject;
  82502. }
  82503. /**
  82504. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  82505. * plotting discrete values, a little random noise may help telling the points
  82506. * apart. The jitter setting applies a random displacement of up to `n` axis
  82507. * units in either direction. So for example on a horizontal X axis, setting the
  82508. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  82509. * units to the left and 0.24 units to the right of the true axis position. On a
  82510. * category axis, setting it to 0.5 will fill up the bin and make the data
  82511. * appear continuous.
  82512. *
  82513. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  82514. * will correspond to the underlying series' default groupPadding and
  82515. * pointPadding settings.
  82516. */
  82517. export interface PlotScatterJitterOptions {
  82518. /**
  82519. * (Highcharts, Highstock) The maximal X offset for the random jitter
  82520. * effect.
  82521. */
  82522. x?: number;
  82523. /**
  82524. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  82525. * effect.
  82526. */
  82527. y?: number;
  82528. }
  82529. /**
  82530. * (Highcharts, Highstock) A scatter plot uses cartesian coordinates to display
  82531. * values for two variables for a set of data.
  82532. *
  82533. * In TypeScript the type option must always be set.
  82534. *
  82535. * Configuration options for the series are given in three levels:
  82536. *
  82537. * 1. Options for all series in a chart are defined in the plotOptions.series
  82538. * object.
  82539. *
  82540. * 2. Options for all `scatter` series are defined in plotOptions.scatter.
  82541. *
  82542. * 3. Options for one single series are given in the series instance array. (see
  82543. * online documentation for example)
  82544. */
  82545. export interface PlotScatterOptions {
  82546. /**
  82547. * (Highcharts, Highstock) Accessibility options for a series.
  82548. */
  82549. accessibility?: SeriesAccessibilityOptionsObject;
  82550. /**
  82551. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  82552. * rendered. If `true`, areas which don't correspond to a data point, are
  82553. * rendered as `null` points. If `false`, those areas are skipped.
  82554. */
  82555. allAreas?: boolean;
  82556. /**
  82557. * (Highcharts, Highstock) Allow this series' points to be selected by
  82558. * clicking on the graphic (columns, point markers, pie slices, map areas
  82559. * etc).
  82560. *
  82561. * The selected points can be handled by point select and unselect events,
  82562. * or collectively by the getSelectedPoints function.
  82563. *
  82564. * And alternative way of selecting points is through dragging.
  82565. */
  82566. allowPointSelect?: boolean;
  82567. /**
  82568. * (Highcharts, Highstock) Enable or disable the initial animation when a
  82569. * series is displayed. The animation can also be set as a configuration
  82570. * object. Please note that this option only applies to the initial
  82571. * animation of the series itself. For other animations, see chart.animation
  82572. * and the animation parameter under the API methods. The following
  82573. * properties are supported:
  82574. *
  82575. * - `defer`: The animation delay time in milliseconds.
  82576. *
  82577. * - `duration`: The duration of the animation in milliseconds.
  82578. *
  82579. * - `easing`: Can be a string reference to an easing function set on the
  82580. * `Math` object or a function. See the _Custom easing function_ demo below.
  82581. *
  82582. * Due to poor performance, animation is disabled in old IE browsers for
  82583. * several chart types.
  82584. */
  82585. animation?: (boolean|PlotScatterAnimationOptions|Partial<AnimationOptionsObject>);
  82586. /**
  82587. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  82588. * initial animation by default when the total number of points in the chart
  82589. * is too high. For example, for a column chart and its derivatives,
  82590. * animation does not run if there is more than 250 points totally. To
  82591. * disable this cap, set `animationLimit` to `Infinity`.
  82592. */
  82593. animationLimit?: number;
  82594. /**
  82595. * (Highcharts, Highstock) Sets the color blending in the boost module.
  82596. */
  82597. boostBlending?: OptionsBoostBlendingValue;
  82598. /**
  82599. * (Highcharts, Highstock) Set the point threshold for when a series should
  82600. * enter boost mode.
  82601. *
  82602. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  82603. * there are 2000 or more points in the series.
  82604. *
  82605. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  82606. * it to 1 will force boosting.
  82607. *
  82608. * Note that the cropThreshold also affects this setting. When zooming in on
  82609. * a series that has fewer points than the `cropThreshold`, all points are
  82610. * rendered although outside the visible plot area, and the `boostThreshold`
  82611. * won't take effect.
  82612. */
  82613. boostThreshold?: number;
  82614. /**
  82615. * (Highmaps) The border color of the map areas.
  82616. *
  82617. * In styled mode, the border stroke is given in the `.highcharts-point`
  82618. * class.
  82619. */
  82620. borderColor?: (ColorString|GradientColorObject|PatternObject);
  82621. /**
  82622. * (Highmaps) The border width of each map area.
  82623. *
  82624. * In styled mode, the border stroke width is given in the
  82625. * `.highcharts-point` class.
  82626. */
  82627. borderWidth?: number;
  82628. /**
  82629. * (Highcharts, Highstock) An additional class name to apply to the series'
  82630. * graphical elements. This option does not replace default class names of
  82631. * the graphical element.
  82632. */
  82633. className?: string;
  82634. /**
  82635. * (Highcharts, Highstock) Disable this option to allow series rendering in
  82636. * the whole plotting area.
  82637. *
  82638. * **Note:** Clipping should be always enabled when chart.zoomType is set
  82639. */
  82640. clip?: boolean;
  82641. /**
  82642. * (Highcharts, Highmaps) Options for marker clusters, the concept of
  82643. * sampling the data values into larger blocks in order to ease readability
  82644. * and increase performance of the JavaScript charts.
  82645. *
  82646. * Note: marker clusters module is not working with `boost` and
  82647. * `draggable-points` modules.
  82648. *
  82649. * The marker clusters feature requires the marker-clusters.js file to be
  82650. * loaded, found in the modules directory of the download package, or online
  82651. * at code.highcharts.com/modules/marker-clusters.js.
  82652. */
  82653. cluster?: PlotScatterClusterOptions;
  82654. /**
  82655. * (Highcharts, Highstock) The main color of the series. In line type series
  82656. * it applies to the line and the point markers unless otherwise specified.
  82657. * In bar type series it applies to the bars unless a color is specified per
  82658. * point. The default value is pulled from the `options.colors` array.
  82659. *
  82660. * In styled mode, the color can be defined by the colorIndex option. Also,
  82661. * the series color can be set with the `.highcharts-series`,
  82662. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  82663. * `.highcharts-series-{n}` class, or individual classes given by the
  82664. * `className` option.
  82665. */
  82666. color?: (ColorString|GradientColorObject|PatternObject);
  82667. /**
  82668. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  82669. * this number defines which colorAxis the particular series is connected
  82670. * to. It refers to either the axis id or the index of the axis in the
  82671. * colorAxis array, with 0 being the first. Set this option to false to
  82672. * prevent a series from connecting to the default color axis.
  82673. *
  82674. * Since v7.2.0 the option can also be an axis id or an axis index instead
  82675. * of a boolean flag.
  82676. */
  82677. colorAxis?: (boolean|number|string);
  82678. /**
  82679. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  82680. * for the series, so its graphic representations are given the class name
  82681. * `highcharts-color-{n}`.
  82682. */
  82683. colorIndex?: number;
  82684. /**
  82685. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  82686. * used to calculate point color if `colorAxis` is used. Requires to set
  82687. * `min` and `max` if some custom point property is used or if approximation
  82688. * for data grouping is set to `'sum'`.
  82689. */
  82690. colorKey?: string;
  82691. /**
  82692. * (Highstock) Compare the values of the series against the first non-null,
  82693. * non- zero value in the visible range. The y axis will show percentage or
  82694. * absolute change depending on whether `compare` is set to `"percent"` or
  82695. * `"value"`. When this is applied to multiple series, it allows comparing
  82696. * the development of the series against each other. Adds a `change` field
  82697. * to every point object.
  82698. */
  82699. compare?: string;
  82700. /**
  82701. * (Highstock) When compare is `percent`, this option dictates whether to
  82702. * use 0 or 100 as the base of comparison.
  82703. */
  82704. compareBase?: (0|100);
  82705. /**
  82706. * (Highstock) Defines if comparison should start from the first point
  82707. * within the visible range or should start from the first point **before**
  82708. * the range.
  82709. *
  82710. * In other words, this flag determines if first point within the visible
  82711. * range will have 0% (`compareStart=true`) or should have been already
  82712. * calculated according to the previous point (`compareStart=false`).
  82713. */
  82714. compareStart?: boolean;
  82715. /**
  82716. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  82717. * series plot across the extremes.
  82718. */
  82719. connectEnds?: boolean;
  82720. /**
  82721. * (Highcharts, Highstock) Whether to connect a graph line across null
  82722. * points, or render a gap between the two points on either side of the
  82723. * null.
  82724. */
  82725. connectNulls?: boolean;
  82726. /**
  82727. * (Gantt) Override Pathfinder connector options for a series. Requires
  82728. * Highcharts Gantt to be loaded.
  82729. */
  82730. connectors?: SeriesConnectorsOptionsObject;
  82731. /**
  82732. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  82733. * rounded to its nearest pixel in order to render sharp on screen. In some
  82734. * cases, when there are a lot of densely packed columns, this leads to
  82735. * visible difference in column widths or distance between columns. In these
  82736. * cases, setting `crisp` to `false` may look better, even though each
  82737. * column is rendered blurry.
  82738. */
  82739. crisp?: boolean;
  82740. /**
  82741. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  82742. * click events attached to the series, to signal to the user that the
  82743. * points and lines can be clicked.
  82744. *
  82745. * In styled mode, the series cursor can be set with the same classes as
  82746. * listed under series.color.
  82747. */
  82748. cursor?: (string|CursorValue);
  82749. /**
  82750. * (Highcharts, Highstock) A reserved subspace to store options and values
  82751. * for customized functionality. Here you can add additional data for your
  82752. * own event callbacks and formatter callbacks.
  82753. */
  82754. custom?: Dictionary<any>;
  82755. /**
  82756. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  82757. * for some series types the outline of each shape.
  82758. *
  82759. * In styled mode, the stroke dash-array can be set with the same classes as
  82760. * listed under series.color.
  82761. */
  82762. dashStyle?: DashStyleValue;
  82763. /**
  82764. * (Highstock) Data grouping is the concept of sampling the data values into
  82765. * larger blocks in order to ease readability and increase performance of
  82766. * the JavaScript charts. Highcharts Stock by default applies data grouping
  82767. * when the points become closer than a certain pixel value, determined by
  82768. * the `groupPixelWidth` option.
  82769. *
  82770. * If data grouping is applied, the grouping information of grouped points
  82771. * can be read from the Point.dataGroup. If point options other than the
  82772. * data itself are set, for example `name` or `color` or custom properties,
  82773. * the grouping logic doesn't know how to group it. In this case the options
  82774. * of the first point instance are copied over to the group point. This can
  82775. * be altered through a custom `approximation` callback function.
  82776. */
  82777. dataGrouping?: DataGroupingOptionsObject;
  82778. /**
  82779. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  82780. * labels, appearing next to each data point.
  82781. *
  82782. * Since v6.2.0, multiple data labels can be applied to each single point by
  82783. * defining them as an array of configs.
  82784. *
  82785. * In styled mode, the data labels can be styled with the
  82786. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  82787. * (see example).
  82788. */
  82789. dataLabels?: (PlotScatterDataLabelsOptions|Array<PlotScatterDataLabelsOptions>);
  82790. /**
  82791. * (Highcharts, Highstock) Options for the series data sorting.
  82792. */
  82793. dataSorting?: (DataSortingOptionsObject|PlotScatterDataSortingOptions);
  82794. /**
  82795. * (Highcharts, Highstock) A description of the series to add to the screen
  82796. * reader information about the series.
  82797. */
  82798. description?: string;
  82799. /**
  82800. * (Highcharts, Highstock) The draggable-points module allows points to be
  82801. * moved around or modified in the chart. In addition to the options
  82802. * mentioned under the `dragDrop` API structure, the module fires three
  82803. * events, point.dragStart, point.drag and point.drop.
  82804. */
  82805. dragDrop?: SeriesDragDropOptionsObject;
  82806. /**
  82807. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  82808. * specific series. This includes point tooltips and click events on graphs
  82809. * and points. For large datasets it improves performance.
  82810. */
  82811. enableMouseTracking?: boolean;
  82812. /**
  82813. * (Highcharts, Highstock) General event handlers for the series items.
  82814. * These event hooks can also be attached to the series at run time using
  82815. * the `Highcharts.addEvent` function.
  82816. */
  82817. events?: SeriesEventsOptionsObject;
  82818. /**
  82819. * (Highcharts, Highstock) Determines whether the series should look for the
  82820. * nearest point in both dimensions or just the x-dimension when hovering
  82821. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  82822. * other series. If the data has duplicate x-values, it is recommended to
  82823. * set this to `'xy'` to allow hovering over all points.
  82824. *
  82825. * Applies only to series types using nearest neighbor search (not direct
  82826. * hover) for tooltip.
  82827. */
  82828. findNearestPointBy?: OptionsFindNearestPointByValue;
  82829. /**
  82830. * (Highstock) Defines when to display a gap in the graph, together with the
  82831. * gapUnit option.
  82832. *
  82833. * In case when `dataGrouping` is enabled, points can be grouped into a
  82834. * larger time span. This can make the grouped points to have a greater
  82835. * distance than the absolute value of `gapSize` property, which will result
  82836. * in disappearing graph completely. To prevent this situation the mentioned
  82837. * distance between grouped points is used instead of previously defined
  82838. * `gapSize`.
  82839. *
  82840. * In practice, this option is most often used to visualize gaps in time
  82841. * series. In a stock chart, intraday data is available for daytime hours,
  82842. * while gaps will appear in nights and weekends.
  82843. */
  82844. gapSize?: number;
  82845. /**
  82846. * (Highstock) Together with gapSize, this option defines where to draw gaps
  82847. * in the graph.
  82848. *
  82849. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  82850. * if the distance between two points is greater than 5 times that of the
  82851. * two closest points, the graph will be broken.
  82852. *
  82853. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  82854. * values, which on a datetime axis is milliseconds. This also applies to
  82855. * the navigator series that inherits gap options from the base series.
  82856. */
  82857. gapUnit?: OptionsGapUnitValue;
  82858. /**
  82859. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  82860. * chart width or only the zoomed area when zooming in on parts of the X
  82861. * axis. By default, the Y axis adjusts to the min and max of the visible
  82862. * data. Cartesian series only.
  82863. */
  82864. getExtremesFromAll?: boolean;
  82865. /**
  82866. * (Highcharts, Highstock) When set to `false` will prevent the series data
  82867. * from being included in any form of data export.
  82868. *
  82869. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  82870. * `includeInCSVExport`.
  82871. */
  82872. includeInDataExport?: boolean;
  82873. /**
  82874. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  82875. * When plotting discrete values, a little random noise may help telling the
  82876. * points apart. The jitter setting applies a random displacement of up to
  82877. * `n` axis units in either direction. So for example on a horizontal X
  82878. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  82879. * position between 0.24 units to the left and 0.24 units to the right of
  82880. * the true axis position. On a category axis, setting it to 0.5 will fill
  82881. * up the bin and make the data appear continuous.
  82882. *
  82883. * When rendered on top of a box plot or a column series, a jitter value of
  82884. * 0.24 will correspond to the underlying series' default groupPadding and
  82885. * pointPadding settings.
  82886. */
  82887. jitter?: PlotScatterJitterOptions;
  82888. /**
  82889. * (Highmaps) What property to join the `mapData` to the value data. For
  82890. * example, if joinBy is "code", the mapData items with a specific code is
  82891. * merged into the data with the same code. For maps loaded from GeoJSON,
  82892. * the keys may be held in each point's `properties` object.
  82893. *
  82894. * The joinBy option can also be an array of two values, where the first
  82895. * points to a key in the `mapData`, and the second points to another key in
  82896. * the `data`.
  82897. *
  82898. * When joinBy is `null`, the map items are joined by their position in the
  82899. * array, which performs much better in maps with many data points. This is
  82900. * the recommended option if you are printing more than a thousand data
  82901. * points and have a backend that can preprocess the data into a parallel
  82902. * array of the mapData.
  82903. */
  82904. joinBy?: (string|Array<string>);
  82905. /**
  82906. * (Highcharts, Highstock) An array specifying which option maps to which
  82907. * key in the data point array. This makes it convenient to work with
  82908. * unstructured data arrays from different sources.
  82909. */
  82910. keys?: Array<string>;
  82911. /**
  82912. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  82913. * series as possible in a natural way, seeking to avoid other series. The
  82914. * goal of this feature is to make the chart more easily readable, like if a
  82915. * human designer placed the labels in the optimal position.
  82916. *
  82917. * The series labels currently work with series types having a `graph` or an
  82918. * `area`.
  82919. */
  82920. label?: SeriesLabelOptionsObject;
  82921. /**
  82922. * (Highstock) The line marks the last price from all points.
  82923. */
  82924. lastPrice?: SeriesLastPriceOptionsObject;
  82925. /**
  82926. * (Highstock) The line marks the last price from visible range of points.
  82927. */
  82928. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  82929. /**
  82930. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  82931. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  82932. * the ends and bends.
  82933. */
  82934. linecap?: SeriesLinecapValue;
  82935. /**
  82936. * (Highcharts, Highstock) The width of the line connecting the data points.
  82937. */
  82938. lineWidth?: number;
  82939. /**
  82940. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  82941. * Additionally, the value can be ":previous" to link to the previous
  82942. * series. When two series are linked, only the first one appears in the
  82943. * legend. Toggling the visibility of this also toggles the linked series.
  82944. *
  82945. * If master series uses data sorting and linked series does not have its
  82946. * own sorting definition, the linked series will be sorted in the same
  82947. * order as the master one.
  82948. */
  82949. linkedTo?: string;
  82950. /**
  82951. * (Highcharts, Highstock) Options for the point markers of line-like
  82952. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  82953. * the visual appearance of the markers. Other series types, like column
  82954. * series, don't have markers, but have visual options on the series level
  82955. * instead.
  82956. *
  82957. * In styled mode, the markers can be styled with the `.highcharts-point`,
  82958. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  82959. */
  82960. marker?: PointMarkerOptionsObject;
  82961. /**
  82962. * (Highstock) Options for the corresponding navigator series if
  82963. * `showInNavigator` is `true` for this series. Available options are the
  82964. * same as any series, documented at plotOptions and series.
  82965. *
  82966. * These options are merged with options in navigator.series, and will take
  82967. * precedence if the same option is defined both places.
  82968. */
  82969. navigatorOptions?: PlotSeriesOptions;
  82970. /**
  82971. * (Highcharts, Highstock) The color for the parts of the graph or points
  82972. * that are below the threshold. Note that `zones` takes precedence over the
  82973. * negative color. Using `negativeColor` is equivalent to applying a zone
  82974. * with value of 0.
  82975. */
  82976. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  82977. /**
  82978. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  82979. * and dataLabels.
  82980. */
  82981. opacity?: number;
  82982. /**
  82983. * (Highcharts, Highstock) Properties for each single point.
  82984. */
  82985. point?: PlotSeriesPointOptions;
  82986. /**
  82987. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  82988. * but for an individual series. Overrides the chart wide configuration.
  82989. */
  82990. pointDescriptionFormatter?: Function;
  82991. /**
  82992. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  82993. * a series, `pointInterval` defines the interval of the x values. For
  82994. * example, if a series contains one value every decade starting from year
  82995. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  82996. * `pointInterval` is set in milliseconds.
  82997. *
  82998. * It can be also be combined with `pointIntervalUnit` to draw irregular
  82999. * time intervals.
  83000. *
  83001. * Please note that this options applies to the _series data_, not the
  83002. * interval of the axis ticks, which is independent.
  83003. */
  83004. pointInterval?: number;
  83005. /**
  83006. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  83007. * setting the pointInterval to irregular time units, `day`, `month` and
  83008. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  83009. * also takes the DST crossover into consideration when dealing with local
  83010. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  83011. * months, 10 years etc.
  83012. *
  83013. * Please note that this options applies to the _series data_, not the
  83014. * interval of the axis ticks, which is independent.
  83015. */
  83016. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  83017. /**
  83018. * (Highstock) The width of each point on the x axis. For example in a
  83019. * column chart with one value each day, the pointRange would be 1 day (= 24
  83020. * * 3600
  83021. *
  83022. * * 1000 milliseconds). This is normally computed automatically, but this
  83023. * option can be used to override the automatic value.
  83024. */
  83025. pointRange?: number;
  83026. /**
  83027. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  83028. * a series, pointStart defines on what value to start. For example, if a
  83029. * series contains one yearly value starting from 1945, set pointStart to
  83030. * 1945.
  83031. */
  83032. pointStart?: number;
  83033. /**
  83034. * (Highcharts, Highstock) Whether to select the series initially. If
  83035. * `showCheckbox` is true, the checkbox next to the series name in the
  83036. * legend will be checked for a selected series.
  83037. */
  83038. selected?: boolean;
  83039. /**
  83040. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  83041. * legend item to allow selecting the series. The state of the checkbox is
  83042. * determined by the `selected` option.
  83043. */
  83044. showCheckbox?: boolean;
  83045. /**
  83046. * (Highcharts, Highstock) Whether to display this particular series or
  83047. * series type in the legend. Standalone series are shown in legend by
  83048. * default, and linked series are not. Since v7.2.0 it is possible to show
  83049. * series that use colorAxis by setting this option to `true`.
  83050. */
  83051. showInLegend?: boolean;
  83052. /**
  83053. * (Highstock) Whether or not to show the series in the navigator. Takes
  83054. * precedence over navigator.baseSeries if defined.
  83055. */
  83056. showInNavigator?: boolean;
  83057. /**
  83058. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  83059. * skip past the points in this series for keyboard navigation.
  83060. */
  83061. skipKeyboardNavigation?: boolean;
  83062. /**
  83063. * (Highcharts, Highstock) When this is true, the series will not cause the
  83064. * Y axis to cross the zero plane (or threshold option) unless the data
  83065. * actually crosses the plane.
  83066. *
  83067. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  83068. * make the Y axis show negative values according to the `minPadding`
  83069. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  83070. */
  83071. softThreshold?: boolean;
  83072. /**
  83073. * (Highcharts, Highstock) Whether to stack the values of each series on top
  83074. * of each other. Possible values are `undefined` to disable, `"normal"` to
  83075. * stack by value or `"percent"`.
  83076. *
  83077. * When stacking is enabled, data must be sorted in ascending X order.
  83078. *
  83079. * Some stacking options are related to specific series types. In the
  83080. * streamgraph series type, the stacking option is set to `"stream"`. The
  83081. * second one is `"overlap"`, which only applies to waterfall series.
  83082. */
  83083. stacking?: OptionsStackingValue;
  83084. states?: SeriesStatesOptionsObject;
  83085. /**
  83086. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  83087. * values are `left`, `center` and `right`.
  83088. */
  83089. step?: OptionsStepValue;
  83090. /**
  83091. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  83092. * `mouseOut` event on a series isn't triggered until the mouse moves over
  83093. * another series, or out of the plot area. When false, the `mouseOut` event
  83094. * on a series is triggered when the mouse leaves the area around the
  83095. * series' graph or markers. This also implies the tooltip. When
  83096. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  83097. * be hidden when moving the mouse between series.
  83098. */
  83099. stickyTracking?: boolean;
  83100. /**
  83101. * (Highcharts, Highstock) The threshold, also called zero level or base
  83102. * level. For line type series this is only used in conjunction with
  83103. * negativeColor.
  83104. */
  83105. threshold?: (number|null);
  83106. /**
  83107. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  83108. * of each single series. Properties are inherited from tooltip. Overridable
  83109. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  83110. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  83111. * series.name by default shows in the headerFormat and point.x and point.y
  83112. * in the pointFormat.
  83113. */
  83114. tooltip?: SeriesTooltipOptionsObject;
  83115. /**
  83116. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  83117. * is longer than this, only one dimensional arrays of numbers, or two
  83118. * dimensional arrays with x and y values are allowed. Also, only the first
  83119. * point is tested, and the rest are assumed to be the same format. This
  83120. * saves expensive data checking and indexing in long series. Set it to `0`
  83121. * disable.
  83122. *
  83123. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  83124. * two dimensional arrays are allowed.
  83125. */
  83126. turboThreshold?: number;
  83127. /**
  83128. * (Highcharts, Highstock) Set the initial visibility of the series.
  83129. */
  83130. visible?: boolean;
  83131. /**
  83132. * (Highmaps) Define the z index of the series.
  83133. */
  83134. zIndex?: number;
  83135. /**
  83136. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  83137. */
  83138. zoneAxis?: string;
  83139. /**
  83140. * (Highcharts, Highstock) An array defining zones within a series. Zones
  83141. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  83142. * the `zoneAxis` option. The zone definitions have to be in ascending order
  83143. * regarding to the value.
  83144. *
  83145. * In styled mode, the color zones are styled with the
  83146. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  83147. * option (view live demo).
  83148. */
  83149. zones?: Array<SeriesZonesOptionsObject>;
  83150. }
  83151. /**
  83152. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  83153. * animation when a series is displayed. The animation can also be set as a
  83154. * configuration object. Please note that this option only applies to the
  83155. * initial animation of the series itself. For other animations, see
  83156. * chart.animation and the animation parameter under the API methods. The
  83157. * following properties are supported:
  83158. *
  83159. * - `defer`: The animation delay time in milliseconds.
  83160. *
  83161. * - `duration`: The duration of the animation in milliseconds.
  83162. *
  83163. * - `easing`: Can be a string reference to an easing function set on the `Math`
  83164. * object or a function. See the _Custom easing function_ demo below.
  83165. *
  83166. * Due to poor performance, animation is disabled in old IE browsers for several
  83167. * chart types.
  83168. */
  83169. export interface PlotSeriesAnimationOptions {
  83170. defer?: number;
  83171. }
  83172. /**
  83173. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  83174. * animation when a series is displayed for the `dataLabels`. The animation can
  83175. * also be set as a configuration object. Please note that this option only
  83176. * applies to the initial animation. For other animations, see chart.animation
  83177. * and the animation parameter under the API methods. The following properties
  83178. * are supported:
  83179. *
  83180. * - `defer`: The animation delay time in milliseconds.
  83181. */
  83182. export interface PlotSeriesDataLabelsAnimationOptions {
  83183. /**
  83184. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  83185. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  83186. * inherits defer time from the series.animation.defer.
  83187. */
  83188. defer?: number;
  83189. }
  83190. /**
  83191. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  83192. * appearing next to each data point.
  83193. *
  83194. * Since v6.2.0, multiple data labels can be applied to each single point by
  83195. * defining them as an array of configs.
  83196. *
  83197. * In styled mode, the data labels can be styled with the
  83198. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  83199. * example).
  83200. */
  83201. export interface PlotSeriesDataLabelsOptions {
  83202. /**
  83203. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  83204. * compared to the point. If `right`, the right side of the label should be
  83205. * touching the point. For points with an extent, like columns, the
  83206. * alignments also dictates how to align it inside the box, as given with
  83207. * the inside option. Can be one of `left`, `center` or `right`.
  83208. */
  83209. align?: (AlignValue|null);
  83210. /**
  83211. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  83212. * overlap. To make the labels less sensitive for overlapping, the
  83213. * dataLabels.padding can be set to 0.
  83214. */
  83215. allowOverlap?: boolean;
  83216. /**
  83217. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  83218. * animation when a series is displayed for the `dataLabels`. The animation
  83219. * can also be set as a configuration object. Please note that this option
  83220. * only applies to the initial animation. For other animations, see
  83221. * chart.animation and the animation parameter under the API methods. The
  83222. * following properties are supported:
  83223. *
  83224. * - `defer`: The animation delay time in milliseconds.
  83225. */
  83226. animation?: (boolean|PlotSeriesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  83227. /**
  83228. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  83229. * for the data label.
  83230. */
  83231. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  83232. /**
  83233. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  83234. * label. Defaults to `undefined`.
  83235. */
  83236. borderColor?: (ColorString|GradientColorObject|PatternObject);
  83237. /**
  83238. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  83239. * the data label.
  83240. */
  83241. borderRadius?: number;
  83242. /**
  83243. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  83244. * the data label.
  83245. */
  83246. borderWidth?: number;
  83247. /**
  83248. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  83249. * Particularly in styled mode, this can be used to give each series' or
  83250. * point's data label unique styling. In addition to this option, a default
  83251. * color class name is added so that we can give the labels a contrast text
  83252. * shadow.
  83253. */
  83254. className?: string;
  83255. /**
  83256. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  83257. * labels. Defaults to `undefined`. For certain series types, like column or
  83258. * map, the data labels can be drawn inside the points. In this case the
  83259. * data label will be drawn with maximum contrast by default. Additionally,
  83260. * it will be given a `text-outline` style with the opposite color, to
  83261. * further increase the contrast. This can be overridden by setting the
  83262. * `text-outline` style to `none` in the `dataLabels.style` option.
  83263. */
  83264. color?: (ColorString|GradientColorObject|PatternObject);
  83265. /**
  83266. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  83267. * are outside the plot area. By default, the data label is moved inside the
  83268. * plot area according to the overflow option.
  83269. */
  83270. crop?: boolean;
  83271. /**
  83272. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  83273. * labels until the initial series animation has finished. Setting to
  83274. * `false` renders the data label immediately. If set to `true` inherits the
  83275. * defer time set in plotOptions.series.animation. If set to a number, a
  83276. * defer time is specified in milliseconds.
  83277. */
  83278. defer?: (boolean|number);
  83279. /**
  83280. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  83281. * labels.
  83282. */
  83283. enabled?: boolean;
  83284. /**
  83285. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  83286. * of which data labels to display. The declarative filter is designed for
  83287. * use when callback functions are not available, like when the chart
  83288. * options require a pure JSON structure or for use with graphical editors.
  83289. * For programmatic control, use the `formatter` instead, and return
  83290. * `undefined` to disable a single data label.
  83291. */
  83292. filter?: DataLabelsFilterOptionsObject;
  83293. /**
  83294. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  83295. * label. Available variables are the same as for `formatter`.
  83296. */
  83297. format?: string;
  83298. /**
  83299. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  83300. * format the data label. Note that if a `format` is defined, the format
  83301. * takes precedence and the formatter is ignored.
  83302. */
  83303. formatter?: DataLabelsFormatterCallbackFunction;
  83304. /**
  83305. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  83306. * columns or map areas, whether to align the data label inside the box or
  83307. * to the actual value point. Defaults to `false` in most cases, `true` in
  83308. * stacked columns.
  83309. */
  83310. inside?: boolean;
  83311. /**
  83312. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  83313. * of null. Works analogously to format. `nullFormat` can be applied only to
  83314. * series which support displaying null points.
  83315. */
  83316. nullFormat?: (boolean|string);
  83317. /**
  83318. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  83319. * that defines formatting for points with the value of null. Works
  83320. * analogously to formatter. `nullPointFormatter` can be applied only to
  83321. * series which support displaying null points.
  83322. */
  83323. nullFormatter?: DataLabelsFormatterCallbackFunction;
  83324. /**
  83325. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  83326. * flow outside the plot area. The default is `"justify"`, which aligns them
  83327. * inside the plot area. For columns and bars, this means it will be moved
  83328. * inside the bar. To display data labels outside the plot area, set `crop`
  83329. * to `false` and `overflow` to `"allow"`.
  83330. */
  83331. overflow?: DataLabelsOverflowValue;
  83332. /**
  83333. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  83334. * the `backgroundColor` is set, this is the padding within the box.
  83335. */
  83336. padding?: number;
  83337. /**
  83338. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  83339. * points. If `center` alignment is not possible, it defaults to `right`.
  83340. */
  83341. position?: AlignValue;
  83342. /**
  83343. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  83344. * that due to a more complex structure, backgrounds, borders and padding
  83345. * will be lost on a rotated data label.
  83346. */
  83347. rotation?: number;
  83348. /**
  83349. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  83350. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  83351. * an object configuration containing `color`, `offsetX`, `offsetY`,
  83352. * `opacity` and `width`.
  83353. */
  83354. shadow?: (boolean|ShadowOptionsObject);
  83355. /**
  83356. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  83357. * the border around the label. Symbols are predefined functions on the
  83358. * Renderer object.
  83359. */
  83360. shape?: string;
  83361. /**
  83362. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  83363. * default `color` setting is `"contrast"`, which is a pseudo color that
  83364. * Highcharts picks up and applies the maximum contrast to the underlying
  83365. * point item, for example the bar in a bar chart.
  83366. *
  83367. * The `textOutline` is a pseudo property that applies an outline of the
  83368. * given width with the given color, which by default is the maximum
  83369. * contrast to the text. So a bright text color will result in a black text
  83370. * outline for maximum readability on a mixed background. In some cases,
  83371. * especially with grayscale text, the text outline doesn't work well, in
  83372. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  83373. * is true, the `textOutline` will not be picked up. In this, case, the same
  83374. * effect can be acheived through the `text-shadow` CSS property.
  83375. *
  83376. * For some series types, where each point has an extent, like for example
  83377. * tree maps, the data label may overflow the point. There are two
  83378. * strategies for handling overflow. By default, the text will wrap to
  83379. * multiple lines. The other strategy is to set `style.textOverflow` to
  83380. * `ellipsis`, which will keep the text on one line plus it will break
  83381. * inside long words.
  83382. */
  83383. style?: CSSObject;
  83384. /**
  83385. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  83386. * should follow marker's shape. Border and background are disabled for a
  83387. * label that follows a path.
  83388. *
  83389. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  83390. * to true will disable this option.
  83391. */
  83392. textPath?: DataLabelsTextPathOptionsObject;
  83393. /**
  83394. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  83395. * the labels.
  83396. */
  83397. useHTML?: boolean;
  83398. /**
  83399. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  83400. * label. Can be one of `top`, `middle` or `bottom`. The default value
  83401. * depends on the data, for instance in a column chart, the label is above
  83402. * positive values and below negative values.
  83403. */
  83404. verticalAlign?: (VerticalAlignValue|null);
  83405. /**
  83406. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  83407. * label relative to the point in pixels.
  83408. */
  83409. x?: number;
  83410. /**
  83411. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  83412. * label relative to the point in pixels.
  83413. */
  83414. y?: number;
  83415. /**
  83416. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  83417. * The default Z index puts it above the series. Use a Z index of 2 to
  83418. * display it behind the series.
  83419. */
  83420. z?: number;
  83421. }
  83422. /**
  83423. * (Highcharts, Highstock) Options for the series data sorting.
  83424. */
  83425. export interface PlotSeriesDataSortingOptions {
  83426. /**
  83427. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  83428. * Use xAxis.reversed to change the sorting order.
  83429. */
  83430. enabled?: boolean;
  83431. /**
  83432. * (Highcharts, Highstock) Whether to allow matching points by name in an
  83433. * update. If this option is disabled, points will be matched by order.
  83434. */
  83435. matchByName?: boolean;
  83436. /**
  83437. * (Highcharts, Highstock) Determines what data value should be used to sort
  83438. * by.
  83439. */
  83440. sortKey?: string;
  83441. }
  83442. /**
  83443. * (Highcharts, Highstock, Highmaps, Gantt) Style options for the guide box. The
  83444. * guide box has one state by default, the `default` state.
  83445. */
  83446. export interface PlotSeriesDragDropGuideBoxOptions {
  83447. /**
  83448. * (Highcharts, Highstock, Highmaps, Gantt) Style options for the guide box
  83449. * default state.
  83450. */
  83451. default?: DragDropGuideBoxOptionsObject;
  83452. }
  83453. /**
  83454. * (Highcharts, Highstock, Highmaps, Gantt) General options for all series
  83455. * types.
  83456. *
  83457. * In TypeScript the type option must always be set.
  83458. *
  83459. * Configuration options for the series are given in three levels:
  83460. *
  83461. * 1. Options for all series in a chart are defined in the plotOptions.series
  83462. * object.
  83463. *
  83464. * 2. Options for all `line` series are defined in plotOptions.line.
  83465. *
  83466. * 3. Options for one single series are given in the series instance array. (see
  83467. * online documentation for example)
  83468. */
  83469. export interface PlotSeriesOptions {
  83470. /**
  83471. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for a
  83472. * series.
  83473. */
  83474. accessibility?: SeriesAccessibilityOptionsObject;
  83475. /**
  83476. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  83477. * rendered. If `true`, areas which don't correspond to a data point, are
  83478. * rendered as `null` points. If `false`, those areas are skipped.
  83479. */
  83480. allAreas?: boolean;
  83481. /**
  83482. * (Highcharts, Highstock, Highmaps, Gantt) Allow this series' points to be
  83483. * selected by clicking on the graphic (columns, point markers, pie slices,
  83484. * map areas etc).
  83485. *
  83486. * The selected points can be handled by point select and unselect events,
  83487. * or collectively by the getSelectedPoints function.
  83488. *
  83489. * And alternative way of selecting points is through dragging.
  83490. */
  83491. allowPointSelect?: boolean;
  83492. /**
  83493. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  83494. * animation when a series is displayed. The animation can also be set as a
  83495. * configuration object. Please note that this option only applies to the
  83496. * initial animation of the series itself. For other animations, see
  83497. * chart.animation and the animation parameter under the API methods. The
  83498. * following properties are supported:
  83499. *
  83500. * - `defer`: The animation delay time in milliseconds.
  83501. *
  83502. * - `duration`: The duration of the animation in milliseconds.
  83503. *
  83504. * - `easing`: Can be a string reference to an easing function set on the
  83505. * `Math` object or a function. See the _Custom easing function_ demo below.
  83506. *
  83507. * Due to poor performance, animation is disabled in old IE browsers for
  83508. * several chart types.
  83509. */
  83510. animation?: (boolean|PlotSeriesAnimationOptions|Partial<AnimationOptionsObject>);
  83511. /**
  83512. * (Highcharts, Highstock, Highmaps, Gantt) For some series, there is a
  83513. * limit that shuts down initial animation by default when the total number
  83514. * of points in the chart is too high. For example, for a column chart and
  83515. * its derivatives, animation does not run if there is more than 250 points
  83516. * totally. To disable this cap, set `animationLimit` to `Infinity`.
  83517. */
  83518. animationLimit?: number;
  83519. /**
  83520. * (Highcharts, Highstock, Highmaps, Gantt) Sets the color blending in the
  83521. * boost module.
  83522. */
  83523. boostBlending?: OptionsBoostBlendingValue;
  83524. /**
  83525. * (Highcharts, Highstock, Highmaps, Gantt) Set the point threshold for when
  83526. * a series should enter boost mode.
  83527. *
  83528. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  83529. * there are 2000 or more points in the series.
  83530. *
  83531. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  83532. * it to 1 will force boosting.
  83533. *
  83534. * Note that the cropThreshold also affects this setting. When zooming in on
  83535. * a series that has fewer points than the `cropThreshold`, all points are
  83536. * rendered although outside the visible plot area, and the `boostThreshold`
  83537. * won't take effect.
  83538. */
  83539. boostThreshold?: number;
  83540. /**
  83541. * (Highmaps) The border color of the map areas.
  83542. *
  83543. * In styled mode, the border stroke is given in the `.highcharts-point`
  83544. * class.
  83545. */
  83546. borderColor?: (ColorString|GradientColorObject|PatternObject);
  83547. /**
  83548. * (Highmaps) The border width of each map area.
  83549. *
  83550. * In styled mode, the border stroke width is given in the
  83551. * `.highcharts-point` class.
  83552. */
  83553. borderWidth?: number;
  83554. /**
  83555. * (Highcharts, Highstock, Highmaps, Gantt) An additional class name to
  83556. * apply to the series' graphical elements. This option does not replace
  83557. * default class names of the graphical element.
  83558. */
  83559. className?: string;
  83560. /**
  83561. * (Highcharts, Highstock, Highmaps, Gantt) Disable this option to allow
  83562. * series rendering in the whole plotting area.
  83563. *
  83564. * **Note:** Clipping should be always enabled when chart.zoomType is set
  83565. */
  83566. clip?: boolean;
  83567. /**
  83568. * (Highcharts, Highstock, Highmaps, Gantt) The main color of the series. In
  83569. * line type series it applies to the line and the point markers unless
  83570. * otherwise specified. In bar type series it applies to the bars unless a
  83571. * color is specified per point. The default value is pulled from the
  83572. * `options.colors` array.
  83573. *
  83574. * In styled mode, the color can be defined by the colorIndex option. Also,
  83575. * the series color can be set with the `.highcharts-series`,
  83576. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  83577. * `.highcharts-series-{n}` class, or individual classes given by the
  83578. * `className` option.
  83579. */
  83580. color?: (ColorString|GradientColorObject|PatternObject);
  83581. /**
  83582. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  83583. * this number defines which colorAxis the particular series is connected
  83584. * to. It refers to either the axis id or the index of the axis in the
  83585. * colorAxis array, with 0 being the first. Set this option to false to
  83586. * prevent a series from connecting to the default color axis.
  83587. *
  83588. * Since v7.2.0 the option can also be an axis id or an axis index instead
  83589. * of a boolean flag.
  83590. */
  83591. colorAxis?: (boolean|number|string);
  83592. /**
  83593. * (Highcharts, Highstock, Highmaps, Gantt) Styled mode only. A specific
  83594. * color index to use for the series, so its graphic representations are
  83595. * given the class name `highcharts-color-{n}`.
  83596. */
  83597. colorIndex?: number;
  83598. /**
  83599. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  83600. * used to calculate point color if `colorAxis` is used. Requires to set
  83601. * `min` and `max` if some custom point property is used or if approximation
  83602. * for data grouping is set to `'sum'`.
  83603. */
  83604. colorKey?: string;
  83605. /**
  83606. * (Highstock) Compare the values of the series against the first non-null,
  83607. * non- zero value in the visible range. The y axis will show percentage or
  83608. * absolute change depending on whether `compare` is set to `"percent"` or
  83609. * `"value"`. When this is applied to multiple series, it allows comparing
  83610. * the development of the series against each other. Adds a `change` field
  83611. * to every point object.
  83612. */
  83613. compare?: string;
  83614. /**
  83615. * (Highstock) When compare is `percent`, this option dictates whether to
  83616. * use 0 or 100 as the base of comparison.
  83617. */
  83618. compareBase?: (0|100);
  83619. /**
  83620. * (Highstock) Defines if comparison should start from the first point
  83621. * within the visible range or should start from the first point **before**
  83622. * the range.
  83623. *
  83624. * In other words, this flag determines if first point within the visible
  83625. * range will have 0% (`compareStart=true`) or should have been already
  83626. * calculated according to the previous point (`compareStart=false`).
  83627. */
  83628. compareStart?: boolean;
  83629. /**
  83630. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  83631. * series plot across the extremes.
  83632. */
  83633. connectEnds?: boolean;
  83634. /**
  83635. * (Highcharts, Highstock) Whether to connect a graph line across null
  83636. * points, or render a gap between the two points on either side of the
  83637. * null.
  83638. */
  83639. connectNulls?: boolean;
  83640. /**
  83641. * (Gantt) Override Pathfinder connector options for a series. Requires
  83642. * Highcharts Gantt to be loaded.
  83643. */
  83644. connectors?: SeriesConnectorsOptionsObject;
  83645. /**
  83646. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  83647. * rounded to its nearest pixel in order to render sharp on screen. In some
  83648. * cases, when there are a lot of densely packed columns, this leads to
  83649. * visible difference in column widths or distance between columns. In these
  83650. * cases, setting `crisp` to `false` may look better, even though each
  83651. * column is rendered blurry.
  83652. */
  83653. crisp?: boolean;
  83654. /**
  83655. * (Highcharts, Highstock) When the series contains less points than the
  83656. * crop threshold, all points are drawn, even if the points fall outside the
  83657. * visible plot area at the current zoom. The advantage of drawing all
  83658. * points (including markers and columns), is that animation is performed on
  83659. * updates. On the other hand, when the series contains more points than the
  83660. * crop threshold, the series data is cropped to only contain points that
  83661. * fall within the plot area. The advantage of cropping away invisible
  83662. * points is to increase performance on large series.
  83663. */
  83664. cropThreshold?: number;
  83665. /**
  83666. * (Highcharts, Highstock, Highmaps, Gantt) You can set the cursor to
  83667. * "pointer" if you have click events attached to the series, to signal to
  83668. * the user that the points and lines can be clicked.
  83669. *
  83670. * In styled mode, the series cursor can be set with the same classes as
  83671. * listed under series.color.
  83672. */
  83673. cursor?: (string|CursorValue);
  83674. /**
  83675. * (Highcharts, Highstock, Highmaps, Gantt) A reserved subspace to store
  83676. * options and values for customized functionality. Here you can add
  83677. * additional data for your own event callbacks and formatter callbacks.
  83678. */
  83679. custom?: Dictionary<any>;
  83680. /**
  83681. * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
  83682. * for the graph, or for some series types the outline of each shape.
  83683. *
  83684. * In styled mode, the stroke dash-array can be set with the same classes as
  83685. * listed under series.color.
  83686. */
  83687. dashStyle?: DashStyleValue;
  83688. /**
  83689. * (Highstock) Data grouping is the concept of sampling the data values into
  83690. * larger blocks in order to ease readability and increase performance of
  83691. * the JavaScript charts. Highcharts Stock by default applies data grouping
  83692. * when the points become closer than a certain pixel value, determined by
  83693. * the `groupPixelWidth` option.
  83694. *
  83695. * If data grouping is applied, the grouping information of grouped points
  83696. * can be read from the Point.dataGroup. If point options other than the
  83697. * data itself are set, for example `name` or `color` or custom properties,
  83698. * the grouping logic doesn't know how to group it. In this case the options
  83699. * of the first point instance are copied over to the group point. This can
  83700. * be altered through a custom `approximation` callback function.
  83701. */
  83702. dataGrouping?: DataGroupingOptionsObject;
  83703. /**
  83704. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  83705. * labels, appearing next to each data point.
  83706. *
  83707. * Since v6.2.0, multiple data labels can be applied to each single point by
  83708. * defining them as an array of configs.
  83709. *
  83710. * In styled mode, the data labels can be styled with the
  83711. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  83712. * (see example).
  83713. */
  83714. dataLabels?: (PlotSeriesDataLabelsOptions|Array<PlotSeriesDataLabelsOptions>);
  83715. /**
  83716. * (Highcharts, Highstock) Options for the series data sorting.
  83717. */
  83718. dataSorting?: (DataSortingOptionsObject|PlotSeriesDataSortingOptions);
  83719. /**
  83720. * (Highcharts, Highstock, Highmaps, Gantt) A description of the series to
  83721. * add to the screen reader information about the series.
  83722. */
  83723. description?: string;
  83724. /**
  83725. * (Highcharts, Highstock, Highmaps, Gantt) The draggable-points module
  83726. * allows points to be moved around or modified in the chart. In addition to
  83727. * the options mentioned under the `dragDrop` API structure, the module
  83728. * fires three events, point.dragStart, point.drag and point.drop.
  83729. */
  83730. dragDrop?: SeriesDragDropOptionsObject;
  83731. /**
  83732. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the mouse
  83733. * tracking for a specific series. This includes point tooltips and click
  83734. * events on graphs and points. For large datasets it improves performance.
  83735. */
  83736. enableMouseTracking?: boolean;
  83737. /**
  83738. * (Highcharts, Highstock, Highmaps, Gantt) General event handlers for the
  83739. * series items. These event hooks can also be attached to the series at run
  83740. * time using the `Highcharts.addEvent` function.
  83741. */
  83742. events?: SeriesEventsOptionsObject;
  83743. /**
  83744. * (Highcharts, Highstock, Highmaps, Gantt) Determines whether the series
  83745. * should look for the nearest point in both dimensions or just the
  83746. * x-dimension when hovering the series. Defaults to `'xy'` for scatter
  83747. * series and `'x'` for most other series. If the data has duplicate
  83748. * x-values, it is recommended to set this to `'xy'` to allow hovering over
  83749. * all points.
  83750. *
  83751. * Applies only to series types using nearest neighbor search (not direct
  83752. * hover) for tooltip.
  83753. */
  83754. findNearestPointBy?: OptionsFindNearestPointByValue;
  83755. /**
  83756. * (Highstock) Defines when to display a gap in the graph, together with the
  83757. * gapUnit option.
  83758. *
  83759. * In case when `dataGrouping` is enabled, points can be grouped into a
  83760. * larger time span. This can make the grouped points to have a greater
  83761. * distance than the absolute value of `gapSize` property, which will result
  83762. * in disappearing graph completely. To prevent this situation the mentioned
  83763. * distance between grouped points is used instead of previously defined
  83764. * `gapSize`.
  83765. *
  83766. * In practice, this option is most often used to visualize gaps in time
  83767. * series. In a stock chart, intraday data is available for daytime hours,
  83768. * while gaps will appear in nights and weekends.
  83769. */
  83770. gapSize?: number;
  83771. /**
  83772. * (Highstock) Together with gapSize, this option defines where to draw gaps
  83773. * in the graph.
  83774. *
  83775. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  83776. * if the distance between two points is greater than 5 times that of the
  83777. * two closest points, the graph will be broken.
  83778. *
  83779. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  83780. * values, which on a datetime axis is milliseconds. This also applies to
  83781. * the navigator series that inherits gap options from the base series.
  83782. */
  83783. gapUnit?: OptionsGapUnitValue;
  83784. /**
  83785. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  83786. * chart width or only the zoomed area when zooming in on parts of the X
  83787. * axis. By default, the Y axis adjusts to the min and max of the visible
  83788. * data. Cartesian series only.
  83789. */
  83790. getExtremesFromAll?: boolean;
  83791. /**
  83792. * (Highcharts, Highstock, Highmaps, Gantt) When set to `false` will prevent
  83793. * the series data from being included in any form of data export.
  83794. *
  83795. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  83796. * `includeInCSVExport`.
  83797. */
  83798. includeInDataExport?: boolean;
  83799. /**
  83800. * (Highmaps) What property to join the `mapData` to the value data. For
  83801. * example, if joinBy is "code", the mapData items with a specific code is
  83802. * merged into the data with the same code. For maps loaded from GeoJSON,
  83803. * the keys may be held in each point's `properties` object.
  83804. *
  83805. * The joinBy option can also be an array of two values, where the first
  83806. * points to a key in the `mapData`, and the second points to another key in
  83807. * the `data`.
  83808. *
  83809. * When joinBy is `null`, the map items are joined by their position in the
  83810. * array, which performs much better in maps with many data points. This is
  83811. * the recommended option if you are printing more than a thousand data
  83812. * points and have a backend that can preprocess the data into a parallel
  83813. * array of the mapData.
  83814. */
  83815. joinBy?: (string|Array<string>);
  83816. /**
  83817. * (Highcharts, Highstock, Highmaps, Gantt) An array specifying which option
  83818. * maps to which key in the data point array. This makes it convenient to
  83819. * work with unstructured data arrays from different sources.
  83820. */
  83821. keys?: Array<string>;
  83822. /**
  83823. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  83824. * series as possible in a natural way, seeking to avoid other series. The
  83825. * goal of this feature is to make the chart more easily readable, like if a
  83826. * human designer placed the labels in the optimal position.
  83827. *
  83828. * The series labels currently work with series types having a `graph` or an
  83829. * `area`.
  83830. */
  83831. label?: SeriesLabelOptionsObject;
  83832. /**
  83833. * (Highstock) The line marks the last price from all points.
  83834. */
  83835. lastPrice?: SeriesLastPriceOptionsObject;
  83836. /**
  83837. * (Highstock) The line marks the last price from visible range of points.
  83838. */
  83839. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  83840. /**
  83841. * (Highcharts, Highstock) The line cap used for line ends and line joins on
  83842. * the graph.
  83843. */
  83844. linecap?: SeriesLinecapValue;
  83845. /**
  83846. * (Highcharts, Highstock) Pixel width of the graph line.
  83847. */
  83848. lineWidth?: number;
  83849. /**
  83850. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  83851. * Additionally, the value can be ":previous" to link to the previous
  83852. * series. When two series are linked, only the first one appears in the
  83853. * legend. Toggling the visibility of this also toggles the linked series.
  83854. *
  83855. * If master series uses data sorting and linked series does not have its
  83856. * own sorting definition, the linked series will be sorted in the same
  83857. * order as the master one.
  83858. */
  83859. linkedTo?: string;
  83860. /**
  83861. * (Highcharts, Highstock, Highmaps, Gantt) Options for the point markers of
  83862. * line-like series. Properties like `fillColor`, `lineColor` and
  83863. * `lineWidth` define the visual appearance of the markers. Other series
  83864. * types, like column series, don't have markers, but have visual options on
  83865. * the series level instead.
  83866. *
  83867. * In styled mode, the markers can be styled with the `.highcharts-point`,
  83868. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  83869. */
  83870. marker?: PointMarkerOptionsObject;
  83871. /**
  83872. * (Highstock) Options for the corresponding navigator series if
  83873. * `showInNavigator` is `true` for this series. Available options are the
  83874. * same as any series, documented at plotOptions and series.
  83875. *
  83876. * These options are merged with options in navigator.series, and will take
  83877. * precedence if the same option is defined both places.
  83878. */
  83879. navigatorOptions?: PlotSeriesOptions;
  83880. /**
  83881. * (Highcharts, Highstock, Highmaps, Gantt) The color for the parts of the
  83882. * graph or points that are below the threshold. Note that `zones` takes
  83883. * precedence over the negative color. Using `negativeColor` is equivalent
  83884. * to applying a zone with value of 0.
  83885. */
  83886. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  83887. /**
  83888. * (Highcharts, Highstock, Highmaps, Gantt) Opacity of a series parts: line,
  83889. * fill (e.g. area) and dataLabels.
  83890. */
  83891. opacity?: number;
  83892. /**
  83893. * (Highcharts, Highstock, Highmaps, Gantt) Properties for each single
  83894. * point.
  83895. */
  83896. point?: PlotSeriesPointOptions;
  83897. /**
  83898. * (Highcharts, Highstock, Highmaps, Gantt) Same as
  83899. * accessibility.pointDescriptionFormatter, but for an individual series.
  83900. * Overrides the chart wide configuration.
  83901. */
  83902. pointDescriptionFormatter?: Function;
  83903. /**
  83904. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  83905. * a series, `pointInterval` defines the interval of the x values. For
  83906. * example, if a series contains one value every decade starting from year
  83907. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  83908. * `pointInterval` is set in milliseconds.
  83909. *
  83910. * It can be also be combined with `pointIntervalUnit` to draw irregular
  83911. * time intervals.
  83912. *
  83913. * Please note that this options applies to the _series data_, not the
  83914. * interval of the axis ticks, which is independent.
  83915. */
  83916. pointInterval?: number;
  83917. /**
  83918. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  83919. * setting the pointInterval to irregular time units, `day`, `month` and
  83920. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  83921. * also takes the DST crossover into consideration when dealing with local
  83922. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  83923. * months, 10 years etc.
  83924. *
  83925. * Please note that this options applies to the _series data_, not the
  83926. * interval of the axis ticks, which is independent.
  83927. */
  83928. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  83929. /**
  83930. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  83931. * `number`.
  83932. *
  83933. * In a column chart, when pointPlacement is `"on"`, the point will not
  83934. * create any padding of the X axis. In a polar column chart this means that
  83935. * the first column points directly north. If the pointPlacement is
  83936. * `"between"`, the columns will be laid out between ticks. This is useful
  83937. * for example for visualising an amount between two points in time or in a
  83938. * certain sector of a polar chart.
  83939. *
  83940. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  83941. * is on the axis value, -0.5 is between this value and the previous, and
  83942. * 0.5 is between this value and the next. Unlike the textual options,
  83943. * numeric point placement options won't affect axis padding.
  83944. *
  83945. * Note that pointPlacement needs a pointRange to work. For column series
  83946. * this is computed, but for line-type series it needs to be set.
  83947. *
  83948. * For the `xrange` series type and gantt charts, if the Y axis is a
  83949. * category axis, the `pointPlacement` applies to the Y axis rather than the
  83950. * (typically datetime) X axis.
  83951. *
  83952. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  83953. */
  83954. pointPlacement?: (number|string);
  83955. /**
  83956. * (Highstock) The width of each point on the x axis. For example in a
  83957. * column chart with one value each day, the pointRange would be 1 day (= 24
  83958. * * 3600
  83959. *
  83960. * * 1000 milliseconds). This is normally computed automatically, but this
  83961. * option can be used to override the automatic value.
  83962. */
  83963. pointRange?: number;
  83964. /**
  83965. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  83966. * a series, pointStart defines on what value to start. For example, if a
  83967. * series contains one yearly value starting from 1945, set pointStart to
  83968. * 1945.
  83969. */
  83970. pointStart?: number;
  83971. /**
  83972. * (Highcharts, Highstock, Highmaps, Gantt) Whether to select the series
  83973. * initially. If `showCheckbox` is true, the checkbox next to the series
  83974. * name in the legend will be checked for a selected series.
  83975. */
  83976. selected?: boolean;
  83977. /**
  83978. * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
  83979. * to the graph line. Since 2.3 the shadow can be an object configuration
  83980. * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  83981. */
  83982. shadow?: (boolean|ShadowOptionsObject);
  83983. /**
  83984. * (Highcharts, Highstock, Highmaps, Gantt) If true, a checkbox is displayed
  83985. * next to the legend item to allow selecting the series. The state of the
  83986. * checkbox is determined by the `selected` option.
  83987. */
  83988. showCheckbox?: boolean;
  83989. /**
  83990. * (Highcharts, Highstock, Highmaps, Gantt) Whether to display this
  83991. * particular series or series type in the legend. Standalone series are
  83992. * shown in legend by default, and linked series are not. Since v7.2.0 it is
  83993. * possible to show series that use colorAxis by setting this option to
  83994. * `true`.
  83995. */
  83996. showInLegend?: boolean;
  83997. /**
  83998. * (Highstock) Whether or not to show the series in the navigator. Takes
  83999. * precedence over navigator.baseSeries if defined.
  84000. */
  84001. showInNavigator?: boolean;
  84002. /**
  84003. * (Highcharts, Highstock, Highmaps, Gantt) If set to `true`, the
  84004. * accessibility module will skip past the points in this series for
  84005. * keyboard navigation.
  84006. */
  84007. skipKeyboardNavigation?: boolean;
  84008. /**
  84009. * (Highcharts, Highstock) When this is true, the series will not cause the
  84010. * Y axis to cross the zero plane (or threshold option) unless the data
  84011. * actually crosses the plane.
  84012. *
  84013. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  84014. * make the Y axis show negative values according to the `minPadding`
  84015. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  84016. */
  84017. softThreshold?: boolean;
  84018. /**
  84019. * (Highcharts, Highstock) Whether to stack the values of each series on top
  84020. * of each other. Possible values are `undefined` to disable, `"normal"` to
  84021. * stack by value or `"percent"`.
  84022. *
  84023. * When stacking is enabled, data must be sorted in ascending X order.
  84024. *
  84025. * Some stacking options are related to specific series types. In the
  84026. * streamgraph series type, the stacking option is set to `"stream"`. The
  84027. * second one is `"overlap"`, which only applies to waterfall series.
  84028. */
  84029. stacking?: OptionsStackingValue;
  84030. states?: SeriesStatesOptionsObject;
  84031. /**
  84032. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  84033. * values are `left`, `center` and `right`.
  84034. */
  84035. step?: OptionsStepValue;
  84036. /**
  84037. * (Highcharts, Highstock, Highmaps, Gantt) Sticky tracking of mouse events.
  84038. * When true, the `mouseOut` event on a series isn't triggered until the
  84039. * mouse moves over another series, or out of the plot area. When false, the
  84040. * `mouseOut` event on a series is triggered when the mouse leaves the area
  84041. * around the series' graph or markers. This also implies the tooltip when
  84042. * not shared. When `stickyTracking` is false and `tooltip.shared` is false,
  84043. * the tooltip will be hidden when moving the mouse between series. Defaults
  84044. * to true for line and area type series, but to false for columns, pies
  84045. * etc.
  84046. *
  84047. * **Note:** The boost module will force this option because of technical
  84048. * limitations.
  84049. */
  84050. stickyTracking?: boolean;
  84051. /**
  84052. * (Highcharts, Highstock) The threshold, also called zero level or base
  84053. * level. For line type series this is only used in conjunction with
  84054. * negativeColor.
  84055. */
  84056. threshold?: (number|null);
  84057. /**
  84058. * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
  84059. * tooltip rendering of each single series. Properties are inherited from
  84060. * tooltip, but only the following properties can be defined on a series
  84061. * level.
  84062. */
  84063. tooltip?: SeriesTooltipOptionsObject;
  84064. /**
  84065. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  84066. * is longer than this, only one dimensional arrays of numbers, or two
  84067. * dimensional arrays with x and y values are allowed. Also, only the first
  84068. * point is tested, and the rest are assumed to be the same format. This
  84069. * saves expensive data checking and indexing in long series. Set it to `0`
  84070. * disable.
  84071. *
  84072. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  84073. * two dimensional arrays are allowed.
  84074. */
  84075. turboThreshold?: number;
  84076. /**
  84077. * (Highcharts, Highstock, Highmaps, Gantt) Set the initial visibility of
  84078. * the series.
  84079. */
  84080. visible?: boolean;
  84081. /**
  84082. * (Highmaps) Define the z index of the series.
  84083. */
  84084. zIndex?: number;
  84085. /**
  84086. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  84087. */
  84088. zoneAxis?: string;
  84089. /**
  84090. * (Highcharts, Highstock) An array defining zones within a series. Zones
  84091. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  84092. * the `zoneAxis` option. The zone definitions have to be in ascending order
  84093. * regarding to the value.
  84094. *
  84095. * In styled mode, the color zones are styled with the
  84096. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  84097. * option (view live demo).
  84098. */
  84099. zones?: Array<SeriesZonesOptionsObject>;
  84100. }
  84101. /**
  84102. * (Highstock) Properties for each single point.
  84103. */
  84104. export interface PlotSeriesPointOptions {
  84105. /**
  84106. * (Highstock) Events for each single point.
  84107. */
  84108. events?: PointEventsOptionsObject;
  84109. }
  84110. /**
  84111. * (Highstock) Enable or disable the initial animation when a series is
  84112. * displayed. The animation can also be set as a configuration object. Please
  84113. * note that this option only applies to the initial animation of the series
  84114. * itself. For other animations, see chart.animation and the animation parameter
  84115. * under the API methods. The following properties are supported:
  84116. *
  84117. * - `defer`: The animation delay time in milliseconds.
  84118. *
  84119. * - `duration`: The duration of the animation in milliseconds.
  84120. *
  84121. * - `easing`: Can be a string reference to an easing function set on the `Math`
  84122. * object or a function. See the _Custom easing function_ demo below.
  84123. *
  84124. * Due to poor performance, animation is disabled in old IE browsers for several
  84125. * chart types.
  84126. */
  84127. export interface PlotSlowstochasticAnimationOptions {
  84128. defer?: number;
  84129. }
  84130. /**
  84131. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  84132. * animation when a series is displayed for the `dataLabels`. The animation can
  84133. * also be set as a configuration object. Please note that this option only
  84134. * applies to the initial animation. For other animations, see chart.animation
  84135. * and the animation parameter under the API methods. The following properties
  84136. * are supported:
  84137. *
  84138. * - `defer`: The animation delay time in milliseconds.
  84139. */
  84140. export interface PlotSlowstochasticDataLabelsAnimationOptions {
  84141. /**
  84142. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  84143. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  84144. * inherits defer time from the series.animation.defer.
  84145. */
  84146. defer?: number;
  84147. }
  84148. /**
  84149. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  84150. * appearing next to each data point.
  84151. *
  84152. * Since v6.2.0, multiple data labels can be applied to each single point by
  84153. * defining them as an array of configs.
  84154. *
  84155. * In styled mode, the data labels can be styled with the
  84156. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  84157. * example).
  84158. */
  84159. export interface PlotSlowstochasticDataLabelsOptions {
  84160. /**
  84161. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  84162. * compared to the point. If `right`, the right side of the label should be
  84163. * touching the point. For points with an extent, like columns, the
  84164. * alignments also dictates how to align it inside the box, as given with
  84165. * the inside option. Can be one of `left`, `center` or `right`.
  84166. */
  84167. align?: (AlignValue|null);
  84168. /**
  84169. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  84170. * overlap. To make the labels less sensitive for overlapping, the
  84171. * dataLabels.padding can be set to 0.
  84172. */
  84173. allowOverlap?: boolean;
  84174. /**
  84175. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  84176. * animation when a series is displayed for the `dataLabels`. The animation
  84177. * can also be set as a configuration object. Please note that this option
  84178. * only applies to the initial animation. For other animations, see
  84179. * chart.animation and the animation parameter under the API methods. The
  84180. * following properties are supported:
  84181. *
  84182. * - `defer`: The animation delay time in milliseconds.
  84183. */
  84184. animation?: (boolean|PlotSlowstochasticDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  84185. /**
  84186. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  84187. * for the data label.
  84188. */
  84189. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  84190. /**
  84191. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  84192. * label. Defaults to `undefined`.
  84193. */
  84194. borderColor?: (ColorString|GradientColorObject|PatternObject);
  84195. /**
  84196. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  84197. * the data label.
  84198. */
  84199. borderRadius?: number;
  84200. /**
  84201. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  84202. * the data label.
  84203. */
  84204. borderWidth?: number;
  84205. /**
  84206. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  84207. * Particularly in styled mode, this can be used to give each series' or
  84208. * point's data label unique styling. In addition to this option, a default
  84209. * color class name is added so that we can give the labels a contrast text
  84210. * shadow.
  84211. */
  84212. className?: string;
  84213. /**
  84214. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  84215. * labels. Defaults to `undefined`. For certain series types, like column or
  84216. * map, the data labels can be drawn inside the points. In this case the
  84217. * data label will be drawn with maximum contrast by default. Additionally,
  84218. * it will be given a `text-outline` style with the opposite color, to
  84219. * further increase the contrast. This can be overridden by setting the
  84220. * `text-outline` style to `none` in the `dataLabels.style` option.
  84221. */
  84222. color?: (ColorString|GradientColorObject|PatternObject);
  84223. /**
  84224. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  84225. * are outside the plot area. By default, the data label is moved inside the
  84226. * plot area according to the overflow option.
  84227. */
  84228. crop?: boolean;
  84229. /**
  84230. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  84231. * labels until the initial series animation has finished. Setting to
  84232. * `false` renders the data label immediately. If set to `true` inherits the
  84233. * defer time set in plotOptions.series.animation. If set to a number, a
  84234. * defer time is specified in milliseconds.
  84235. */
  84236. defer?: (boolean|number);
  84237. /**
  84238. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  84239. * labels.
  84240. */
  84241. enabled?: boolean;
  84242. /**
  84243. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  84244. * of which data labels to display. The declarative filter is designed for
  84245. * use when callback functions are not available, like when the chart
  84246. * options require a pure JSON structure or for use with graphical editors.
  84247. * For programmatic control, use the `formatter` instead, and return
  84248. * `undefined` to disable a single data label.
  84249. */
  84250. filter?: DataLabelsFilterOptionsObject;
  84251. /**
  84252. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  84253. * label. Available variables are the same as for `formatter`.
  84254. */
  84255. format?: string;
  84256. /**
  84257. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  84258. * format the data label. Note that if a `format` is defined, the format
  84259. * takes precedence and the formatter is ignored.
  84260. */
  84261. formatter?: DataLabelsFormatterCallbackFunction;
  84262. /**
  84263. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  84264. * columns or map areas, whether to align the data label inside the box or
  84265. * to the actual value point. Defaults to `false` in most cases, `true` in
  84266. * stacked columns.
  84267. */
  84268. inside?: boolean;
  84269. /**
  84270. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  84271. * of null. Works analogously to format. `nullFormat` can be applied only to
  84272. * series which support displaying null points.
  84273. */
  84274. nullFormat?: (boolean|string);
  84275. /**
  84276. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  84277. * that defines formatting for points with the value of null. Works
  84278. * analogously to formatter. `nullPointFormatter` can be applied only to
  84279. * series which support displaying null points.
  84280. */
  84281. nullFormatter?: DataLabelsFormatterCallbackFunction;
  84282. /**
  84283. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  84284. * flow outside the plot area. The default is `"justify"`, which aligns them
  84285. * inside the plot area. For columns and bars, this means it will be moved
  84286. * inside the bar. To display data labels outside the plot area, set `crop`
  84287. * to `false` and `overflow` to `"allow"`.
  84288. */
  84289. overflow?: DataLabelsOverflowValue;
  84290. /**
  84291. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  84292. * the `backgroundColor` is set, this is the padding within the box.
  84293. */
  84294. padding?: number;
  84295. /**
  84296. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  84297. * points. If `center` alignment is not possible, it defaults to `right`.
  84298. */
  84299. position?: AlignValue;
  84300. /**
  84301. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  84302. * that due to a more complex structure, backgrounds, borders and padding
  84303. * will be lost on a rotated data label.
  84304. */
  84305. rotation?: number;
  84306. /**
  84307. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  84308. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  84309. * an object configuration containing `color`, `offsetX`, `offsetY`,
  84310. * `opacity` and `width`.
  84311. */
  84312. shadow?: (boolean|ShadowOptionsObject);
  84313. /**
  84314. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  84315. * the border around the label. Symbols are predefined functions on the
  84316. * Renderer object.
  84317. */
  84318. shape?: string;
  84319. /**
  84320. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  84321. * default `color` setting is `"contrast"`, which is a pseudo color that
  84322. * Highcharts picks up and applies the maximum contrast to the underlying
  84323. * point item, for example the bar in a bar chart.
  84324. *
  84325. * The `textOutline` is a pseudo property that applies an outline of the
  84326. * given width with the given color, which by default is the maximum
  84327. * contrast to the text. So a bright text color will result in a black text
  84328. * outline for maximum readability on a mixed background. In some cases,
  84329. * especially with grayscale text, the text outline doesn't work well, in
  84330. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  84331. * is true, the `textOutline` will not be picked up. In this, case, the same
  84332. * effect can be acheived through the `text-shadow` CSS property.
  84333. *
  84334. * For some series types, where each point has an extent, like for example
  84335. * tree maps, the data label may overflow the point. There are two
  84336. * strategies for handling overflow. By default, the text will wrap to
  84337. * multiple lines. The other strategy is to set `style.textOverflow` to
  84338. * `ellipsis`, which will keep the text on one line plus it will break
  84339. * inside long words.
  84340. */
  84341. style?: CSSObject;
  84342. /**
  84343. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  84344. * should follow marker's shape. Border and background are disabled for a
  84345. * label that follows a path.
  84346. *
  84347. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  84348. * to true will disable this option.
  84349. */
  84350. textPath?: DataLabelsTextPathOptionsObject;
  84351. /**
  84352. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  84353. * the labels.
  84354. */
  84355. useHTML?: boolean;
  84356. /**
  84357. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  84358. * label. Can be one of `top`, `middle` or `bottom`. The default value
  84359. * depends on the data, for instance in a column chart, the label is above
  84360. * positive values and below negative values.
  84361. */
  84362. verticalAlign?: (VerticalAlignValue|null);
  84363. /**
  84364. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  84365. * label relative to the point in pixels.
  84366. */
  84367. x?: number;
  84368. /**
  84369. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  84370. * label relative to the point in pixels.
  84371. */
  84372. y?: number;
  84373. /**
  84374. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  84375. * The default Z index puts it above the series. Use a Z index of 2 to
  84376. * display it behind the series.
  84377. */
  84378. z?: number;
  84379. }
  84380. /**
  84381. * (Highcharts, Highstock) Options for the series data sorting.
  84382. */
  84383. export interface PlotSlowstochasticDataSortingOptions {
  84384. /**
  84385. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  84386. * Use xAxis.reversed to change the sorting order.
  84387. */
  84388. enabled?: boolean;
  84389. /**
  84390. * (Highcharts, Highstock) Whether to allow matching points by name in an
  84391. * update. If this option is disabled, points will be matched by order.
  84392. */
  84393. matchByName?: boolean;
  84394. /**
  84395. * (Highcharts, Highstock) Determines what data value should be used to sort
  84396. * by.
  84397. */
  84398. sortKey?: string;
  84399. }
  84400. /**
  84401. * (Highstock) Slow Stochastic oscillator. This series requires the `linkedTo`
  84402. * option to be set and should be loaded after `stock/indicators/indicators.js`
  84403. * and `stock/indicators/stochastic.js` files.
  84404. *
  84405. * In TypeScript the type option must always be set.
  84406. *
  84407. * Configuration options for the series are given in three levels:
  84408. *
  84409. * 1. Options for all series in a chart are defined in the plotOptions.series
  84410. * object.
  84411. *
  84412. * 2. Options for all `slowstochastic` series are defined in
  84413. * plotOptions.slowstochastic.
  84414. *
  84415. * 3. Options for one single series are given in the series instance array. (see
  84416. * online documentation for example)
  84417. */
  84418. export interface PlotSlowstochasticOptions {
  84419. /**
  84420. * (Highstock) Accessibility options for a series.
  84421. */
  84422. accessibility?: SeriesAccessibilityOptionsObject;
  84423. /**
  84424. * (Highstock) Allow this series' points to be selected by clicking on the
  84425. * graphic (columns, point markers, pie slices, map areas etc).
  84426. *
  84427. * The selected points can be handled by point select and unselect events,
  84428. * or collectively by the getSelectedPoints function.
  84429. *
  84430. * And alternative way of selecting points is through dragging.
  84431. */
  84432. allowPointSelect?: boolean;
  84433. /**
  84434. * (Highstock) Enable or disable the initial animation when a series is
  84435. * displayed. The animation can also be set as a configuration object.
  84436. * Please note that this option only applies to the initial animation of the
  84437. * series itself. For other animations, see chart.animation and the
  84438. * animation parameter under the API methods. The following properties are
  84439. * supported:
  84440. *
  84441. * - `defer`: The animation delay time in milliseconds.
  84442. *
  84443. * - `duration`: The duration of the animation in milliseconds.
  84444. *
  84445. * - `easing`: Can be a string reference to an easing function set on the
  84446. * `Math` object or a function. See the _Custom easing function_ demo below.
  84447. *
  84448. * Due to poor performance, animation is disabled in old IE browsers for
  84449. * several chart types.
  84450. */
  84451. animation?: (boolean|PlotSlowstochasticAnimationOptions|Partial<AnimationOptionsObject>);
  84452. /**
  84453. * (Highstock) For some series, there is a limit that shuts down initial
  84454. * animation by default when the total number of points in the chart is too
  84455. * high. For example, for a column chart and its derivatives, animation does
  84456. * not run if there is more than 250 points totally. To disable this cap,
  84457. * set `animationLimit` to `Infinity`.
  84458. */
  84459. animationLimit?: number;
  84460. /**
  84461. * (Highstock) Sets the color blending in the boost module.
  84462. */
  84463. boostBlending?: OptionsBoostBlendingValue;
  84464. /**
  84465. * (Highstock) Set the point threshold for when a series should enter boost
  84466. * mode.
  84467. *
  84468. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  84469. * there are 2000 or more points in the series.
  84470. *
  84471. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  84472. * it to 1 will force boosting.
  84473. *
  84474. * Note that the cropThreshold also affects this setting. When zooming in on
  84475. * a series that has fewer points than the `cropThreshold`, all points are
  84476. * rendered although outside the visible plot area, and the `boostThreshold`
  84477. * won't take effect.
  84478. */
  84479. boostThreshold?: number;
  84480. /**
  84481. * (Highmaps) The border color of the map areas.
  84482. *
  84483. * In styled mode, the border stroke is given in the `.highcharts-point`
  84484. * class.
  84485. */
  84486. borderColor?: (ColorString|GradientColorObject|PatternObject);
  84487. /**
  84488. * (Highmaps) The border width of each map area.
  84489. *
  84490. * In styled mode, the border stroke width is given in the
  84491. * `.highcharts-point` class.
  84492. */
  84493. borderWidth?: number;
  84494. /**
  84495. * (Highstock) An additional class name to apply to the series' graphical
  84496. * elements. This option does not replace default class names of the
  84497. * graphical element.
  84498. */
  84499. className?: string;
  84500. /**
  84501. * (Highstock) Disable this option to allow series rendering in the whole
  84502. * plotting area.
  84503. *
  84504. * **Note:** Clipping should be always enabled when chart.zoomType is set
  84505. */
  84506. clip?: boolean;
  84507. /**
  84508. * (Highstock) The main color of the series. In line type series it applies
  84509. * to the line and the point markers unless otherwise specified. In bar type
  84510. * series it applies to the bars unless a color is specified per point. The
  84511. * default value is pulled from the `options.colors` array.
  84512. *
  84513. * In styled mode, the color can be defined by the colorIndex option. Also,
  84514. * the series color can be set with the `.highcharts-series`,
  84515. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  84516. * `.highcharts-series-{n}` class, or individual classes given by the
  84517. * `className` option.
  84518. */
  84519. color?: (ColorString|GradientColorObject|PatternObject);
  84520. /**
  84521. * (Highstock) Styled mode only. A specific color index to use for the
  84522. * series, so its graphic representations are given the class name
  84523. * `highcharts-color-{n}`.
  84524. */
  84525. colorIndex?: number;
  84526. /**
  84527. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  84528. * used to calculate point color if `colorAxis` is used. Requires to set
  84529. * `min` and `max` if some custom point property is used or if approximation
  84530. * for data grouping is set to `'sum'`.
  84531. */
  84532. colorKey?: string;
  84533. /**
  84534. * (Highstock) Compare the values of the series against the first non-null,
  84535. * non- zero value in the visible range. The y axis will show percentage or
  84536. * absolute change depending on whether `compare` is set to `"percent"` or
  84537. * `"value"`. When this is applied to multiple series, it allows comparing
  84538. * the development of the series against each other. Adds a `change` field
  84539. * to every point object.
  84540. */
  84541. compare?: string;
  84542. /**
  84543. * (Highstock) When compare is `percent`, this option dictates whether to
  84544. * use 0 or 100 as the base of comparison.
  84545. */
  84546. compareBase?: (0|100);
  84547. /**
  84548. * (Highstock) Defines if comparison should start from the first point
  84549. * within the visible range or should start from the first point **before**
  84550. * the range.
  84551. *
  84552. * In other words, this flag determines if first point within the visible
  84553. * range will have 0% (`compareStart=true`) or should have been already
  84554. * calculated according to the previous point (`compareStart=false`).
  84555. */
  84556. compareStart?: boolean;
  84557. /**
  84558. * (Highstock) Whether to compare indicator to the main series values or
  84559. * indicator values.
  84560. */
  84561. compareToMain?: boolean;
  84562. /**
  84563. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  84564. * series plot across the extremes.
  84565. */
  84566. connectEnds?: boolean;
  84567. /**
  84568. * (Highcharts, Highstock) Whether to connect a graph line across null
  84569. * points, or render a gap between the two points on either side of the
  84570. * null.
  84571. */
  84572. connectNulls?: boolean;
  84573. /**
  84574. * (Gantt) Override Pathfinder connector options for a series. Requires
  84575. * Highcharts Gantt to be loaded.
  84576. */
  84577. connectors?: SeriesConnectorsOptionsObject;
  84578. /**
  84579. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  84580. * rounded to its nearest pixel in order to render sharp on screen. In some
  84581. * cases, when there are a lot of densely packed columns, this leads to
  84582. * visible difference in column widths or distance between columns. In these
  84583. * cases, setting `crisp` to `false` may look better, even though each
  84584. * column is rendered blurry.
  84585. */
  84586. crisp?: boolean;
  84587. /**
  84588. * (Highcharts, Highstock) When the series contains less points than the
  84589. * crop threshold, all points are drawn, even if the points fall outside the
  84590. * visible plot area at the current zoom. The advantage of drawing all
  84591. * points (including markers and columns), is that animation is performed on
  84592. * updates. On the other hand, when the series contains more points than the
  84593. * crop threshold, the series data is cropped to only contain points that
  84594. * fall within the plot area. The advantage of cropping away invisible
  84595. * points is to increase performance on large series.
  84596. */
  84597. cropThreshold?: number;
  84598. /**
  84599. * (Highstock) You can set the cursor to "pointer" if you have click events
  84600. * attached to the series, to signal to the user that the points and lines
  84601. * can be clicked.
  84602. *
  84603. * In styled mode, the series cursor can be set with the same classes as
  84604. * listed under series.color.
  84605. */
  84606. cursor?: (string|CursorValue);
  84607. /**
  84608. * (Highstock) A reserved subspace to store options and values for
  84609. * customized functionality. Here you can add additional data for your own
  84610. * event callbacks and formatter callbacks.
  84611. */
  84612. custom?: Dictionary<any>;
  84613. /**
  84614. * (Highstock) Name of the dash style to use for the graph, or for some
  84615. * series types the outline of each shape.
  84616. *
  84617. * In styled mode, the stroke dash-array can be set with the same classes as
  84618. * listed under series.color.
  84619. */
  84620. dashStyle?: DashStyleValue;
  84621. /**
  84622. * (Highstock) Data grouping is the concept of sampling the data values into
  84623. * larger blocks in order to ease readability and increase performance of
  84624. * the JavaScript charts. Highcharts Stock by default applies data grouping
  84625. * when the points become closer than a certain pixel value, determined by
  84626. * the `groupPixelWidth` option.
  84627. *
  84628. * If data grouping is applied, the grouping information of grouped points
  84629. * can be read from the Point.dataGroup. If point options other than the
  84630. * data itself are set, for example `name` or `color` or custom properties,
  84631. * the grouping logic doesn't know how to group it. In this case the options
  84632. * of the first point instance are copied over to the group point. This can
  84633. * be altered through a custom `approximation` callback function.
  84634. */
  84635. dataGrouping?: DataGroupingOptionsObject;
  84636. /**
  84637. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  84638. * labels, appearing next to each data point.
  84639. *
  84640. * Since v6.2.0, multiple data labels can be applied to each single point by
  84641. * defining them as an array of configs.
  84642. *
  84643. * In styled mode, the data labels can be styled with the
  84644. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  84645. * (see example).
  84646. */
  84647. dataLabels?: (PlotSlowstochasticDataLabelsOptions|Array<PlotSlowstochasticDataLabelsOptions>);
  84648. /**
  84649. * (Highcharts, Highstock) Options for the series data sorting.
  84650. */
  84651. dataSorting?: (DataSortingOptionsObject|PlotSlowstochasticDataSortingOptions);
  84652. /**
  84653. * (Highstock) A description of the series to add to the screen reader
  84654. * information about the series.
  84655. */
  84656. description?: string;
  84657. /**
  84658. * (Highstock) Enable or disable the mouse tracking for a specific series.
  84659. * This includes point tooltips and click events on graphs and points. For
  84660. * large datasets it improves performance.
  84661. */
  84662. enableMouseTracking?: boolean;
  84663. /**
  84664. * (Highstock) General event handlers for the series items. These event
  84665. * hooks can also be attached to the series at run time using the
  84666. * `Highcharts.addEvent` function.
  84667. */
  84668. events?: SeriesEventsOptionsObject;
  84669. /**
  84670. * (Highstock) Determines whether the series should look for the nearest
  84671. * point in both dimensions or just the x-dimension when hovering the
  84672. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  84673. * series. If the data has duplicate x-values, it is recommended to set this
  84674. * to `'xy'` to allow hovering over all points.
  84675. *
  84676. * Applies only to series types using nearest neighbor search (not direct
  84677. * hover) for tooltip.
  84678. */
  84679. findNearestPointBy?: OptionsFindNearestPointByValue;
  84680. /**
  84681. * (Highstock) Defines when to display a gap in the graph, together with the
  84682. * gapUnit option.
  84683. *
  84684. * In case when `dataGrouping` is enabled, points can be grouped into a
  84685. * larger time span. This can make the grouped points to have a greater
  84686. * distance than the absolute value of `gapSize` property, which will result
  84687. * in disappearing graph completely. To prevent this situation the mentioned
  84688. * distance between grouped points is used instead of previously defined
  84689. * `gapSize`.
  84690. *
  84691. * In practice, this option is most often used to visualize gaps in time
  84692. * series. In a stock chart, intraday data is available for daytime hours,
  84693. * while gaps will appear in nights and weekends.
  84694. */
  84695. gapSize?: number;
  84696. /**
  84697. * (Highstock) Together with gapSize, this option defines where to draw gaps
  84698. * in the graph.
  84699. *
  84700. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  84701. * if the distance between two points is greater than 5 times that of the
  84702. * two closest points, the graph will be broken.
  84703. *
  84704. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  84705. * values, which on a datetime axis is milliseconds. This also applies to
  84706. * the navigator series that inherits gap options from the base series.
  84707. */
  84708. gapUnit?: OptionsGapUnitValue;
  84709. /**
  84710. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  84711. * chart width or only the zoomed area when zooming in on parts of the X
  84712. * axis. By default, the Y axis adjusts to the min and max of the visible
  84713. * data. Cartesian series only.
  84714. */
  84715. getExtremesFromAll?: boolean;
  84716. /**
  84717. * (Highstock) When set to `false` will prevent the series data from being
  84718. * included in any form of data export.
  84719. *
  84720. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  84721. * `includeInCSVExport`.
  84722. */
  84723. includeInDataExport?: boolean;
  84724. /**
  84725. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  84726. * series as possible in a natural way, seeking to avoid other series. The
  84727. * goal of this feature is to make the chart more easily readable, like if a
  84728. * human designer placed the labels in the optimal position.
  84729. *
  84730. * The series labels currently work with series types having a `graph` or an
  84731. * `area`.
  84732. */
  84733. label?: SeriesLabelOptionsObject;
  84734. /**
  84735. * (Highstock) The line marks the last price from all points.
  84736. */
  84737. lastPrice?: SeriesLastPriceOptionsObject;
  84738. /**
  84739. * (Highstock) The line marks the last price from visible range of points.
  84740. */
  84741. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  84742. /**
  84743. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  84744. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  84745. * the ends and bends.
  84746. */
  84747. linecap?: SeriesLinecapValue;
  84748. /**
  84749. * (Highcharts, Highstock) Pixel width of the graph line.
  84750. */
  84751. lineWidth?: number;
  84752. /**
  84753. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  84754. * based on. Required for this indicator.
  84755. */
  84756. linkedTo?: string;
  84757. /**
  84758. * (Highstock) Options for the point markers of line-like series. Properties
  84759. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  84760. * appearance of the markers. Other series types, like column series, don't
  84761. * have markers, but have visual options on the series level instead.
  84762. *
  84763. * In styled mode, the markers can be styled with the `.highcharts-point`,
  84764. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  84765. */
  84766. marker?: PointMarkerOptionsObject;
  84767. /**
  84768. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  84769. * If not set, it will be based on a technical indicator type and default
  84770. * params.
  84771. */
  84772. name?: string;
  84773. /**
  84774. * (Highstock) The color for the parts of the graph or points that are below
  84775. * the threshold. Note that `zones` takes precedence over the negative
  84776. * color. Using `negativeColor` is equivalent to applying a zone with value
  84777. * of 0.
  84778. */
  84779. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  84780. /**
  84781. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  84782. * dataLabels.
  84783. */
  84784. opacity?: number;
  84785. /**
  84786. * (Highstock) Paramters used in calculation of regression series' points.
  84787. */
  84788. params?: PlotSlowstochasticParamsOptions;
  84789. /**
  84790. * (Highstock) Properties for each single point.
  84791. */
  84792. point?: PlotSeriesPointOptions;
  84793. /**
  84794. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  84795. * individual series. Overrides the chart wide configuration.
  84796. */
  84797. pointDescriptionFormatter?: Function;
  84798. /**
  84799. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  84800. * true, the checkbox next to the series name in the legend will be checked
  84801. * for a selected series.
  84802. */
  84803. selected?: boolean;
  84804. /**
  84805. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  84806. * the shadow can be an object configuration containing `color`, `offsetX`,
  84807. * `offsetY`, `opacity` and `width`.
  84808. */
  84809. shadow?: (boolean|ShadowOptionsObject);
  84810. /**
  84811. * (Highstock) If true, a checkbox is displayed next to the legend item to
  84812. * allow selecting the series. The state of the checkbox is determined by
  84813. * the `selected` option.
  84814. */
  84815. showCheckbox?: boolean;
  84816. /**
  84817. * (Highstock) Whether to display this particular series or series type in
  84818. * the legend. Standalone series are shown in legend by default, and linked
  84819. * series are not. Since v7.2.0 it is possible to show series that use
  84820. * colorAxis by setting this option to `true`.
  84821. */
  84822. showInLegend?: boolean;
  84823. /**
  84824. * (Highstock) If set to `true`, the accessibility module will skip past the
  84825. * points in this series for keyboard navigation.
  84826. */
  84827. skipKeyboardNavigation?: boolean;
  84828. /**
  84829. * (Highstock) Smoothed line options.
  84830. */
  84831. smoothedLine?: PlotSlowstochasticSmoothedLineOptions;
  84832. /**
  84833. * (Highcharts, Highstock) When this is true, the series will not cause the
  84834. * Y axis to cross the zero plane (or threshold option) unless the data
  84835. * actually crosses the plane.
  84836. *
  84837. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  84838. * make the Y axis show negative values according to the `minPadding`
  84839. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  84840. */
  84841. softThreshold?: boolean;
  84842. states?: SeriesStatesOptionsObject;
  84843. /**
  84844. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  84845. * values are `left`, `center` and `right`.
  84846. */
  84847. step?: OptionsStepValue;
  84848. /**
  84849. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  84850. * event on a series isn't triggered until the mouse moves over another
  84851. * series, or out of the plot area. When false, the `mouseOut` event on a
  84852. * series is triggered when the mouse leaves the area around the series'
  84853. * graph or markers. This also implies the tooltip when not shared. When
  84854. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  84855. * be hidden when moving the mouse between series. Defaults to true for line
  84856. * and area type series, but to false for columns, pies etc.
  84857. *
  84858. * **Note:** The boost module will force this option because of technical
  84859. * limitations.
  84860. */
  84861. stickyTracking?: boolean;
  84862. /**
  84863. * (Highcharts, Highstock) The threshold, also called zero level or base
  84864. * level. For line type series this is only used in conjunction with
  84865. * negativeColor.
  84866. */
  84867. threshold?: (number|null);
  84868. /**
  84869. * (Highstock) A configuration object for the tooltip rendering of each
  84870. * single series. Properties are inherited from tooltip, but only the
  84871. * following properties can be defined on a series level.
  84872. */
  84873. tooltip?: SeriesTooltipOptionsObject;
  84874. /**
  84875. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  84876. * is longer than this, only one dimensional arrays of numbers, or two
  84877. * dimensional arrays with x and y values are allowed. Also, only the first
  84878. * point is tested, and the rest are assumed to be the same format. This
  84879. * saves expensive data checking and indexing in long series. Set it to `0`
  84880. * disable.
  84881. *
  84882. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  84883. * two dimensional arrays are allowed.
  84884. */
  84885. turboThreshold?: number;
  84886. /**
  84887. * (Highstock) Set the initial visibility of the series.
  84888. */
  84889. visible?: boolean;
  84890. /**
  84891. * (Highmaps) Define the z index of the series.
  84892. */
  84893. zIndex?: number;
  84894. /**
  84895. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  84896. */
  84897. zoneAxis?: string;
  84898. /**
  84899. * (Highcharts, Highstock) An array defining zones within a series. Zones
  84900. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  84901. * the `zoneAxis` option. The zone definitions have to be in ascending order
  84902. * regarding to the value.
  84903. *
  84904. * In styled mode, the color zones are styled with the
  84905. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  84906. * option (view live demo).
  84907. */
  84908. zones?: Array<SeriesZonesOptionsObject>;
  84909. }
  84910. /**
  84911. * (Highstock) Paramters used in calculation of regression series' points.
  84912. */
  84913. export interface PlotSlowstochasticParamsOptions {
  84914. index?: string;
  84915. period?: string;
  84916. /**
  84917. * (Highstock) Periods for Slow Stochastic oscillator: [%K, %D, SMA(%D)].
  84918. */
  84919. periods?: [number, number, number];
  84920. }
  84921. /**
  84922. * (Highstock) Smoothed line options.
  84923. */
  84924. export interface PlotSlowstochasticSmoothedLineOptions {
  84925. /**
  84926. * (Highstock) Styles for a smoothed line.
  84927. */
  84928. styles?: PlotSlowstochasticSmoothedLineStylesOptions;
  84929. }
  84930. /**
  84931. * (Highstock) Styles for a smoothed line.
  84932. */
  84933. export interface PlotSlowstochasticSmoothedLineStylesOptions {
  84934. /**
  84935. * (Highstock) Color of the line. If not set, it's inherited from
  84936. * plotOptions.stochastic.color.
  84937. */
  84938. lineColor?: ColorString;
  84939. /**
  84940. * (Highstock) Pixel width of the line.
  84941. */
  84942. lineWidth?: number;
  84943. }
  84944. /**
  84945. * (Highstock) Enable or disable the initial animation when a series is
  84946. * displayed. The animation can also be set as a configuration object. Please
  84947. * note that this option only applies to the initial animation of the series
  84948. * itself. For other animations, see chart.animation and the animation parameter
  84949. * under the API methods. The following properties are supported:
  84950. *
  84951. * - `defer`: The animation delay time in milliseconds.
  84952. *
  84953. * - `duration`: The duration of the animation in milliseconds.
  84954. *
  84955. * - `easing`: Can be a string reference to an easing function set on the `Math`
  84956. * object or a function. See the _Custom easing function_ demo below.
  84957. *
  84958. * Due to poor performance, animation is disabled in old IE browsers for several
  84959. * chart types.
  84960. */
  84961. export interface PlotSmaAnimationOptions {
  84962. defer?: number;
  84963. }
  84964. /**
  84965. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  84966. * animation when a series is displayed for the `dataLabels`. The animation can
  84967. * also be set as a configuration object. Please note that this option only
  84968. * applies to the initial animation. For other animations, see chart.animation
  84969. * and the animation parameter under the API methods. The following properties
  84970. * are supported:
  84971. *
  84972. * - `defer`: The animation delay time in milliseconds.
  84973. */
  84974. export interface PlotSmaDataLabelsAnimationOptions {
  84975. /**
  84976. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  84977. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  84978. * inherits defer time from the series.animation.defer.
  84979. */
  84980. defer?: number;
  84981. }
  84982. /**
  84983. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  84984. * appearing next to each data point.
  84985. *
  84986. * Since v6.2.0, multiple data labels can be applied to each single point by
  84987. * defining them as an array of configs.
  84988. *
  84989. * In styled mode, the data labels can be styled with the
  84990. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  84991. * example).
  84992. */
  84993. export interface PlotSmaDataLabelsOptions {
  84994. /**
  84995. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  84996. * compared to the point. If `right`, the right side of the label should be
  84997. * touching the point. For points with an extent, like columns, the
  84998. * alignments also dictates how to align it inside the box, as given with
  84999. * the inside option. Can be one of `left`, `center` or `right`.
  85000. */
  85001. align?: (AlignValue|null);
  85002. /**
  85003. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  85004. * overlap. To make the labels less sensitive for overlapping, the
  85005. * dataLabels.padding can be set to 0.
  85006. */
  85007. allowOverlap?: boolean;
  85008. /**
  85009. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  85010. * animation when a series is displayed for the `dataLabels`. The animation
  85011. * can also be set as a configuration object. Please note that this option
  85012. * only applies to the initial animation. For other animations, see
  85013. * chart.animation and the animation parameter under the API methods. The
  85014. * following properties are supported:
  85015. *
  85016. * - `defer`: The animation delay time in milliseconds.
  85017. */
  85018. animation?: (boolean|PlotSmaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  85019. /**
  85020. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  85021. * for the data label.
  85022. */
  85023. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  85024. /**
  85025. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  85026. * label. Defaults to `undefined`.
  85027. */
  85028. borderColor?: (ColorString|GradientColorObject|PatternObject);
  85029. /**
  85030. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  85031. * the data label.
  85032. */
  85033. borderRadius?: number;
  85034. /**
  85035. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  85036. * the data label.
  85037. */
  85038. borderWidth?: number;
  85039. /**
  85040. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  85041. * Particularly in styled mode, this can be used to give each series' or
  85042. * point's data label unique styling. In addition to this option, a default
  85043. * color class name is added so that we can give the labels a contrast text
  85044. * shadow.
  85045. */
  85046. className?: string;
  85047. /**
  85048. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  85049. * labels. Defaults to `undefined`. For certain series types, like column or
  85050. * map, the data labels can be drawn inside the points. In this case the
  85051. * data label will be drawn with maximum contrast by default. Additionally,
  85052. * it will be given a `text-outline` style with the opposite color, to
  85053. * further increase the contrast. This can be overridden by setting the
  85054. * `text-outline` style to `none` in the `dataLabels.style` option.
  85055. */
  85056. color?: (ColorString|GradientColorObject|PatternObject);
  85057. /**
  85058. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  85059. * are outside the plot area. By default, the data label is moved inside the
  85060. * plot area according to the overflow option.
  85061. */
  85062. crop?: boolean;
  85063. /**
  85064. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  85065. * labels until the initial series animation has finished. Setting to
  85066. * `false` renders the data label immediately. If set to `true` inherits the
  85067. * defer time set in plotOptions.series.animation. If set to a number, a
  85068. * defer time is specified in milliseconds.
  85069. */
  85070. defer?: (boolean|number);
  85071. /**
  85072. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  85073. * labels.
  85074. */
  85075. enabled?: boolean;
  85076. /**
  85077. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  85078. * of which data labels to display. The declarative filter is designed for
  85079. * use when callback functions are not available, like when the chart
  85080. * options require a pure JSON structure or for use with graphical editors.
  85081. * For programmatic control, use the `formatter` instead, and return
  85082. * `undefined` to disable a single data label.
  85083. */
  85084. filter?: DataLabelsFilterOptionsObject;
  85085. /**
  85086. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  85087. * label. Available variables are the same as for `formatter`.
  85088. */
  85089. format?: string;
  85090. /**
  85091. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  85092. * format the data label. Note that if a `format` is defined, the format
  85093. * takes precedence and the formatter is ignored.
  85094. */
  85095. formatter?: DataLabelsFormatterCallbackFunction;
  85096. /**
  85097. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  85098. * columns or map areas, whether to align the data label inside the box or
  85099. * to the actual value point. Defaults to `false` in most cases, `true` in
  85100. * stacked columns.
  85101. */
  85102. inside?: boolean;
  85103. /**
  85104. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  85105. * of null. Works analogously to format. `nullFormat` can be applied only to
  85106. * series which support displaying null points.
  85107. */
  85108. nullFormat?: (boolean|string);
  85109. /**
  85110. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  85111. * that defines formatting for points with the value of null. Works
  85112. * analogously to formatter. `nullPointFormatter` can be applied only to
  85113. * series which support displaying null points.
  85114. */
  85115. nullFormatter?: DataLabelsFormatterCallbackFunction;
  85116. /**
  85117. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  85118. * flow outside the plot area. The default is `"justify"`, which aligns them
  85119. * inside the plot area. For columns and bars, this means it will be moved
  85120. * inside the bar. To display data labels outside the plot area, set `crop`
  85121. * to `false` and `overflow` to `"allow"`.
  85122. */
  85123. overflow?: DataLabelsOverflowValue;
  85124. /**
  85125. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  85126. * the `backgroundColor` is set, this is the padding within the box.
  85127. */
  85128. padding?: number;
  85129. /**
  85130. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  85131. * points. If `center` alignment is not possible, it defaults to `right`.
  85132. */
  85133. position?: AlignValue;
  85134. /**
  85135. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  85136. * that due to a more complex structure, backgrounds, borders and padding
  85137. * will be lost on a rotated data label.
  85138. */
  85139. rotation?: number;
  85140. /**
  85141. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  85142. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  85143. * an object configuration containing `color`, `offsetX`, `offsetY`,
  85144. * `opacity` and `width`.
  85145. */
  85146. shadow?: (boolean|ShadowOptionsObject);
  85147. /**
  85148. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  85149. * the border around the label. Symbols are predefined functions on the
  85150. * Renderer object.
  85151. */
  85152. shape?: string;
  85153. /**
  85154. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  85155. * default `color` setting is `"contrast"`, which is a pseudo color that
  85156. * Highcharts picks up and applies the maximum contrast to the underlying
  85157. * point item, for example the bar in a bar chart.
  85158. *
  85159. * The `textOutline` is a pseudo property that applies an outline of the
  85160. * given width with the given color, which by default is the maximum
  85161. * contrast to the text. So a bright text color will result in a black text
  85162. * outline for maximum readability on a mixed background. In some cases,
  85163. * especially with grayscale text, the text outline doesn't work well, in
  85164. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  85165. * is true, the `textOutline` will not be picked up. In this, case, the same
  85166. * effect can be acheived through the `text-shadow` CSS property.
  85167. *
  85168. * For some series types, where each point has an extent, like for example
  85169. * tree maps, the data label may overflow the point. There are two
  85170. * strategies for handling overflow. By default, the text will wrap to
  85171. * multiple lines. The other strategy is to set `style.textOverflow` to
  85172. * `ellipsis`, which will keep the text on one line plus it will break
  85173. * inside long words.
  85174. */
  85175. style?: CSSObject;
  85176. /**
  85177. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  85178. * should follow marker's shape. Border and background are disabled for a
  85179. * label that follows a path.
  85180. *
  85181. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  85182. * to true will disable this option.
  85183. */
  85184. textPath?: DataLabelsTextPathOptionsObject;
  85185. /**
  85186. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  85187. * the labels.
  85188. */
  85189. useHTML?: boolean;
  85190. /**
  85191. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  85192. * label. Can be one of `top`, `middle` or `bottom`. The default value
  85193. * depends on the data, for instance in a column chart, the label is above
  85194. * positive values and below negative values.
  85195. */
  85196. verticalAlign?: (VerticalAlignValue|null);
  85197. /**
  85198. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  85199. * label relative to the point in pixels.
  85200. */
  85201. x?: number;
  85202. /**
  85203. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  85204. * label relative to the point in pixels.
  85205. */
  85206. y?: number;
  85207. /**
  85208. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  85209. * The default Z index puts it above the series. Use a Z index of 2 to
  85210. * display it behind the series.
  85211. */
  85212. z?: number;
  85213. }
  85214. /**
  85215. * (Highcharts, Highstock) Options for the series data sorting.
  85216. */
  85217. export interface PlotSmaDataSortingOptions {
  85218. /**
  85219. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  85220. * Use xAxis.reversed to change the sorting order.
  85221. */
  85222. enabled?: boolean;
  85223. /**
  85224. * (Highcharts, Highstock) Whether to allow matching points by name in an
  85225. * update. If this option is disabled, points will be matched by order.
  85226. */
  85227. matchByName?: boolean;
  85228. /**
  85229. * (Highcharts, Highstock) Determines what data value should be used to sort
  85230. * by.
  85231. */
  85232. sortKey?: string;
  85233. }
  85234. /**
  85235. * (Highstock) Simple moving average indicator (SMA). This series requires
  85236. * `linkedTo` option to be set.
  85237. *
  85238. * In TypeScript the type option must always be set.
  85239. *
  85240. * Configuration options for the series are given in three levels:
  85241. *
  85242. * 1. Options for all series in a chart are defined in the plotOptions.series
  85243. * object.
  85244. *
  85245. * 2. Options for all `sma` series are defined in plotOptions.sma.
  85246. *
  85247. * 3. Options for one single series are given in the series instance array. (see
  85248. * online documentation for example)
  85249. */
  85250. export interface PlotSmaOptions {
  85251. /**
  85252. * (Highstock) Accessibility options for a series.
  85253. */
  85254. accessibility?: SeriesAccessibilityOptionsObject;
  85255. /**
  85256. * (Highstock) Allow this series' points to be selected by clicking on the
  85257. * graphic (columns, point markers, pie slices, map areas etc).
  85258. *
  85259. * The selected points can be handled by point select and unselect events,
  85260. * or collectively by the getSelectedPoints function.
  85261. *
  85262. * And alternative way of selecting points is through dragging.
  85263. */
  85264. allowPointSelect?: boolean;
  85265. /**
  85266. * (Highstock) Enable or disable the initial animation when a series is
  85267. * displayed. The animation can also be set as a configuration object.
  85268. * Please note that this option only applies to the initial animation of the
  85269. * series itself. For other animations, see chart.animation and the
  85270. * animation parameter under the API methods. The following properties are
  85271. * supported:
  85272. *
  85273. * - `defer`: The animation delay time in milliseconds.
  85274. *
  85275. * - `duration`: The duration of the animation in milliseconds.
  85276. *
  85277. * - `easing`: Can be a string reference to an easing function set on the
  85278. * `Math` object or a function. See the _Custom easing function_ demo below.
  85279. *
  85280. * Due to poor performance, animation is disabled in old IE browsers for
  85281. * several chart types.
  85282. */
  85283. animation?: (boolean|PlotSmaAnimationOptions|Partial<AnimationOptionsObject>);
  85284. /**
  85285. * (Highstock) For some series, there is a limit that shuts down initial
  85286. * animation by default when the total number of points in the chart is too
  85287. * high. For example, for a column chart and its derivatives, animation does
  85288. * not run if there is more than 250 points totally. To disable this cap,
  85289. * set `animationLimit` to `Infinity`.
  85290. */
  85291. animationLimit?: number;
  85292. /**
  85293. * (Highstock) Sets the color blending in the boost module.
  85294. */
  85295. boostBlending?: OptionsBoostBlendingValue;
  85296. /**
  85297. * (Highstock) Set the point threshold for when a series should enter boost
  85298. * mode.
  85299. *
  85300. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  85301. * there are 2000 or more points in the series.
  85302. *
  85303. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  85304. * it to 1 will force boosting.
  85305. *
  85306. * Note that the cropThreshold also affects this setting. When zooming in on
  85307. * a series that has fewer points than the `cropThreshold`, all points are
  85308. * rendered although outside the visible plot area, and the `boostThreshold`
  85309. * won't take effect.
  85310. */
  85311. boostThreshold?: number;
  85312. /**
  85313. * (Highmaps) The border color of the map areas.
  85314. *
  85315. * In styled mode, the border stroke is given in the `.highcharts-point`
  85316. * class.
  85317. */
  85318. borderColor?: (ColorString|GradientColorObject|PatternObject);
  85319. /**
  85320. * (Highmaps) The border width of each map area.
  85321. *
  85322. * In styled mode, the border stroke width is given in the
  85323. * `.highcharts-point` class.
  85324. */
  85325. borderWidth?: number;
  85326. /**
  85327. * (Highstock) An additional class name to apply to the series' graphical
  85328. * elements. This option does not replace default class names of the
  85329. * graphical element.
  85330. */
  85331. className?: string;
  85332. /**
  85333. * (Highstock) Disable this option to allow series rendering in the whole
  85334. * plotting area.
  85335. *
  85336. * **Note:** Clipping should be always enabled when chart.zoomType is set
  85337. */
  85338. clip?: boolean;
  85339. /**
  85340. * (Highstock) The main color of the series. In line type series it applies
  85341. * to the line and the point markers unless otherwise specified. In bar type
  85342. * series it applies to the bars unless a color is specified per point. The
  85343. * default value is pulled from the `options.colors` array.
  85344. *
  85345. * In styled mode, the color can be defined by the colorIndex option. Also,
  85346. * the series color can be set with the `.highcharts-series`,
  85347. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  85348. * `.highcharts-series-{n}` class, or individual classes given by the
  85349. * `className` option.
  85350. */
  85351. color?: (ColorString|GradientColorObject|PatternObject);
  85352. /**
  85353. * (Highstock) Styled mode only. A specific color index to use for the
  85354. * series, so its graphic representations are given the class name
  85355. * `highcharts-color-{n}`.
  85356. */
  85357. colorIndex?: number;
  85358. /**
  85359. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  85360. * used to calculate point color if `colorAxis` is used. Requires to set
  85361. * `min` and `max` if some custom point property is used or if approximation
  85362. * for data grouping is set to `'sum'`.
  85363. */
  85364. colorKey?: string;
  85365. /**
  85366. * (Highstock) Compare the values of the series against the first non-null,
  85367. * non- zero value in the visible range. The y axis will show percentage or
  85368. * absolute change depending on whether `compare` is set to `"percent"` or
  85369. * `"value"`. When this is applied to multiple series, it allows comparing
  85370. * the development of the series against each other. Adds a `change` field
  85371. * to every point object.
  85372. */
  85373. compare?: string;
  85374. /**
  85375. * (Highstock) When compare is `percent`, this option dictates whether to
  85376. * use 0 or 100 as the base of comparison.
  85377. */
  85378. compareBase?: (0|100);
  85379. /**
  85380. * (Highstock) Defines if comparison should start from the first point
  85381. * within the visible range or should start from the first point **before**
  85382. * the range.
  85383. *
  85384. * In other words, this flag determines if first point within the visible
  85385. * range will have 0% (`compareStart=true`) or should have been already
  85386. * calculated according to the previous point (`compareStart=false`).
  85387. */
  85388. compareStart?: boolean;
  85389. /**
  85390. * (Highstock) Whether to compare indicator to the main series values or
  85391. * indicator values.
  85392. */
  85393. compareToMain?: boolean;
  85394. /**
  85395. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  85396. * series plot across the extremes.
  85397. */
  85398. connectEnds?: boolean;
  85399. /**
  85400. * (Highcharts, Highstock) Whether to connect a graph line across null
  85401. * points, or render a gap between the two points on either side of the
  85402. * null.
  85403. */
  85404. connectNulls?: boolean;
  85405. /**
  85406. * (Gantt) Override Pathfinder connector options for a series. Requires
  85407. * Highcharts Gantt to be loaded.
  85408. */
  85409. connectors?: SeriesConnectorsOptionsObject;
  85410. /**
  85411. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  85412. * rounded to its nearest pixel in order to render sharp on screen. In some
  85413. * cases, when there are a lot of densely packed columns, this leads to
  85414. * visible difference in column widths or distance between columns. In these
  85415. * cases, setting `crisp` to `false` may look better, even though each
  85416. * column is rendered blurry.
  85417. */
  85418. crisp?: boolean;
  85419. /**
  85420. * (Highcharts, Highstock) When the series contains less points than the
  85421. * crop threshold, all points are drawn, even if the points fall outside the
  85422. * visible plot area at the current zoom. The advantage of drawing all
  85423. * points (including markers and columns), is that animation is performed on
  85424. * updates. On the other hand, when the series contains more points than the
  85425. * crop threshold, the series data is cropped to only contain points that
  85426. * fall within the plot area. The advantage of cropping away invisible
  85427. * points is to increase performance on large series.
  85428. */
  85429. cropThreshold?: number;
  85430. /**
  85431. * (Highstock) You can set the cursor to "pointer" if you have click events
  85432. * attached to the series, to signal to the user that the points and lines
  85433. * can be clicked.
  85434. *
  85435. * In styled mode, the series cursor can be set with the same classes as
  85436. * listed under series.color.
  85437. */
  85438. cursor?: (string|CursorValue);
  85439. /**
  85440. * (Highstock) A reserved subspace to store options and values for
  85441. * customized functionality. Here you can add additional data for your own
  85442. * event callbacks and formatter callbacks.
  85443. */
  85444. custom?: Dictionary<any>;
  85445. /**
  85446. * (Highstock) Name of the dash style to use for the graph, or for some
  85447. * series types the outline of each shape.
  85448. *
  85449. * In styled mode, the stroke dash-array can be set with the same classes as
  85450. * listed under series.color.
  85451. */
  85452. dashStyle?: DashStyleValue;
  85453. /**
  85454. * (Highstock) Data grouping is the concept of sampling the data values into
  85455. * larger blocks in order to ease readability and increase performance of
  85456. * the JavaScript charts. Highcharts Stock by default applies data grouping
  85457. * when the points become closer than a certain pixel value, determined by
  85458. * the `groupPixelWidth` option.
  85459. *
  85460. * If data grouping is applied, the grouping information of grouped points
  85461. * can be read from the Point.dataGroup. If point options other than the
  85462. * data itself are set, for example `name` or `color` or custom properties,
  85463. * the grouping logic doesn't know how to group it. In this case the options
  85464. * of the first point instance are copied over to the group point. This can
  85465. * be altered through a custom `approximation` callback function.
  85466. */
  85467. dataGrouping?: DataGroupingOptionsObject;
  85468. /**
  85469. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  85470. * labels, appearing next to each data point.
  85471. *
  85472. * Since v6.2.0, multiple data labels can be applied to each single point by
  85473. * defining them as an array of configs.
  85474. *
  85475. * In styled mode, the data labels can be styled with the
  85476. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  85477. * (see example).
  85478. */
  85479. dataLabels?: (PlotSmaDataLabelsOptions|Array<PlotSmaDataLabelsOptions>);
  85480. /**
  85481. * (Highcharts, Highstock) Options for the series data sorting.
  85482. */
  85483. dataSorting?: (DataSortingOptionsObject|PlotSmaDataSortingOptions);
  85484. /**
  85485. * (Highstock) A description of the series to add to the screen reader
  85486. * information about the series.
  85487. */
  85488. description?: string;
  85489. /**
  85490. * (Highstock) Enable or disable the mouse tracking for a specific series.
  85491. * This includes point tooltips and click events on graphs and points. For
  85492. * large datasets it improves performance.
  85493. */
  85494. enableMouseTracking?: boolean;
  85495. /**
  85496. * (Highstock) General event handlers for the series items. These event
  85497. * hooks can also be attached to the series at run time using the
  85498. * `Highcharts.addEvent` function.
  85499. */
  85500. events?: SeriesEventsOptionsObject;
  85501. /**
  85502. * (Highstock) Determines whether the series should look for the nearest
  85503. * point in both dimensions or just the x-dimension when hovering the
  85504. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  85505. * series. If the data has duplicate x-values, it is recommended to set this
  85506. * to `'xy'` to allow hovering over all points.
  85507. *
  85508. * Applies only to series types using nearest neighbor search (not direct
  85509. * hover) for tooltip.
  85510. */
  85511. findNearestPointBy?: OptionsFindNearestPointByValue;
  85512. /**
  85513. * (Highstock) Defines when to display a gap in the graph, together with the
  85514. * gapUnit option.
  85515. *
  85516. * In case when `dataGrouping` is enabled, points can be grouped into a
  85517. * larger time span. This can make the grouped points to have a greater
  85518. * distance than the absolute value of `gapSize` property, which will result
  85519. * in disappearing graph completely. To prevent this situation the mentioned
  85520. * distance between grouped points is used instead of previously defined
  85521. * `gapSize`.
  85522. *
  85523. * In practice, this option is most often used to visualize gaps in time
  85524. * series. In a stock chart, intraday data is available for daytime hours,
  85525. * while gaps will appear in nights and weekends.
  85526. */
  85527. gapSize?: number;
  85528. /**
  85529. * (Highstock) Together with gapSize, this option defines where to draw gaps
  85530. * in the graph.
  85531. *
  85532. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  85533. * if the distance between two points is greater than 5 times that of the
  85534. * two closest points, the graph will be broken.
  85535. *
  85536. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  85537. * values, which on a datetime axis is milliseconds. This also applies to
  85538. * the navigator series that inherits gap options from the base series.
  85539. */
  85540. gapUnit?: OptionsGapUnitValue;
  85541. /**
  85542. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  85543. * chart width or only the zoomed area when zooming in on parts of the X
  85544. * axis. By default, the Y axis adjusts to the min and max of the visible
  85545. * data. Cartesian series only.
  85546. */
  85547. getExtremesFromAll?: boolean;
  85548. /**
  85549. * (Highstock) When set to `false` will prevent the series data from being
  85550. * included in any form of data export.
  85551. *
  85552. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  85553. * `includeInCSVExport`.
  85554. */
  85555. includeInDataExport?: boolean;
  85556. /**
  85557. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  85558. * series as possible in a natural way, seeking to avoid other series. The
  85559. * goal of this feature is to make the chart more easily readable, like if a
  85560. * human designer placed the labels in the optimal position.
  85561. *
  85562. * The series labels currently work with series types having a `graph` or an
  85563. * `area`.
  85564. */
  85565. label?: SeriesLabelOptionsObject;
  85566. /**
  85567. * (Highstock) The line marks the last price from all points.
  85568. */
  85569. lastPrice?: SeriesLastPriceOptionsObject;
  85570. /**
  85571. * (Highstock) The line marks the last price from visible range of points.
  85572. */
  85573. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  85574. /**
  85575. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  85576. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  85577. * the ends and bends.
  85578. */
  85579. linecap?: SeriesLinecapValue;
  85580. /**
  85581. * (Highcharts, Highstock) Pixel width of the graph line.
  85582. */
  85583. lineWidth?: number;
  85584. /**
  85585. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  85586. * based on. Required for this indicator.
  85587. */
  85588. linkedTo?: string;
  85589. /**
  85590. * (Highstock) Options for the point markers of line-like series. Properties
  85591. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  85592. * appearance of the markers. Other series types, like column series, don't
  85593. * have markers, but have visual options on the series level instead.
  85594. *
  85595. * In styled mode, the markers can be styled with the `.highcharts-point`,
  85596. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  85597. */
  85598. marker?: PointMarkerOptionsObject;
  85599. /**
  85600. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  85601. * If not set, it will be based on a technical indicator type and default
  85602. * params.
  85603. */
  85604. name?: string;
  85605. /**
  85606. * (Highstock) The color for the parts of the graph or points that are below
  85607. * the threshold. Note that `zones` takes precedence over the negative
  85608. * color. Using `negativeColor` is equivalent to applying a zone with value
  85609. * of 0.
  85610. */
  85611. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  85612. /**
  85613. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  85614. * dataLabels.
  85615. */
  85616. opacity?: number;
  85617. /**
  85618. * (Highstock) Paramters used in calculation of regression series' points.
  85619. */
  85620. params?: PlotSmaParamsOptions;
  85621. /**
  85622. * (Highstock) Properties for each single point.
  85623. */
  85624. point?: PlotSeriesPointOptions;
  85625. /**
  85626. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  85627. * individual series. Overrides the chart wide configuration.
  85628. */
  85629. pointDescriptionFormatter?: Function;
  85630. /**
  85631. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  85632. * true, the checkbox next to the series name in the legend will be checked
  85633. * for a selected series.
  85634. */
  85635. selected?: boolean;
  85636. /**
  85637. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  85638. * the shadow can be an object configuration containing `color`, `offsetX`,
  85639. * `offsetY`, `opacity` and `width`.
  85640. */
  85641. shadow?: (boolean|ShadowOptionsObject);
  85642. /**
  85643. * (Highstock) If true, a checkbox is displayed next to the legend item to
  85644. * allow selecting the series. The state of the checkbox is determined by
  85645. * the `selected` option.
  85646. */
  85647. showCheckbox?: boolean;
  85648. /**
  85649. * (Highstock) Whether to display this particular series or series type in
  85650. * the legend. Standalone series are shown in legend by default, and linked
  85651. * series are not. Since v7.2.0 it is possible to show series that use
  85652. * colorAxis by setting this option to `true`.
  85653. */
  85654. showInLegend?: boolean;
  85655. /**
  85656. * (Highstock) If set to `true`, the accessibility module will skip past the
  85657. * points in this series for keyboard navigation.
  85658. */
  85659. skipKeyboardNavigation?: boolean;
  85660. /**
  85661. * (Highcharts, Highstock) When this is true, the series will not cause the
  85662. * Y axis to cross the zero plane (or threshold option) unless the data
  85663. * actually crosses the plane.
  85664. *
  85665. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  85666. * make the Y axis show negative values according to the `minPadding`
  85667. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  85668. */
  85669. softThreshold?: boolean;
  85670. states?: SeriesStatesOptionsObject;
  85671. /**
  85672. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  85673. * values are `left`, `center` and `right`.
  85674. */
  85675. step?: OptionsStepValue;
  85676. /**
  85677. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  85678. * event on a series isn't triggered until the mouse moves over another
  85679. * series, or out of the plot area. When false, the `mouseOut` event on a
  85680. * series is triggered when the mouse leaves the area around the series'
  85681. * graph or markers. This also implies the tooltip when not shared. When
  85682. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  85683. * be hidden when moving the mouse between series. Defaults to true for line
  85684. * and area type series, but to false for columns, pies etc.
  85685. *
  85686. * **Note:** The boost module will force this option because of technical
  85687. * limitations.
  85688. */
  85689. stickyTracking?: boolean;
  85690. /**
  85691. * (Highcharts, Highstock) The threshold, also called zero level or base
  85692. * level. For line type series this is only used in conjunction with
  85693. * negativeColor.
  85694. */
  85695. threshold?: (number|null);
  85696. /**
  85697. * (Highstock) A configuration object for the tooltip rendering of each
  85698. * single series. Properties are inherited from tooltip, but only the
  85699. * following properties can be defined on a series level.
  85700. */
  85701. tooltip?: SeriesTooltipOptionsObject;
  85702. /**
  85703. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  85704. * is longer than this, only one dimensional arrays of numbers, or two
  85705. * dimensional arrays with x and y values are allowed. Also, only the first
  85706. * point is tested, and the rest are assumed to be the same format. This
  85707. * saves expensive data checking and indexing in long series. Set it to `0`
  85708. * disable.
  85709. *
  85710. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  85711. * two dimensional arrays are allowed.
  85712. */
  85713. turboThreshold?: number;
  85714. /**
  85715. * (Highstock) Set the initial visibility of the series.
  85716. */
  85717. visible?: boolean;
  85718. /**
  85719. * (Highmaps) Define the z index of the series.
  85720. */
  85721. zIndex?: number;
  85722. /**
  85723. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  85724. */
  85725. zoneAxis?: string;
  85726. /**
  85727. * (Highcharts, Highstock) An array defining zones within a series. Zones
  85728. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  85729. * the `zoneAxis` option. The zone definitions have to be in ascending order
  85730. * regarding to the value.
  85731. *
  85732. * In styled mode, the color zones are styled with the
  85733. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  85734. * option (view live demo).
  85735. */
  85736. zones?: Array<SeriesZonesOptionsObject>;
  85737. }
  85738. /**
  85739. * (Highstock) Paramters used in calculation of regression series' points.
  85740. */
  85741. export interface PlotSmaParamsOptions {
  85742. /**
  85743. * (Highstock) The point index which indicator calculations will base. For
  85744. * example using OHLC data, index=2 means the indicator will be calculated
  85745. * using Low values.
  85746. */
  85747. index?: number;
  85748. /**
  85749. * (Highstock) The base period for indicator calculations. This is the
  85750. * number of data points which are taken into account for the indicator
  85751. * calculations.
  85752. */
  85753. period?: number;
  85754. }
  85755. /**
  85756. * (Highcharts) Enable or disable the initial animation when a series is
  85757. * displayed. The animation can also be set as a configuration object. Please
  85758. * note that this option only applies to the initial animation of the series
  85759. * itself. For other animations, see chart.animation and the animation parameter
  85760. * under the API methods. The following properties are supported:
  85761. *
  85762. * - `defer`: The animation delay time in milliseconds.
  85763. *
  85764. * - `duration`: The duration of the animation in milliseconds.
  85765. *
  85766. * - `easing`: Can be a string reference to an easing function set on the `Math`
  85767. * object or a function. See the _Custom easing function_ demo below.
  85768. *
  85769. * Due to poor performance, animation is disabled in old IE browsers for several
  85770. * chart types.
  85771. */
  85772. export interface PlotSolidgaugeAnimationOptions {
  85773. defer?: number;
  85774. }
  85775. /**
  85776. * (Highcharts) Enable or disable the initial animation when a series is
  85777. * displayed for the `dataLabels`. The animation can also be set as a
  85778. * configuration object. Please note that this option only applies to the
  85779. * initial animation. For other animations, see chart.animation and the
  85780. * animation parameter under the API methods. The following properties are
  85781. * supported:
  85782. *
  85783. * - `defer`: The animation delay time in milliseconds.
  85784. */
  85785. export interface PlotSolidgaugeDataLabelsAnimationOptions {
  85786. /**
  85787. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  85788. * dataLabel immediately. As `undefined` inherits defer time from the
  85789. * series.animation.defer.
  85790. */
  85791. defer?: number;
  85792. }
  85793. /**
  85794. * (Highcharts) Data labels for the gauge. For gauges, the data labels are
  85795. * enabled by default and shown in a bordered box below the point.
  85796. */
  85797. export interface PlotSolidgaugeDataLabelsOptions {
  85798. /**
  85799. * (Highcharts) The alignment of the data label compared to the point. If
  85800. * `right`, the right side of the label should be touching the point. For
  85801. * points with an extent, like columns, the alignments also dictates how to
  85802. * align it inside the box, as given with the inside option. Can be one of
  85803. * `left`, `center` or `right`.
  85804. */
  85805. align?: (AlignValue|null);
  85806. /**
  85807. * (Highcharts) Whether to allow data labels to overlap. To make the labels
  85808. * less sensitive for overlapping, the dataLabels.padding can be set to 0.
  85809. */
  85810. allowOverlap?: boolean;
  85811. /**
  85812. * (Highcharts) Enable or disable the initial animation when a series is
  85813. * displayed for the `dataLabels`. The animation can also be set as a
  85814. * configuration object. Please note that this option only applies to the
  85815. * initial animation. For other animations, see chart.animation and the
  85816. * animation parameter under the API methods. The following properties are
  85817. * supported:
  85818. *
  85819. * - `defer`: The animation delay time in milliseconds.
  85820. */
  85821. animation?: (boolean|PlotSolidgaugeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  85822. /**
  85823. * (Highcharts) The background color or gradient for the data label.
  85824. */
  85825. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  85826. /**
  85827. * (Highcharts) The border color for the data label. Defaults to
  85828. * `undefined`.
  85829. */
  85830. borderColor?: string;
  85831. /**
  85832. * (Highcharts) The border radius in pixels for the data label.
  85833. */
  85834. borderRadius?: number;
  85835. /**
  85836. * (Highcharts) The border width in pixels for the data label.
  85837. */
  85838. borderWidth?: number;
  85839. /**
  85840. * (Highcharts) A class name for the data label. Particularly in styled
  85841. * mode, this can be used to give each series' or point's data label unique
  85842. * styling. In addition to this option, a default color class name is added
  85843. * so that we can give the labels a contrast text shadow.
  85844. */
  85845. className?: string;
  85846. /**
  85847. * (Highcharts) The text color for the data labels. Defaults to `undefined`.
  85848. * For certain series types, like column or map, the data labels can be
  85849. * drawn inside the points. In this case the data label will be drawn with
  85850. * maximum contrast by default. Additionally, it will be given a
  85851. * `text-outline` style with the opposite color, to further increase the
  85852. * contrast. This can be overridden by setting the `text-outline` style to
  85853. * `none` in the `dataLabels.style` option.
  85854. */
  85855. color?: (ColorString|GradientColorObject|PatternObject);
  85856. /**
  85857. * (Highcharts) Whether to hide data labels that are outside the plot area.
  85858. * By default, the data label is moved inside the plot area according to the
  85859. * overflow option.
  85860. */
  85861. crop?: boolean;
  85862. /**
  85863. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  85864. * labels until the initial series animation has finished. Setting to
  85865. * `false` renders the data label immediately. If set to `true` inherits the
  85866. * defer time set in plotOptions.series.animation. If set to a number, a
  85867. * defer time is specified in milliseconds.
  85868. */
  85869. defer?: boolean;
  85870. /**
  85871. * (Highcharts) Enable or disable the data labels.
  85872. */
  85873. enabled?: boolean;
  85874. /**
  85875. * (Highcharts) A declarative filter to control of which data labels to
  85876. * display. The declarative filter is designed for use when callback
  85877. * functions are not available, like when the chart options require a pure
  85878. * JSON structure or for use with graphical editors. For programmatic
  85879. * control, use the `formatter` instead, and return `undefined` to disable a
  85880. * single data label.
  85881. */
  85882. filter?: DataLabelsFilterOptionsObject;
  85883. /**
  85884. * (Highcharts) A format string for the data label. Available variables are
  85885. * the same as for `formatter`.
  85886. */
  85887. format?: string;
  85888. /**
  85889. * (Highcharts) Callback JavaScript function to format the data label. Note
  85890. * that if a `format` is defined, the format takes precedence and the
  85891. * formatter is ignored.
  85892. */
  85893. formatter?: DataLabelsFormatterCallbackFunction;
  85894. /**
  85895. * (Highcharts) For points with an extent, like columns or map areas,
  85896. * whether to align the data label inside the box or to the actual value
  85897. * point. Defaults to `false` in most cases, `true` in stacked columns.
  85898. */
  85899. inside?: boolean;
  85900. /**
  85901. * (Highcharts) Format for points with the value of null. Works analogously
  85902. * to format. `nullFormat` can be applied only to series which support
  85903. * displaying null points.
  85904. */
  85905. nullFormat?: (boolean|string);
  85906. /**
  85907. * (Highcharts) Callback JavaScript function that defines formatting for
  85908. * points with the value of null. Works analogously to formatter.
  85909. * `nullPointFormatter` can be applied only to series which support
  85910. * displaying null points.
  85911. */
  85912. nullFormatter?: DataLabelsFormatterCallbackFunction;
  85913. /**
  85914. * (Highcharts) How to handle data labels that flow outside the plot area.
  85915. * The default is `"justify"`, which aligns them inside the plot area. For
  85916. * columns and bars, this means it will be moved inside the bar. To display
  85917. * data labels outside the plot area, set `crop` to `false` and `overflow`
  85918. * to `"allow"`.
  85919. */
  85920. overflow?: DataLabelsOverflowValue;
  85921. /**
  85922. * (Highcharts) When either the `borderWidth` or the `backgroundColor` is
  85923. * set, this is the padding within the box.
  85924. */
  85925. padding?: number;
  85926. /**
  85927. * (Highcharts) Aligns data labels relative to points. If `center` alignment
  85928. * is not possible, it defaults to `right`.
  85929. */
  85930. position?: AlignValue;
  85931. /**
  85932. * (Highcharts) Text rotation in degrees. Note that due to a more complex
  85933. * structure, backgrounds, borders and padding will be lost on a rotated
  85934. * data label.
  85935. */
  85936. rotation?: number;
  85937. /**
  85938. * (Highcharts) The shadow of the box. Works best with `borderWidth` or
  85939. * `backgroundColor`. Since 2.3 the shadow can be an object configuration
  85940. * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  85941. */
  85942. shadow?: (boolean|ShadowOptionsObject);
  85943. /**
  85944. * (Highcharts) The name of a symbol to use for the border around the label.
  85945. * Symbols are predefined functions on the Renderer object.
  85946. */
  85947. shape?: string;
  85948. /**
  85949. * (Highcharts) Styles for the label. The default `color` setting is
  85950. * `"contrast"`, which is a pseudo color that Highcharts picks up and
  85951. * applies the maximum contrast to the underlying point item, for example
  85952. * the bar in a bar chart.
  85953. *
  85954. * The `textOutline` is a pseudo property that applies an outline of the
  85955. * given width with the given color, which by default is the maximum
  85956. * contrast to the text. So a bright text color will result in a black text
  85957. * outline for maximum readability on a mixed background. In some cases,
  85958. * especially with grayscale text, the text outline doesn't work well, in
  85959. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  85960. * is true, the `textOutline` will not be picked up. In this, case, the same
  85961. * effect can be acheived through the `text-shadow` CSS property.
  85962. *
  85963. * For some series types, where each point has an extent, like for example
  85964. * tree maps, the data label may overflow the point. There are two
  85965. * strategies for handling overflow. By default, the text will wrap to
  85966. * multiple lines. The other strategy is to set `style.textOverflow` to
  85967. * `ellipsis`, which will keep the text on one line plus it will break
  85968. * inside long words.
  85969. */
  85970. style?: CSSObject;
  85971. /**
  85972. * (Highcharts) Options for a label text which should follow marker's shape.
  85973. * Border and background are disabled for a label that follows a path.
  85974. *
  85975. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  85976. * to true will disable this option.
  85977. */
  85978. textPath?: DataLabelsTextPathOptionsObject;
  85979. /**
  85980. * (Highcharts) Whether to use HTML to render the labels.
  85981. */
  85982. useHTML?: boolean;
  85983. /**
  85984. * (Highcharts) The vertical alignment of a data label. Can be one of `top`,
  85985. * `middle` or `bottom`. The default value depends on the data, for instance
  85986. * in a column chart, the label is above positive values and below negative
  85987. * values.
  85988. */
  85989. verticalAlign?: string;
  85990. /**
  85991. * (Highcharts) The x position offset of the label relative to the point in
  85992. * pixels.
  85993. */
  85994. x?: number;
  85995. /**
  85996. * (Highcharts) The y position offset of the label relative to the point in
  85997. * pixels.
  85998. */
  85999. y?: number;
  86000. /**
  86001. * (Highcharts) The Z index of the data labels. The default Z index puts it
  86002. * above the series. Use a Z index of 2 to display it behind the series.
  86003. */
  86004. z?: number;
  86005. zIndex?: number;
  86006. }
  86007. /**
  86008. * (Highcharts) A solid gauge is a circular gauge where the value is indicated
  86009. * by a filled arc, and the color of the arc may variate with the value.
  86010. *
  86011. * In TypeScript the type option must always be set.
  86012. *
  86013. * Configuration options for the series are given in three levels:
  86014. *
  86015. * 1. Options for all series in a chart are defined in the plotOptions.series
  86016. * object.
  86017. *
  86018. * 2. Options for all `solidgauge` series are defined in plotOptions.solidgauge.
  86019. *
  86020. * 3. Options for one single series are given in the series instance array. (see
  86021. * online documentation for example)
  86022. */
  86023. export interface PlotSolidgaugeOptions {
  86024. /**
  86025. * (Highcharts) Accessibility options for a series.
  86026. */
  86027. accessibility?: SeriesAccessibilityOptionsObject;
  86028. /**
  86029. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  86030. * rendered. If `true`, areas which don't correspond to a data point, are
  86031. * rendered as `null` points. If `false`, those areas are skipped.
  86032. */
  86033. allAreas?: boolean;
  86034. /**
  86035. * (Highcharts) Allow this series' points to be selected by clicking on the
  86036. * graphic (columns, point markers, pie slices, map areas etc).
  86037. *
  86038. * The selected points can be handled by point select and unselect events,
  86039. * or collectively by the getSelectedPoints function.
  86040. *
  86041. * And alternative way of selecting points is through dragging.
  86042. */
  86043. allowPointSelect?: boolean;
  86044. /**
  86045. * (Highcharts) Enable or disable the initial animation when a series is
  86046. * displayed. The animation can also be set as a configuration object.
  86047. * Please note that this option only applies to the initial animation of the
  86048. * series itself. For other animations, see chart.animation and the
  86049. * animation parameter under the API methods. The following properties are
  86050. * supported:
  86051. *
  86052. * - `defer`: The animation delay time in milliseconds.
  86053. *
  86054. * - `duration`: The duration of the animation in milliseconds.
  86055. *
  86056. * - `easing`: Can be a string reference to an easing function set on the
  86057. * `Math` object or a function. See the _Custom easing function_ demo below.
  86058. *
  86059. * Due to poor performance, animation is disabled in old IE browsers for
  86060. * several chart types.
  86061. */
  86062. animation?: (boolean|PlotSolidgaugeAnimationOptions|Partial<AnimationOptionsObject>);
  86063. /**
  86064. * (Highmaps) The border color of the map areas.
  86065. *
  86066. * In styled mode, the border stroke is given in the `.highcharts-point`
  86067. * class.
  86068. */
  86069. borderColor?: (ColorString|GradientColorObject|PatternObject);
  86070. /**
  86071. * (Highmaps) The border width of each map area.
  86072. *
  86073. * In styled mode, the border stroke width is given in the
  86074. * `.highcharts-point` class.
  86075. */
  86076. borderWidth?: number;
  86077. /**
  86078. * (Highcharts) An additional class name to apply to the series' graphical
  86079. * elements. This option does not replace default class names of the
  86080. * graphical element.
  86081. */
  86082. className?: string;
  86083. /**
  86084. * (Highcharts) Disable this option to allow series rendering in the whole
  86085. * plotting area.
  86086. *
  86087. * **Note:** Clipping should be always enabled when chart.zoomType is set
  86088. */
  86089. clip?: boolean;
  86090. /**
  86091. * (Highcharts) The main color of the series. In line type series it applies
  86092. * to the line and the point markers unless otherwise specified. In bar type
  86093. * series it applies to the bars unless a color is specified per point. The
  86094. * default value is pulled from the `options.colors` array.
  86095. *
  86096. * In styled mode, the color can be defined by the colorIndex option. Also,
  86097. * the series color can be set with the `.highcharts-series`,
  86098. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  86099. * `.highcharts-series-{n}` class, or individual classes given by the
  86100. * `className` option.
  86101. */
  86102. color?: (ColorString|GradientColorObject|PatternObject);
  86103. /**
  86104. * (Highcharts) Whether to give each point an individual color.
  86105. */
  86106. colorByPoint?: boolean;
  86107. /**
  86108. * (Highcharts) Styled mode only. A specific color index to use for the
  86109. * series, so its graphic representations are given the class name
  86110. * `highcharts-color-{n}`.
  86111. */
  86112. colorIndex?: number;
  86113. /**
  86114. * (Highstock) Compare the values of the series against the first non-null,
  86115. * non- zero value in the visible range. The y axis will show percentage or
  86116. * absolute change depending on whether `compare` is set to `"percent"` or
  86117. * `"value"`. When this is applied to multiple series, it allows comparing
  86118. * the development of the series against each other. Adds a `change` field
  86119. * to every point object.
  86120. */
  86121. compare?: string;
  86122. /**
  86123. * (Highstock) When compare is `percent`, this option dictates whether to
  86124. * use 0 or 100 as the base of comparison.
  86125. */
  86126. compareBase?: (0|100);
  86127. /**
  86128. * (Highstock) Defines if comparison should start from the first point
  86129. * within the visible range or should start from the first point **before**
  86130. * the range.
  86131. *
  86132. * In other words, this flag determines if first point within the visible
  86133. * range will have 0% (`compareStart=true`) or should have been already
  86134. * calculated according to the previous point (`compareStart=false`).
  86135. */
  86136. compareStart?: boolean;
  86137. /**
  86138. * (Gantt) Override Pathfinder connector options for a series. Requires
  86139. * Highcharts Gantt to be loaded.
  86140. */
  86141. connectors?: SeriesConnectorsOptionsObject;
  86142. /**
  86143. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  86144. * rounded to its nearest pixel in order to render sharp on screen. In some
  86145. * cases, when there are a lot of densely packed columns, this leads to
  86146. * visible difference in column widths or distance between columns. In these
  86147. * cases, setting `crisp` to `false` may look better, even though each
  86148. * column is rendered blurry.
  86149. */
  86150. crisp?: boolean;
  86151. /**
  86152. * (Highcharts) You can set the cursor to "pointer" if you have click events
  86153. * attached to the series, to signal to the user that the points and lines
  86154. * can be clicked.
  86155. *
  86156. * In styled mode, the series cursor can be set with the same classes as
  86157. * listed under series.color.
  86158. */
  86159. cursor?: (string|CursorValue);
  86160. /**
  86161. * (Highcharts) A reserved subspace to store options and values for
  86162. * customized functionality. Here you can add additional data for your own
  86163. * event callbacks and formatter callbacks.
  86164. */
  86165. custom?: Dictionary<any>;
  86166. /**
  86167. * (Highstock) Data grouping is the concept of sampling the data values into
  86168. * larger blocks in order to ease readability and increase performance of
  86169. * the JavaScript charts. Highcharts Stock by default applies data grouping
  86170. * when the points become closer than a certain pixel value, determined by
  86171. * the `groupPixelWidth` option.
  86172. *
  86173. * If data grouping is applied, the grouping information of grouped points
  86174. * can be read from the Point.dataGroup. If point options other than the
  86175. * data itself are set, for example `name` or `color` or custom properties,
  86176. * the grouping logic doesn't know how to group it. In this case the options
  86177. * of the first point instance are copied over to the group point. This can
  86178. * be altered through a custom `approximation` callback function.
  86179. */
  86180. dataGrouping?: DataGroupingOptionsObject;
  86181. /**
  86182. * (Highcharts) Data labels for the gauge. For gauges, the data labels are
  86183. * enabled by default and shown in a bordered box below the point.
  86184. */
  86185. dataLabels?: (PlotSolidgaugeDataLabelsOptions|Array<PlotSolidgaugeDataLabelsOptions>);
  86186. /**
  86187. * (Highcharts) A description of the series to add to the screen reader
  86188. * information about the series.
  86189. */
  86190. description?: string;
  86191. /**
  86192. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  86193. * This includes point tooltips and click events on graphs and points. For
  86194. * large datasets it improves performance.
  86195. */
  86196. enableMouseTracking?: boolean;
  86197. /**
  86198. * (Highcharts) General event handlers for the series items. These event
  86199. * hooks can also be attached to the series at run time using the
  86200. * `Highcharts.addEvent` function.
  86201. */
  86202. events?: SeriesEventsOptionsObject;
  86203. /**
  86204. * (Highstock) Defines when to display a gap in the graph, together with the
  86205. * gapUnit option.
  86206. *
  86207. * In case when `dataGrouping` is enabled, points can be grouped into a
  86208. * larger time span. This can make the grouped points to have a greater
  86209. * distance than the absolute value of `gapSize` property, which will result
  86210. * in disappearing graph completely. To prevent this situation the mentioned
  86211. * distance between grouped points is used instead of previously defined
  86212. * `gapSize`.
  86213. *
  86214. * In practice, this option is most often used to visualize gaps in time
  86215. * series. In a stock chart, intraday data is available for daytime hours,
  86216. * while gaps will appear in nights and weekends.
  86217. */
  86218. gapSize?: number;
  86219. /**
  86220. * (Highstock) Together with gapSize, this option defines where to draw gaps
  86221. * in the graph.
  86222. *
  86223. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  86224. * if the distance between two points is greater than 5 times that of the
  86225. * two closest points, the graph will be broken.
  86226. *
  86227. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  86228. * values, which on a datetime axis is milliseconds. This also applies to
  86229. * the navigator series that inherits gap options from the base series.
  86230. */
  86231. gapUnit?: OptionsGapUnitValue;
  86232. /**
  86233. * (Highcharts) When set to `false` will prevent the series data from being
  86234. * included in any form of data export.
  86235. *
  86236. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  86237. * `includeInCSVExport`.
  86238. */
  86239. includeInDataExport?: boolean;
  86240. /**
  86241. * (Highcharts) The inner radius for points in a solid gauge. Can be given
  86242. * as a number (pixels) or percentage string.
  86243. */
  86244. innerRadius?: (number|string);
  86245. /**
  86246. * (Highmaps) What property to join the `mapData` to the value data. For
  86247. * example, if joinBy is "code", the mapData items with a specific code is
  86248. * merged into the data with the same code. For maps loaded from GeoJSON,
  86249. * the keys may be held in each point's `properties` object.
  86250. *
  86251. * The joinBy option can also be an array of two values, where the first
  86252. * points to a key in the `mapData`, and the second points to another key in
  86253. * the `data`.
  86254. *
  86255. * When joinBy is `null`, the map items are joined by their position in the
  86256. * array, which performs much better in maps with many data points. This is
  86257. * the recommended option if you are printing more than a thousand data
  86258. * points and have a backend that can preprocess the data into a parallel
  86259. * array of the mapData.
  86260. */
  86261. joinBy?: (string|Array<string>);
  86262. /**
  86263. * (Highcharts) An array specifying which option maps to which key in the
  86264. * data point array. This makes it convenient to work with unstructured data
  86265. * arrays from different sources.
  86266. */
  86267. keys?: Array<string>;
  86268. /**
  86269. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  86270. * series as possible in a natural way, seeking to avoid other series. The
  86271. * goal of this feature is to make the chart more easily readable, like if a
  86272. * human designer placed the labels in the optimal position.
  86273. *
  86274. * The series labels currently work with series types having a `graph` or an
  86275. * `area`.
  86276. */
  86277. label?: SeriesLabelOptionsObject;
  86278. /**
  86279. * (Highstock) The line marks the last price from all points.
  86280. */
  86281. lastPrice?: SeriesLastPriceOptionsObject;
  86282. /**
  86283. * (Highstock) The line marks the last price from visible range of points.
  86284. */
  86285. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  86286. /**
  86287. * (Highcharts) Whether the strokes of the solid gauge should be `round` or
  86288. * `square`.
  86289. */
  86290. linecap?: OptionsLinecapValue;
  86291. /**
  86292. * (Highcharts, Highstock) Pixel width of the graph line.
  86293. */
  86294. lineWidth?: number;
  86295. /**
  86296. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  86297. * Additionally, the value can be ":previous" to link to the previous
  86298. * series. When two series are linked, only the first one appears in the
  86299. * legend. Toggling the visibility of this also toggles the linked series.
  86300. *
  86301. * If master series uses data sorting and linked series does not have its
  86302. * own sorting definition, the linked series will be sorted in the same
  86303. * order as the master one.
  86304. */
  86305. linkedTo?: string;
  86306. /**
  86307. * (Highstock) Options for the corresponding navigator series if
  86308. * `showInNavigator` is `true` for this series. Available options are the
  86309. * same as any series, documented at plotOptions and series.
  86310. *
  86311. * These options are merged with options in navigator.series, and will take
  86312. * precedence if the same option is defined both places.
  86313. */
  86314. navigatorOptions?: PlotSeriesOptions;
  86315. /**
  86316. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  86317. * dataLabels.
  86318. */
  86319. opacity?: number;
  86320. /**
  86321. * (Highcharts) Allow the gauge to overshoot the end of the perimeter axis
  86322. * by this many degrees. Say if the gauge axis goes from 0 to 60, a value of
  86323. * 100, or 1000, will show 5 degrees beyond the end of the axis when this
  86324. * option is set to 5.
  86325. */
  86326. overshoot?: number;
  86327. /**
  86328. * (Highcharts) Properties for each single point.
  86329. */
  86330. point?: PlotSeriesPointOptions;
  86331. /**
  86332. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  86333. * individual series. Overrides the chart wide configuration.
  86334. */
  86335. pointDescriptionFormatter?: Function;
  86336. /**
  86337. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  86338. * a series, `pointInterval` defines the interval of the x values. For
  86339. * example, if a series contains one value every decade starting from year
  86340. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  86341. * `pointInterval` is set in milliseconds.
  86342. *
  86343. * It can be also be combined with `pointIntervalUnit` to draw irregular
  86344. * time intervals.
  86345. *
  86346. * Please note that this options applies to the _series data_, not the
  86347. * interval of the axis ticks, which is independent.
  86348. */
  86349. pointInterval?: number;
  86350. /**
  86351. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  86352. * setting the pointInterval to irregular time units, `day`, `month` and
  86353. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  86354. * also takes the DST crossover into consideration when dealing with local
  86355. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  86356. * months, 10 years etc.
  86357. *
  86358. * Please note that this options applies to the _series data_, not the
  86359. * interval of the axis ticks, which is independent.
  86360. */
  86361. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  86362. /**
  86363. * (Highstock) The width of each point on the x axis. For example in a
  86364. * column chart with one value each day, the pointRange would be 1 day (= 24
  86365. * * 3600
  86366. *
  86367. * * 1000 milliseconds). This is normally computed automatically, but this
  86368. * option can be used to override the automatic value.
  86369. */
  86370. pointRange?: number;
  86371. /**
  86372. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  86373. * a series, pointStart defines on what value to start. For example, if a
  86374. * series contains one yearly value starting from 1945, set pointStart to
  86375. * 1945.
  86376. */
  86377. pointStart?: number;
  86378. /**
  86379. * (Highcharts) The outer radius for points in a solid gauge. Can be given
  86380. * as a number (pixels) or percentage string.
  86381. */
  86382. radius?: (number|string);
  86383. /**
  86384. * (Highcharts) Wether to draw rounded edges on the gauge.
  86385. */
  86386. rounded?: boolean;
  86387. /**
  86388. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  86389. * true, the checkbox next to the series name in the legend will be checked
  86390. * for a selected series.
  86391. */
  86392. selected?: boolean;
  86393. /**
  86394. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  86395. * allow selecting the series. The state of the checkbox is determined by
  86396. * the `selected` option.
  86397. */
  86398. showCheckbox?: boolean;
  86399. /**
  86400. * (Highcharts) Whether to display this particular series or series type in
  86401. * the legend. Defaults to false for gauge series.
  86402. */
  86403. showInLegend?: boolean;
  86404. /**
  86405. * (Highstock) Whether or not to show the series in the navigator. Takes
  86406. * precedence over navigator.baseSeries if defined.
  86407. */
  86408. showInNavigator?: boolean;
  86409. /**
  86410. * (Highcharts) If set to `true`, the accessibility module will skip past
  86411. * the points in this series for keyboard navigation.
  86412. */
  86413. skipKeyboardNavigation?: boolean;
  86414. /**
  86415. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  86416. * event on a series isn't triggered until the mouse moves over another
  86417. * series, or out of the plot area. When false, the `mouseOut` event on a
  86418. * series is triggered when the mouse leaves the area around the series'
  86419. * graph or markers. This also implies the tooltip when not shared. When
  86420. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  86421. * be hidden when moving the mouse between series. Defaults to true for line
  86422. * and area type series, but to false for columns, pies etc.
  86423. *
  86424. * **Note:** The boost module will force this option because of technical
  86425. * limitations.
  86426. */
  86427. stickyTracking?: boolean;
  86428. /**
  86429. * (Highcharts) The threshold or base level for the gauge.
  86430. */
  86431. threshold?: (number|null);
  86432. /**
  86433. * (Highcharts) A configuration object for the tooltip rendering of each
  86434. * single series. Properties are inherited from tooltip, but only the
  86435. * following properties can be defined on a series level.
  86436. */
  86437. tooltip?: SeriesTooltipOptionsObject;
  86438. /**
  86439. * (Highstock) The parameter allows setting line series type and use OHLC
  86440. * indicators. Data in OHLC format is required.
  86441. */
  86442. useOhlcData?: boolean;
  86443. /**
  86444. * (Highcharts) Set the initial visibility of the series.
  86445. */
  86446. visible?: boolean;
  86447. /**
  86448. * (Highmaps) Define the z index of the series.
  86449. */
  86450. zIndex?: number;
  86451. }
  86452. /**
  86453. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  86454. * is displayed. The animation can also be set as a configuration object. Please
  86455. * note that this option only applies to the initial animation of the series
  86456. * itself. For other animations, see chart.animation and the animation parameter
  86457. * under the API methods. The following properties are supported:
  86458. *
  86459. * - `defer`: The animation delay time in milliseconds.
  86460. *
  86461. * - `duration`: The duration of the animation in milliseconds.
  86462. *
  86463. * - `easing`: Can be a string reference to an easing function set on the `Math`
  86464. * object or a function. See the _Custom easing function_ demo below.
  86465. *
  86466. * Due to poor performance, animation is disabled in old IE browsers for several
  86467. * chart types.
  86468. */
  86469. export interface PlotSplineAnimationOptions {
  86470. defer?: number;
  86471. }
  86472. /**
  86473. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  86474. * animation when a series is displayed for the `dataLabels`. The animation can
  86475. * also be set as a configuration object. Please note that this option only
  86476. * applies to the initial animation. For other animations, see chart.animation
  86477. * and the animation parameter under the API methods. The following properties
  86478. * are supported:
  86479. *
  86480. * - `defer`: The animation delay time in milliseconds.
  86481. */
  86482. export interface PlotSplineDataLabelsAnimationOptions {
  86483. /**
  86484. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  86485. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  86486. * inherits defer time from the series.animation.defer.
  86487. */
  86488. defer?: number;
  86489. }
  86490. /**
  86491. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  86492. * appearing next to each data point.
  86493. *
  86494. * Since v6.2.0, multiple data labels can be applied to each single point by
  86495. * defining them as an array of configs.
  86496. *
  86497. * In styled mode, the data labels can be styled with the
  86498. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  86499. * example).
  86500. */
  86501. export interface PlotSplineDataLabelsOptions {
  86502. /**
  86503. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  86504. * compared to the point. If `right`, the right side of the label should be
  86505. * touching the point. For points with an extent, like columns, the
  86506. * alignments also dictates how to align it inside the box, as given with
  86507. * the inside option. Can be one of `left`, `center` or `right`.
  86508. */
  86509. align?: (AlignValue|null);
  86510. /**
  86511. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  86512. * overlap. To make the labels less sensitive for overlapping, the
  86513. * dataLabels.padding can be set to 0.
  86514. */
  86515. allowOverlap?: boolean;
  86516. /**
  86517. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  86518. * animation when a series is displayed for the `dataLabels`. The animation
  86519. * can also be set as a configuration object. Please note that this option
  86520. * only applies to the initial animation. For other animations, see
  86521. * chart.animation and the animation parameter under the API methods. The
  86522. * following properties are supported:
  86523. *
  86524. * - `defer`: The animation delay time in milliseconds.
  86525. */
  86526. animation?: (boolean|PlotSplineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  86527. /**
  86528. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  86529. * for the data label.
  86530. */
  86531. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  86532. /**
  86533. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  86534. * label. Defaults to `undefined`.
  86535. */
  86536. borderColor?: (ColorString|GradientColorObject|PatternObject);
  86537. /**
  86538. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  86539. * the data label.
  86540. */
  86541. borderRadius?: number;
  86542. /**
  86543. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  86544. * the data label.
  86545. */
  86546. borderWidth?: number;
  86547. /**
  86548. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  86549. * Particularly in styled mode, this can be used to give each series' or
  86550. * point's data label unique styling. In addition to this option, a default
  86551. * color class name is added so that we can give the labels a contrast text
  86552. * shadow.
  86553. */
  86554. className?: string;
  86555. /**
  86556. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  86557. * labels. Defaults to `undefined`. For certain series types, like column or
  86558. * map, the data labels can be drawn inside the points. In this case the
  86559. * data label will be drawn with maximum contrast by default. Additionally,
  86560. * it will be given a `text-outline` style with the opposite color, to
  86561. * further increase the contrast. This can be overridden by setting the
  86562. * `text-outline` style to `none` in the `dataLabels.style` option.
  86563. */
  86564. color?: (ColorString|GradientColorObject|PatternObject);
  86565. /**
  86566. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  86567. * are outside the plot area. By default, the data label is moved inside the
  86568. * plot area according to the overflow option.
  86569. */
  86570. crop?: boolean;
  86571. /**
  86572. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  86573. * labels until the initial series animation has finished. Setting to
  86574. * `false` renders the data label immediately. If set to `true` inherits the
  86575. * defer time set in plotOptions.series.animation. If set to a number, a
  86576. * defer time is specified in milliseconds.
  86577. */
  86578. defer?: (boolean|number);
  86579. /**
  86580. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  86581. * labels.
  86582. */
  86583. enabled?: boolean;
  86584. /**
  86585. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  86586. * of which data labels to display. The declarative filter is designed for
  86587. * use when callback functions are not available, like when the chart
  86588. * options require a pure JSON structure or for use with graphical editors.
  86589. * For programmatic control, use the `formatter` instead, and return
  86590. * `undefined` to disable a single data label.
  86591. */
  86592. filter?: DataLabelsFilterOptionsObject;
  86593. /**
  86594. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  86595. * label. Available variables are the same as for `formatter`.
  86596. */
  86597. format?: string;
  86598. /**
  86599. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  86600. * format the data label. Note that if a `format` is defined, the format
  86601. * takes precedence and the formatter is ignored.
  86602. */
  86603. formatter?: DataLabelsFormatterCallbackFunction;
  86604. /**
  86605. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  86606. * columns or map areas, whether to align the data label inside the box or
  86607. * to the actual value point. Defaults to `false` in most cases, `true` in
  86608. * stacked columns.
  86609. */
  86610. inside?: boolean;
  86611. /**
  86612. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  86613. * of null. Works analogously to format. `nullFormat` can be applied only to
  86614. * series which support displaying null points.
  86615. */
  86616. nullFormat?: (boolean|string);
  86617. /**
  86618. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  86619. * that defines formatting for points with the value of null. Works
  86620. * analogously to formatter. `nullPointFormatter` can be applied only to
  86621. * series which support displaying null points.
  86622. */
  86623. nullFormatter?: DataLabelsFormatterCallbackFunction;
  86624. /**
  86625. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  86626. * flow outside the plot area. The default is `"justify"`, which aligns them
  86627. * inside the plot area. For columns and bars, this means it will be moved
  86628. * inside the bar. To display data labels outside the plot area, set `crop`
  86629. * to `false` and `overflow` to `"allow"`.
  86630. */
  86631. overflow?: DataLabelsOverflowValue;
  86632. /**
  86633. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  86634. * the `backgroundColor` is set, this is the padding within the box.
  86635. */
  86636. padding?: number;
  86637. /**
  86638. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  86639. * points. If `center` alignment is not possible, it defaults to `right`.
  86640. */
  86641. position?: AlignValue;
  86642. /**
  86643. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  86644. * that due to a more complex structure, backgrounds, borders and padding
  86645. * will be lost on a rotated data label.
  86646. */
  86647. rotation?: number;
  86648. /**
  86649. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  86650. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  86651. * an object configuration containing `color`, `offsetX`, `offsetY`,
  86652. * `opacity` and `width`.
  86653. */
  86654. shadow?: (boolean|ShadowOptionsObject);
  86655. /**
  86656. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  86657. * the border around the label. Symbols are predefined functions on the
  86658. * Renderer object.
  86659. */
  86660. shape?: string;
  86661. /**
  86662. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  86663. * default `color` setting is `"contrast"`, which is a pseudo color that
  86664. * Highcharts picks up and applies the maximum contrast to the underlying
  86665. * point item, for example the bar in a bar chart.
  86666. *
  86667. * The `textOutline` is a pseudo property that applies an outline of the
  86668. * given width with the given color, which by default is the maximum
  86669. * contrast to the text. So a bright text color will result in a black text
  86670. * outline for maximum readability on a mixed background. In some cases,
  86671. * especially with grayscale text, the text outline doesn't work well, in
  86672. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  86673. * is true, the `textOutline` will not be picked up. In this, case, the same
  86674. * effect can be acheived through the `text-shadow` CSS property.
  86675. *
  86676. * For some series types, where each point has an extent, like for example
  86677. * tree maps, the data label may overflow the point. There are two
  86678. * strategies for handling overflow. By default, the text will wrap to
  86679. * multiple lines. The other strategy is to set `style.textOverflow` to
  86680. * `ellipsis`, which will keep the text on one line plus it will break
  86681. * inside long words.
  86682. */
  86683. style?: CSSObject;
  86684. /**
  86685. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  86686. * should follow marker's shape. Border and background are disabled for a
  86687. * label that follows a path.
  86688. *
  86689. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  86690. * to true will disable this option.
  86691. */
  86692. textPath?: DataLabelsTextPathOptionsObject;
  86693. /**
  86694. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  86695. * the labels.
  86696. */
  86697. useHTML?: boolean;
  86698. /**
  86699. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  86700. * label. Can be one of `top`, `middle` or `bottom`. The default value
  86701. * depends on the data, for instance in a column chart, the label is above
  86702. * positive values and below negative values.
  86703. */
  86704. verticalAlign?: (VerticalAlignValue|null);
  86705. /**
  86706. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  86707. * label relative to the point in pixels.
  86708. */
  86709. x?: number;
  86710. /**
  86711. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  86712. * label relative to the point in pixels.
  86713. */
  86714. y?: number;
  86715. /**
  86716. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  86717. * The default Z index puts it above the series. Use a Z index of 2 to
  86718. * display it behind the series.
  86719. */
  86720. z?: number;
  86721. }
  86722. /**
  86723. * (Highcharts, Highstock) Options for the series data sorting.
  86724. */
  86725. export interface PlotSplineDataSortingOptions {
  86726. /**
  86727. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  86728. * Use xAxis.reversed to change the sorting order.
  86729. */
  86730. enabled?: boolean;
  86731. /**
  86732. * (Highcharts, Highstock) Whether to allow matching points by name in an
  86733. * update. If this option is disabled, points will be matched by order.
  86734. */
  86735. matchByName?: boolean;
  86736. /**
  86737. * (Highcharts, Highstock) Determines what data value should be used to sort
  86738. * by.
  86739. */
  86740. sortKey?: string;
  86741. }
  86742. /**
  86743. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  86744. * one state by default, the `default` state.
  86745. */
  86746. export interface PlotSplineDragDropGuideBoxOptions {
  86747. /**
  86748. * (Highcharts, Highstock) Style options for the guide box default state.
  86749. */
  86750. default?: DragDropGuideBoxOptionsObject;
  86751. }
  86752. /**
  86753. * (Highcharts, Highstock) A spline series is a special type of line series,
  86754. * where the segments between the data points are smoothed.
  86755. *
  86756. * In TypeScript the type option must always be set.
  86757. *
  86758. * Configuration options for the series are given in three levels:
  86759. *
  86760. * 1. Options for all series in a chart are defined in the plotOptions.series
  86761. * object.
  86762. *
  86763. * 2. Options for all `spline` series are defined in plotOptions.spline.
  86764. *
  86765. * 3. Options for one single series are given in the series instance array. (see
  86766. * online documentation for example)
  86767. */
  86768. export interface PlotSplineOptions {
  86769. /**
  86770. * (Highcharts, Highstock) Accessibility options for a series.
  86771. */
  86772. accessibility?: SeriesAccessibilityOptionsObject;
  86773. /**
  86774. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  86775. * rendered. If `true`, areas which don't correspond to a data point, are
  86776. * rendered as `null` points. If `false`, those areas are skipped.
  86777. */
  86778. allAreas?: boolean;
  86779. /**
  86780. * (Highcharts, Highstock) Allow this series' points to be selected by
  86781. * clicking on the graphic (columns, point markers, pie slices, map areas
  86782. * etc).
  86783. *
  86784. * The selected points can be handled by point select and unselect events,
  86785. * or collectively by the getSelectedPoints function.
  86786. *
  86787. * And alternative way of selecting points is through dragging.
  86788. */
  86789. allowPointSelect?: boolean;
  86790. /**
  86791. * (Highcharts, Highstock) Enable or disable the initial animation when a
  86792. * series is displayed. The animation can also be set as a configuration
  86793. * object. Please note that this option only applies to the initial
  86794. * animation of the series itself. For other animations, see chart.animation
  86795. * and the animation parameter under the API methods. The following
  86796. * properties are supported:
  86797. *
  86798. * - `defer`: The animation delay time in milliseconds.
  86799. *
  86800. * - `duration`: The duration of the animation in milliseconds.
  86801. *
  86802. * - `easing`: Can be a string reference to an easing function set on the
  86803. * `Math` object or a function. See the _Custom easing function_ demo below.
  86804. *
  86805. * Due to poor performance, animation is disabled in old IE browsers for
  86806. * several chart types.
  86807. */
  86808. animation?: (boolean|PlotSplineAnimationOptions|Partial<AnimationOptionsObject>);
  86809. /**
  86810. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  86811. * initial animation by default when the total number of points in the chart
  86812. * is too high. For example, for a column chart and its derivatives,
  86813. * animation does not run if there is more than 250 points totally. To
  86814. * disable this cap, set `animationLimit` to `Infinity`.
  86815. */
  86816. animationLimit?: number;
  86817. /**
  86818. * (Highmaps) The border color of the map areas.
  86819. *
  86820. * In styled mode, the border stroke is given in the `.highcharts-point`
  86821. * class.
  86822. */
  86823. borderColor?: (ColorString|GradientColorObject|PatternObject);
  86824. /**
  86825. * (Highmaps) The border width of each map area.
  86826. *
  86827. * In styled mode, the border stroke width is given in the
  86828. * `.highcharts-point` class.
  86829. */
  86830. borderWidth?: number;
  86831. /**
  86832. * (Highcharts, Highstock) An additional class name to apply to the series'
  86833. * graphical elements. This option does not replace default class names of
  86834. * the graphical element.
  86835. */
  86836. className?: string;
  86837. /**
  86838. * (Highcharts, Highstock) Disable this option to allow series rendering in
  86839. * the whole plotting area.
  86840. *
  86841. * **Note:** Clipping should be always enabled when chart.zoomType is set
  86842. */
  86843. clip?: boolean;
  86844. /**
  86845. * (Highcharts, Highstock) The main color of the series. In line type series
  86846. * it applies to the line and the point markers unless otherwise specified.
  86847. * In bar type series it applies to the bars unless a color is specified per
  86848. * point. The default value is pulled from the `options.colors` array.
  86849. *
  86850. * In styled mode, the color can be defined by the colorIndex option. Also,
  86851. * the series color can be set with the `.highcharts-series`,
  86852. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  86853. * `.highcharts-series-{n}` class, or individual classes given by the
  86854. * `className` option.
  86855. */
  86856. color?: (ColorString|GradientColorObject|PatternObject);
  86857. /**
  86858. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  86859. * this number defines which colorAxis the particular series is connected
  86860. * to. It refers to either the axis id or the index of the axis in the
  86861. * colorAxis array, with 0 being the first. Set this option to false to
  86862. * prevent a series from connecting to the default color axis.
  86863. *
  86864. * Since v7.2.0 the option can also be an axis id or an axis index instead
  86865. * of a boolean flag.
  86866. */
  86867. colorAxis?: (boolean|number|string);
  86868. /**
  86869. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  86870. * for the series, so its graphic representations are given the class name
  86871. * `highcharts-color-{n}`.
  86872. */
  86873. colorIndex?: number;
  86874. /**
  86875. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  86876. * used to calculate point color if `colorAxis` is used. Requires to set
  86877. * `min` and `max` if some custom point property is used or if approximation
  86878. * for data grouping is set to `'sum'`.
  86879. */
  86880. colorKey?: string;
  86881. /**
  86882. * (Highstock) Compare the values of the series against the first non-null,
  86883. * non- zero value in the visible range. The y axis will show percentage or
  86884. * absolute change depending on whether `compare` is set to `"percent"` or
  86885. * `"value"`. When this is applied to multiple series, it allows comparing
  86886. * the development of the series against each other. Adds a `change` field
  86887. * to every point object.
  86888. */
  86889. compare?: string;
  86890. /**
  86891. * (Highstock) When compare is `percent`, this option dictates whether to
  86892. * use 0 or 100 as the base of comparison.
  86893. */
  86894. compareBase?: (0|100);
  86895. /**
  86896. * (Highstock) Defines if comparison should start from the first point
  86897. * within the visible range or should start from the first point **before**
  86898. * the range.
  86899. *
  86900. * In other words, this flag determines if first point within the visible
  86901. * range will have 0% (`compareStart=true`) or should have been already
  86902. * calculated according to the previous point (`compareStart=false`).
  86903. */
  86904. compareStart?: boolean;
  86905. /**
  86906. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  86907. * series plot across the extremes.
  86908. */
  86909. connectEnds?: boolean;
  86910. /**
  86911. * (Highcharts, Highstock) Whether to connect a graph line across null
  86912. * points, or render a gap between the two points on either side of the
  86913. * null.
  86914. */
  86915. connectNulls?: boolean;
  86916. /**
  86917. * (Gantt) Override Pathfinder connector options for a series. Requires
  86918. * Highcharts Gantt to be loaded.
  86919. */
  86920. connectors?: SeriesConnectorsOptionsObject;
  86921. /**
  86922. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  86923. * rounded to its nearest pixel in order to render sharp on screen. In some
  86924. * cases, when there are a lot of densely packed columns, this leads to
  86925. * visible difference in column widths or distance between columns. In these
  86926. * cases, setting `crisp` to `false` may look better, even though each
  86927. * column is rendered blurry.
  86928. */
  86929. crisp?: boolean;
  86930. /**
  86931. * (Highcharts, Highstock) When the series contains less points than the
  86932. * crop threshold, all points are drawn, even if the points fall outside the
  86933. * visible plot area at the current zoom. The advantage of drawing all
  86934. * points (including markers and columns), is that animation is performed on
  86935. * updates. On the other hand, when the series contains more points than the
  86936. * crop threshold, the series data is cropped to only contain points that
  86937. * fall within the plot area. The advantage of cropping away invisible
  86938. * points is to increase performance on large series.
  86939. */
  86940. cropThreshold?: number;
  86941. /**
  86942. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  86943. * click events attached to the series, to signal to the user that the
  86944. * points and lines can be clicked.
  86945. *
  86946. * In styled mode, the series cursor can be set with the same classes as
  86947. * listed under series.color.
  86948. */
  86949. cursor?: (string|CursorValue);
  86950. /**
  86951. * (Highcharts, Highstock) A reserved subspace to store options and values
  86952. * for customized functionality. Here you can add additional data for your
  86953. * own event callbacks and formatter callbacks.
  86954. */
  86955. custom?: Dictionary<any>;
  86956. /**
  86957. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  86958. * for some series types the outline of each shape.
  86959. *
  86960. * In styled mode, the stroke dash-array can be set with the same classes as
  86961. * listed under series.color.
  86962. */
  86963. dashStyle?: DashStyleValue;
  86964. /**
  86965. * (Highstock) Data grouping is the concept of sampling the data values into
  86966. * larger blocks in order to ease readability and increase performance of
  86967. * the JavaScript charts. Highcharts Stock by default applies data grouping
  86968. * when the points become closer than a certain pixel value, determined by
  86969. * the `groupPixelWidth` option.
  86970. *
  86971. * If data grouping is applied, the grouping information of grouped points
  86972. * can be read from the Point.dataGroup. If point options other than the
  86973. * data itself are set, for example `name` or `color` or custom properties,
  86974. * the grouping logic doesn't know how to group it. In this case the options
  86975. * of the first point instance are copied over to the group point. This can
  86976. * be altered through a custom `approximation` callback function.
  86977. */
  86978. dataGrouping?: DataGroupingOptionsObject;
  86979. /**
  86980. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  86981. * labels, appearing next to each data point.
  86982. *
  86983. * Since v6.2.0, multiple data labels can be applied to each single point by
  86984. * defining them as an array of configs.
  86985. *
  86986. * In styled mode, the data labels can be styled with the
  86987. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  86988. * (see example).
  86989. */
  86990. dataLabels?: (PlotSplineDataLabelsOptions|Array<PlotSplineDataLabelsOptions>);
  86991. /**
  86992. * (Highcharts, Highstock) Options for the series data sorting.
  86993. */
  86994. dataSorting?: (DataSortingOptionsObject|PlotSplineDataSortingOptions);
  86995. /**
  86996. * (Highcharts, Highstock) A description of the series to add to the screen
  86997. * reader information about the series.
  86998. */
  86999. description?: string;
  87000. /**
  87001. * (Highcharts, Highstock) The draggable-points module allows points to be
  87002. * moved around or modified in the chart. In addition to the options
  87003. * mentioned under the `dragDrop` API structure, the module fires three
  87004. * events, point.dragStart, point.drag and point.drop.
  87005. */
  87006. dragDrop?: SeriesDragDropOptionsObject;
  87007. /**
  87008. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  87009. * specific series. This includes point tooltips and click events on graphs
  87010. * and points. For large datasets it improves performance.
  87011. */
  87012. enableMouseTracking?: boolean;
  87013. /**
  87014. * (Highcharts, Highstock) General event handlers for the series items.
  87015. * These event hooks can also be attached to the series at run time using
  87016. * the `Highcharts.addEvent` function.
  87017. */
  87018. events?: SeriesEventsOptionsObject;
  87019. /**
  87020. * (Highcharts, Highstock) Determines whether the series should look for the
  87021. * nearest point in both dimensions or just the x-dimension when hovering
  87022. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  87023. * other series. If the data has duplicate x-values, it is recommended to
  87024. * set this to `'xy'` to allow hovering over all points.
  87025. *
  87026. * Applies only to series types using nearest neighbor search (not direct
  87027. * hover) for tooltip.
  87028. */
  87029. findNearestPointBy?: OptionsFindNearestPointByValue;
  87030. /**
  87031. * (Highstock) Defines when to display a gap in the graph, together with the
  87032. * gapUnit option.
  87033. *
  87034. * In case when `dataGrouping` is enabled, points can be grouped into a
  87035. * larger time span. This can make the grouped points to have a greater
  87036. * distance than the absolute value of `gapSize` property, which will result
  87037. * in disappearing graph completely. To prevent this situation the mentioned
  87038. * distance between grouped points is used instead of previously defined
  87039. * `gapSize`.
  87040. *
  87041. * In practice, this option is most often used to visualize gaps in time
  87042. * series. In a stock chart, intraday data is available for daytime hours,
  87043. * while gaps will appear in nights and weekends.
  87044. */
  87045. gapSize?: number;
  87046. /**
  87047. * (Highstock) Together with gapSize, this option defines where to draw gaps
  87048. * in the graph.
  87049. *
  87050. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  87051. * if the distance between two points is greater than 5 times that of the
  87052. * two closest points, the graph will be broken.
  87053. *
  87054. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  87055. * values, which on a datetime axis is milliseconds. This also applies to
  87056. * the navigator series that inherits gap options from the base series.
  87057. */
  87058. gapUnit?: OptionsGapUnitValue;
  87059. /**
  87060. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  87061. * chart width or only the zoomed area when zooming in on parts of the X
  87062. * axis. By default, the Y axis adjusts to the min and max of the visible
  87063. * data. Cartesian series only.
  87064. */
  87065. getExtremesFromAll?: boolean;
  87066. /**
  87067. * (Highcharts, Highstock) When set to `false` will prevent the series data
  87068. * from being included in any form of data export.
  87069. *
  87070. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  87071. * `includeInCSVExport`.
  87072. */
  87073. includeInDataExport?: boolean;
  87074. /**
  87075. * (Highmaps) What property to join the `mapData` to the value data. For
  87076. * example, if joinBy is "code", the mapData items with a specific code is
  87077. * merged into the data with the same code. For maps loaded from GeoJSON,
  87078. * the keys may be held in each point's `properties` object.
  87079. *
  87080. * The joinBy option can also be an array of two values, where the first
  87081. * points to a key in the `mapData`, and the second points to another key in
  87082. * the `data`.
  87083. *
  87084. * When joinBy is `null`, the map items are joined by their position in the
  87085. * array, which performs much better in maps with many data points. This is
  87086. * the recommended option if you are printing more than a thousand data
  87087. * points and have a backend that can preprocess the data into a parallel
  87088. * array of the mapData.
  87089. */
  87090. joinBy?: (string|Array<string>);
  87091. /**
  87092. * (Highcharts, Highstock) An array specifying which option maps to which
  87093. * key in the data point array. This makes it convenient to work with
  87094. * unstructured data arrays from different sources.
  87095. */
  87096. keys?: Array<string>;
  87097. /**
  87098. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  87099. * series as possible in a natural way, seeking to avoid other series. The
  87100. * goal of this feature is to make the chart more easily readable, like if a
  87101. * human designer placed the labels in the optimal position.
  87102. *
  87103. * The series labels currently work with series types having a `graph` or an
  87104. * `area`.
  87105. */
  87106. label?: SeriesLabelOptionsObject;
  87107. /**
  87108. * (Highstock) The line marks the last price from all points.
  87109. */
  87110. lastPrice?: SeriesLastPriceOptionsObject;
  87111. /**
  87112. * (Highstock) The line marks the last price from visible range of points.
  87113. */
  87114. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  87115. /**
  87116. * (Highcharts, Highstock) The line cap used for line ends and line joins on
  87117. * the graph.
  87118. */
  87119. linecap?: SeriesLinecapValue;
  87120. /**
  87121. * (Highcharts, Highstock) Pixel width of the graph line.
  87122. */
  87123. lineWidth?: number;
  87124. /**
  87125. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  87126. * Additionally, the value can be ":previous" to link to the previous
  87127. * series. When two series are linked, only the first one appears in the
  87128. * legend. Toggling the visibility of this also toggles the linked series.
  87129. *
  87130. * If master series uses data sorting and linked series does not have its
  87131. * own sorting definition, the linked series will be sorted in the same
  87132. * order as the master one.
  87133. */
  87134. linkedTo?: string;
  87135. /**
  87136. * (Highcharts, Highstock) Options for the point markers of line-like
  87137. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  87138. * the visual appearance of the markers. Other series types, like column
  87139. * series, don't have markers, but have visual options on the series level
  87140. * instead.
  87141. *
  87142. * In styled mode, the markers can be styled with the `.highcharts-point`,
  87143. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  87144. */
  87145. marker?: PointMarkerOptionsObject;
  87146. /**
  87147. * (Highstock) Options for the corresponding navigator series if
  87148. * `showInNavigator` is `true` for this series. Available options are the
  87149. * same as any series, documented at plotOptions and series.
  87150. *
  87151. * These options are merged with options in navigator.series, and will take
  87152. * precedence if the same option is defined both places.
  87153. */
  87154. navigatorOptions?: PlotSeriesOptions;
  87155. /**
  87156. * (Highcharts, Highstock) The color for the parts of the graph or points
  87157. * that are below the threshold. Note that `zones` takes precedence over the
  87158. * negative color. Using `negativeColor` is equivalent to applying a zone
  87159. * with value of 0.
  87160. */
  87161. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  87162. /**
  87163. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  87164. * and dataLabels.
  87165. */
  87166. opacity?: number;
  87167. /**
  87168. * (Highcharts, Highstock) Properties for each single point.
  87169. */
  87170. point?: PlotSeriesPointOptions;
  87171. /**
  87172. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  87173. * but for an individual series. Overrides the chart wide configuration.
  87174. */
  87175. pointDescriptionFormatter?: Function;
  87176. /**
  87177. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  87178. * a series, `pointInterval` defines the interval of the x values. For
  87179. * example, if a series contains one value every decade starting from year
  87180. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  87181. * `pointInterval` is set in milliseconds.
  87182. *
  87183. * It can be also be combined with `pointIntervalUnit` to draw irregular
  87184. * time intervals.
  87185. *
  87186. * Please note that this options applies to the _series data_, not the
  87187. * interval of the axis ticks, which is independent.
  87188. */
  87189. pointInterval?: number;
  87190. /**
  87191. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  87192. * setting the pointInterval to irregular time units, `day`, `month` and
  87193. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  87194. * also takes the DST crossover into consideration when dealing with local
  87195. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  87196. * months, 10 years etc.
  87197. *
  87198. * Please note that this options applies to the _series data_, not the
  87199. * interval of the axis ticks, which is independent.
  87200. */
  87201. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  87202. /**
  87203. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  87204. * `number`.
  87205. *
  87206. * In a column chart, when pointPlacement is `"on"`, the point will not
  87207. * create any padding of the X axis. In a polar column chart this means that
  87208. * the first column points directly north. If the pointPlacement is
  87209. * `"between"`, the columns will be laid out between ticks. This is useful
  87210. * for example for visualising an amount between two points in time or in a
  87211. * certain sector of a polar chart.
  87212. *
  87213. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  87214. * is on the axis value, -0.5 is between this value and the previous, and
  87215. * 0.5 is between this value and the next. Unlike the textual options,
  87216. * numeric point placement options won't affect axis padding.
  87217. *
  87218. * Note that pointPlacement needs a pointRange to work. For column series
  87219. * this is computed, but for line-type series it needs to be set.
  87220. *
  87221. * For the `xrange` series type and gantt charts, if the Y axis is a
  87222. * category axis, the `pointPlacement` applies to the Y axis rather than the
  87223. * (typically datetime) X axis.
  87224. *
  87225. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  87226. */
  87227. pointPlacement?: (number|string);
  87228. /**
  87229. * (Highstock) The width of each point on the x axis. For example in a
  87230. * column chart with one value each day, the pointRange would be 1 day (= 24
  87231. * * 3600
  87232. *
  87233. * * 1000 milliseconds). This is normally computed automatically, but this
  87234. * option can be used to override the automatic value.
  87235. */
  87236. pointRange?: number;
  87237. /**
  87238. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  87239. * a series, pointStart defines on what value to start. For example, if a
  87240. * series contains one yearly value starting from 1945, set pointStart to
  87241. * 1945.
  87242. */
  87243. pointStart?: number;
  87244. /**
  87245. * (Highcharts, Highstock) Whether to select the series initially. If
  87246. * `showCheckbox` is true, the checkbox next to the series name in the
  87247. * legend will be checked for a selected series.
  87248. */
  87249. selected?: boolean;
  87250. /**
  87251. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  87252. * Since 2.3 the shadow can be an object configuration containing `color`,
  87253. * `offsetX`, `offsetY`, `opacity` and `width`.
  87254. */
  87255. shadow?: (boolean|ShadowOptionsObject);
  87256. /**
  87257. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  87258. * legend item to allow selecting the series. The state of the checkbox is
  87259. * determined by the `selected` option.
  87260. */
  87261. showCheckbox?: boolean;
  87262. /**
  87263. * (Highcharts, Highstock) Whether to display this particular series or
  87264. * series type in the legend. Standalone series are shown in legend by
  87265. * default, and linked series are not. Since v7.2.0 it is possible to show
  87266. * series that use colorAxis by setting this option to `true`.
  87267. */
  87268. showInLegend?: boolean;
  87269. /**
  87270. * (Highstock) Whether or not to show the series in the navigator. Takes
  87271. * precedence over navigator.baseSeries if defined.
  87272. */
  87273. showInNavigator?: boolean;
  87274. /**
  87275. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  87276. * skip past the points in this series for keyboard navigation.
  87277. */
  87278. skipKeyboardNavigation?: boolean;
  87279. /**
  87280. * (Highcharts, Highstock) When this is true, the series will not cause the
  87281. * Y axis to cross the zero plane (or threshold option) unless the data
  87282. * actually crosses the plane.
  87283. *
  87284. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  87285. * make the Y axis show negative values according to the `minPadding`
  87286. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  87287. */
  87288. softThreshold?: boolean;
  87289. /**
  87290. * (Highcharts, Highstock) Whether to stack the values of each series on top
  87291. * of each other. Possible values are `undefined` to disable, `"normal"` to
  87292. * stack by value or `"percent"`.
  87293. *
  87294. * When stacking is enabled, data must be sorted in ascending X order.
  87295. *
  87296. * Some stacking options are related to specific series types. In the
  87297. * streamgraph series type, the stacking option is set to `"stream"`. The
  87298. * second one is `"overlap"`, which only applies to waterfall series.
  87299. */
  87300. stacking?: OptionsStackingValue;
  87301. states?: SeriesStatesOptionsObject;
  87302. /**
  87303. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  87304. * `mouseOut` event on a series isn't triggered until the mouse moves over
  87305. * another series, or out of the plot area. When false, the `mouseOut` event
  87306. * on a series is triggered when the mouse leaves the area around the
  87307. * series' graph or markers. This also implies the tooltip when not shared.
  87308. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  87309. * will be hidden when moving the mouse between series. Defaults to true for
  87310. * line and area type series, but to false for columns, pies etc.
  87311. *
  87312. * **Note:** The boost module will force this option because of technical
  87313. * limitations.
  87314. */
  87315. stickyTracking?: boolean;
  87316. /**
  87317. * (Highcharts, Highstock) The threshold, also called zero level or base
  87318. * level. For line type series this is only used in conjunction with
  87319. * negativeColor.
  87320. */
  87321. threshold?: (number|null);
  87322. /**
  87323. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  87324. * of each single series. Properties are inherited from tooltip, but only
  87325. * the following properties can be defined on a series level.
  87326. */
  87327. tooltip?: SeriesTooltipOptionsObject;
  87328. /**
  87329. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  87330. * is longer than this, only one dimensional arrays of numbers, or two
  87331. * dimensional arrays with x and y values are allowed. Also, only the first
  87332. * point is tested, and the rest are assumed to be the same format. This
  87333. * saves expensive data checking and indexing in long series. Set it to `0`
  87334. * disable.
  87335. *
  87336. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  87337. * two dimensional arrays are allowed.
  87338. */
  87339. turboThreshold?: number;
  87340. /**
  87341. * (Highcharts, Highstock) Set the initial visibility of the series.
  87342. */
  87343. visible?: boolean;
  87344. /**
  87345. * (Highmaps) Define the z index of the series.
  87346. */
  87347. zIndex?: number;
  87348. /**
  87349. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  87350. */
  87351. zoneAxis?: string;
  87352. /**
  87353. * (Highcharts, Highstock) An array defining zones within a series. Zones
  87354. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  87355. * the `zoneAxis` option. The zone definitions have to be in ascending order
  87356. * regarding to the value.
  87357. *
  87358. * In styled mode, the color zones are styled with the
  87359. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  87360. * option (view live demo).
  87361. */
  87362. zones?: Array<SeriesZonesOptionsObject>;
  87363. }
  87364. /**
  87365. * (Highstock) Enable or disable the initial animation when a series is
  87366. * displayed. The animation can also be set as a configuration object. Please
  87367. * note that this option only applies to the initial animation of the series
  87368. * itself. For other animations, see chart.animation and the animation parameter
  87369. * under the API methods. The following properties are supported:
  87370. *
  87371. * - `defer`: The animation delay time in milliseconds.
  87372. *
  87373. * - `duration`: The duration of the animation in milliseconds.
  87374. *
  87375. * - `easing`: Can be a string reference to an easing function set on the `Math`
  87376. * object or a function. See the _Custom easing function_ demo below.
  87377. *
  87378. * Due to poor performance, animation is disabled in old IE browsers for several
  87379. * chart types.
  87380. */
  87381. export interface PlotStochasticAnimationOptions {
  87382. defer?: number;
  87383. }
  87384. /**
  87385. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  87386. * animation when a series is displayed for the `dataLabels`. The animation can
  87387. * also be set as a configuration object. Please note that this option only
  87388. * applies to the initial animation. For other animations, see chart.animation
  87389. * and the animation parameter under the API methods. The following properties
  87390. * are supported:
  87391. *
  87392. * - `defer`: The animation delay time in milliseconds.
  87393. */
  87394. export interface PlotStochasticDataLabelsAnimationOptions {
  87395. /**
  87396. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  87397. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  87398. * inherits defer time from the series.animation.defer.
  87399. */
  87400. defer?: number;
  87401. }
  87402. /**
  87403. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  87404. * appearing next to each data point.
  87405. *
  87406. * Since v6.2.0, multiple data labels can be applied to each single point by
  87407. * defining them as an array of configs.
  87408. *
  87409. * In styled mode, the data labels can be styled with the
  87410. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  87411. * example).
  87412. */
  87413. export interface PlotStochasticDataLabelsOptions {
  87414. /**
  87415. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  87416. * compared to the point. If `right`, the right side of the label should be
  87417. * touching the point. For points with an extent, like columns, the
  87418. * alignments also dictates how to align it inside the box, as given with
  87419. * the inside option. Can be one of `left`, `center` or `right`.
  87420. */
  87421. align?: (AlignValue|null);
  87422. /**
  87423. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  87424. * overlap. To make the labels less sensitive for overlapping, the
  87425. * dataLabels.padding can be set to 0.
  87426. */
  87427. allowOverlap?: boolean;
  87428. /**
  87429. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  87430. * animation when a series is displayed for the `dataLabels`. The animation
  87431. * can also be set as a configuration object. Please note that this option
  87432. * only applies to the initial animation. For other animations, see
  87433. * chart.animation and the animation parameter under the API methods. The
  87434. * following properties are supported:
  87435. *
  87436. * - `defer`: The animation delay time in milliseconds.
  87437. */
  87438. animation?: (boolean|PlotStochasticDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  87439. /**
  87440. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  87441. * for the data label.
  87442. */
  87443. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  87444. /**
  87445. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  87446. * label. Defaults to `undefined`.
  87447. */
  87448. borderColor?: (ColorString|GradientColorObject|PatternObject);
  87449. /**
  87450. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  87451. * the data label.
  87452. */
  87453. borderRadius?: number;
  87454. /**
  87455. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  87456. * the data label.
  87457. */
  87458. borderWidth?: number;
  87459. /**
  87460. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  87461. * Particularly in styled mode, this can be used to give each series' or
  87462. * point's data label unique styling. In addition to this option, a default
  87463. * color class name is added so that we can give the labels a contrast text
  87464. * shadow.
  87465. */
  87466. className?: string;
  87467. /**
  87468. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  87469. * labels. Defaults to `undefined`. For certain series types, like column or
  87470. * map, the data labels can be drawn inside the points. In this case the
  87471. * data label will be drawn with maximum contrast by default. Additionally,
  87472. * it will be given a `text-outline` style with the opposite color, to
  87473. * further increase the contrast. This can be overridden by setting the
  87474. * `text-outline` style to `none` in the `dataLabels.style` option.
  87475. */
  87476. color?: (ColorString|GradientColorObject|PatternObject);
  87477. /**
  87478. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  87479. * are outside the plot area. By default, the data label is moved inside the
  87480. * plot area according to the overflow option.
  87481. */
  87482. crop?: boolean;
  87483. /**
  87484. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  87485. * labels until the initial series animation has finished. Setting to
  87486. * `false` renders the data label immediately. If set to `true` inherits the
  87487. * defer time set in plotOptions.series.animation. If set to a number, a
  87488. * defer time is specified in milliseconds.
  87489. */
  87490. defer?: (boolean|number);
  87491. /**
  87492. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  87493. * labels.
  87494. */
  87495. enabled?: boolean;
  87496. /**
  87497. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  87498. * of which data labels to display. The declarative filter is designed for
  87499. * use when callback functions are not available, like when the chart
  87500. * options require a pure JSON structure or for use with graphical editors.
  87501. * For programmatic control, use the `formatter` instead, and return
  87502. * `undefined` to disable a single data label.
  87503. */
  87504. filter?: DataLabelsFilterOptionsObject;
  87505. /**
  87506. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  87507. * label. Available variables are the same as for `formatter`.
  87508. */
  87509. format?: string;
  87510. /**
  87511. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  87512. * format the data label. Note that if a `format` is defined, the format
  87513. * takes precedence and the formatter is ignored.
  87514. */
  87515. formatter?: DataLabelsFormatterCallbackFunction;
  87516. /**
  87517. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  87518. * columns or map areas, whether to align the data label inside the box or
  87519. * to the actual value point. Defaults to `false` in most cases, `true` in
  87520. * stacked columns.
  87521. */
  87522. inside?: boolean;
  87523. /**
  87524. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  87525. * of null. Works analogously to format. `nullFormat` can be applied only to
  87526. * series which support displaying null points.
  87527. */
  87528. nullFormat?: (boolean|string);
  87529. /**
  87530. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  87531. * that defines formatting for points with the value of null. Works
  87532. * analogously to formatter. `nullPointFormatter` can be applied only to
  87533. * series which support displaying null points.
  87534. */
  87535. nullFormatter?: DataLabelsFormatterCallbackFunction;
  87536. /**
  87537. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  87538. * flow outside the plot area. The default is `"justify"`, which aligns them
  87539. * inside the plot area. For columns and bars, this means it will be moved
  87540. * inside the bar. To display data labels outside the plot area, set `crop`
  87541. * to `false` and `overflow` to `"allow"`.
  87542. */
  87543. overflow?: DataLabelsOverflowValue;
  87544. /**
  87545. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  87546. * the `backgroundColor` is set, this is the padding within the box.
  87547. */
  87548. padding?: number;
  87549. /**
  87550. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  87551. * points. If `center` alignment is not possible, it defaults to `right`.
  87552. */
  87553. position?: AlignValue;
  87554. /**
  87555. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  87556. * that due to a more complex structure, backgrounds, borders and padding
  87557. * will be lost on a rotated data label.
  87558. */
  87559. rotation?: number;
  87560. /**
  87561. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  87562. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  87563. * an object configuration containing `color`, `offsetX`, `offsetY`,
  87564. * `opacity` and `width`.
  87565. */
  87566. shadow?: (boolean|ShadowOptionsObject);
  87567. /**
  87568. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  87569. * the border around the label. Symbols are predefined functions on the
  87570. * Renderer object.
  87571. */
  87572. shape?: string;
  87573. /**
  87574. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  87575. * default `color` setting is `"contrast"`, which is a pseudo color that
  87576. * Highcharts picks up and applies the maximum contrast to the underlying
  87577. * point item, for example the bar in a bar chart.
  87578. *
  87579. * The `textOutline` is a pseudo property that applies an outline of the
  87580. * given width with the given color, which by default is the maximum
  87581. * contrast to the text. So a bright text color will result in a black text
  87582. * outline for maximum readability on a mixed background. In some cases,
  87583. * especially with grayscale text, the text outline doesn't work well, in
  87584. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  87585. * is true, the `textOutline` will not be picked up. In this, case, the same
  87586. * effect can be acheived through the `text-shadow` CSS property.
  87587. *
  87588. * For some series types, where each point has an extent, like for example
  87589. * tree maps, the data label may overflow the point. There are two
  87590. * strategies for handling overflow. By default, the text will wrap to
  87591. * multiple lines. The other strategy is to set `style.textOverflow` to
  87592. * `ellipsis`, which will keep the text on one line plus it will break
  87593. * inside long words.
  87594. */
  87595. style?: CSSObject;
  87596. /**
  87597. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  87598. * should follow marker's shape. Border and background are disabled for a
  87599. * label that follows a path.
  87600. *
  87601. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  87602. * to true will disable this option.
  87603. */
  87604. textPath?: DataLabelsTextPathOptionsObject;
  87605. /**
  87606. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  87607. * the labels.
  87608. */
  87609. useHTML?: boolean;
  87610. /**
  87611. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  87612. * label. Can be one of `top`, `middle` or `bottom`. The default value
  87613. * depends on the data, for instance in a column chart, the label is above
  87614. * positive values and below negative values.
  87615. */
  87616. verticalAlign?: (VerticalAlignValue|null);
  87617. /**
  87618. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  87619. * label relative to the point in pixels.
  87620. */
  87621. x?: number;
  87622. /**
  87623. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  87624. * label relative to the point in pixels.
  87625. */
  87626. y?: number;
  87627. /**
  87628. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  87629. * The default Z index puts it above the series. Use a Z index of 2 to
  87630. * display it behind the series.
  87631. */
  87632. z?: number;
  87633. }
  87634. /**
  87635. * (Highcharts, Highstock) Options for the series data sorting.
  87636. */
  87637. export interface PlotStochasticDataSortingOptions {
  87638. /**
  87639. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  87640. * Use xAxis.reversed to change the sorting order.
  87641. */
  87642. enabled?: boolean;
  87643. /**
  87644. * (Highcharts, Highstock) Whether to allow matching points by name in an
  87645. * update. If this option is disabled, points will be matched by order.
  87646. */
  87647. matchByName?: boolean;
  87648. /**
  87649. * (Highcharts, Highstock) Determines what data value should be used to sort
  87650. * by.
  87651. */
  87652. sortKey?: string;
  87653. }
  87654. /**
  87655. * (Highstock) Stochastic oscillator. This series requires the `linkedTo` option
  87656. * to be set and should be loaded after the `stock/indicators/indicators.js`
  87657. * file.
  87658. *
  87659. * In TypeScript the type option must always be set.
  87660. *
  87661. * Configuration options for the series are given in three levels:
  87662. *
  87663. * 1. Options for all series in a chart are defined in the plotOptions.series
  87664. * object.
  87665. *
  87666. * 2. Options for all `stochastic` series are defined in plotOptions.stochastic.
  87667. *
  87668. * 3. Options for one single series are given in the series instance array. (see
  87669. * online documentation for example)
  87670. */
  87671. export interface PlotStochasticOptions {
  87672. /**
  87673. * (Highstock) Accessibility options for a series.
  87674. */
  87675. accessibility?: SeriesAccessibilityOptionsObject;
  87676. /**
  87677. * (Highstock) Allow this series' points to be selected by clicking on the
  87678. * graphic (columns, point markers, pie slices, map areas etc).
  87679. *
  87680. * The selected points can be handled by point select and unselect events,
  87681. * or collectively by the getSelectedPoints function.
  87682. *
  87683. * And alternative way of selecting points is through dragging.
  87684. */
  87685. allowPointSelect?: boolean;
  87686. /**
  87687. * (Highstock) Enable or disable the initial animation when a series is
  87688. * displayed. The animation can also be set as a configuration object.
  87689. * Please note that this option only applies to the initial animation of the
  87690. * series itself. For other animations, see chart.animation and the
  87691. * animation parameter under the API methods. The following properties are
  87692. * supported:
  87693. *
  87694. * - `defer`: The animation delay time in milliseconds.
  87695. *
  87696. * - `duration`: The duration of the animation in milliseconds.
  87697. *
  87698. * - `easing`: Can be a string reference to an easing function set on the
  87699. * `Math` object or a function. See the _Custom easing function_ demo below.
  87700. *
  87701. * Due to poor performance, animation is disabled in old IE browsers for
  87702. * several chart types.
  87703. */
  87704. animation?: (boolean|PlotStochasticAnimationOptions|Partial<AnimationOptionsObject>);
  87705. /**
  87706. * (Highstock) For some series, there is a limit that shuts down initial
  87707. * animation by default when the total number of points in the chart is too
  87708. * high. For example, for a column chart and its derivatives, animation does
  87709. * not run if there is more than 250 points totally. To disable this cap,
  87710. * set `animationLimit` to `Infinity`.
  87711. */
  87712. animationLimit?: number;
  87713. /**
  87714. * (Highstock) Sets the color blending in the boost module.
  87715. */
  87716. boostBlending?: OptionsBoostBlendingValue;
  87717. /**
  87718. * (Highstock) Set the point threshold for when a series should enter boost
  87719. * mode.
  87720. *
  87721. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  87722. * there are 2000 or more points in the series.
  87723. *
  87724. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  87725. * it to 1 will force boosting.
  87726. *
  87727. * Note that the cropThreshold also affects this setting. When zooming in on
  87728. * a series that has fewer points than the `cropThreshold`, all points are
  87729. * rendered although outside the visible plot area, and the `boostThreshold`
  87730. * won't take effect.
  87731. */
  87732. boostThreshold?: number;
  87733. /**
  87734. * (Highmaps) The border color of the map areas.
  87735. *
  87736. * In styled mode, the border stroke is given in the `.highcharts-point`
  87737. * class.
  87738. */
  87739. borderColor?: (ColorString|GradientColorObject|PatternObject);
  87740. /**
  87741. * (Highmaps) The border width of each map area.
  87742. *
  87743. * In styled mode, the border stroke width is given in the
  87744. * `.highcharts-point` class.
  87745. */
  87746. borderWidth?: number;
  87747. /**
  87748. * (Highstock) An additional class name to apply to the series' graphical
  87749. * elements. This option does not replace default class names of the
  87750. * graphical element.
  87751. */
  87752. className?: string;
  87753. /**
  87754. * (Highstock) Disable this option to allow series rendering in the whole
  87755. * plotting area.
  87756. *
  87757. * **Note:** Clipping should be always enabled when chart.zoomType is set
  87758. */
  87759. clip?: boolean;
  87760. /**
  87761. * (Highstock) The main color of the series. In line type series it applies
  87762. * to the line and the point markers unless otherwise specified. In bar type
  87763. * series it applies to the bars unless a color is specified per point. The
  87764. * default value is pulled from the `options.colors` array.
  87765. *
  87766. * In styled mode, the color can be defined by the colorIndex option. Also,
  87767. * the series color can be set with the `.highcharts-series`,
  87768. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  87769. * `.highcharts-series-{n}` class, or individual classes given by the
  87770. * `className` option.
  87771. */
  87772. color?: (ColorString|GradientColorObject|PatternObject);
  87773. /**
  87774. * (Highstock) Styled mode only. A specific color index to use for the
  87775. * series, so its graphic representations are given the class name
  87776. * `highcharts-color-{n}`.
  87777. */
  87778. colorIndex?: number;
  87779. /**
  87780. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  87781. * used to calculate point color if `colorAxis` is used. Requires to set
  87782. * `min` and `max` if some custom point property is used or if approximation
  87783. * for data grouping is set to `'sum'`.
  87784. */
  87785. colorKey?: string;
  87786. /**
  87787. * (Highstock) Compare the values of the series against the first non-null,
  87788. * non- zero value in the visible range. The y axis will show percentage or
  87789. * absolute change depending on whether `compare` is set to `"percent"` or
  87790. * `"value"`. When this is applied to multiple series, it allows comparing
  87791. * the development of the series against each other. Adds a `change` field
  87792. * to every point object.
  87793. */
  87794. compare?: string;
  87795. /**
  87796. * (Highstock) When compare is `percent`, this option dictates whether to
  87797. * use 0 or 100 as the base of comparison.
  87798. */
  87799. compareBase?: (0|100);
  87800. /**
  87801. * (Highstock) Defines if comparison should start from the first point
  87802. * within the visible range or should start from the first point **before**
  87803. * the range.
  87804. *
  87805. * In other words, this flag determines if first point within the visible
  87806. * range will have 0% (`compareStart=true`) or should have been already
  87807. * calculated according to the previous point (`compareStart=false`).
  87808. */
  87809. compareStart?: boolean;
  87810. /**
  87811. * (Highstock) Whether to compare indicator to the main series values or
  87812. * indicator values.
  87813. */
  87814. compareToMain?: boolean;
  87815. /**
  87816. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  87817. * series plot across the extremes.
  87818. */
  87819. connectEnds?: boolean;
  87820. /**
  87821. * (Highcharts, Highstock) Whether to connect a graph line across null
  87822. * points, or render a gap between the two points on either side of the
  87823. * null.
  87824. */
  87825. connectNulls?: boolean;
  87826. /**
  87827. * (Gantt) Override Pathfinder connector options for a series. Requires
  87828. * Highcharts Gantt to be loaded.
  87829. */
  87830. connectors?: SeriesConnectorsOptionsObject;
  87831. /**
  87832. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  87833. * rounded to its nearest pixel in order to render sharp on screen. In some
  87834. * cases, when there are a lot of densely packed columns, this leads to
  87835. * visible difference in column widths or distance between columns. In these
  87836. * cases, setting `crisp` to `false` may look better, even though each
  87837. * column is rendered blurry.
  87838. */
  87839. crisp?: boolean;
  87840. /**
  87841. * (Highcharts, Highstock) When the series contains less points than the
  87842. * crop threshold, all points are drawn, even if the points fall outside the
  87843. * visible plot area at the current zoom. The advantage of drawing all
  87844. * points (including markers and columns), is that animation is performed on
  87845. * updates. On the other hand, when the series contains more points than the
  87846. * crop threshold, the series data is cropped to only contain points that
  87847. * fall within the plot area. The advantage of cropping away invisible
  87848. * points is to increase performance on large series.
  87849. */
  87850. cropThreshold?: number;
  87851. /**
  87852. * (Highstock) You can set the cursor to "pointer" if you have click events
  87853. * attached to the series, to signal to the user that the points and lines
  87854. * can be clicked.
  87855. *
  87856. * In styled mode, the series cursor can be set with the same classes as
  87857. * listed under series.color.
  87858. */
  87859. cursor?: (string|CursorValue);
  87860. /**
  87861. * (Highstock) A reserved subspace to store options and values for
  87862. * customized functionality. Here you can add additional data for your own
  87863. * event callbacks and formatter callbacks.
  87864. */
  87865. custom?: Dictionary<any>;
  87866. /**
  87867. * (Highstock) Name of the dash style to use for the graph, or for some
  87868. * series types the outline of each shape.
  87869. *
  87870. * In styled mode, the stroke dash-array can be set with the same classes as
  87871. * listed under series.color.
  87872. */
  87873. dashStyle?: DashStyleValue;
  87874. /**
  87875. * (Highstock) Data grouping is the concept of sampling the data values into
  87876. * larger blocks in order to ease readability and increase performance of
  87877. * the JavaScript charts. Highcharts Stock by default applies data grouping
  87878. * when the points become closer than a certain pixel value, determined by
  87879. * the `groupPixelWidth` option.
  87880. *
  87881. * If data grouping is applied, the grouping information of grouped points
  87882. * can be read from the Point.dataGroup. If point options other than the
  87883. * data itself are set, for example `name` or `color` or custom properties,
  87884. * the grouping logic doesn't know how to group it. In this case the options
  87885. * of the first point instance are copied over to the group point. This can
  87886. * be altered through a custom `approximation` callback function.
  87887. */
  87888. dataGrouping?: DataGroupingOptionsObject;
  87889. /**
  87890. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  87891. * labels, appearing next to each data point.
  87892. *
  87893. * Since v6.2.0, multiple data labels can be applied to each single point by
  87894. * defining them as an array of configs.
  87895. *
  87896. * In styled mode, the data labels can be styled with the
  87897. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  87898. * (see example).
  87899. */
  87900. dataLabels?: (PlotStochasticDataLabelsOptions|Array<PlotStochasticDataLabelsOptions>);
  87901. /**
  87902. * (Highcharts, Highstock) Options for the series data sorting.
  87903. */
  87904. dataSorting?: (DataSortingOptionsObject|PlotStochasticDataSortingOptions);
  87905. /**
  87906. * (Highstock) A description of the series to add to the screen reader
  87907. * information about the series.
  87908. */
  87909. description?: string;
  87910. /**
  87911. * (Highstock) Enable or disable the mouse tracking for a specific series.
  87912. * This includes point tooltips and click events on graphs and points. For
  87913. * large datasets it improves performance.
  87914. */
  87915. enableMouseTracking?: boolean;
  87916. /**
  87917. * (Highstock) General event handlers for the series items. These event
  87918. * hooks can also be attached to the series at run time using the
  87919. * `Highcharts.addEvent` function.
  87920. */
  87921. events?: SeriesEventsOptionsObject;
  87922. /**
  87923. * (Highstock) Determines whether the series should look for the nearest
  87924. * point in both dimensions or just the x-dimension when hovering the
  87925. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  87926. * series. If the data has duplicate x-values, it is recommended to set this
  87927. * to `'xy'` to allow hovering over all points.
  87928. *
  87929. * Applies only to series types using nearest neighbor search (not direct
  87930. * hover) for tooltip.
  87931. */
  87932. findNearestPointBy?: OptionsFindNearestPointByValue;
  87933. /**
  87934. * (Highstock) Defines when to display a gap in the graph, together with the
  87935. * gapUnit option.
  87936. *
  87937. * In case when `dataGrouping` is enabled, points can be grouped into a
  87938. * larger time span. This can make the grouped points to have a greater
  87939. * distance than the absolute value of `gapSize` property, which will result
  87940. * in disappearing graph completely. To prevent this situation the mentioned
  87941. * distance between grouped points is used instead of previously defined
  87942. * `gapSize`.
  87943. *
  87944. * In practice, this option is most often used to visualize gaps in time
  87945. * series. In a stock chart, intraday data is available for daytime hours,
  87946. * while gaps will appear in nights and weekends.
  87947. */
  87948. gapSize?: number;
  87949. /**
  87950. * (Highstock) Together with gapSize, this option defines where to draw gaps
  87951. * in the graph.
  87952. *
  87953. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  87954. * if the distance between two points is greater than 5 times that of the
  87955. * two closest points, the graph will be broken.
  87956. *
  87957. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  87958. * values, which on a datetime axis is milliseconds. This also applies to
  87959. * the navigator series that inherits gap options from the base series.
  87960. */
  87961. gapUnit?: OptionsGapUnitValue;
  87962. /**
  87963. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  87964. * chart width or only the zoomed area when zooming in on parts of the X
  87965. * axis. By default, the Y axis adjusts to the min and max of the visible
  87966. * data. Cartesian series only.
  87967. */
  87968. getExtremesFromAll?: boolean;
  87969. /**
  87970. * (Highstock) When set to `false` will prevent the series data from being
  87971. * included in any form of data export.
  87972. *
  87973. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  87974. * `includeInCSVExport`.
  87975. */
  87976. includeInDataExport?: boolean;
  87977. /**
  87978. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  87979. * series as possible in a natural way, seeking to avoid other series. The
  87980. * goal of this feature is to make the chart more easily readable, like if a
  87981. * human designer placed the labels in the optimal position.
  87982. *
  87983. * The series labels currently work with series types having a `graph` or an
  87984. * `area`.
  87985. */
  87986. label?: SeriesLabelOptionsObject;
  87987. /**
  87988. * (Highstock) The line marks the last price from all points.
  87989. */
  87990. lastPrice?: SeriesLastPriceOptionsObject;
  87991. /**
  87992. * (Highstock) The line marks the last price from visible range of points.
  87993. */
  87994. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  87995. /**
  87996. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  87997. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  87998. * the ends and bends.
  87999. */
  88000. linecap?: SeriesLinecapValue;
  88001. /**
  88002. * (Highcharts, Highstock) Pixel width of the graph line.
  88003. */
  88004. lineWidth?: number;
  88005. /**
  88006. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  88007. * based on. Required for this indicator.
  88008. */
  88009. linkedTo?: string;
  88010. /**
  88011. * (Highstock) Options for the point markers of line-like series. Properties
  88012. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  88013. * appearance of the markers. Other series types, like column series, don't
  88014. * have markers, but have visual options on the series level instead.
  88015. *
  88016. * In styled mode, the markers can be styled with the `.highcharts-point`,
  88017. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  88018. */
  88019. marker?: PointMarkerOptionsObject;
  88020. /**
  88021. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  88022. * If not set, it will be based on a technical indicator type and default
  88023. * params.
  88024. */
  88025. name?: string;
  88026. /**
  88027. * (Highstock) The color for the parts of the graph or points that are below
  88028. * the threshold. Note that `zones` takes precedence over the negative
  88029. * color. Using `negativeColor` is equivalent to applying a zone with value
  88030. * of 0.
  88031. */
  88032. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  88033. /**
  88034. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  88035. * dataLabels.
  88036. */
  88037. opacity?: number;
  88038. /**
  88039. * (Highstock) Paramters used in calculation of regression series' points.
  88040. */
  88041. params?: PlotStochasticParamsOptions;
  88042. /**
  88043. * (Highstock) Properties for each single point.
  88044. */
  88045. point?: PlotSeriesPointOptions;
  88046. /**
  88047. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  88048. * individual series. Overrides the chart wide configuration.
  88049. */
  88050. pointDescriptionFormatter?: Function;
  88051. /**
  88052. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  88053. * true, the checkbox next to the series name in the legend will be checked
  88054. * for a selected series.
  88055. */
  88056. selected?: boolean;
  88057. /**
  88058. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  88059. * the shadow can be an object configuration containing `color`, `offsetX`,
  88060. * `offsetY`, `opacity` and `width`.
  88061. */
  88062. shadow?: (boolean|ShadowOptionsObject);
  88063. /**
  88064. * (Highstock) If true, a checkbox is displayed next to the legend item to
  88065. * allow selecting the series. The state of the checkbox is determined by
  88066. * the `selected` option.
  88067. */
  88068. showCheckbox?: boolean;
  88069. /**
  88070. * (Highstock) Whether to display this particular series or series type in
  88071. * the legend. Standalone series are shown in legend by default, and linked
  88072. * series are not. Since v7.2.0 it is possible to show series that use
  88073. * colorAxis by setting this option to `true`.
  88074. */
  88075. showInLegend?: boolean;
  88076. /**
  88077. * (Highstock) If set to `true`, the accessibility module will skip past the
  88078. * points in this series for keyboard navigation.
  88079. */
  88080. skipKeyboardNavigation?: boolean;
  88081. /**
  88082. * (Highstock) Smoothed line options.
  88083. */
  88084. smoothedLine?: PlotStochasticSmoothedLineOptions;
  88085. /**
  88086. * (Highcharts, Highstock) When this is true, the series will not cause the
  88087. * Y axis to cross the zero plane (or threshold option) unless the data
  88088. * actually crosses the plane.
  88089. *
  88090. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  88091. * make the Y axis show negative values according to the `minPadding`
  88092. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  88093. */
  88094. softThreshold?: boolean;
  88095. states?: SeriesStatesOptionsObject;
  88096. /**
  88097. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  88098. * values are `left`, `center` and `right`.
  88099. */
  88100. step?: OptionsStepValue;
  88101. /**
  88102. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  88103. * event on a series isn't triggered until the mouse moves over another
  88104. * series, or out of the plot area. When false, the `mouseOut` event on a
  88105. * series is triggered when the mouse leaves the area around the series'
  88106. * graph or markers. This also implies the tooltip when not shared. When
  88107. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  88108. * be hidden when moving the mouse between series. Defaults to true for line
  88109. * and area type series, but to false for columns, pies etc.
  88110. *
  88111. * **Note:** The boost module will force this option because of technical
  88112. * limitations.
  88113. */
  88114. stickyTracking?: boolean;
  88115. /**
  88116. * (Highcharts, Highstock) The threshold, also called zero level or base
  88117. * level. For line type series this is only used in conjunction with
  88118. * negativeColor.
  88119. */
  88120. threshold?: (number|null);
  88121. /**
  88122. * (Highstock) A configuration object for the tooltip rendering of each
  88123. * single series. Properties are inherited from tooltip, but only the
  88124. * following properties can be defined on a series level.
  88125. */
  88126. tooltip?: SeriesTooltipOptionsObject;
  88127. /**
  88128. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  88129. * is longer than this, only one dimensional arrays of numbers, or two
  88130. * dimensional arrays with x and y values are allowed. Also, only the first
  88131. * point is tested, and the rest are assumed to be the same format. This
  88132. * saves expensive data checking and indexing in long series. Set it to `0`
  88133. * disable.
  88134. *
  88135. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  88136. * two dimensional arrays are allowed.
  88137. */
  88138. turboThreshold?: number;
  88139. /**
  88140. * (Highstock) Set the initial visibility of the series.
  88141. */
  88142. visible?: boolean;
  88143. /**
  88144. * (Highmaps) Define the z index of the series.
  88145. */
  88146. zIndex?: number;
  88147. /**
  88148. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  88149. */
  88150. zoneAxis?: string;
  88151. /**
  88152. * (Highcharts, Highstock) An array defining zones within a series. Zones
  88153. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  88154. * the `zoneAxis` option. The zone definitions have to be in ascending order
  88155. * regarding to the value.
  88156. *
  88157. * In styled mode, the color zones are styled with the
  88158. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  88159. * option (view live demo).
  88160. */
  88161. zones?: Array<SeriesZonesOptionsObject>;
  88162. }
  88163. /**
  88164. * (Highstock) Paramters used in calculation of regression series' points.
  88165. */
  88166. export interface PlotStochasticParamsOptions {
  88167. index?: string;
  88168. period?: string;
  88169. /**
  88170. * (Highstock) Periods for Stochastic oscillator: [%K, %D].
  88171. */
  88172. periods?: [number, number];
  88173. }
  88174. /**
  88175. * (Highstock) Smoothed line options.
  88176. */
  88177. export interface PlotStochasticSmoothedLineOptions {
  88178. /**
  88179. * (Highstock) Styles for a smoothed line.
  88180. */
  88181. styles?: PlotStochasticSmoothedLineStylesOptions;
  88182. }
  88183. /**
  88184. * (Highstock) Styles for a smoothed line.
  88185. */
  88186. export interface PlotStochasticSmoothedLineStylesOptions {
  88187. /**
  88188. * (Highstock) Color of the line. If not set, it's inherited from
  88189. * plotOptions.stochastic.color.
  88190. */
  88191. lineColor?: ColorString;
  88192. /**
  88193. * (Highstock) Pixel width of the line.
  88194. */
  88195. lineWidth?: number;
  88196. }
  88197. /**
  88198. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  88199. * is displayed. The animation can also be set as a configuration object. Please
  88200. * note that this option only applies to the initial animation of the series
  88201. * itself. For other animations, see chart.animation and the animation parameter
  88202. * under the API methods. The following properties are supported:
  88203. *
  88204. * - `defer`: The animation delay time in milliseconds.
  88205. *
  88206. * - `duration`: The duration of the animation in milliseconds.
  88207. *
  88208. * - `easing`: Can be a string reference to an easing function set on the `Math`
  88209. * object or a function. See the _Custom easing function_ demo below.
  88210. *
  88211. * Due to poor performance, animation is disabled in old IE browsers for several
  88212. * chart types.
  88213. */
  88214. export interface PlotStreamgraphAnimationOptions {
  88215. defer?: number;
  88216. }
  88217. /**
  88218. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  88219. * animation when a series is displayed for the `dataLabels`. The animation can
  88220. * also be set as a configuration object. Please note that this option only
  88221. * applies to the initial animation. For other animations, see chart.animation
  88222. * and the animation parameter under the API methods. The following properties
  88223. * are supported:
  88224. *
  88225. * - `defer`: The animation delay time in milliseconds.
  88226. */
  88227. export interface PlotStreamgraphDataLabelsAnimationOptions {
  88228. /**
  88229. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  88230. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  88231. * inherits defer time from the series.animation.defer.
  88232. */
  88233. defer?: number;
  88234. }
  88235. /**
  88236. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  88237. * appearing next to each data point.
  88238. *
  88239. * Since v6.2.0, multiple data labels can be applied to each single point by
  88240. * defining them as an array of configs.
  88241. *
  88242. * In styled mode, the data labels can be styled with the
  88243. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  88244. * example).
  88245. */
  88246. export interface PlotStreamgraphDataLabelsOptions {
  88247. /**
  88248. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  88249. * compared to the point. If `right`, the right side of the label should be
  88250. * touching the point. For points with an extent, like columns, the
  88251. * alignments also dictates how to align it inside the box, as given with
  88252. * the inside option. Can be one of `left`, `center` or `right`.
  88253. */
  88254. align?: (AlignValue|null);
  88255. /**
  88256. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  88257. * overlap. To make the labels less sensitive for overlapping, the
  88258. * dataLabels.padding can be set to 0.
  88259. */
  88260. allowOverlap?: boolean;
  88261. /**
  88262. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  88263. * animation when a series is displayed for the `dataLabels`. The animation
  88264. * can also be set as a configuration object. Please note that this option
  88265. * only applies to the initial animation. For other animations, see
  88266. * chart.animation and the animation parameter under the API methods. The
  88267. * following properties are supported:
  88268. *
  88269. * - `defer`: The animation delay time in milliseconds.
  88270. */
  88271. animation?: (boolean|PlotStreamgraphDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  88272. /**
  88273. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  88274. * for the data label.
  88275. */
  88276. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  88277. /**
  88278. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  88279. * label. Defaults to `undefined`.
  88280. */
  88281. borderColor?: (ColorString|GradientColorObject|PatternObject);
  88282. /**
  88283. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  88284. * the data label.
  88285. */
  88286. borderRadius?: number;
  88287. /**
  88288. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  88289. * the data label.
  88290. */
  88291. borderWidth?: number;
  88292. /**
  88293. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  88294. * Particularly in styled mode, this can be used to give each series' or
  88295. * point's data label unique styling. In addition to this option, a default
  88296. * color class name is added so that we can give the labels a contrast text
  88297. * shadow.
  88298. */
  88299. className?: string;
  88300. /**
  88301. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  88302. * labels. Defaults to `undefined`. For certain series types, like column or
  88303. * map, the data labels can be drawn inside the points. In this case the
  88304. * data label will be drawn with maximum contrast by default. Additionally,
  88305. * it will be given a `text-outline` style with the opposite color, to
  88306. * further increase the contrast. This can be overridden by setting the
  88307. * `text-outline` style to `none` in the `dataLabels.style` option.
  88308. */
  88309. color?: (ColorString|GradientColorObject|PatternObject);
  88310. /**
  88311. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  88312. * are outside the plot area. By default, the data label is moved inside the
  88313. * plot area according to the overflow option.
  88314. */
  88315. crop?: boolean;
  88316. /**
  88317. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  88318. * labels until the initial series animation has finished. Setting to
  88319. * `false` renders the data label immediately. If set to `true` inherits the
  88320. * defer time set in plotOptions.series.animation. If set to a number, a
  88321. * defer time is specified in milliseconds.
  88322. */
  88323. defer?: (boolean|number);
  88324. /**
  88325. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  88326. * labels.
  88327. */
  88328. enabled?: boolean;
  88329. /**
  88330. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  88331. * of which data labels to display. The declarative filter is designed for
  88332. * use when callback functions are not available, like when the chart
  88333. * options require a pure JSON structure or for use with graphical editors.
  88334. * For programmatic control, use the `formatter` instead, and return
  88335. * `undefined` to disable a single data label.
  88336. */
  88337. filter?: DataLabelsFilterOptionsObject;
  88338. /**
  88339. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  88340. * label. Available variables are the same as for `formatter`.
  88341. */
  88342. format?: string;
  88343. /**
  88344. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  88345. * format the data label. Note that if a `format` is defined, the format
  88346. * takes precedence and the formatter is ignored.
  88347. */
  88348. formatter?: DataLabelsFormatterCallbackFunction;
  88349. /**
  88350. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  88351. * columns or map areas, whether to align the data label inside the box or
  88352. * to the actual value point. Defaults to `false` in most cases, `true` in
  88353. * stacked columns.
  88354. */
  88355. inside?: boolean;
  88356. /**
  88357. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  88358. * of null. Works analogously to format. `nullFormat` can be applied only to
  88359. * series which support displaying null points.
  88360. */
  88361. nullFormat?: (boolean|string);
  88362. /**
  88363. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  88364. * that defines formatting for points with the value of null. Works
  88365. * analogously to formatter. `nullPointFormatter` can be applied only to
  88366. * series which support displaying null points.
  88367. */
  88368. nullFormatter?: DataLabelsFormatterCallbackFunction;
  88369. /**
  88370. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  88371. * flow outside the plot area. The default is `"justify"`, which aligns them
  88372. * inside the plot area. For columns and bars, this means it will be moved
  88373. * inside the bar. To display data labels outside the plot area, set `crop`
  88374. * to `false` and `overflow` to `"allow"`.
  88375. */
  88376. overflow?: DataLabelsOverflowValue;
  88377. /**
  88378. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  88379. * the `backgroundColor` is set, this is the padding within the box.
  88380. */
  88381. padding?: number;
  88382. /**
  88383. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  88384. * points. If `center` alignment is not possible, it defaults to `right`.
  88385. */
  88386. position?: AlignValue;
  88387. /**
  88388. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  88389. * that due to a more complex structure, backgrounds, borders and padding
  88390. * will be lost on a rotated data label.
  88391. */
  88392. rotation?: number;
  88393. /**
  88394. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  88395. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  88396. * an object configuration containing `color`, `offsetX`, `offsetY`,
  88397. * `opacity` and `width`.
  88398. */
  88399. shadow?: (boolean|ShadowOptionsObject);
  88400. /**
  88401. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  88402. * the border around the label. Symbols are predefined functions on the
  88403. * Renderer object.
  88404. */
  88405. shape?: string;
  88406. /**
  88407. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  88408. * default `color` setting is `"contrast"`, which is a pseudo color that
  88409. * Highcharts picks up and applies the maximum contrast to the underlying
  88410. * point item, for example the bar in a bar chart.
  88411. *
  88412. * The `textOutline` is a pseudo property that applies an outline of the
  88413. * given width with the given color, which by default is the maximum
  88414. * contrast to the text. So a bright text color will result in a black text
  88415. * outline for maximum readability on a mixed background. In some cases,
  88416. * especially with grayscale text, the text outline doesn't work well, in
  88417. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  88418. * is true, the `textOutline` will not be picked up. In this, case, the same
  88419. * effect can be acheived through the `text-shadow` CSS property.
  88420. *
  88421. * For some series types, where each point has an extent, like for example
  88422. * tree maps, the data label may overflow the point. There are two
  88423. * strategies for handling overflow. By default, the text will wrap to
  88424. * multiple lines. The other strategy is to set `style.textOverflow` to
  88425. * `ellipsis`, which will keep the text on one line plus it will break
  88426. * inside long words.
  88427. */
  88428. style?: CSSObject;
  88429. /**
  88430. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  88431. * should follow marker's shape. Border and background are disabled for a
  88432. * label that follows a path.
  88433. *
  88434. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  88435. * to true will disable this option.
  88436. */
  88437. textPath?: DataLabelsTextPathOptionsObject;
  88438. /**
  88439. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  88440. * the labels.
  88441. */
  88442. useHTML?: boolean;
  88443. /**
  88444. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  88445. * label. Can be one of `top`, `middle` or `bottom`. The default value
  88446. * depends on the data, for instance in a column chart, the label is above
  88447. * positive values and below negative values.
  88448. */
  88449. verticalAlign?: (VerticalAlignValue|null);
  88450. /**
  88451. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  88452. * label relative to the point in pixels.
  88453. */
  88454. x?: number;
  88455. /**
  88456. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  88457. * label relative to the point in pixels.
  88458. */
  88459. y?: number;
  88460. /**
  88461. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  88462. * The default Z index puts it above the series. Use a Z index of 2 to
  88463. * display it behind the series.
  88464. */
  88465. z?: number;
  88466. }
  88467. /**
  88468. * (Highcharts, Highstock) Options for the series data sorting.
  88469. */
  88470. export interface PlotStreamgraphDataSortingOptions {
  88471. /**
  88472. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  88473. * Use xAxis.reversed to change the sorting order.
  88474. */
  88475. enabled?: boolean;
  88476. /**
  88477. * (Highcharts, Highstock) Whether to allow matching points by name in an
  88478. * update. If this option is disabled, points will be matched by order.
  88479. */
  88480. matchByName?: boolean;
  88481. /**
  88482. * (Highcharts, Highstock) Determines what data value should be used to sort
  88483. * by.
  88484. */
  88485. sortKey?: string;
  88486. }
  88487. /**
  88488. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  88489. * one state by default, the `default` state.
  88490. */
  88491. export interface PlotStreamgraphDragDropGuideBoxOptions {
  88492. /**
  88493. * (Highcharts, Highstock) Style options for the guide box default state.
  88494. */
  88495. default?: DragDropGuideBoxOptionsObject;
  88496. }
  88497. /**
  88498. * (Highcharts, Highstock) A streamgraph is a type of stacked area graph which
  88499. * is displaced around a central axis, resulting in a flowing, organic shape.
  88500. *
  88501. * In TypeScript the type option must always be set.
  88502. *
  88503. * Configuration options for the series are given in three levels:
  88504. *
  88505. * 1. Options for all series in a chart are defined in the plotOptions.series
  88506. * object.
  88507. *
  88508. * 2. Options for all `streamgraph` series are defined in
  88509. * plotOptions.streamgraph.
  88510. *
  88511. * 3. Options for one single series are given in the series instance array. (see
  88512. * online documentation for example)
  88513. */
  88514. export interface PlotStreamgraphOptions {
  88515. /**
  88516. * (Highcharts, Highstock) Accessibility options for a series.
  88517. */
  88518. accessibility?: SeriesAccessibilityOptionsObject;
  88519. /**
  88520. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  88521. * rendered. If `true`, areas which don't correspond to a data point, are
  88522. * rendered as `null` points. If `false`, those areas are skipped.
  88523. */
  88524. allAreas?: boolean;
  88525. /**
  88526. * (Highcharts, Highstock) Allow this series' points to be selected by
  88527. * clicking on the graphic (columns, point markers, pie slices, map areas
  88528. * etc).
  88529. *
  88530. * The selected points can be handled by point select and unselect events,
  88531. * or collectively by the getSelectedPoints function.
  88532. *
  88533. * And alternative way of selecting points is through dragging.
  88534. */
  88535. allowPointSelect?: boolean;
  88536. /**
  88537. * (Highcharts, Highstock) Enable or disable the initial animation when a
  88538. * series is displayed. The animation can also be set as a configuration
  88539. * object. Please note that this option only applies to the initial
  88540. * animation of the series itself. For other animations, see chart.animation
  88541. * and the animation parameter under the API methods. The following
  88542. * properties are supported:
  88543. *
  88544. * - `defer`: The animation delay time in milliseconds.
  88545. *
  88546. * - `duration`: The duration of the animation in milliseconds.
  88547. *
  88548. * - `easing`: Can be a string reference to an easing function set on the
  88549. * `Math` object or a function. See the _Custom easing function_ demo below.
  88550. *
  88551. * Due to poor performance, animation is disabled in old IE browsers for
  88552. * several chart types.
  88553. */
  88554. animation?: (boolean|PlotStreamgraphAnimationOptions|Partial<AnimationOptionsObject>);
  88555. /**
  88556. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  88557. * initial animation by default when the total number of points in the chart
  88558. * is too high. For example, for a column chart and its derivatives,
  88559. * animation does not run if there is more than 250 points totally. To
  88560. * disable this cap, set `animationLimit` to `Infinity`.
  88561. */
  88562. animationLimit?: number;
  88563. /**
  88564. * (Highmaps) The border color of the map areas.
  88565. *
  88566. * In styled mode, the border stroke is given in the `.highcharts-point`
  88567. * class.
  88568. */
  88569. borderColor?: (ColorString|GradientColorObject|PatternObject);
  88570. /**
  88571. * (Highmaps) The border width of each map area.
  88572. *
  88573. * In styled mode, the border stroke width is given in the
  88574. * `.highcharts-point` class.
  88575. */
  88576. borderWidth?: number;
  88577. /**
  88578. * (Highcharts, Highstock) An additional class name to apply to the series'
  88579. * graphical elements. This option does not replace default class names of
  88580. * the graphical element.
  88581. */
  88582. className?: string;
  88583. /**
  88584. * (Highcharts, Highstock) Disable this option to allow series rendering in
  88585. * the whole plotting area.
  88586. *
  88587. * **Note:** Clipping should be always enabled when chart.zoomType is set
  88588. */
  88589. clip?: boolean;
  88590. /**
  88591. * (Highcharts, Highstock) The main color of the series. In line type series
  88592. * it applies to the line and the point markers unless otherwise specified.
  88593. * In bar type series it applies to the bars unless a color is specified per
  88594. * point. The default value is pulled from the `options.colors` array.
  88595. *
  88596. * In styled mode, the color can be defined by the colorIndex option. Also,
  88597. * the series color can be set with the `.highcharts-series`,
  88598. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  88599. * `.highcharts-series-{n}` class, or individual classes given by the
  88600. * `className` option.
  88601. */
  88602. color?: (ColorString|GradientColorObject|PatternObject);
  88603. /**
  88604. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  88605. * this number defines which colorAxis the particular series is connected
  88606. * to. It refers to either the axis id or the index of the axis in the
  88607. * colorAxis array, with 0 being the first. Set this option to false to
  88608. * prevent a series from connecting to the default color axis.
  88609. *
  88610. * Since v7.2.0 the option can also be an axis id or an axis index instead
  88611. * of a boolean flag.
  88612. */
  88613. colorAxis?: (boolean|number|string);
  88614. /**
  88615. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  88616. * for the series, so its graphic representations are given the class name
  88617. * `highcharts-color-{n}`.
  88618. */
  88619. colorIndex?: number;
  88620. /**
  88621. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  88622. * used to calculate point color if `colorAxis` is used. Requires to set
  88623. * `min` and `max` if some custom point property is used or if approximation
  88624. * for data grouping is set to `'sum'`.
  88625. */
  88626. colorKey?: string;
  88627. /**
  88628. * (Highstock) Compare the values of the series against the first non-null,
  88629. * non- zero value in the visible range. The y axis will show percentage or
  88630. * absolute change depending on whether `compare` is set to `"percent"` or
  88631. * `"value"`. When this is applied to multiple series, it allows comparing
  88632. * the development of the series against each other. Adds a `change` field
  88633. * to every point object.
  88634. */
  88635. compare?: string;
  88636. /**
  88637. * (Highstock) When compare is `percent`, this option dictates whether to
  88638. * use 0 or 100 as the base of comparison.
  88639. */
  88640. compareBase?: (0|100);
  88641. /**
  88642. * (Highstock) Defines if comparison should start from the first point
  88643. * within the visible range or should start from the first point **before**
  88644. * the range.
  88645. *
  88646. * In other words, this flag determines if first point within the visible
  88647. * range will have 0% (`compareStart=true`) or should have been already
  88648. * calculated according to the previous point (`compareStart=false`).
  88649. */
  88650. compareStart?: boolean;
  88651. /**
  88652. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  88653. * series plot across the extremes.
  88654. */
  88655. connectEnds?: boolean;
  88656. /**
  88657. * (Highcharts, Highstock) Whether to connect a graph line across null
  88658. * points, or render a gap between the two points on either side of the
  88659. * null.
  88660. */
  88661. connectNulls?: boolean;
  88662. /**
  88663. * (Gantt) Override Pathfinder connector options for a series. Requires
  88664. * Highcharts Gantt to be loaded.
  88665. */
  88666. connectors?: SeriesConnectorsOptionsObject;
  88667. /**
  88668. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  88669. * rounded to its nearest pixel in order to render sharp on screen. In some
  88670. * cases, when there are a lot of densely packed columns, this leads to
  88671. * visible difference in column widths or distance between columns. In these
  88672. * cases, setting `crisp` to `false` may look better, even though each
  88673. * column is rendered blurry.
  88674. */
  88675. crisp?: boolean;
  88676. /**
  88677. * (Highcharts, Highstock) When the series contains less points than the
  88678. * crop threshold, all points are drawn, even if the points fall outside the
  88679. * visible plot area at the current zoom. The advantage of drawing all
  88680. * points (including markers and columns), is that animation is performed on
  88681. * updates. On the other hand, when the series contains more points than the
  88682. * crop threshold, the series data is cropped to only contain points that
  88683. * fall within the plot area. The advantage of cropping away invisible
  88684. * points is to increase performance on large series.
  88685. */
  88686. cropThreshold?: number;
  88687. /**
  88688. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  88689. * click events attached to the series, to signal to the user that the
  88690. * points and lines can be clicked.
  88691. *
  88692. * In styled mode, the series cursor can be set with the same classes as
  88693. * listed under series.color.
  88694. */
  88695. cursor?: (string|CursorValue);
  88696. /**
  88697. * (Highcharts, Highstock) A reserved subspace to store options and values
  88698. * for customized functionality. Here you can add additional data for your
  88699. * own event callbacks and formatter callbacks.
  88700. */
  88701. custom?: Dictionary<any>;
  88702. /**
  88703. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  88704. * for some series types the outline of each shape.
  88705. *
  88706. * In styled mode, the stroke dash-array can be set with the same classes as
  88707. * listed under series.color.
  88708. */
  88709. dashStyle?: DashStyleValue;
  88710. /**
  88711. * (Highstock) Data grouping is the concept of sampling the data values into
  88712. * larger blocks in order to ease readability and increase performance of
  88713. * the JavaScript charts. Highcharts Stock by default applies data grouping
  88714. * when the points become closer than a certain pixel value, determined by
  88715. * the `groupPixelWidth` option.
  88716. *
  88717. * If data grouping is applied, the grouping information of grouped points
  88718. * can be read from the Point.dataGroup. If point options other than the
  88719. * data itself are set, for example `name` or `color` or custom properties,
  88720. * the grouping logic doesn't know how to group it. In this case the options
  88721. * of the first point instance are copied over to the group point. This can
  88722. * be altered through a custom `approximation` callback function.
  88723. */
  88724. dataGrouping?: DataGroupingOptionsObject;
  88725. /**
  88726. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  88727. * labels, appearing next to each data point.
  88728. *
  88729. * Since v6.2.0, multiple data labels can be applied to each single point by
  88730. * defining them as an array of configs.
  88731. *
  88732. * In styled mode, the data labels can be styled with the
  88733. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  88734. * (see example).
  88735. */
  88736. dataLabels?: (PlotStreamgraphDataLabelsOptions|Array<PlotStreamgraphDataLabelsOptions>);
  88737. /**
  88738. * (Highcharts, Highstock) Options for the series data sorting.
  88739. */
  88740. dataSorting?: (DataSortingOptionsObject|PlotStreamgraphDataSortingOptions);
  88741. /**
  88742. * (Highcharts, Highstock) A description of the series to add to the screen
  88743. * reader information about the series.
  88744. */
  88745. description?: string;
  88746. /**
  88747. * (Highcharts, Highstock) The draggable-points module allows points to be
  88748. * moved around or modified in the chart. In addition to the options
  88749. * mentioned under the `dragDrop` API structure, the module fires three
  88750. * events, point.dragStart, point.drag and point.drop.
  88751. */
  88752. dragDrop?: SeriesDragDropOptionsObject;
  88753. /**
  88754. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  88755. * specific series. This includes point tooltips and click events on graphs
  88756. * and points. For large datasets it improves performance.
  88757. */
  88758. enableMouseTracking?: boolean;
  88759. /**
  88760. * (Highcharts, Highstock) General event handlers for the series items.
  88761. * These event hooks can also be attached to the series at run time using
  88762. * the `Highcharts.addEvent` function.
  88763. */
  88764. events?: SeriesEventsOptionsObject;
  88765. /**
  88766. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  88767. * the series' `color` is used with the series' `fillOpacity`.
  88768. *
  88769. * In styled mode, the fill color can be set with the `.highcharts-area`
  88770. * class name.
  88771. */
  88772. fillColor?: (ColorString|GradientColorObject|PatternObject);
  88773. /**
  88774. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  88775. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  88776. * should define the opacity in the `fillColor` with an rgba color
  88777. * definition. The `fillOpacity` setting, also the default setting,
  88778. * overrides the alpha component of the `color` setting.
  88779. *
  88780. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  88781. * class name.
  88782. */
  88783. fillOpacity?: number;
  88784. /**
  88785. * (Highcharts, Highstock) Determines whether the series should look for the
  88786. * nearest point in both dimensions or just the x-dimension when hovering
  88787. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  88788. * other series. If the data has duplicate x-values, it is recommended to
  88789. * set this to `'xy'` to allow hovering over all points.
  88790. *
  88791. * Applies only to series types using nearest neighbor search (not direct
  88792. * hover) for tooltip.
  88793. */
  88794. findNearestPointBy?: OptionsFindNearestPointByValue;
  88795. /**
  88796. * (Highstock) Defines when to display a gap in the graph, together with the
  88797. * gapUnit option.
  88798. *
  88799. * In case when `dataGrouping` is enabled, points can be grouped into a
  88800. * larger time span. This can make the grouped points to have a greater
  88801. * distance than the absolute value of `gapSize` property, which will result
  88802. * in disappearing graph completely. To prevent this situation the mentioned
  88803. * distance between grouped points is used instead of previously defined
  88804. * `gapSize`.
  88805. *
  88806. * In practice, this option is most often used to visualize gaps in time
  88807. * series. In a stock chart, intraday data is available for daytime hours,
  88808. * while gaps will appear in nights and weekends.
  88809. */
  88810. gapSize?: number;
  88811. /**
  88812. * (Highstock) Together with gapSize, this option defines where to draw gaps
  88813. * in the graph.
  88814. *
  88815. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  88816. * if the distance between two points is greater than 5 times that of the
  88817. * two closest points, the graph will be broken.
  88818. *
  88819. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  88820. * values, which on a datetime axis is milliseconds. This also applies to
  88821. * the navigator series that inherits gap options from the base series.
  88822. */
  88823. gapUnit?: OptionsGapUnitValue;
  88824. /**
  88825. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  88826. * chart width or only the zoomed area when zooming in on parts of the X
  88827. * axis. By default, the Y axis adjusts to the min and max of the visible
  88828. * data. Cartesian series only.
  88829. */
  88830. getExtremesFromAll?: boolean;
  88831. /**
  88832. * (Highcharts, Highstock) When set to `false` will prevent the series data
  88833. * from being included in any form of data export.
  88834. *
  88835. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  88836. * `includeInCSVExport`.
  88837. */
  88838. includeInDataExport?: boolean;
  88839. /**
  88840. * (Highmaps) What property to join the `mapData` to the value data. For
  88841. * example, if joinBy is "code", the mapData items with a specific code is
  88842. * merged into the data with the same code. For maps loaded from GeoJSON,
  88843. * the keys may be held in each point's `properties` object.
  88844. *
  88845. * The joinBy option can also be an array of two values, where the first
  88846. * points to a key in the `mapData`, and the second points to another key in
  88847. * the `data`.
  88848. *
  88849. * When joinBy is `null`, the map items are joined by their position in the
  88850. * array, which performs much better in maps with many data points. This is
  88851. * the recommended option if you are printing more than a thousand data
  88852. * points and have a backend that can preprocess the data into a parallel
  88853. * array of the mapData.
  88854. */
  88855. joinBy?: (string|Array<string>);
  88856. /**
  88857. * (Highcharts, Highstock) An array specifying which option maps to which
  88858. * key in the data point array. This makes it convenient to work with
  88859. * unstructured data arrays from different sources.
  88860. */
  88861. keys?: Array<string>;
  88862. /**
  88863. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  88864. * series as possible in a natural way, seeking to avoid other series. The
  88865. * goal of this feature is to make the chart more easily readable, like if a
  88866. * human designer placed the labels in the optimal position.
  88867. *
  88868. * The series labels currently work with series types having a `graph` or an
  88869. * `area`.
  88870. */
  88871. label?: SeriesLabelOptionsObject;
  88872. /**
  88873. * (Highstock) The line marks the last price from all points.
  88874. */
  88875. lastPrice?: SeriesLastPriceOptionsObject;
  88876. /**
  88877. * (Highstock) The line marks the last price from visible range of points.
  88878. */
  88879. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  88880. /**
  88881. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  88882. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  88883. * the ends and bends.
  88884. */
  88885. linecap?: SeriesLinecapValue;
  88886. /**
  88887. * (Highcharts, Highstock) A separate color for the graph line. By default
  88888. * the line takes the `color` of the series, but the lineColor setting
  88889. * allows setting a separate color for the line without altering the
  88890. * `fillColor`.
  88891. *
  88892. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  88893. * class name.
  88894. */
  88895. lineColor?: (ColorString|GradientColorObject|PatternObject);
  88896. /**
  88897. * (Highcharts, Highstock) Pixel width of the graph line.
  88898. */
  88899. lineWidth?: number;
  88900. /**
  88901. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  88902. * Additionally, the value can be ":previous" to link to the previous
  88903. * series. When two series are linked, only the first one appears in the
  88904. * legend. Toggling the visibility of this also toggles the linked series.
  88905. *
  88906. * If master series uses data sorting and linked series does not have its
  88907. * own sorting definition, the linked series will be sorted in the same
  88908. * order as the master one.
  88909. */
  88910. linkedTo?: string;
  88911. /**
  88912. * (Highcharts, Highstock) Options for the point markers of line-like
  88913. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  88914. * the visual appearance of the markers. Other series types, like column
  88915. * series, don't have markers, but have visual options on the series level
  88916. * instead.
  88917. *
  88918. * In styled mode, the markers can be styled with the `.highcharts-point`,
  88919. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  88920. */
  88921. marker?: PointMarkerOptionsObject;
  88922. /**
  88923. * (Highstock) Options for the corresponding navigator series if
  88924. * `showInNavigator` is `true` for this series. Available options are the
  88925. * same as any series, documented at plotOptions and series.
  88926. *
  88927. * These options are merged with options in navigator.series, and will take
  88928. * precedence if the same option is defined both places.
  88929. */
  88930. navigatorOptions?: PlotSeriesOptions;
  88931. /**
  88932. * (Highcharts, Highstock) The color for the parts of the graph or points
  88933. * that are below the threshold. Note that `zones` takes precedence over the
  88934. * negative color. Using `negativeColor` is equivalent to applying a zone
  88935. * with value of 0.
  88936. */
  88937. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  88938. /**
  88939. * (Highcharts) A separate color for the negative part of the area.
  88940. *
  88941. * In styled mode, a negative color is set with the `.highcharts-negative`
  88942. * class name.
  88943. */
  88944. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  88945. /**
  88946. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  88947. * and dataLabels.
  88948. */
  88949. opacity?: number;
  88950. /**
  88951. * (Highcharts, Highstock) Properties for each single point.
  88952. */
  88953. point?: PlotSeriesPointOptions;
  88954. /**
  88955. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  88956. * but for an individual series. Overrides the chart wide configuration.
  88957. */
  88958. pointDescriptionFormatter?: Function;
  88959. /**
  88960. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  88961. * a series, `pointInterval` defines the interval of the x values. For
  88962. * example, if a series contains one value every decade starting from year
  88963. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  88964. * `pointInterval` is set in milliseconds.
  88965. *
  88966. * It can be also be combined with `pointIntervalUnit` to draw irregular
  88967. * time intervals.
  88968. *
  88969. * Please note that this options applies to the _series data_, not the
  88970. * interval of the axis ticks, which is independent.
  88971. */
  88972. pointInterval?: number;
  88973. /**
  88974. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  88975. * setting the pointInterval to irregular time units, `day`, `month` and
  88976. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  88977. * also takes the DST crossover into consideration when dealing with local
  88978. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  88979. * months, 10 years etc.
  88980. *
  88981. * Please note that this options applies to the _series data_, not the
  88982. * interval of the axis ticks, which is independent.
  88983. */
  88984. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  88985. /**
  88986. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  88987. * `number`.
  88988. *
  88989. * In a column chart, when pointPlacement is `"on"`, the point will not
  88990. * create any padding of the X axis. In a polar column chart this means that
  88991. * the first column points directly north. If the pointPlacement is
  88992. * `"between"`, the columns will be laid out between ticks. This is useful
  88993. * for example for visualising an amount between two points in time or in a
  88994. * certain sector of a polar chart.
  88995. *
  88996. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  88997. * is on the axis value, -0.5 is between this value and the previous, and
  88998. * 0.5 is between this value and the next. Unlike the textual options,
  88999. * numeric point placement options won't affect axis padding.
  89000. *
  89001. * Note that pointPlacement needs a pointRange to work. For column series
  89002. * this is computed, but for line-type series it needs to be set.
  89003. *
  89004. * For the `xrange` series type and gantt charts, if the Y axis is a
  89005. * category axis, the `pointPlacement` applies to the Y axis rather than the
  89006. * (typically datetime) X axis.
  89007. *
  89008. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  89009. */
  89010. pointPlacement?: (number|string);
  89011. /**
  89012. * (Highstock) The width of each point on the x axis. For example in a
  89013. * column chart with one value each day, the pointRange would be 1 day (= 24
  89014. * * 3600
  89015. *
  89016. * * 1000 milliseconds). This is normally computed automatically, but this
  89017. * option can be used to override the automatic value.
  89018. */
  89019. pointRange?: number;
  89020. /**
  89021. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  89022. * a series, pointStart defines on what value to start. For example, if a
  89023. * series contains one yearly value starting from 1945, set pointStart to
  89024. * 1945.
  89025. */
  89026. pointStart?: number;
  89027. /**
  89028. * (Highcharts, Highstock) Whether to select the series initially. If
  89029. * `showCheckbox` is true, the checkbox next to the series name in the
  89030. * legend will be checked for a selected series.
  89031. */
  89032. selected?: boolean;
  89033. /**
  89034. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  89035. * Since 2.3 the shadow can be an object configuration containing `color`,
  89036. * `offsetX`, `offsetY`, `opacity` and `width`.
  89037. */
  89038. shadow?: (boolean|ShadowOptionsObject);
  89039. /**
  89040. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  89041. * legend item to allow selecting the series. The state of the checkbox is
  89042. * determined by the `selected` option.
  89043. */
  89044. showCheckbox?: boolean;
  89045. /**
  89046. * (Highcharts, Highstock) Whether to display this particular series or
  89047. * series type in the legend. Standalone series are shown in legend by
  89048. * default, and linked series are not. Since v7.2.0 it is possible to show
  89049. * series that use colorAxis by setting this option to `true`.
  89050. */
  89051. showInLegend?: boolean;
  89052. /**
  89053. * (Highstock) Whether or not to show the series in the navigator. Takes
  89054. * precedence over navigator.baseSeries if defined.
  89055. */
  89056. showInNavigator?: boolean;
  89057. /**
  89058. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  89059. * skip past the points in this series for keyboard navigation.
  89060. */
  89061. skipKeyboardNavigation?: boolean;
  89062. /**
  89063. * (Highcharts, Highstock) When this is true, the series will not cause the
  89064. * Y axis to cross the zero plane (or threshold option) unless the data
  89065. * actually crosses the plane.
  89066. *
  89067. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  89068. * make the Y axis show negative values according to the `minPadding`
  89069. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  89070. */
  89071. softThreshold?: boolean;
  89072. /**
  89073. * (Highcharts, Highstock) Whether to stack the values of each series on top
  89074. * of each other. Possible values are `undefined` to disable, `"normal"` to
  89075. * stack by value or `"percent"`.
  89076. *
  89077. * When stacking is enabled, data must be sorted in ascending X order.
  89078. *
  89079. * Some stacking options are related to specific series types. In the
  89080. * streamgraph series type, the stacking option is set to `"stream"`. The
  89081. * second one is `"overlap"`, which only applies to waterfall series.
  89082. */
  89083. stacking?: OptionsStackingValue;
  89084. states?: SeriesStatesOptionsObject;
  89085. /**
  89086. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  89087. * `mouseOut` event on a series isn't triggered until the mouse moves over
  89088. * another series, or out of the plot area. When false, the `mouseOut` event
  89089. * on a series is triggered when the mouse leaves the area around the
  89090. * series' graph or markers. This also implies the tooltip when not shared.
  89091. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  89092. * will be hidden when moving the mouse between series. Defaults to true for
  89093. * line and area type series, but to false for columns, pies etc.
  89094. *
  89095. * **Note:** The boost module will force this option because of technical
  89096. * limitations.
  89097. */
  89098. stickyTracking?: boolean;
  89099. /**
  89100. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  89101. * area, for distinguishing between values above and below a threshold. The
  89102. * area between the graph and the threshold is filled.
  89103. *
  89104. * * If a number is given, the Y axis will scale to the threshold.
  89105. *
  89106. * * If `null`, the scaling behaves like a line series with fill between the
  89107. * graph and the Y axis minimum.
  89108. *
  89109. * * If `Infinity` or `-Infinity`, the area between the graph and the
  89110. * corresponding Y axis extreme is filled (since v6.1.0).
  89111. */
  89112. threshold?: (number|null);
  89113. /**
  89114. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  89115. * of each single series. Properties are inherited from tooltip, but only
  89116. * the following properties can be defined on a series level.
  89117. */
  89118. tooltip?: SeriesTooltipOptionsObject;
  89119. /**
  89120. * (Highcharts, Highstock) Whether the whole area or just the line should
  89121. * respond to mouseover tooltips and other mouse or touch events.
  89122. */
  89123. trackByArea?: boolean;
  89124. /**
  89125. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  89126. * is longer than this, only one dimensional arrays of numbers, or two
  89127. * dimensional arrays with x and y values are allowed. Also, only the first
  89128. * point is tested, and the rest are assumed to be the same format. This
  89129. * saves expensive data checking and indexing in long series. Set it to `0`
  89130. * disable.
  89131. *
  89132. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  89133. * two dimensional arrays are allowed.
  89134. */
  89135. turboThreshold?: number;
  89136. /**
  89137. * (Highcharts, Highstock) Set the initial visibility of the series.
  89138. */
  89139. visible?: boolean;
  89140. /**
  89141. * (Highmaps) Define the z index of the series.
  89142. */
  89143. zIndex?: number;
  89144. /**
  89145. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  89146. */
  89147. zoneAxis?: string;
  89148. /**
  89149. * (Highcharts, Highstock) An array defining zones within a series. Zones
  89150. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  89151. * the `zoneAxis` option. The zone definitions have to be in ascending order
  89152. * regarding to the value.
  89153. *
  89154. * In styled mode, the color zones are styled with the
  89155. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  89156. * option (view live demo).
  89157. */
  89158. zones?: Array<SeriesZonesOptionsObject>;
  89159. }
  89160. /**
  89161. * (Highcharts) Enable or disable the initial animation when a series is
  89162. * displayed. The animation can also be set as a configuration object. Please
  89163. * note that this option only applies to the initial animation of the series
  89164. * itself. For other animations, see chart.animation and the animation parameter
  89165. * under the API methods. The following properties are supported:
  89166. *
  89167. * - `defer`: The animation delay time in milliseconds.
  89168. *
  89169. * - `duration`: The duration of the animation in milliseconds.
  89170. *
  89171. * - `easing`: Can be a string reference to an easing function set on the `Math`
  89172. * object or a function. See the _Custom easing function_ demo below.
  89173. *
  89174. * Due to poor performance, animation is disabled in old IE browsers for several
  89175. * chart types.
  89176. */
  89177. export interface PlotSunburstAnimationOptions {
  89178. defer?: number;
  89179. }
  89180. /**
  89181. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  89182. * animation when a series is displayed for the `dataLabels`. The animation can
  89183. * also be set as a configuration object. Please note that this option only
  89184. * applies to the initial animation. For other animations, see chart.animation
  89185. * and the animation parameter under the API methods. The following properties
  89186. * are supported:
  89187. *
  89188. * - `defer`: The animation delay time in milliseconds.
  89189. */
  89190. export interface PlotSunburstDataLabelsAnimationOptions {
  89191. /**
  89192. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  89193. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  89194. * inherits defer time from the series.animation.defer.
  89195. */
  89196. defer?: number;
  89197. }
  89198. /**
  89199. * (Highcharts) Can set a `colorVariation` on all points which lies on the same
  89200. * level.
  89201. */
  89202. export interface PlotSunburstLevelsColorVariationOptions {
  89203. /**
  89204. * (Highcharts) The key of a color variation. Currently supports
  89205. * `brightness` only.
  89206. */
  89207. key?: string;
  89208. /**
  89209. * (Highcharts) The ending value of a color variation. The last sibling will
  89210. * receive this value.
  89211. */
  89212. to?: number;
  89213. }
  89214. /**
  89215. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  89216. * animation when a series is displayed for the `dataLabels`. The animation can
  89217. * also be set as a configuration object. Please note that this option only
  89218. * applies to the initial animation. For other animations, see chart.animation
  89219. * and the animation parameter under the API methods. The following properties
  89220. * are supported:
  89221. *
  89222. * - `defer`: The animation delay time in milliseconds.
  89223. */
  89224. export interface PlotSunburstLevelsDataLabelsAnimationOptions {
  89225. /**
  89226. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  89227. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  89228. * inherits defer time from the series.animation.defer.
  89229. */
  89230. defer?: number;
  89231. }
  89232. /**
  89233. * (Highcharts) Determines the width of the ring per level.
  89234. */
  89235. export interface PlotSunburstLevelSizeOptions {
  89236. /**
  89237. * (Highcharts) How to interpret `levelSize.value`.
  89238. *
  89239. * - `percentage` gives a width relative to result of outer radius minus
  89240. * inner radius.
  89241. *
  89242. * - `pixels` gives the ring a fixed width in pixels.
  89243. *
  89244. * - `weight` takes the remaining width after percentage and pixels, and
  89245. * distributes it accross all "weighted" levels. The value relative to the
  89246. * sum of all weights determines the width.
  89247. */
  89248. unit?: OptionsUnitValue;
  89249. /**
  89250. * (Highcharts) The value used for calculating the width of the ring. Its'
  89251. * affect is determined by `levelSize.unit`.
  89252. */
  89253. value?: number;
  89254. }
  89255. /**
  89256. * (Highcharts) Set options on specific levels. Takes precedence over series
  89257. * options, but not point options.
  89258. */
  89259. export interface PlotSunburstLevelsOptions {
  89260. /**
  89261. * (Highcharts) Can set a `borderColor` on all points which lies on the same
  89262. * level.
  89263. */
  89264. borderColor?: ColorString;
  89265. /**
  89266. * (Highcharts) Can set a `borderDashStyle` on all points which lies on the
  89267. * same level.
  89268. */
  89269. borderDashStyle?: DashStyleValue;
  89270. /**
  89271. * (Highcharts) Can set a `borderWidth` on all points which lies on the same
  89272. * level.
  89273. */
  89274. borderWidth?: number;
  89275. /**
  89276. * (Highcharts) Can set a `color` on all points which lies on the same
  89277. * level.
  89278. */
  89279. color?: (ColorString|GradientColorObject|PatternObject);
  89280. /**
  89281. * (Highcharts) Can set a `colorVariation` on all points which lies on the
  89282. * same level.
  89283. */
  89284. colorVariation?: PlotSunburstLevelsColorVariationOptions;
  89285. /**
  89286. * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
  89287. * points which lies on the same level.
  89288. */
  89289. dataLabels?: (SeriesSunburstDataLabelsOptionsObject|Array<SeriesSunburstDataLabelsOptionsObject>);
  89290. /**
  89291. * (Highcharts) Decides which level takes effect from the options set in the
  89292. * levels object.
  89293. */
  89294. level?: number;
  89295. /**
  89296. * (Highcharts) Can set a `levelSize` on all points which lies on the same
  89297. * level.
  89298. */
  89299. levelSize?: object;
  89300. /**
  89301. * (Highcharts) Can set a `rotation` on all points which lies on the same
  89302. * level.
  89303. */
  89304. rotation?: number;
  89305. /**
  89306. * (Highcharts) Can set a `rotationMode` on all points which lies on the
  89307. * same level.
  89308. */
  89309. rotationMode?: string;
  89310. }
  89311. /**
  89312. * (Highcharts) A Sunburst displays hierarchical data, where a level in the
  89313. * hierarchy is represented by a circle. The center represents the root node of
  89314. * the tree. The visualization bears a resemblance to both treemap and pie
  89315. * charts.
  89316. *
  89317. * In TypeScript the type option must always be set.
  89318. *
  89319. * Configuration options for the series are given in three levels:
  89320. *
  89321. * 1. Options for all series in a chart are defined in the plotOptions.series
  89322. * object.
  89323. *
  89324. * 2. Options for all `sunburst` series are defined in plotOptions.sunburst.
  89325. *
  89326. * 3. Options for one single series are given in the series instance array. (see
  89327. * online documentation for example)
  89328. */
  89329. export interface PlotSunburstOptions {
  89330. /**
  89331. * (Highcharts) Accessibility options for a series.
  89332. */
  89333. accessibility?: SeriesAccessibilityOptionsObject;
  89334. /**
  89335. * (Highcharts) Allow this series' points to be selected by clicking on the
  89336. * graphic (columns, point markers, pie slices, map areas etc).
  89337. *
  89338. * The selected points can be handled by point select and unselect events,
  89339. * or collectively by the getSelectedPoints function.
  89340. *
  89341. * And alternative way of selecting points is through dragging.
  89342. */
  89343. allowPointSelect?: boolean;
  89344. /**
  89345. * (Highcharts) When enabled the user can click on a point which is a parent
  89346. * and zoom in on its children.
  89347. */
  89348. allowTraversingTree?: boolean;
  89349. /**
  89350. * (Highcharts) Enable or disable the initial animation when a series is
  89351. * displayed. The animation can also be set as a configuration object.
  89352. * Please note that this option only applies to the initial animation of the
  89353. * series itself. For other animations, see chart.animation and the
  89354. * animation parameter under the API methods. The following properties are
  89355. * supported:
  89356. *
  89357. * - `defer`: The animation delay time in milliseconds.
  89358. *
  89359. * - `duration`: The duration of the animation in milliseconds.
  89360. *
  89361. * - `easing`: Can be a string reference to an easing function set on the
  89362. * `Math` object or a function. See the _Custom easing function_ demo below.
  89363. *
  89364. * Due to poor performance, animation is disabled in old IE browsers for
  89365. * several chart types.
  89366. */
  89367. animation?: (boolean|PlotSunburstAnimationOptions|Partial<AnimationOptionsObject>);
  89368. /**
  89369. * (Highcharts) The color of the border surrounding each slice. When `null`,
  89370. * the border takes the same color as the slice fill. This can be used
  89371. * together with a `borderWidth` to fill drawing gaps created by
  89372. * antialiazing artefacts in borderless pies.
  89373. *
  89374. * In styled mode, the border stroke is given in the `.highcharts-point`
  89375. * class.
  89376. */
  89377. borderColor?: (ColorString|GradientColorObject|PatternObject);
  89378. /**
  89379. * (Highcharts) The width of the border surrounding each slice.
  89380. *
  89381. * When setting the border width to 0, there may be small gaps between the
  89382. * slices due to SVG antialiasing artefacts. To work around this, keep the
  89383. * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
  89384. *
  89385. * In styled mode, the border stroke width is given in the
  89386. * `.highcharts-point` class.
  89387. */
  89388. borderWidth?: number;
  89389. /**
  89390. * (Highcharts) The center of the sunburst chart relative to the plot area.
  89391. * Can be percentages or pixel values.
  89392. */
  89393. center?: Array<(number|string)>;
  89394. /**
  89395. * (Highcharts) An additional class name to apply to the series' graphical
  89396. * elements. This option does not replace default class names of the
  89397. * graphical element.
  89398. */
  89399. className?: string;
  89400. /**
  89401. * (Highcharts) The color of the pie series. A pie series is represented as
  89402. * an empty circle if the total sum of its values is 0. Use this property to
  89403. * define the color of its border.
  89404. *
  89405. * In styled mode, the color can be defined by the colorIndex option. Also,
  89406. * the series color can be set with the `.highcharts-series`,
  89407. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  89408. * `.highcharts-series-{n}` class, or individual classes given by the
  89409. * `className` option.
  89410. */
  89411. color?: (ColorString|GradientColorObject|PatternObject);
  89412. colorByPoint?: boolean;
  89413. /**
  89414. * (Highcharts) Styled mode only. A specific color index to use for the
  89415. * series, so its graphic representations are given the class name
  89416. * `highcharts-color-{n}`.
  89417. */
  89418. colorIndex?: number;
  89419. /**
  89420. * (Highcharts) A series specific or series type specific color set to use
  89421. * instead of the global colors.
  89422. */
  89423. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  89424. /**
  89425. * (Highstock) Defines if comparison should start from the first point
  89426. * within the visible range or should start from the first point **before**
  89427. * the range.
  89428. *
  89429. * In other words, this flag determines if first point within the visible
  89430. * range will have 0% (`compareStart=true`) or should have been already
  89431. * calculated according to the previous point (`compareStart=false`).
  89432. */
  89433. compareStart?: boolean;
  89434. /**
  89435. * (Gantt) Override Pathfinder connector options for a series. Requires
  89436. * Highcharts Gantt to be loaded.
  89437. */
  89438. connectors?: SeriesConnectorsOptionsObject;
  89439. /**
  89440. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  89441. * rounded to its nearest pixel in order to render sharp on screen. In some
  89442. * cases, when there are a lot of densely packed columns, this leads to
  89443. * visible difference in column widths or distance between columns. In these
  89444. * cases, setting `crisp` to `false` may look better, even though each
  89445. * column is rendered blurry.
  89446. */
  89447. crisp?: boolean;
  89448. /**
  89449. * (Highcharts) You can set the cursor to "pointer" if you have click events
  89450. * attached to the series, to signal to the user that the points and lines
  89451. * can be clicked.
  89452. *
  89453. * In styled mode, the series cursor can be set with the same classes as
  89454. * listed under series.color.
  89455. */
  89456. cursor?: (string|CursorValue);
  89457. /**
  89458. * (Highcharts) A reserved subspace to store options and values for
  89459. * customized functionality. Here you can add additional data for your own
  89460. * event callbacks and formatter callbacks.
  89461. */
  89462. custom?: Dictionary<any>;
  89463. /**
  89464. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  89465. * labels, appearing next to each data point.
  89466. *
  89467. * Since v6.2.0, multiple data labels can be applied to each single point by
  89468. * defining them as an array of configs.
  89469. *
  89470. * In styled mode, the data labels can be styled with the
  89471. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  89472. * (see example).
  89473. */
  89474. dataLabels?: (SeriesSunburstDataLabelsOptionsObject|Array<SeriesSunburstDataLabelsOptionsObject>);
  89475. /**
  89476. * (Highcharts) A description of the series to add to the screen reader
  89477. * information about the series.
  89478. */
  89479. description?: string;
  89480. /**
  89481. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  89482. * This includes point tooltips and click events on graphs and points. For
  89483. * large datasets it improves performance.
  89484. */
  89485. enableMouseTracking?: boolean;
  89486. /**
  89487. * (Highcharts) General event handlers for the series items. These event
  89488. * hooks can also be attached to the series at run time using the
  89489. * `Highcharts.addEvent` function.
  89490. */
  89491. events?: SeriesEventsOptionsObject;
  89492. /**
  89493. * (Highcharts) If the total sum of the pie's values is 0, the series is
  89494. * represented as an empty circle . The `fillColor` option defines the color
  89495. * of that circle. Use pie.borderWidth to set the border thickness.
  89496. */
  89497. fillColor?: (ColorString|GradientColorObject|PatternObject);
  89498. /**
  89499. * (Highcharts) When set to `false` will prevent the series data from being
  89500. * included in any form of data export.
  89501. *
  89502. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  89503. * `includeInCSVExport`.
  89504. */
  89505. includeInDataExport?: boolean;
  89506. /**
  89507. * (Highcharts) An array specifying which option maps to which key in the
  89508. * data point array. This makes it convenient to work with unstructured data
  89509. * arrays from different sources.
  89510. */
  89511. keys?: Array<string>;
  89512. /**
  89513. * (Highstock) The line marks the last price from all points.
  89514. */
  89515. lastPrice?: SeriesLastPriceOptionsObject;
  89516. /**
  89517. * (Highstock) The line marks the last price from visible range of points.
  89518. */
  89519. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  89520. /**
  89521. * (Highcharts) Used together with the levels and `allowDrillToNode`
  89522. * options. When set to false the first level visible when drilling is
  89523. * considered to be level one. Otherwise the level will be the same as the
  89524. * tree structure.
  89525. */
  89526. levelIsConstant?: boolean;
  89527. /**
  89528. * (Highcharts) Set options on specific levels. Takes precedence over series
  89529. * options, but not point options.
  89530. */
  89531. levels?: Array<PlotSunburstLevelsOptions>;
  89532. /**
  89533. * (Highcharts) Determines the width of the ring per level.
  89534. */
  89535. levelSize?: PlotSunburstLevelSizeOptions;
  89536. /**
  89537. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  89538. * Additionally, the value can be ":previous" to link to the previous
  89539. * series. When two series are linked, only the first one appears in the
  89540. * legend. Toggling the visibility of this also toggles the linked series.
  89541. *
  89542. * If master series uses data sorting and linked series does not have its
  89543. * own sorting definition, the linked series will be sorted in the same
  89544. * order as the master one.
  89545. */
  89546. linkedTo?: string;
  89547. /**
  89548. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  89549. * dataLabels.
  89550. */
  89551. opacity?: number;
  89552. /**
  89553. * (Highcharts) Properties for each single point.
  89554. */
  89555. point?: PlotSeriesPointOptions;
  89556. /**
  89557. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  89558. * individual series. Overrides the chart wide configuration.
  89559. */
  89560. pointDescriptionFormatter?: Function;
  89561. /**
  89562. * (Highcharts) Which point to use as a root in the visualization.
  89563. */
  89564. rootId?: string;
  89565. /**
  89566. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  89567. * true, the checkbox next to the series name in the legend will be checked
  89568. * for a selected series.
  89569. */
  89570. selected?: boolean;
  89571. /**
  89572. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  89573. * the shadow can be an object configuration containing `color`, `offsetX`,
  89574. * `offsetY`, `opacity` and `width`.
  89575. */
  89576. shadow?: (boolean|ShadowOptionsObject);
  89577. /**
  89578. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  89579. * allow selecting the series. The state of the checkbox is determined by
  89580. * the `selected` option.
  89581. */
  89582. showCheckbox?: boolean;
  89583. /**
  89584. * (Highcharts) Whether to display this particular series or series type in
  89585. * the legend. Since 2.1, pies are not shown in the legend by default.
  89586. */
  89587. showInLegend?: boolean;
  89588. /**
  89589. * (Highstock) Whether or not to show the series in the navigator. Takes
  89590. * precedence over navigator.baseSeries if defined.
  89591. */
  89592. showInNavigator?: boolean;
  89593. /**
  89594. * (Highcharts) The diameter of the pie relative to the plot area. Can be a
  89595. * percentage or pixel value. Pixel values are given as integers. The
  89596. * default behaviour (as of 3.0) is to scale to the plot area and give room
  89597. * for data labels within the plot area. slicedOffset is also included in
  89598. * the default size calculation. As a consequence, the size of the pie may
  89599. * vary when points are updated and data labels more around. In that case it
  89600. * is best to set a fixed value, for example `"75%"`.
  89601. */
  89602. size?: (number|string|null);
  89603. /**
  89604. * (Highcharts) If set to `true`, the accessibility module will skip past
  89605. * the points in this series for keyboard navigation.
  89606. */
  89607. skipKeyboardNavigation?: boolean;
  89608. /**
  89609. * (Highcharts) If a point is sliced, moved out from the center, how many
  89610. * pixels should it be moved?.
  89611. */
  89612. slicedOffset?: number;
  89613. /**
  89614. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  89615. * and 90 right.
  89616. */
  89617. startAngle?: number;
  89618. states?: SeriesStatesOptionsObject;
  89619. /**
  89620. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  89621. * event on a series isn't triggered until the mouse moves over another
  89622. * series, or out of the plot area. When false, the `mouseOut` event on a
  89623. * series is triggered when the mouse leaves the area around the series'
  89624. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  89625. * false and `tooltip.shared` is false, the tooltip will be hidden when
  89626. * moving the mouse between series.
  89627. */
  89628. stickyTracking?: boolean;
  89629. /**
  89630. * (Highcharts) A configuration object for the tooltip rendering of each
  89631. * single series. Properties are inherited from tooltip, but only the
  89632. * following properties can be defined on a series level.
  89633. */
  89634. tooltip?: SeriesTooltipOptionsObject;
  89635. /**
  89636. * (Highcharts) Options for the button appearing when traversing down in a
  89637. * treemap.
  89638. */
  89639. traverseUpButton?: PlotSunburstTraverseUpButtonOptions;
  89640. /**
  89641. * (Highstock) The parameter allows setting line series type and use OHLC
  89642. * indicators. Data in OHLC format is required.
  89643. */
  89644. useOhlcData?: boolean;
  89645. /**
  89646. * (Highcharts) Set the initial visibility of the series.
  89647. */
  89648. visible?: boolean;
  89649. /**
  89650. * (Highmaps) Define the z index of the series.
  89651. */
  89652. zIndex?: number;
  89653. }
  89654. /**
  89655. * (Highcharts) Options for the button appearing when traversing down in a
  89656. * treemap.
  89657. */
  89658. export interface PlotSunburstTraverseUpButtonOptions {
  89659. /**
  89660. * (Highcharts) The position of the button.
  89661. */
  89662. position?: PlotSunburstTraverseUpButtonPositionOptions;
  89663. }
  89664. /**
  89665. * (Highcharts) The position of the button.
  89666. */
  89667. export interface PlotSunburstTraverseUpButtonPositionOptions {
  89668. /**
  89669. * (Highcharts) Horizontal alignment of the button.
  89670. */
  89671. align?: AlignValue;
  89672. /**
  89673. * (Highcharts) Vertical alignment of the button.
  89674. */
  89675. verticalAlign?: VerticalAlignValue;
  89676. /**
  89677. * (Highcharts) Horizontal offset of the button.
  89678. */
  89679. x?: number;
  89680. /**
  89681. * (Highcharts) Vertical offset of the button.
  89682. */
  89683. y?: number;
  89684. }
  89685. /**
  89686. * (Highstock) Enable or disable the initial animation when a series is
  89687. * displayed. The animation can also be set as a configuration object. Please
  89688. * note that this option only applies to the initial animation of the series
  89689. * itself. For other animations, see chart.animation and the animation parameter
  89690. * under the API methods. The following properties are supported:
  89691. *
  89692. * - `defer`: The animation delay time in milliseconds.
  89693. *
  89694. * - `duration`: The duration of the animation in milliseconds.
  89695. *
  89696. * - `easing`: Can be a string reference to an easing function set on the `Math`
  89697. * object or a function. See the _Custom easing function_ demo below.
  89698. *
  89699. * Due to poor performance, animation is disabled in old IE browsers for several
  89700. * chart types.
  89701. */
  89702. export interface PlotSupertrendAnimationOptions {
  89703. defer?: number;
  89704. }
  89705. /**
  89706. * (Highstock) The styles for the Supertrend line that intersect main series.
  89707. */
  89708. export interface PlotSupertrendChangeTrendLineOptions {
  89709. styles?: PlotSupertrendChangeTrendLineStylesOptions;
  89710. }
  89711. export interface PlotSupertrendChangeTrendLineStylesOptions {
  89712. /**
  89713. * (Highstock) The dash or dot style of the grid lines. For possible values,
  89714. * see this demonstration.
  89715. */
  89716. dashStyle?: DashStyleValue;
  89717. /**
  89718. * (Highstock) Color of the line.
  89719. */
  89720. lineColor?: ColorString;
  89721. /**
  89722. * (Highstock) Pixel width of the line.
  89723. */
  89724. lineWidth?: number;
  89725. }
  89726. /**
  89727. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  89728. * animation when a series is displayed for the `dataLabels`. The animation can
  89729. * also be set as a configuration object. Please note that this option only
  89730. * applies to the initial animation. For other animations, see chart.animation
  89731. * and the animation parameter under the API methods. The following properties
  89732. * are supported:
  89733. *
  89734. * - `defer`: The animation delay time in milliseconds.
  89735. */
  89736. export interface PlotSupertrendDataLabelsAnimationOptions {
  89737. /**
  89738. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  89739. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  89740. * inherits defer time from the series.animation.defer.
  89741. */
  89742. defer?: number;
  89743. }
  89744. /**
  89745. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  89746. * appearing next to each data point.
  89747. *
  89748. * Since v6.2.0, multiple data labels can be applied to each single point by
  89749. * defining them as an array of configs.
  89750. *
  89751. * In styled mode, the data labels can be styled with the
  89752. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  89753. * example).
  89754. */
  89755. export interface PlotSupertrendDataLabelsOptions {
  89756. /**
  89757. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  89758. * compared to the point. If `right`, the right side of the label should be
  89759. * touching the point. For points with an extent, like columns, the
  89760. * alignments also dictates how to align it inside the box, as given with
  89761. * the inside option. Can be one of `left`, `center` or `right`.
  89762. */
  89763. align?: (AlignValue|null);
  89764. /**
  89765. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  89766. * overlap. To make the labels less sensitive for overlapping, the
  89767. * dataLabels.padding can be set to 0.
  89768. */
  89769. allowOverlap?: boolean;
  89770. /**
  89771. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  89772. * animation when a series is displayed for the `dataLabels`. The animation
  89773. * can also be set as a configuration object. Please note that this option
  89774. * only applies to the initial animation. For other animations, see
  89775. * chart.animation and the animation parameter under the API methods. The
  89776. * following properties are supported:
  89777. *
  89778. * - `defer`: The animation delay time in milliseconds.
  89779. */
  89780. animation?: (boolean|PlotSupertrendDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  89781. /**
  89782. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  89783. * for the data label.
  89784. */
  89785. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  89786. /**
  89787. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  89788. * label. Defaults to `undefined`.
  89789. */
  89790. borderColor?: (ColorString|GradientColorObject|PatternObject);
  89791. /**
  89792. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  89793. * the data label.
  89794. */
  89795. borderRadius?: number;
  89796. /**
  89797. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  89798. * the data label.
  89799. */
  89800. borderWidth?: number;
  89801. /**
  89802. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  89803. * Particularly in styled mode, this can be used to give each series' or
  89804. * point's data label unique styling. In addition to this option, a default
  89805. * color class name is added so that we can give the labels a contrast text
  89806. * shadow.
  89807. */
  89808. className?: string;
  89809. /**
  89810. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  89811. * labels. Defaults to `undefined`. For certain series types, like column or
  89812. * map, the data labels can be drawn inside the points. In this case the
  89813. * data label will be drawn with maximum contrast by default. Additionally,
  89814. * it will be given a `text-outline` style with the opposite color, to
  89815. * further increase the contrast. This can be overridden by setting the
  89816. * `text-outline` style to `none` in the `dataLabels.style` option.
  89817. */
  89818. color?: (ColorString|GradientColorObject|PatternObject);
  89819. /**
  89820. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  89821. * are outside the plot area. By default, the data label is moved inside the
  89822. * plot area according to the overflow option.
  89823. */
  89824. crop?: boolean;
  89825. /**
  89826. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  89827. * labels until the initial series animation has finished. Setting to
  89828. * `false` renders the data label immediately. If set to `true` inherits the
  89829. * defer time set in plotOptions.series.animation. If set to a number, a
  89830. * defer time is specified in milliseconds.
  89831. */
  89832. defer?: (boolean|number);
  89833. /**
  89834. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  89835. * labels.
  89836. */
  89837. enabled?: boolean;
  89838. /**
  89839. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  89840. * of which data labels to display. The declarative filter is designed for
  89841. * use when callback functions are not available, like when the chart
  89842. * options require a pure JSON structure or for use with graphical editors.
  89843. * For programmatic control, use the `formatter` instead, and return
  89844. * `undefined` to disable a single data label.
  89845. */
  89846. filter?: DataLabelsFilterOptionsObject;
  89847. /**
  89848. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  89849. * label. Available variables are the same as for `formatter`.
  89850. */
  89851. format?: string;
  89852. /**
  89853. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  89854. * format the data label. Note that if a `format` is defined, the format
  89855. * takes precedence and the formatter is ignored.
  89856. */
  89857. formatter?: DataLabelsFormatterCallbackFunction;
  89858. /**
  89859. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  89860. * columns or map areas, whether to align the data label inside the box or
  89861. * to the actual value point. Defaults to `false` in most cases, `true` in
  89862. * stacked columns.
  89863. */
  89864. inside?: boolean;
  89865. /**
  89866. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  89867. * of null. Works analogously to format. `nullFormat` can be applied only to
  89868. * series which support displaying null points.
  89869. */
  89870. nullFormat?: (boolean|string);
  89871. /**
  89872. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  89873. * that defines formatting for points with the value of null. Works
  89874. * analogously to formatter. `nullPointFormatter` can be applied only to
  89875. * series which support displaying null points.
  89876. */
  89877. nullFormatter?: DataLabelsFormatterCallbackFunction;
  89878. /**
  89879. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  89880. * flow outside the plot area. The default is `"justify"`, which aligns them
  89881. * inside the plot area. For columns and bars, this means it will be moved
  89882. * inside the bar. To display data labels outside the plot area, set `crop`
  89883. * to `false` and `overflow` to `"allow"`.
  89884. */
  89885. overflow?: DataLabelsOverflowValue;
  89886. /**
  89887. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  89888. * the `backgroundColor` is set, this is the padding within the box.
  89889. */
  89890. padding?: number;
  89891. /**
  89892. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  89893. * points. If `center` alignment is not possible, it defaults to `right`.
  89894. */
  89895. position?: AlignValue;
  89896. /**
  89897. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  89898. * that due to a more complex structure, backgrounds, borders and padding
  89899. * will be lost on a rotated data label.
  89900. */
  89901. rotation?: number;
  89902. /**
  89903. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  89904. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  89905. * an object configuration containing `color`, `offsetX`, `offsetY`,
  89906. * `opacity` and `width`.
  89907. */
  89908. shadow?: (boolean|ShadowOptionsObject);
  89909. /**
  89910. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  89911. * the border around the label. Symbols are predefined functions on the
  89912. * Renderer object.
  89913. */
  89914. shape?: string;
  89915. /**
  89916. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  89917. * default `color` setting is `"contrast"`, which is a pseudo color that
  89918. * Highcharts picks up and applies the maximum contrast to the underlying
  89919. * point item, for example the bar in a bar chart.
  89920. *
  89921. * The `textOutline` is a pseudo property that applies an outline of the
  89922. * given width with the given color, which by default is the maximum
  89923. * contrast to the text. So a bright text color will result in a black text
  89924. * outline for maximum readability on a mixed background. In some cases,
  89925. * especially with grayscale text, the text outline doesn't work well, in
  89926. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  89927. * is true, the `textOutline` will not be picked up. In this, case, the same
  89928. * effect can be acheived through the `text-shadow` CSS property.
  89929. *
  89930. * For some series types, where each point has an extent, like for example
  89931. * tree maps, the data label may overflow the point. There are two
  89932. * strategies for handling overflow. By default, the text will wrap to
  89933. * multiple lines. The other strategy is to set `style.textOverflow` to
  89934. * `ellipsis`, which will keep the text on one line plus it will break
  89935. * inside long words.
  89936. */
  89937. style?: CSSObject;
  89938. /**
  89939. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  89940. * should follow marker's shape. Border and background are disabled for a
  89941. * label that follows a path.
  89942. *
  89943. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  89944. * to true will disable this option.
  89945. */
  89946. textPath?: DataLabelsTextPathOptionsObject;
  89947. /**
  89948. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  89949. * the labels.
  89950. */
  89951. useHTML?: boolean;
  89952. /**
  89953. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  89954. * label. Can be one of `top`, `middle` or `bottom`. The default value
  89955. * depends on the data, for instance in a column chart, the label is above
  89956. * positive values and below negative values.
  89957. */
  89958. verticalAlign?: (VerticalAlignValue|null);
  89959. /**
  89960. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  89961. * label relative to the point in pixels.
  89962. */
  89963. x?: number;
  89964. /**
  89965. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  89966. * label relative to the point in pixels.
  89967. */
  89968. y?: number;
  89969. /**
  89970. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  89971. * The default Z index puts it above the series. Use a Z index of 2 to
  89972. * display it behind the series.
  89973. */
  89974. z?: number;
  89975. }
  89976. /**
  89977. * (Highcharts, Highstock) Options for the series data sorting.
  89978. */
  89979. export interface PlotSupertrendDataSortingOptions {
  89980. /**
  89981. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  89982. * Use xAxis.reversed to change the sorting order.
  89983. */
  89984. enabled?: boolean;
  89985. /**
  89986. * (Highcharts, Highstock) Whether to allow matching points by name in an
  89987. * update. If this option is disabled, points will be matched by order.
  89988. */
  89989. matchByName?: boolean;
  89990. /**
  89991. * (Highcharts, Highstock) Determines what data value should be used to sort
  89992. * by.
  89993. */
  89994. sortKey?: string;
  89995. }
  89996. /**
  89997. * (Highstock) Supertrend indicator. This series requires the `linkedTo` option
  89998. * to be set and should be loaded after the `stock/indicators/indicators.js` and
  89999. * `stock/indicators/sma.js`.
  90000. *
  90001. * In TypeScript the type option must always be set.
  90002. *
  90003. * Configuration options for the series are given in three levels:
  90004. *
  90005. * 1. Options for all series in a chart are defined in the plotOptions.series
  90006. * object.
  90007. *
  90008. * 2. Options for all `supertrend` series are defined in plotOptions.supertrend.
  90009. *
  90010. * 3. Options for one single series are given in the series instance array. (see
  90011. * online documentation for example)
  90012. */
  90013. export interface PlotSupertrendOptions {
  90014. /**
  90015. * (Highstock) Accessibility options for a series.
  90016. */
  90017. accessibility?: SeriesAccessibilityOptionsObject;
  90018. /**
  90019. * (Highstock) Allow this series' points to be selected by clicking on the
  90020. * graphic (columns, point markers, pie slices, map areas etc).
  90021. *
  90022. * The selected points can be handled by point select and unselect events,
  90023. * or collectively by the getSelectedPoints function.
  90024. *
  90025. * And alternative way of selecting points is through dragging.
  90026. */
  90027. allowPointSelect?: boolean;
  90028. /**
  90029. * (Highstock) Enable or disable the initial animation when a series is
  90030. * displayed. The animation can also be set as a configuration object.
  90031. * Please note that this option only applies to the initial animation of the
  90032. * series itself. For other animations, see chart.animation and the
  90033. * animation parameter under the API methods. The following properties are
  90034. * supported:
  90035. *
  90036. * - `defer`: The animation delay time in milliseconds.
  90037. *
  90038. * - `duration`: The duration of the animation in milliseconds.
  90039. *
  90040. * - `easing`: Can be a string reference to an easing function set on the
  90041. * `Math` object or a function. See the _Custom easing function_ demo below.
  90042. *
  90043. * Due to poor performance, animation is disabled in old IE browsers for
  90044. * several chart types.
  90045. */
  90046. animation?: (boolean|PlotSupertrendAnimationOptions|Partial<AnimationOptionsObject>);
  90047. /**
  90048. * (Highstock) For some series, there is a limit that shuts down initial
  90049. * animation by default when the total number of points in the chart is too
  90050. * high. For example, for a column chart and its derivatives, animation does
  90051. * not run if there is more than 250 points totally. To disable this cap,
  90052. * set `animationLimit` to `Infinity`.
  90053. */
  90054. animationLimit?: number;
  90055. /**
  90056. * (Highstock) Sets the color blending in the boost module.
  90057. */
  90058. boostBlending?: OptionsBoostBlendingValue;
  90059. /**
  90060. * (Highstock) Set the point threshold for when a series should enter boost
  90061. * mode.
  90062. *
  90063. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  90064. * there are 2000 or more points in the series.
  90065. *
  90066. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  90067. * it to 1 will force boosting.
  90068. *
  90069. * Note that the cropThreshold also affects this setting. When zooming in on
  90070. * a series that has fewer points than the `cropThreshold`, all points are
  90071. * rendered although outside the visible plot area, and the `boostThreshold`
  90072. * won't take effect.
  90073. */
  90074. boostThreshold?: number;
  90075. /**
  90076. * (Highmaps) The border color of the map areas.
  90077. *
  90078. * In styled mode, the border stroke is given in the `.highcharts-point`
  90079. * class.
  90080. */
  90081. borderColor?: (ColorString|GradientColorObject|PatternObject);
  90082. /**
  90083. * (Highmaps) The border width of each map area.
  90084. *
  90085. * In styled mode, the border stroke width is given in the
  90086. * `.highcharts-point` class.
  90087. */
  90088. borderWidth?: number;
  90089. /**
  90090. * (Highstock) The styles for the Supertrend line that intersect main
  90091. * series.
  90092. */
  90093. changeTrendLine?: PlotSupertrendChangeTrendLineOptions;
  90094. /**
  90095. * (Highstock) An additional class name to apply to the series' graphical
  90096. * elements. This option does not replace default class names of the
  90097. * graphical element.
  90098. */
  90099. className?: string;
  90100. /**
  90101. * (Highstock) Disable this option to allow series rendering in the whole
  90102. * plotting area.
  90103. *
  90104. * **Note:** Clipping should be always enabled when chart.zoomType is set
  90105. */
  90106. clip?: boolean;
  90107. /**
  90108. * (Highstock) The main color of the series. In line type series it applies
  90109. * to the line and the point markers unless otherwise specified. In bar type
  90110. * series it applies to the bars unless a color is specified per point. The
  90111. * default value is pulled from the `options.colors` array.
  90112. *
  90113. * In styled mode, the color can be defined by the colorIndex option. Also,
  90114. * the series color can be set with the `.highcharts-series`,
  90115. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  90116. * `.highcharts-series-{n}` class, or individual classes given by the
  90117. * `className` option.
  90118. */
  90119. color?: (ColorString|GradientColorObject|PatternObject);
  90120. /**
  90121. * (Highstock) Styled mode only. A specific color index to use for the
  90122. * series, so its graphic representations are given the class name
  90123. * `highcharts-color-{n}`.
  90124. */
  90125. colorIndex?: number;
  90126. /**
  90127. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  90128. * used to calculate point color if `colorAxis` is used. Requires to set
  90129. * `min` and `max` if some custom point property is used or if approximation
  90130. * for data grouping is set to `'sum'`.
  90131. */
  90132. colorKey?: string;
  90133. /**
  90134. * (Highstock) Compare the values of the series against the first non-null,
  90135. * non- zero value in the visible range. The y axis will show percentage or
  90136. * absolute change depending on whether `compare` is set to `"percent"` or
  90137. * `"value"`. When this is applied to multiple series, it allows comparing
  90138. * the development of the series against each other. Adds a `change` field
  90139. * to every point object.
  90140. */
  90141. compare?: string;
  90142. /**
  90143. * (Highstock) When compare is `percent`, this option dictates whether to
  90144. * use 0 or 100 as the base of comparison.
  90145. */
  90146. compareBase?: (0|100);
  90147. /**
  90148. * (Highstock) Defines if comparison should start from the first point
  90149. * within the visible range or should start from the first point **before**
  90150. * the range.
  90151. *
  90152. * In other words, this flag determines if first point within the visible
  90153. * range will have 0% (`compareStart=true`) or should have been already
  90154. * calculated according to the previous point (`compareStart=false`).
  90155. */
  90156. compareStart?: boolean;
  90157. /**
  90158. * (Highstock) Whether to compare indicator to the main series values or
  90159. * indicator values.
  90160. */
  90161. compareToMain?: boolean;
  90162. /**
  90163. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  90164. * series plot across the extremes.
  90165. */
  90166. connectEnds?: boolean;
  90167. /**
  90168. * (Highcharts, Highstock) Whether to connect a graph line across null
  90169. * points, or render a gap between the two points on either side of the
  90170. * null.
  90171. */
  90172. connectNulls?: boolean;
  90173. /**
  90174. * (Gantt) Override Pathfinder connector options for a series. Requires
  90175. * Highcharts Gantt to be loaded.
  90176. */
  90177. connectors?: SeriesConnectorsOptionsObject;
  90178. /**
  90179. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  90180. * rounded to its nearest pixel in order to render sharp on screen. In some
  90181. * cases, when there are a lot of densely packed columns, this leads to
  90182. * visible difference in column widths or distance between columns. In these
  90183. * cases, setting `crisp` to `false` may look better, even though each
  90184. * column is rendered blurry.
  90185. */
  90186. crisp?: boolean;
  90187. /**
  90188. * (Highstock) You can set the cursor to "pointer" if you have click events
  90189. * attached to the series, to signal to the user that the points and lines
  90190. * can be clicked.
  90191. *
  90192. * In styled mode, the series cursor can be set with the same classes as
  90193. * listed under series.color.
  90194. */
  90195. cursor?: (string|CursorValue);
  90196. /**
  90197. * (Highstock) A reserved subspace to store options and values for
  90198. * customized functionality. Here you can add additional data for your own
  90199. * event callbacks and formatter callbacks.
  90200. */
  90201. custom?: Dictionary<any>;
  90202. /**
  90203. * (Highstock) Name of the dash style to use for the graph, or for some
  90204. * series types the outline of each shape.
  90205. *
  90206. * In styled mode, the stroke dash-array can be set with the same classes as
  90207. * listed under series.color.
  90208. */
  90209. dashStyle?: DashStyleValue;
  90210. /**
  90211. * (Highstock) Data grouping is the concept of sampling the data values into
  90212. * larger blocks in order to ease readability and increase performance of
  90213. * the JavaScript charts. Highcharts Stock by default applies data grouping
  90214. * when the points become closer than a certain pixel value, determined by
  90215. * the `groupPixelWidth` option.
  90216. *
  90217. * If data grouping is applied, the grouping information of grouped points
  90218. * can be read from the Point.dataGroup. If point options other than the
  90219. * data itself are set, for example `name` or `color` or custom properties,
  90220. * the grouping logic doesn't know how to group it. In this case the options
  90221. * of the first point instance are copied over to the group point. This can
  90222. * be altered through a custom `approximation` callback function.
  90223. */
  90224. dataGrouping?: DataGroupingOptionsObject;
  90225. /**
  90226. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  90227. * labels, appearing next to each data point.
  90228. *
  90229. * Since v6.2.0, multiple data labels can be applied to each single point by
  90230. * defining them as an array of configs.
  90231. *
  90232. * In styled mode, the data labels can be styled with the
  90233. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  90234. * (see example).
  90235. */
  90236. dataLabels?: (PlotSupertrendDataLabelsOptions|Array<PlotSupertrendDataLabelsOptions>);
  90237. /**
  90238. * (Highcharts, Highstock) Options for the series data sorting.
  90239. */
  90240. dataSorting?: (DataSortingOptionsObject|PlotSupertrendDataSortingOptions);
  90241. /**
  90242. * (Highstock) A description of the series to add to the screen reader
  90243. * information about the series.
  90244. */
  90245. description?: string;
  90246. /**
  90247. * (Highstock) Enable or disable the mouse tracking for a specific series.
  90248. * This includes point tooltips and click events on graphs and points. For
  90249. * large datasets it improves performance.
  90250. */
  90251. enableMouseTracking?: boolean;
  90252. /**
  90253. * (Highstock) General event handlers for the series items. These event
  90254. * hooks can also be attached to the series at run time using the
  90255. * `Highcharts.addEvent` function.
  90256. */
  90257. events?: SeriesEventsOptionsObject;
  90258. /**
  90259. * (Highstock) Color of the Supertrend series line that is above the main
  90260. * series.
  90261. */
  90262. fallingTrendColor?: (ColorString|GradientColorObject|PatternObject);
  90263. /**
  90264. * (Highstock) Determines whether the series should look for the nearest
  90265. * point in both dimensions or just the x-dimension when hovering the
  90266. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  90267. * series. If the data has duplicate x-values, it is recommended to set this
  90268. * to `'xy'` to allow hovering over all points.
  90269. *
  90270. * Applies only to series types using nearest neighbor search (not direct
  90271. * hover) for tooltip.
  90272. */
  90273. findNearestPointBy?: OptionsFindNearestPointByValue;
  90274. /**
  90275. * (Highstock) Defines when to display a gap in the graph, together with the
  90276. * gapUnit option.
  90277. *
  90278. * In case when `dataGrouping` is enabled, points can be grouped into a
  90279. * larger time span. This can make the grouped points to have a greater
  90280. * distance than the absolute value of `gapSize` property, which will result
  90281. * in disappearing graph completely. To prevent this situation the mentioned
  90282. * distance between grouped points is used instead of previously defined
  90283. * `gapSize`.
  90284. *
  90285. * In practice, this option is most often used to visualize gaps in time
  90286. * series. In a stock chart, intraday data is available for daytime hours,
  90287. * while gaps will appear in nights and weekends.
  90288. */
  90289. gapSize?: number;
  90290. /**
  90291. * (Highstock) Together with gapSize, this option defines where to draw gaps
  90292. * in the graph.
  90293. *
  90294. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  90295. * if the distance between two points is greater than 5 times that of the
  90296. * two closest points, the graph will be broken.
  90297. *
  90298. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  90299. * values, which on a datetime axis is milliseconds. This also applies to
  90300. * the navigator series that inherits gap options from the base series.
  90301. */
  90302. gapUnit?: OptionsGapUnitValue;
  90303. /**
  90304. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  90305. * chart width or only the zoomed area when zooming in on parts of the X
  90306. * axis. By default, the Y axis adjusts to the min and max of the visible
  90307. * data. Cartesian series only.
  90308. */
  90309. getExtremesFromAll?: boolean;
  90310. /**
  90311. * (Highstock) When set to `false` will prevent the series data from being
  90312. * included in any form of data export.
  90313. *
  90314. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  90315. * `includeInCSVExport`.
  90316. */
  90317. includeInDataExport?: boolean;
  90318. /**
  90319. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  90320. * series as possible in a natural way, seeking to avoid other series. The
  90321. * goal of this feature is to make the chart more easily readable, like if a
  90322. * human designer placed the labels in the optimal position.
  90323. *
  90324. * The series labels currently work with series types having a `graph` or an
  90325. * `area`.
  90326. */
  90327. label?: SeriesLabelOptionsObject;
  90328. /**
  90329. * (Highstock) The line marks the last price from all points.
  90330. */
  90331. lastPrice?: SeriesLastPriceOptionsObject;
  90332. /**
  90333. * (Highstock) The line marks the last price from visible range of points.
  90334. */
  90335. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  90336. /**
  90337. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  90338. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  90339. * the ends and bends.
  90340. */
  90341. linecap?: SeriesLinecapValue;
  90342. /**
  90343. * (Highcharts, Highstock) Pixel width of the graph line.
  90344. */
  90345. lineWidth?: number;
  90346. /**
  90347. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  90348. * based on. Required for this indicator.
  90349. */
  90350. linkedTo?: string;
  90351. /**
  90352. * (Highstock) Options for the point markers of line-like series. Properties
  90353. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  90354. * appearance of the markers. Other series types, like column series, don't
  90355. * have markers, but have visual options on the series level instead.
  90356. *
  90357. * In styled mode, the markers can be styled with the `.highcharts-point`,
  90358. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  90359. */
  90360. marker?: PointMarkerOptionsObject;
  90361. /**
  90362. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  90363. * If not set, it will be based on a technical indicator type and default
  90364. * params.
  90365. */
  90366. name?: string;
  90367. /**
  90368. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  90369. * dataLabels.
  90370. */
  90371. opacity?: number;
  90372. /**
  90373. * (Highstock) Paramters used in calculation of Supertrend indicator series
  90374. * points.
  90375. */
  90376. params?: PlotSupertrendParamsOptions;
  90377. /**
  90378. * (Highstock) Properties for each single point.
  90379. */
  90380. point?: PlotSeriesPointOptions;
  90381. /**
  90382. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  90383. * individual series. Overrides the chart wide configuration.
  90384. */
  90385. pointDescriptionFormatter?: Function;
  90386. /**
  90387. * (Highstock) Color of the Supertrend series line that is beneath the main
  90388. * series.
  90389. */
  90390. risingTrendColor?: (ColorString|GradientColorObject|PatternObject);
  90391. /**
  90392. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  90393. * true, the checkbox next to the series name in the legend will be checked
  90394. * for a selected series.
  90395. */
  90396. selected?: boolean;
  90397. /**
  90398. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  90399. * the shadow can be an object configuration containing `color`, `offsetX`,
  90400. * `offsetY`, `opacity` and `width`.
  90401. */
  90402. shadow?: (boolean|ShadowOptionsObject);
  90403. /**
  90404. * (Highstock) If true, a checkbox is displayed next to the legend item to
  90405. * allow selecting the series. The state of the checkbox is determined by
  90406. * the `selected` option.
  90407. */
  90408. showCheckbox?: boolean;
  90409. /**
  90410. * (Highstock) Whether to display this particular series or series type in
  90411. * the legend. Standalone series are shown in legend by default, and linked
  90412. * series are not. Since v7.2.0 it is possible to show series that use
  90413. * colorAxis by setting this option to `true`.
  90414. */
  90415. showInLegend?: boolean;
  90416. /**
  90417. * (Highstock) If set to `true`, the accessibility module will skip past the
  90418. * points in this series for keyboard navigation.
  90419. */
  90420. skipKeyboardNavigation?: boolean;
  90421. /**
  90422. * (Highcharts, Highstock) When this is true, the series will not cause the
  90423. * Y axis to cross the zero plane (or threshold option) unless the data
  90424. * actually crosses the plane.
  90425. *
  90426. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  90427. * make the Y axis show negative values according to the `minPadding`
  90428. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  90429. */
  90430. softThreshold?: boolean;
  90431. states?: SeriesStatesOptionsObject;
  90432. /**
  90433. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  90434. * values are `left`, `center` and `right`.
  90435. */
  90436. step?: OptionsStepValue;
  90437. /**
  90438. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  90439. * event on a series isn't triggered until the mouse moves over another
  90440. * series, or out of the plot area. When false, the `mouseOut` event on a
  90441. * series is triggered when the mouse leaves the area around the series'
  90442. * graph or markers. This also implies the tooltip when not shared. When
  90443. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  90444. * be hidden when moving the mouse between series. Defaults to true for line
  90445. * and area type series, but to false for columns, pies etc.
  90446. *
  90447. * **Note:** The boost module will force this option because of technical
  90448. * limitations.
  90449. */
  90450. stickyTracking?: boolean;
  90451. /**
  90452. * (Highstock) A configuration object for the tooltip rendering of each
  90453. * single series. Properties are inherited from tooltip, but only the
  90454. * following properties can be defined on a series level.
  90455. */
  90456. tooltip?: SeriesTooltipOptionsObject;
  90457. /**
  90458. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  90459. * is longer than this, only one dimensional arrays of numbers, or two
  90460. * dimensional arrays with x and y values are allowed. Also, only the first
  90461. * point is tested, and the rest are assumed to be the same format. This
  90462. * saves expensive data checking and indexing in long series. Set it to `0`
  90463. * disable.
  90464. *
  90465. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  90466. * two dimensional arrays are allowed.
  90467. */
  90468. turboThreshold?: number;
  90469. /**
  90470. * (Highstock) Set the initial visibility of the series.
  90471. */
  90472. visible?: boolean;
  90473. /**
  90474. * (Highmaps) Define the z index of the series.
  90475. */
  90476. zIndex?: number;
  90477. /**
  90478. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  90479. */
  90480. zoneAxis?: string;
  90481. /**
  90482. * (Highcharts, Highstock) An array defining zones within a series. Zones
  90483. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  90484. * the `zoneAxis` option. The zone definitions have to be in ascending order
  90485. * regarding to the value.
  90486. *
  90487. * In styled mode, the color zones are styled with the
  90488. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  90489. * option (view live demo).
  90490. */
  90491. zones?: Array<SeriesZonesOptionsObject>;
  90492. }
  90493. /**
  90494. * (Highstock) Paramters used in calculation of Supertrend indicator series
  90495. * points.
  90496. */
  90497. export interface PlotSupertrendParamsOptions {
  90498. index?: string;
  90499. /**
  90500. * (Highstock) Multiplier for Supertrend Indicator.
  90501. */
  90502. multiplier?: number;
  90503. /**
  90504. * (Highstock) The base period for indicator Supertrend Indicator
  90505. * calculations. This is the number of data points which are taken into
  90506. * account for the indicator calculations.
  90507. */
  90508. period?: number;
  90509. }
  90510. /**
  90511. * (Highstock) Enable or disable the initial animation when a series is
  90512. * displayed. The animation can also be set as a configuration object. Please
  90513. * note that this option only applies to the initial animation of the series
  90514. * itself. For other animations, see chart.animation and the animation parameter
  90515. * under the API methods. The following properties are supported:
  90516. *
  90517. * - `defer`: The animation delay time in milliseconds.
  90518. *
  90519. * - `duration`: The duration of the animation in milliseconds.
  90520. *
  90521. * - `easing`: Can be a string reference to an easing function set on the `Math`
  90522. * object or a function. See the _Custom easing function_ demo below.
  90523. *
  90524. * Due to poor performance, animation is disabled in old IE browsers for several
  90525. * chart types.
  90526. */
  90527. export interface PlotTemaAnimationOptions {
  90528. defer?: number;
  90529. }
  90530. /**
  90531. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  90532. * animation when a series is displayed for the `dataLabels`. The animation can
  90533. * also be set as a configuration object. Please note that this option only
  90534. * applies to the initial animation. For other animations, see chart.animation
  90535. * and the animation parameter under the API methods. The following properties
  90536. * are supported:
  90537. *
  90538. * - `defer`: The animation delay time in milliseconds.
  90539. */
  90540. export interface PlotTemaDataLabelsAnimationOptions {
  90541. /**
  90542. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  90543. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  90544. * inherits defer time from the series.animation.defer.
  90545. */
  90546. defer?: number;
  90547. }
  90548. /**
  90549. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  90550. * appearing next to each data point.
  90551. *
  90552. * Since v6.2.0, multiple data labels can be applied to each single point by
  90553. * defining them as an array of configs.
  90554. *
  90555. * In styled mode, the data labels can be styled with the
  90556. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  90557. * example).
  90558. */
  90559. export interface PlotTemaDataLabelsOptions {
  90560. /**
  90561. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  90562. * compared to the point. If `right`, the right side of the label should be
  90563. * touching the point. For points with an extent, like columns, the
  90564. * alignments also dictates how to align it inside the box, as given with
  90565. * the inside option. Can be one of `left`, `center` or `right`.
  90566. */
  90567. align?: (AlignValue|null);
  90568. /**
  90569. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  90570. * overlap. To make the labels less sensitive for overlapping, the
  90571. * dataLabels.padding can be set to 0.
  90572. */
  90573. allowOverlap?: boolean;
  90574. /**
  90575. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  90576. * animation when a series is displayed for the `dataLabels`. The animation
  90577. * can also be set as a configuration object. Please note that this option
  90578. * only applies to the initial animation. For other animations, see
  90579. * chart.animation and the animation parameter under the API methods. The
  90580. * following properties are supported:
  90581. *
  90582. * - `defer`: The animation delay time in milliseconds.
  90583. */
  90584. animation?: (boolean|PlotTemaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  90585. /**
  90586. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  90587. * for the data label.
  90588. */
  90589. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  90590. /**
  90591. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  90592. * label. Defaults to `undefined`.
  90593. */
  90594. borderColor?: (ColorString|GradientColorObject|PatternObject);
  90595. /**
  90596. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  90597. * the data label.
  90598. */
  90599. borderRadius?: number;
  90600. /**
  90601. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  90602. * the data label.
  90603. */
  90604. borderWidth?: number;
  90605. /**
  90606. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  90607. * Particularly in styled mode, this can be used to give each series' or
  90608. * point's data label unique styling. In addition to this option, a default
  90609. * color class name is added so that we can give the labels a contrast text
  90610. * shadow.
  90611. */
  90612. className?: string;
  90613. /**
  90614. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  90615. * labels. Defaults to `undefined`. For certain series types, like column or
  90616. * map, the data labels can be drawn inside the points. In this case the
  90617. * data label will be drawn with maximum contrast by default. Additionally,
  90618. * it will be given a `text-outline` style with the opposite color, to
  90619. * further increase the contrast. This can be overridden by setting the
  90620. * `text-outline` style to `none` in the `dataLabels.style` option.
  90621. */
  90622. color?: (ColorString|GradientColorObject|PatternObject);
  90623. /**
  90624. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  90625. * are outside the plot area. By default, the data label is moved inside the
  90626. * plot area according to the overflow option.
  90627. */
  90628. crop?: boolean;
  90629. /**
  90630. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  90631. * labels until the initial series animation has finished. Setting to
  90632. * `false` renders the data label immediately. If set to `true` inherits the
  90633. * defer time set in plotOptions.series.animation. If set to a number, a
  90634. * defer time is specified in milliseconds.
  90635. */
  90636. defer?: (boolean|number);
  90637. /**
  90638. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  90639. * labels.
  90640. */
  90641. enabled?: boolean;
  90642. /**
  90643. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  90644. * of which data labels to display. The declarative filter is designed for
  90645. * use when callback functions are not available, like when the chart
  90646. * options require a pure JSON structure or for use with graphical editors.
  90647. * For programmatic control, use the `formatter` instead, and return
  90648. * `undefined` to disable a single data label.
  90649. */
  90650. filter?: DataLabelsFilterOptionsObject;
  90651. /**
  90652. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  90653. * label. Available variables are the same as for `formatter`.
  90654. */
  90655. format?: string;
  90656. /**
  90657. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  90658. * format the data label. Note that if a `format` is defined, the format
  90659. * takes precedence and the formatter is ignored.
  90660. */
  90661. formatter?: DataLabelsFormatterCallbackFunction;
  90662. /**
  90663. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  90664. * columns or map areas, whether to align the data label inside the box or
  90665. * to the actual value point. Defaults to `false` in most cases, `true` in
  90666. * stacked columns.
  90667. */
  90668. inside?: boolean;
  90669. /**
  90670. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  90671. * of null. Works analogously to format. `nullFormat` can be applied only to
  90672. * series which support displaying null points.
  90673. */
  90674. nullFormat?: (boolean|string);
  90675. /**
  90676. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  90677. * that defines formatting for points with the value of null. Works
  90678. * analogously to formatter. `nullPointFormatter` can be applied only to
  90679. * series which support displaying null points.
  90680. */
  90681. nullFormatter?: DataLabelsFormatterCallbackFunction;
  90682. /**
  90683. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  90684. * flow outside the plot area. The default is `"justify"`, which aligns them
  90685. * inside the plot area. For columns and bars, this means it will be moved
  90686. * inside the bar. To display data labels outside the plot area, set `crop`
  90687. * to `false` and `overflow` to `"allow"`.
  90688. */
  90689. overflow?: DataLabelsOverflowValue;
  90690. /**
  90691. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  90692. * the `backgroundColor` is set, this is the padding within the box.
  90693. */
  90694. padding?: number;
  90695. /**
  90696. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  90697. * points. If `center` alignment is not possible, it defaults to `right`.
  90698. */
  90699. position?: AlignValue;
  90700. /**
  90701. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  90702. * that due to a more complex structure, backgrounds, borders and padding
  90703. * will be lost on a rotated data label.
  90704. */
  90705. rotation?: number;
  90706. /**
  90707. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  90708. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  90709. * an object configuration containing `color`, `offsetX`, `offsetY`,
  90710. * `opacity` and `width`.
  90711. */
  90712. shadow?: (boolean|ShadowOptionsObject);
  90713. /**
  90714. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  90715. * the border around the label. Symbols are predefined functions on the
  90716. * Renderer object.
  90717. */
  90718. shape?: string;
  90719. /**
  90720. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  90721. * default `color` setting is `"contrast"`, which is a pseudo color that
  90722. * Highcharts picks up and applies the maximum contrast to the underlying
  90723. * point item, for example the bar in a bar chart.
  90724. *
  90725. * The `textOutline` is a pseudo property that applies an outline of the
  90726. * given width with the given color, which by default is the maximum
  90727. * contrast to the text. So a bright text color will result in a black text
  90728. * outline for maximum readability on a mixed background. In some cases,
  90729. * especially with grayscale text, the text outline doesn't work well, in
  90730. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  90731. * is true, the `textOutline` will not be picked up. In this, case, the same
  90732. * effect can be acheived through the `text-shadow` CSS property.
  90733. *
  90734. * For some series types, where each point has an extent, like for example
  90735. * tree maps, the data label may overflow the point. There are two
  90736. * strategies for handling overflow. By default, the text will wrap to
  90737. * multiple lines. The other strategy is to set `style.textOverflow` to
  90738. * `ellipsis`, which will keep the text on one line plus it will break
  90739. * inside long words.
  90740. */
  90741. style?: CSSObject;
  90742. /**
  90743. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  90744. * should follow marker's shape. Border and background are disabled for a
  90745. * label that follows a path.
  90746. *
  90747. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  90748. * to true will disable this option.
  90749. */
  90750. textPath?: DataLabelsTextPathOptionsObject;
  90751. /**
  90752. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  90753. * the labels.
  90754. */
  90755. useHTML?: boolean;
  90756. /**
  90757. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  90758. * label. Can be one of `top`, `middle` or `bottom`. The default value
  90759. * depends on the data, for instance in a column chart, the label is above
  90760. * positive values and below negative values.
  90761. */
  90762. verticalAlign?: (VerticalAlignValue|null);
  90763. /**
  90764. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  90765. * label relative to the point in pixels.
  90766. */
  90767. x?: number;
  90768. /**
  90769. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  90770. * label relative to the point in pixels.
  90771. */
  90772. y?: number;
  90773. /**
  90774. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  90775. * The default Z index puts it above the series. Use a Z index of 2 to
  90776. * display it behind the series.
  90777. */
  90778. z?: number;
  90779. }
  90780. /**
  90781. * (Highcharts, Highstock) Options for the series data sorting.
  90782. */
  90783. export interface PlotTemaDataSortingOptions {
  90784. /**
  90785. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  90786. * Use xAxis.reversed to change the sorting order.
  90787. */
  90788. enabled?: boolean;
  90789. /**
  90790. * (Highcharts, Highstock) Whether to allow matching points by name in an
  90791. * update. If this option is disabled, points will be matched by order.
  90792. */
  90793. matchByName?: boolean;
  90794. /**
  90795. * (Highcharts, Highstock) Determines what data value should be used to sort
  90796. * by.
  90797. */
  90798. sortKey?: string;
  90799. }
  90800. /**
  90801. * (Highstock) Triple exponential moving average (TEMA) indicator. This series
  90802. * requires `linkedTo` option to be set and should be loaded after the
  90803. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  90804. *
  90805. * In TypeScript the type option must always be set.
  90806. *
  90807. * Configuration options for the series are given in three levels:
  90808. *
  90809. * 1. Options for all series in a chart are defined in the plotOptions.series
  90810. * object.
  90811. *
  90812. * 2. Options for all `tema` series are defined in plotOptions.tema.
  90813. *
  90814. * 3. Options for one single series are given in the series instance array. (see
  90815. * online documentation for example)
  90816. */
  90817. export interface PlotTemaOptions {
  90818. /**
  90819. * (Highstock) Accessibility options for a series.
  90820. */
  90821. accessibility?: SeriesAccessibilityOptionsObject;
  90822. /**
  90823. * (Highstock) Allow this series' points to be selected by clicking on the
  90824. * graphic (columns, point markers, pie slices, map areas etc).
  90825. *
  90826. * The selected points can be handled by point select and unselect events,
  90827. * or collectively by the getSelectedPoints function.
  90828. *
  90829. * And alternative way of selecting points is through dragging.
  90830. */
  90831. allowPointSelect?: boolean;
  90832. /**
  90833. * (Highstock) Enable or disable the initial animation when a series is
  90834. * displayed. The animation can also be set as a configuration object.
  90835. * Please note that this option only applies to the initial animation of the
  90836. * series itself. For other animations, see chart.animation and the
  90837. * animation parameter under the API methods. The following properties are
  90838. * supported:
  90839. *
  90840. * - `defer`: The animation delay time in milliseconds.
  90841. *
  90842. * - `duration`: The duration of the animation in milliseconds.
  90843. *
  90844. * - `easing`: Can be a string reference to an easing function set on the
  90845. * `Math` object or a function. See the _Custom easing function_ demo below.
  90846. *
  90847. * Due to poor performance, animation is disabled in old IE browsers for
  90848. * several chart types.
  90849. */
  90850. animation?: (boolean|PlotTemaAnimationOptions|Partial<AnimationOptionsObject>);
  90851. /**
  90852. * (Highstock) For some series, there is a limit that shuts down initial
  90853. * animation by default when the total number of points in the chart is too
  90854. * high. For example, for a column chart and its derivatives, animation does
  90855. * not run if there is more than 250 points totally. To disable this cap,
  90856. * set `animationLimit` to `Infinity`.
  90857. */
  90858. animationLimit?: number;
  90859. /**
  90860. * (Highstock) Sets the color blending in the boost module.
  90861. */
  90862. boostBlending?: OptionsBoostBlendingValue;
  90863. /**
  90864. * (Highstock) Set the point threshold for when a series should enter boost
  90865. * mode.
  90866. *
  90867. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  90868. * there are 2000 or more points in the series.
  90869. *
  90870. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  90871. * it to 1 will force boosting.
  90872. *
  90873. * Note that the cropThreshold also affects this setting. When zooming in on
  90874. * a series that has fewer points than the `cropThreshold`, all points are
  90875. * rendered although outside the visible plot area, and the `boostThreshold`
  90876. * won't take effect.
  90877. */
  90878. boostThreshold?: number;
  90879. /**
  90880. * (Highmaps) The border color of the map areas.
  90881. *
  90882. * In styled mode, the border stroke is given in the `.highcharts-point`
  90883. * class.
  90884. */
  90885. borderColor?: (ColorString|GradientColorObject|PatternObject);
  90886. /**
  90887. * (Highmaps) The border width of each map area.
  90888. *
  90889. * In styled mode, the border stroke width is given in the
  90890. * `.highcharts-point` class.
  90891. */
  90892. borderWidth?: number;
  90893. /**
  90894. * (Highstock) An additional class name to apply to the series' graphical
  90895. * elements. This option does not replace default class names of the
  90896. * graphical element.
  90897. */
  90898. className?: string;
  90899. /**
  90900. * (Highstock) Disable this option to allow series rendering in the whole
  90901. * plotting area.
  90902. *
  90903. * **Note:** Clipping should be always enabled when chart.zoomType is set
  90904. */
  90905. clip?: boolean;
  90906. /**
  90907. * (Highstock) The main color of the series. In line type series it applies
  90908. * to the line and the point markers unless otherwise specified. In bar type
  90909. * series it applies to the bars unless a color is specified per point. The
  90910. * default value is pulled from the `options.colors` array.
  90911. *
  90912. * In styled mode, the color can be defined by the colorIndex option. Also,
  90913. * the series color can be set with the `.highcharts-series`,
  90914. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  90915. * `.highcharts-series-{n}` class, or individual classes given by the
  90916. * `className` option.
  90917. */
  90918. color?: (ColorString|GradientColorObject|PatternObject);
  90919. /**
  90920. * (Highstock) Styled mode only. A specific color index to use for the
  90921. * series, so its graphic representations are given the class name
  90922. * `highcharts-color-{n}`.
  90923. */
  90924. colorIndex?: number;
  90925. /**
  90926. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  90927. * used to calculate point color if `colorAxis` is used. Requires to set
  90928. * `min` and `max` if some custom point property is used or if approximation
  90929. * for data grouping is set to `'sum'`.
  90930. */
  90931. colorKey?: string;
  90932. /**
  90933. * (Highstock) Defines if comparison should start from the first point
  90934. * within the visible range or should start from the first point **before**
  90935. * the range.
  90936. *
  90937. * In other words, this flag determines if first point within the visible
  90938. * range will have 0% (`compareStart=true`) or should have been already
  90939. * calculated according to the previous point (`compareStart=false`).
  90940. */
  90941. compareStart?: boolean;
  90942. /**
  90943. * (Highstock) Whether to compare indicator to the main series values or
  90944. * indicator values.
  90945. */
  90946. compareToMain?: boolean;
  90947. /**
  90948. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  90949. * series plot across the extremes.
  90950. */
  90951. connectEnds?: boolean;
  90952. /**
  90953. * (Highcharts, Highstock) Whether to connect a graph line across null
  90954. * points, or render a gap between the two points on either side of the
  90955. * null.
  90956. */
  90957. connectNulls?: boolean;
  90958. /**
  90959. * (Gantt) Override Pathfinder connector options for a series. Requires
  90960. * Highcharts Gantt to be loaded.
  90961. */
  90962. connectors?: SeriesConnectorsOptionsObject;
  90963. /**
  90964. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  90965. * rounded to its nearest pixel in order to render sharp on screen. In some
  90966. * cases, when there are a lot of densely packed columns, this leads to
  90967. * visible difference in column widths or distance between columns. In these
  90968. * cases, setting `crisp` to `false` may look better, even though each
  90969. * column is rendered blurry.
  90970. */
  90971. crisp?: boolean;
  90972. /**
  90973. * (Highcharts, Highstock) When the series contains less points than the
  90974. * crop threshold, all points are drawn, even if the points fall outside the
  90975. * visible plot area at the current zoom. The advantage of drawing all
  90976. * points (including markers and columns), is that animation is performed on
  90977. * updates. On the other hand, when the series contains more points than the
  90978. * crop threshold, the series data is cropped to only contain points that
  90979. * fall within the plot area. The advantage of cropping away invisible
  90980. * points is to increase performance on large series.
  90981. */
  90982. cropThreshold?: number;
  90983. /**
  90984. * (Highstock) You can set the cursor to "pointer" if you have click events
  90985. * attached to the series, to signal to the user that the points and lines
  90986. * can be clicked.
  90987. *
  90988. * In styled mode, the series cursor can be set with the same classes as
  90989. * listed under series.color.
  90990. */
  90991. cursor?: (string|CursorValue);
  90992. /**
  90993. * (Highstock) A reserved subspace to store options and values for
  90994. * customized functionality. Here you can add additional data for your own
  90995. * event callbacks and formatter callbacks.
  90996. */
  90997. custom?: Dictionary<any>;
  90998. /**
  90999. * (Highstock) Name of the dash style to use for the graph, or for some
  91000. * series types the outline of each shape.
  91001. *
  91002. * In styled mode, the stroke dash-array can be set with the same classes as
  91003. * listed under series.color.
  91004. */
  91005. dashStyle?: DashStyleValue;
  91006. /**
  91007. * (Highstock) Data grouping is the concept of sampling the data values into
  91008. * larger blocks in order to ease readability and increase performance of
  91009. * the JavaScript charts. Highcharts Stock by default applies data grouping
  91010. * when the points become closer than a certain pixel value, determined by
  91011. * the `groupPixelWidth` option.
  91012. *
  91013. * If data grouping is applied, the grouping information of grouped points
  91014. * can be read from the Point.dataGroup. If point options other than the
  91015. * data itself are set, for example `name` or `color` or custom properties,
  91016. * the grouping logic doesn't know how to group it. In this case the options
  91017. * of the first point instance are copied over to the group point. This can
  91018. * be altered through a custom `approximation` callback function.
  91019. */
  91020. dataGrouping?: DataGroupingOptionsObject;
  91021. /**
  91022. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  91023. * labels, appearing next to each data point.
  91024. *
  91025. * Since v6.2.0, multiple data labels can be applied to each single point by
  91026. * defining them as an array of configs.
  91027. *
  91028. * In styled mode, the data labels can be styled with the
  91029. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  91030. * (see example).
  91031. */
  91032. dataLabels?: (PlotTemaDataLabelsOptions|Array<PlotTemaDataLabelsOptions>);
  91033. /**
  91034. * (Highcharts, Highstock) Options for the series data sorting.
  91035. */
  91036. dataSorting?: (DataSortingOptionsObject|PlotTemaDataSortingOptions);
  91037. /**
  91038. * (Highstock) A description of the series to add to the screen reader
  91039. * information about the series.
  91040. */
  91041. description?: string;
  91042. /**
  91043. * (Highstock) Enable or disable the mouse tracking for a specific series.
  91044. * This includes point tooltips and click events on graphs and points. For
  91045. * large datasets it improves performance.
  91046. */
  91047. enableMouseTracking?: boolean;
  91048. /**
  91049. * (Highstock) General event handlers for the series items. These event
  91050. * hooks can also be attached to the series at run time using the
  91051. * `Highcharts.addEvent` function.
  91052. */
  91053. events?: SeriesEventsOptionsObject;
  91054. /**
  91055. * (Highstock) Determines whether the series should look for the nearest
  91056. * point in both dimensions or just the x-dimension when hovering the
  91057. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  91058. * series. If the data has duplicate x-values, it is recommended to set this
  91059. * to `'xy'` to allow hovering over all points.
  91060. *
  91061. * Applies only to series types using nearest neighbor search (not direct
  91062. * hover) for tooltip.
  91063. */
  91064. findNearestPointBy?: OptionsFindNearestPointByValue;
  91065. /**
  91066. * (Highstock) Defines when to display a gap in the graph, together with the
  91067. * gapUnit option.
  91068. *
  91069. * In case when `dataGrouping` is enabled, points can be grouped into a
  91070. * larger time span. This can make the grouped points to have a greater
  91071. * distance than the absolute value of `gapSize` property, which will result
  91072. * in disappearing graph completely. To prevent this situation the mentioned
  91073. * distance between grouped points is used instead of previously defined
  91074. * `gapSize`.
  91075. *
  91076. * In practice, this option is most often used to visualize gaps in time
  91077. * series. In a stock chart, intraday data is available for daytime hours,
  91078. * while gaps will appear in nights and weekends.
  91079. */
  91080. gapSize?: number;
  91081. /**
  91082. * (Highstock) Together with gapSize, this option defines where to draw gaps
  91083. * in the graph.
  91084. *
  91085. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  91086. * if the distance between two points is greater than 5 times that of the
  91087. * two closest points, the graph will be broken.
  91088. *
  91089. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  91090. * values, which on a datetime axis is milliseconds. This also applies to
  91091. * the navigator series that inherits gap options from the base series.
  91092. */
  91093. gapUnit?: OptionsGapUnitValue;
  91094. /**
  91095. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  91096. * chart width or only the zoomed area when zooming in on parts of the X
  91097. * axis. By default, the Y axis adjusts to the min and max of the visible
  91098. * data. Cartesian series only.
  91099. */
  91100. getExtremesFromAll?: boolean;
  91101. /**
  91102. * (Highstock) When set to `false` will prevent the series data from being
  91103. * included in any form of data export.
  91104. *
  91105. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  91106. * `includeInCSVExport`.
  91107. */
  91108. includeInDataExport?: boolean;
  91109. /**
  91110. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  91111. * series as possible in a natural way, seeking to avoid other series. The
  91112. * goal of this feature is to make the chart more easily readable, like if a
  91113. * human designer placed the labels in the optimal position.
  91114. *
  91115. * The series labels currently work with series types having a `graph` or an
  91116. * `area`.
  91117. */
  91118. label?: SeriesLabelOptionsObject;
  91119. /**
  91120. * (Highstock) The line marks the last price from all points.
  91121. */
  91122. lastPrice?: SeriesLastPriceOptionsObject;
  91123. /**
  91124. * (Highstock) The line marks the last price from visible range of points.
  91125. */
  91126. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  91127. /**
  91128. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  91129. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  91130. * the ends and bends.
  91131. */
  91132. linecap?: SeriesLinecapValue;
  91133. /**
  91134. * (Highcharts, Highstock) Pixel width of the graph line.
  91135. */
  91136. lineWidth?: number;
  91137. /**
  91138. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  91139. * based on. Required for this indicator.
  91140. */
  91141. linkedTo?: string;
  91142. /**
  91143. * (Highstock) Options for the point markers of line-like series. Properties
  91144. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  91145. * appearance of the markers. Other series types, like column series, don't
  91146. * have markers, but have visual options on the series level instead.
  91147. *
  91148. * In styled mode, the markers can be styled with the `.highcharts-point`,
  91149. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  91150. */
  91151. marker?: PointMarkerOptionsObject;
  91152. /**
  91153. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  91154. * If not set, it will be based on a technical indicator type and default
  91155. * params.
  91156. */
  91157. name?: string;
  91158. /**
  91159. * (Highstock) The color for the parts of the graph or points that are below
  91160. * the threshold. Note that `zones` takes precedence over the negative
  91161. * color. Using `negativeColor` is equivalent to applying a zone with value
  91162. * of 0.
  91163. */
  91164. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  91165. /**
  91166. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  91167. * dataLabels.
  91168. */
  91169. opacity?: number;
  91170. /**
  91171. * (Highstock) Paramters used in calculation of regression series' points.
  91172. */
  91173. params?: PlotTemaParamsOptions;
  91174. /**
  91175. * (Highstock) Properties for each single point.
  91176. */
  91177. point?: PlotSeriesPointOptions;
  91178. /**
  91179. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  91180. * individual series. Overrides the chart wide configuration.
  91181. */
  91182. pointDescriptionFormatter?: Function;
  91183. /**
  91184. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  91185. * true, the checkbox next to the series name in the legend will be checked
  91186. * for a selected series.
  91187. */
  91188. selected?: boolean;
  91189. /**
  91190. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  91191. * the shadow can be an object configuration containing `color`, `offsetX`,
  91192. * `offsetY`, `opacity` and `width`.
  91193. */
  91194. shadow?: (boolean|ShadowOptionsObject);
  91195. /**
  91196. * (Highstock) If true, a checkbox is displayed next to the legend item to
  91197. * allow selecting the series. The state of the checkbox is determined by
  91198. * the `selected` option.
  91199. */
  91200. showCheckbox?: boolean;
  91201. /**
  91202. * (Highstock) Whether to display this particular series or series type in
  91203. * the legend. Standalone series are shown in legend by default, and linked
  91204. * series are not. Since v7.2.0 it is possible to show series that use
  91205. * colorAxis by setting this option to `true`.
  91206. */
  91207. showInLegend?: boolean;
  91208. /**
  91209. * (Highstock) If set to `true`, the accessibility module will skip past the
  91210. * points in this series for keyboard navigation.
  91211. */
  91212. skipKeyboardNavigation?: boolean;
  91213. /**
  91214. * (Highcharts, Highstock) When this is true, the series will not cause the
  91215. * Y axis to cross the zero plane (or threshold option) unless the data
  91216. * actually crosses the plane.
  91217. *
  91218. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  91219. * make the Y axis show negative values according to the `minPadding`
  91220. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  91221. */
  91222. softThreshold?: boolean;
  91223. states?: SeriesStatesOptionsObject;
  91224. /**
  91225. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  91226. * values are `left`, `center` and `right`.
  91227. */
  91228. step?: OptionsStepValue;
  91229. /**
  91230. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  91231. * event on a series isn't triggered until the mouse moves over another
  91232. * series, or out of the plot area. When false, the `mouseOut` event on a
  91233. * series is triggered when the mouse leaves the area around the series'
  91234. * graph or markers. This also implies the tooltip when not shared. When
  91235. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  91236. * be hidden when moving the mouse between series. Defaults to true for line
  91237. * and area type series, but to false for columns, pies etc.
  91238. *
  91239. * **Note:** The boost module will force this option because of technical
  91240. * limitations.
  91241. */
  91242. stickyTracking?: boolean;
  91243. /**
  91244. * (Highcharts, Highstock) The threshold, also called zero level or base
  91245. * level. For line type series this is only used in conjunction with
  91246. * negativeColor.
  91247. */
  91248. threshold?: (number|null);
  91249. /**
  91250. * (Highstock) A configuration object for the tooltip rendering of each
  91251. * single series. Properties are inherited from tooltip, but only the
  91252. * following properties can be defined on a series level.
  91253. */
  91254. tooltip?: SeriesTooltipOptionsObject;
  91255. /**
  91256. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  91257. * is longer than this, only one dimensional arrays of numbers, or two
  91258. * dimensional arrays with x and y values are allowed. Also, only the first
  91259. * point is tested, and the rest are assumed to be the same format. This
  91260. * saves expensive data checking and indexing in long series. Set it to `0`
  91261. * disable.
  91262. *
  91263. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  91264. * two dimensional arrays are allowed.
  91265. */
  91266. turboThreshold?: number;
  91267. /**
  91268. * (Highstock) Set the initial visibility of the series.
  91269. */
  91270. visible?: boolean;
  91271. /**
  91272. * (Highmaps) Define the z index of the series.
  91273. */
  91274. zIndex?: number;
  91275. /**
  91276. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  91277. */
  91278. zoneAxis?: string;
  91279. /**
  91280. * (Highcharts, Highstock) An array defining zones within a series. Zones
  91281. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  91282. * the `zoneAxis` option. The zone definitions have to be in ascending order
  91283. * regarding to the value.
  91284. *
  91285. * In styled mode, the color zones are styled with the
  91286. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  91287. * option (view live demo).
  91288. */
  91289. zones?: Array<SeriesZonesOptionsObject>;
  91290. }
  91291. /**
  91292. * (Highstock) Paramters used in calculation of regression series' points.
  91293. */
  91294. export interface PlotTemaParamsOptions {
  91295. /**
  91296. * (Highstock) The point index which indicator calculations will base. For
  91297. * example using OHLC data, index=2 means the indicator will be calculated
  91298. * using Low values.
  91299. *
  91300. * By default index value used to be set to 0. Since Highcharts Stock 7 by
  91301. * default index is set to 3 which means that the ema indicator will be
  91302. * calculated using Close values.
  91303. */
  91304. index?: number;
  91305. /**
  91306. * (Highstock) The base period for indicator calculations. This is the
  91307. * number of data points which are taken into account for the indicator
  91308. * calculations.
  91309. */
  91310. period?: number;
  91311. }
  91312. /**
  91313. * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
  91314. * series.
  91315. */
  91316. export interface PlotTilemapAnimationOptions {
  91317. defer?: number;
  91318. }
  91319. /**
  91320. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  91321. * animation when a series is displayed for the `dataLabels`. The animation can
  91322. * also be set as a configuration object. Please note that this option only
  91323. * applies to the initial animation. For other animations, see chart.animation
  91324. * and the animation parameter under the API methods. The following properties
  91325. * are supported:
  91326. *
  91327. * - `defer`: The animation delay time in milliseconds.
  91328. */
  91329. export interface PlotTilemapDataLabelsAnimationOptions {
  91330. /**
  91331. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  91332. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  91333. * inherits defer time from the series.animation.defer.
  91334. */
  91335. defer?: number;
  91336. }
  91337. /**
  91338. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  91339. * appearing next to each data point.
  91340. *
  91341. * Since v6.2.0, multiple data labels can be applied to each single point by
  91342. * defining them as an array of configs.
  91343. *
  91344. * In styled mode, the data labels can be styled with the
  91345. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  91346. * example).
  91347. */
  91348. export interface PlotTilemapDataLabelsOptions {
  91349. /**
  91350. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  91351. * compared to the point. If `right`, the right side of the label should be
  91352. * touching the point. For points with an extent, like columns, the
  91353. * alignments also dictates how to align it inside the box, as given with
  91354. * the inside option. Can be one of `left`, `center` or `right`.
  91355. */
  91356. align?: (AlignValue|null);
  91357. /**
  91358. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  91359. * overlap. To make the labels less sensitive for overlapping, the
  91360. * dataLabels.padding can be set to 0.
  91361. */
  91362. allowOverlap?: boolean;
  91363. /**
  91364. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  91365. * animation when a series is displayed for the `dataLabels`. The animation
  91366. * can also be set as a configuration object. Please note that this option
  91367. * only applies to the initial animation. For other animations, see
  91368. * chart.animation and the animation parameter under the API methods. The
  91369. * following properties are supported:
  91370. *
  91371. * - `defer`: The animation delay time in milliseconds.
  91372. */
  91373. animation?: (boolean|PlotTilemapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  91374. /**
  91375. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  91376. * for the data label.
  91377. */
  91378. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  91379. /**
  91380. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  91381. * label. Defaults to `undefined`.
  91382. */
  91383. borderColor?: (ColorString|GradientColorObject|PatternObject);
  91384. /**
  91385. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  91386. * the data label.
  91387. */
  91388. borderRadius?: number;
  91389. /**
  91390. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  91391. * the data label.
  91392. */
  91393. borderWidth?: number;
  91394. /**
  91395. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  91396. * Particularly in styled mode, this can be used to give each series' or
  91397. * point's data label unique styling. In addition to this option, a default
  91398. * color class name is added so that we can give the labels a contrast text
  91399. * shadow.
  91400. */
  91401. className?: string;
  91402. /**
  91403. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  91404. * labels. Defaults to `undefined`. For certain series types, like column or
  91405. * map, the data labels can be drawn inside the points. In this case the
  91406. * data label will be drawn with maximum contrast by default. Additionally,
  91407. * it will be given a `text-outline` style with the opposite color, to
  91408. * further increase the contrast. This can be overridden by setting the
  91409. * `text-outline` style to `none` in the `dataLabels.style` option.
  91410. */
  91411. color?: (ColorString|GradientColorObject|PatternObject);
  91412. /**
  91413. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  91414. * are outside the plot area. By default, the data label is moved inside the
  91415. * plot area according to the overflow option.
  91416. */
  91417. crop?: boolean;
  91418. /**
  91419. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  91420. * labels until the initial series animation has finished. Setting to
  91421. * `false` renders the data label immediately. If set to `true` inherits the
  91422. * defer time set in plotOptions.series.animation. If set to a number, a
  91423. * defer time is specified in milliseconds.
  91424. */
  91425. defer?: (boolean|number);
  91426. /**
  91427. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  91428. * labels.
  91429. */
  91430. enabled?: boolean;
  91431. /**
  91432. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  91433. * of which data labels to display. The declarative filter is designed for
  91434. * use when callback functions are not available, like when the chart
  91435. * options require a pure JSON structure or for use with graphical editors.
  91436. * For programmatic control, use the `formatter` instead, and return
  91437. * `undefined` to disable a single data label.
  91438. */
  91439. filter?: DataLabelsFilterOptionsObject;
  91440. /**
  91441. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  91442. * label. Available variables are the same as for `formatter`.
  91443. */
  91444. format?: string;
  91445. /**
  91446. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  91447. * format the data label. Note that if a `format` is defined, the format
  91448. * takes precedence and the formatter is ignored.
  91449. */
  91450. formatter?: DataLabelsFormatterCallbackFunction;
  91451. /**
  91452. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  91453. * columns or map areas, whether to align the data label inside the box or
  91454. * to the actual value point. Defaults to `false` in most cases, `true` in
  91455. * stacked columns.
  91456. */
  91457. inside?: boolean;
  91458. /**
  91459. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  91460. * of null. Works analogously to format. `nullFormat` can be applied only to
  91461. * series which support displaying null points.
  91462. */
  91463. nullFormat?: (boolean|string);
  91464. /**
  91465. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  91466. * that defines formatting for points with the value of null. Works
  91467. * analogously to formatter. `nullPointFormatter` can be applied only to
  91468. * series which support displaying null points.
  91469. */
  91470. nullFormatter?: DataLabelsFormatterCallbackFunction;
  91471. /**
  91472. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  91473. * flow outside the plot area. The default is `"justify"`, which aligns them
  91474. * inside the plot area. For columns and bars, this means it will be moved
  91475. * inside the bar. To display data labels outside the plot area, set `crop`
  91476. * to `false` and `overflow` to `"allow"`.
  91477. */
  91478. overflow?: boolean;
  91479. /**
  91480. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  91481. * the `backgroundColor` is set, this is the padding within the box.
  91482. */
  91483. padding?: number;
  91484. /**
  91485. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  91486. * points. If `center` alignment is not possible, it defaults to `right`.
  91487. */
  91488. position?: AlignValue;
  91489. /**
  91490. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  91491. * that due to a more complex structure, backgrounds, borders and padding
  91492. * will be lost on a rotated data label.
  91493. */
  91494. rotation?: number;
  91495. /**
  91496. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  91497. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  91498. * an object configuration containing `color`, `offsetX`, `offsetY`,
  91499. * `opacity` and `width`.
  91500. */
  91501. shadow?: (boolean|ShadowOptionsObject);
  91502. /**
  91503. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  91504. * the border around the label. Symbols are predefined functions on the
  91505. * Renderer object.
  91506. */
  91507. shape?: string;
  91508. /**
  91509. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  91510. * default `color` setting is `"contrast"`, which is a pseudo color that
  91511. * Highcharts picks up and applies the maximum contrast to the underlying
  91512. * point item, for example the bar in a bar chart.
  91513. *
  91514. * The `textOutline` is a pseudo property that applies an outline of the
  91515. * given width with the given color, which by default is the maximum
  91516. * contrast to the text. So a bright text color will result in a black text
  91517. * outline for maximum readability on a mixed background. In some cases,
  91518. * especially with grayscale text, the text outline doesn't work well, in
  91519. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  91520. * is true, the `textOutline` will not be picked up. In this, case, the same
  91521. * effect can be acheived through the `text-shadow` CSS property.
  91522. *
  91523. * For some series types, where each point has an extent, like for example
  91524. * tree maps, the data label may overflow the point. There are two
  91525. * strategies for handling overflow. By default, the text will wrap to
  91526. * multiple lines. The other strategy is to set `style.textOverflow` to
  91527. * `ellipsis`, which will keep the text on one line plus it will break
  91528. * inside long words.
  91529. */
  91530. style?: CSSObject;
  91531. /**
  91532. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  91533. * should follow marker's shape. Border and background are disabled for a
  91534. * label that follows a path.
  91535. *
  91536. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  91537. * to true will disable this option.
  91538. */
  91539. textPath?: DataLabelsTextPathOptionsObject;
  91540. /**
  91541. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  91542. * the labels.
  91543. */
  91544. useHTML?: boolean;
  91545. /**
  91546. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  91547. * label. Can be one of `top`, `middle` or `bottom`. The default value
  91548. * depends on the data, for instance in a column chart, the label is above
  91549. * positive values and below negative values.
  91550. */
  91551. verticalAlign?: string;
  91552. /**
  91553. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  91554. * label relative to the point in pixels.
  91555. */
  91556. x?: number;
  91557. /**
  91558. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  91559. * label relative to the point in pixels.
  91560. */
  91561. y?: number;
  91562. /**
  91563. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  91564. * The default Z index puts it above the series. Use a Z index of 2 to
  91565. * display it behind the series.
  91566. */
  91567. z?: number;
  91568. }
  91569. /**
  91570. * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
  91571. * state by default, the `default` state.
  91572. */
  91573. export interface PlotTilemapDragDropGuideBoxOptions {
  91574. /**
  91575. * (Highcharts, Highmaps) Style options for the guide box default state.
  91576. */
  91577. default?: DragDropGuideBoxOptionsObject;
  91578. }
  91579. /**
  91580. * (Highcharts, Highmaps) A tilemap series is a type of heatmap where the tile
  91581. * shapes are configurable.
  91582. *
  91583. * In TypeScript the type option must always be set.
  91584. *
  91585. * Configuration options for the series are given in three levels:
  91586. *
  91587. * 1. Options for all series in a chart are defined in the plotOptions.series
  91588. * object.
  91589. *
  91590. * 2. Options for all `tilemap` series are defined in plotOptions.tilemap.
  91591. *
  91592. * 3. Options for one single series are given in the series instance array. (see
  91593. * online documentation for example)
  91594. */
  91595. export interface PlotTilemapOptions {
  91596. /**
  91597. * (Highcharts, Highmaps) Accessibility options for a series.
  91598. */
  91599. accessibility?: SeriesAccessibilityOptionsObject;
  91600. /**
  91601. * (Highcharts, Highmaps) Allow this series' points to be selected by
  91602. * clicking on the graphic (columns, point markers, pie slices, map areas
  91603. * etc).
  91604. *
  91605. * The selected points can be handled by point select and unselect events,
  91606. * or collectively by the getSelectedPoints function.
  91607. *
  91608. * And alternative way of selecting points is through dragging.
  91609. */
  91610. allowPointSelect?: boolean;
  91611. /**
  91612. * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
  91613. * series.
  91614. */
  91615. animation?: (boolean|PlotTilemapAnimationOptions);
  91616. /**
  91617. * (Highmaps) The border color of the map areas.
  91618. *
  91619. * In styled mode, the border stroke is given in the `.highcharts-point`
  91620. * class.
  91621. */
  91622. borderColor?: (ColorString|GradientColorObject|PatternObject);
  91623. /**
  91624. * (Highmaps) The border width for each heat map item.
  91625. */
  91626. borderWidth?: number;
  91627. /**
  91628. * (Highcharts, Highmaps) An additional class name to apply to the series'
  91629. * graphical elements. This option does not replace default class names of
  91630. * the graphical element.
  91631. */
  91632. className?: string;
  91633. /**
  91634. * (Highcharts, Highmaps) Disable this option to allow series rendering in
  91635. * the whole plotting area.
  91636. *
  91637. * **Note:** Clipping should be always enabled when chart.zoomType is set
  91638. */
  91639. clip?: boolean;
  91640. /**
  91641. * (Highcharts) The main color of the series. In heat maps this color is
  91642. * rarely used, as we mostly use the color to denote the value of each
  91643. * point. Unless options are set in the colorAxis, the default value is
  91644. * pulled from the options.colors array.
  91645. */
  91646. color?: (ColorString|GradientColorObject|PatternObject);
  91647. /**
  91648. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  91649. * this number defines which colorAxis the particular series is connected
  91650. * to. It refers to either the axis id or the index of the axis in the
  91651. * colorAxis array, with 0 being the first. Set this option to false to
  91652. * prevent a series from connecting to the default color axis.
  91653. *
  91654. * Since v7.2.0 the option can also be an axis id or an axis index instead
  91655. * of a boolean flag.
  91656. */
  91657. colorAxis?: (boolean|number|string);
  91658. /**
  91659. * (Highcharts, Highmaps) Styled mode only. A specific color index to use
  91660. * for the series, so its graphic representations are given the class name
  91661. * `highcharts-color-{n}`.
  91662. */
  91663. colorIndex?: number;
  91664. /**
  91665. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  91666. * used to calculate point color if `colorAxis` is used. Requires to set
  91667. * `min` and `max` if some custom point property is used or if approximation
  91668. * for data grouping is set to `'sum'`.
  91669. */
  91670. colorKey?: string;
  91671. /**
  91672. * (Highcharts, Highmaps) The column size - how many X axis units each
  91673. * column in the tilemap should span. Works as in Heatmaps.
  91674. */
  91675. colsize?: number;
  91676. /**
  91677. * (Highstock) Compare the values of the series against the first non-null,
  91678. * non- zero value in the visible range. The y axis will show percentage or
  91679. * absolute change depending on whether `compare` is set to `"percent"` or
  91680. * `"value"`. When this is applied to multiple series, it allows comparing
  91681. * the development of the series against each other. Adds a `change` field
  91682. * to every point object.
  91683. */
  91684. compare?: string;
  91685. /**
  91686. * (Highstock) When compare is `percent`, this option dictates whether to
  91687. * use 0 or 100 as the base of comparison.
  91688. */
  91689. compareBase?: (0|100);
  91690. /**
  91691. * (Highstock) Defines if comparison should start from the first point
  91692. * within the visible range or should start from the first point **before**
  91693. * the range.
  91694. *
  91695. * In other words, this flag determines if first point within the visible
  91696. * range will have 0% (`compareStart=true`) or should have been already
  91697. * calculated according to the previous point (`compareStart=false`).
  91698. */
  91699. compareStart?: boolean;
  91700. /**
  91701. * (Gantt) Override Pathfinder connector options for a series. Requires
  91702. * Highcharts Gantt to be loaded.
  91703. */
  91704. connectors?: SeriesConnectorsOptionsObject;
  91705. /**
  91706. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  91707. * rounded to its nearest pixel in order to render sharp on screen. In some
  91708. * cases, when there are a lot of densely packed columns, this leads to
  91709. * visible difference in column widths or distance between columns. In these
  91710. * cases, setting `crisp` to `false` may look better, even though each
  91711. * column is rendered blurry.
  91712. */
  91713. crisp?: boolean;
  91714. /**
  91715. * (Highcharts, Highmaps) You can set the cursor to "pointer" if you have
  91716. * click events attached to the series, to signal to the user that the
  91717. * points and lines can be clicked.
  91718. *
  91719. * In styled mode, the series cursor can be set with the same classes as
  91720. * listed under series.color.
  91721. */
  91722. cursor?: (string|CursorValue);
  91723. /**
  91724. * (Highcharts, Highmaps) A reserved subspace to store options and values
  91725. * for customized functionality. Here you can add additional data for your
  91726. * own event callbacks and formatter callbacks.
  91727. */
  91728. custom?: Dictionary<any>;
  91729. /**
  91730. * (Highstock) Data grouping is the concept of sampling the data values into
  91731. * larger blocks in order to ease readability and increase performance of
  91732. * the JavaScript charts. Highcharts Stock by default applies data grouping
  91733. * when the points become closer than a certain pixel value, determined by
  91734. * the `groupPixelWidth` option.
  91735. *
  91736. * If data grouping is applied, the grouping information of grouped points
  91737. * can be read from the Point.dataGroup. If point options other than the
  91738. * data itself are set, for example `name` or `color` or custom properties,
  91739. * the grouping logic doesn't know how to group it. In this case the options
  91740. * of the first point instance are copied over to the group point. This can
  91741. * be altered through a custom `approximation` callback function.
  91742. */
  91743. dataGrouping?: DataGroupingOptionsObject;
  91744. /**
  91745. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  91746. * labels, appearing next to each data point.
  91747. *
  91748. * Since v6.2.0, multiple data labels can be applied to each single point by
  91749. * defining them as an array of configs.
  91750. *
  91751. * In styled mode, the data labels can be styled with the
  91752. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  91753. * (see example).
  91754. */
  91755. dataLabels?: (PlotTilemapDataLabelsOptions|Array<PlotTilemapDataLabelsOptions>);
  91756. /**
  91757. * (Highcharts, Highmaps) A description of the series to add to the screen
  91758. * reader information about the series.
  91759. */
  91760. description?: string;
  91761. /**
  91762. * (Highcharts, Highmaps) The draggable-points module allows points to be
  91763. * moved around or modified in the chart. In addition to the options
  91764. * mentioned under the `dragDrop` API structure, the module fires three
  91765. * events, point.dragStart, point.drag and point.drop.
  91766. */
  91767. dragDrop?: SeriesDragDropOptionsObject;
  91768. /**
  91769. * (Highcharts, Highmaps) Enable or disable the mouse tracking for a
  91770. * specific series. This includes point tooltips and click events on graphs
  91771. * and points. For large datasets it improves performance.
  91772. */
  91773. enableMouseTracking?: boolean;
  91774. /**
  91775. * (Highcharts, Highmaps) General event handlers for the series items. These
  91776. * event hooks can also be attached to the series at run time using the
  91777. * `Highcharts.addEvent` function.
  91778. */
  91779. events?: SeriesEventsOptionsObject;
  91780. /**
  91781. * (Highstock) Defines when to display a gap in the graph, together with the
  91782. * gapUnit option.
  91783. *
  91784. * In case when `dataGrouping` is enabled, points can be grouped into a
  91785. * larger time span. This can make the grouped points to have a greater
  91786. * distance than the absolute value of `gapSize` property, which will result
  91787. * in disappearing graph completely. To prevent this situation the mentioned
  91788. * distance between grouped points is used instead of previously defined
  91789. * `gapSize`.
  91790. *
  91791. * In practice, this option is most often used to visualize gaps in time
  91792. * series. In a stock chart, intraday data is available for daytime hours,
  91793. * while gaps will appear in nights and weekends.
  91794. */
  91795. gapSize?: number;
  91796. /**
  91797. * (Highstock) Together with gapSize, this option defines where to draw gaps
  91798. * in the graph.
  91799. *
  91800. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  91801. * if the distance between two points is greater than 5 times that of the
  91802. * two closest points, the graph will be broken.
  91803. *
  91804. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  91805. * values, which on a datetime axis is milliseconds. This also applies to
  91806. * the navigator series that inherits gap options from the base series.
  91807. */
  91808. gapUnit?: OptionsGapUnitValue;
  91809. /**
  91810. * (Highcharts, Highmaps) When set to `false` will prevent the series data
  91811. * from being included in any form of data export.
  91812. *
  91813. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  91814. * `includeInCSVExport`.
  91815. */
  91816. includeInDataExport?: boolean;
  91817. /**
  91818. * (Highcharts, Highmaps) An array specifying which option maps to which key
  91819. * in the data point array. This makes it convenient to work with
  91820. * unstructured data arrays from different sources.
  91821. */
  91822. keys?: Array<string>;
  91823. /**
  91824. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  91825. * series as possible in a natural way, seeking to avoid other series. The
  91826. * goal of this feature is to make the chart more easily readable, like if a
  91827. * human designer placed the labels in the optimal position.
  91828. *
  91829. * The series labels currently work with series types having a `graph` or an
  91830. * `area`.
  91831. */
  91832. label?: SeriesLabelOptionsObject;
  91833. /**
  91834. * (Highstock) The line marks the last price from all points.
  91835. */
  91836. lastPrice?: SeriesLastPriceOptionsObject;
  91837. /**
  91838. * (Highstock) The line marks the last price from visible range of points.
  91839. */
  91840. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  91841. /**
  91842. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  91843. * Additionally, the value can be ":previous" to link to the previous
  91844. * series. When two series are linked, only the first one appears in the
  91845. * legend. Toggling the visibility of this also toggles the linked series.
  91846. *
  91847. * If master series uses data sorting and linked series does not have its
  91848. * own sorting definition, the linked series will be sorted in the same
  91849. * order as the master one.
  91850. */
  91851. linkedTo?: string;
  91852. marker?: any;
  91853. /**
  91854. * (Highstock) Options for the corresponding navigator series if
  91855. * `showInNavigator` is `true` for this series. Available options are the
  91856. * same as any series, documented at plotOptions and series.
  91857. *
  91858. * These options are merged with options in navigator.series, and will take
  91859. * precedence if the same option is defined both places.
  91860. */
  91861. navigatorOptions?: PlotSeriesOptions;
  91862. /**
  91863. * (Highcharts, Highmaps) The color for the parts of the graph or points
  91864. * that are below the threshold. Note that `zones` takes precedence over the
  91865. * negative color. Using `negativeColor` is equivalent to applying a zone
  91866. * with value of 0.
  91867. */
  91868. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  91869. /**
  91870. * (Highcharts, Highmaps) The color applied to null points. In styled mode,
  91871. * a general CSS class is applied instead.
  91872. */
  91873. nullColor?: (ColorString|GradientColorObject|PatternObject);
  91874. /**
  91875. * (Highcharts, Highmaps) Opacity of a series parts: line, fill (e.g. area)
  91876. * and dataLabels.
  91877. */
  91878. opacity?: number;
  91879. /**
  91880. * (Highcharts, Highmaps) Properties for each single point.
  91881. */
  91882. point?: PlotSeriesPointOptions;
  91883. /**
  91884. * (Highcharts, Highmaps) Same as accessibility.pointDescriptionFormatter,
  91885. * but for an individual series. Overrides the chart wide configuration.
  91886. */
  91887. pointDescriptionFormatter?: Function;
  91888. /**
  91889. * (Highcharts, Highmaps) The padding between points in the tilemap.
  91890. */
  91891. pointPadding?: number;
  91892. /**
  91893. * (Highcharts, Highmaps) The row size - how many Y axis units each tilemap
  91894. * row should span. Analogous to colsize.
  91895. */
  91896. rowsize?: number;
  91897. /**
  91898. * (Highcharts, Highmaps) Whether to select the series initially. If
  91899. * `showCheckbox` is true, the checkbox next to the series name in the
  91900. * legend will be checked for a selected series.
  91901. */
  91902. selected?: boolean;
  91903. /**
  91904. * (Highcharts, Highmaps) If true, a checkbox is displayed next to the
  91905. * legend item to allow selecting the series. The state of the checkbox is
  91906. * determined by the `selected` option.
  91907. */
  91908. showCheckbox?: boolean;
  91909. /**
  91910. * (Highcharts, Highmaps) Whether to display this particular series or
  91911. * series type in the legend. Standalone series are shown in legend by
  91912. * default, and linked series are not. Since v7.2.0 it is possible to show
  91913. * series that use colorAxis by setting this option to `true`.
  91914. */
  91915. showInLegend?: boolean;
  91916. /**
  91917. * (Highstock) Whether or not to show the series in the navigator. Takes
  91918. * precedence over navigator.baseSeries if defined.
  91919. */
  91920. showInNavigator?: boolean;
  91921. /**
  91922. * (Highcharts, Highmaps) If set to `true`, the accessibility module will
  91923. * skip past the points in this series for keyboard navigation.
  91924. */
  91925. skipKeyboardNavigation?: boolean;
  91926. states?: SeriesStatesOptionsObject;
  91927. /**
  91928. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  91929. * `mouseOut` event on a series isn't triggered until the mouse moves over
  91930. * another series, or out of the plot area. When false, the `mouseOut` event
  91931. * on a series is triggered when the mouse leaves the area around the
  91932. * series' graph or markers. This also implies the tooltip. When
  91933. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  91934. * be hidden when moving the mouse between series.
  91935. */
  91936. stickyTracking?: boolean;
  91937. /**
  91938. * (Highcharts, Highmaps) The shape of the tiles in the tilemap. Possible
  91939. * values are `hexagon`, `circle`, `diamond`, and `square`.
  91940. */
  91941. tileShape?: TilemapShapeValue;
  91942. /**
  91943. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  91944. * of each single series. Properties are inherited from tooltip. Overridable
  91945. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  91946. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  91947. * series.name by default shows in the headerFormat and point.x and point.y
  91948. * in the pointFormat.
  91949. */
  91950. tooltip?: SeriesTooltipOptionsObject;
  91951. /**
  91952. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  91953. * is longer than this, only one dimensional arrays of numbers, or two
  91954. * dimensional arrays with x and y values are allowed. Also, only the first
  91955. * point is tested, and the rest are assumed to be the same format. This
  91956. * saves expensive data checking and indexing in long series. Set it to `0`
  91957. * disable.
  91958. *
  91959. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  91960. * two dimensional arrays are allowed.
  91961. */
  91962. turboThreshold?: number;
  91963. /**
  91964. * (Highcharts, Highmaps) Set the initial visibility of the series.
  91965. */
  91966. visible?: boolean;
  91967. /**
  91968. * (Highmaps) Define the z index of the series.
  91969. */
  91970. zIndex?: number;
  91971. /**
  91972. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  91973. */
  91974. zoneAxis?: string;
  91975. /**
  91976. * (Highcharts, Highstock) An array defining zones within a series. Zones
  91977. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  91978. * the `zoneAxis` option. The zone definitions have to be in ascending order
  91979. * regarding to the value.
  91980. *
  91981. * In styled mode, the color zones are styled with the
  91982. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  91983. * option (view live demo).
  91984. */
  91985. zones?: Array<SeriesZonesOptionsObject>;
  91986. }
  91987. /**
  91988. * (Highcharts, Highstock) A collection of SVG attributes to override the
  91989. * appearance of the halo, for example `fill`, `stroke` and `stroke-width`.
  91990. */
  91991. export interface PlotTilemapStatesHoverHaloAttributesOptions {
  91992. zIndex?: number;
  91993. }
  91994. /**
  91995. * (Highcharts) Enable or disable the initial animation when a series is
  91996. * displayed. The animation can also be set as a configuration object. Please
  91997. * note that this option only applies to the initial animation of the series
  91998. * itself. For other animations, see chart.animation and the animation parameter
  91999. * under the API methods. The following properties are supported:
  92000. *
  92001. * - `defer`: The animation delay time in milliseconds.
  92002. *
  92003. * - `duration`: The duration of the animation in milliseconds.
  92004. *
  92005. * - `easing`: Can be a string reference to an easing function set on the `Math`
  92006. * object or a function. See the _Custom easing function_ demo below.
  92007. *
  92008. * Due to poor performance, animation is disabled in old IE browsers for several
  92009. * chart types.
  92010. */
  92011. export interface PlotTimelineAnimationOptions {
  92012. defer?: number;
  92013. }
  92014. /**
  92015. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  92016. * animation when a series is displayed for the `dataLabels`. The animation can
  92017. * also be set as a configuration object. Please note that this option only
  92018. * applies to the initial animation. For other animations, see chart.animation
  92019. * and the animation parameter under the API methods. The following properties
  92020. * are supported:
  92021. *
  92022. * - `defer`: The animation delay time in milliseconds.
  92023. */
  92024. export interface PlotTimelineDataLabelsAnimationOptions {
  92025. /**
  92026. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  92027. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  92028. * inherits defer time from the series.animation.defer.
  92029. */
  92030. defer?: number;
  92031. }
  92032. /**
  92033. * (Highcharts) Style options for the guide box. The guide box has one state by
  92034. * default, the `default` state.
  92035. */
  92036. export interface PlotTimelineDragDropGuideBoxOptions {
  92037. /**
  92038. * (Highcharts) Style options for the guide box default state.
  92039. */
  92040. default?: DragDropGuideBoxOptionsObject;
  92041. }
  92042. /**
  92043. * (Highcharts) The timeline series presents given events along a drawn line.
  92044. *
  92045. * In TypeScript the type option must always be set.
  92046. *
  92047. * Configuration options for the series are given in three levels:
  92048. *
  92049. * 1. Options for all series in a chart are defined in the plotOptions.series
  92050. * object.
  92051. *
  92052. * 2. Options for all `timeline` series are defined in plotOptions.timeline.
  92053. *
  92054. * 3. Options for one single series are given in the series instance array. (see
  92055. * online documentation for example)
  92056. */
  92057. export interface PlotTimelineOptions {
  92058. /**
  92059. * (Highcharts) Accessibility options for a series.
  92060. */
  92061. accessibility?: SeriesAccessibilityOptionsObject;
  92062. /**
  92063. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  92064. * rendered. If `true`, areas which don't correspond to a data point, are
  92065. * rendered as `null` points. If `false`, those areas are skipped.
  92066. */
  92067. allAreas?: boolean;
  92068. /**
  92069. * (Highcharts) Allow this series' points to be selected by clicking on the
  92070. * graphic (columns, point markers, pie slices, map areas etc).
  92071. *
  92072. * The selected points can be handled by point select and unselect events,
  92073. * or collectively by the getSelectedPoints function.
  92074. *
  92075. * And alternative way of selecting points is through dragging.
  92076. */
  92077. allowPointSelect?: boolean;
  92078. /**
  92079. * (Highcharts) Enable or disable the initial animation when a series is
  92080. * displayed. The animation can also be set as a configuration object.
  92081. * Please note that this option only applies to the initial animation of the
  92082. * series itself. For other animations, see chart.animation and the
  92083. * animation parameter under the API methods. The following properties are
  92084. * supported:
  92085. *
  92086. * - `defer`: The animation delay time in milliseconds.
  92087. *
  92088. * - `duration`: The duration of the animation in milliseconds.
  92089. *
  92090. * - `easing`: Can be a string reference to an easing function set on the
  92091. * `Math` object or a function. See the _Custom easing function_ demo below.
  92092. *
  92093. * Due to poor performance, animation is disabled in old IE browsers for
  92094. * several chart types.
  92095. */
  92096. animation?: (boolean|PlotTimelineAnimationOptions|Partial<AnimationOptionsObject>);
  92097. /**
  92098. * (Highmaps) The border color of the map areas.
  92099. *
  92100. * In styled mode, the border stroke is given in the `.highcharts-point`
  92101. * class.
  92102. */
  92103. borderColor?: (ColorString|GradientColorObject|PatternObject);
  92104. /**
  92105. * (Highmaps) The border width of each map area.
  92106. *
  92107. * In styled mode, the border stroke width is given in the
  92108. * `.highcharts-point` class.
  92109. */
  92110. borderWidth?: number;
  92111. /**
  92112. * (Highcharts) An additional class name to apply to the series' graphical
  92113. * elements. This option does not replace default class names of the
  92114. * graphical element.
  92115. */
  92116. className?: string;
  92117. /**
  92118. * (Highcharts) Disable this option to allow series rendering in the whole
  92119. * plotting area.
  92120. *
  92121. * **Note:** Clipping should be always enabled when chart.zoomType is set
  92122. */
  92123. clip?: boolean;
  92124. /**
  92125. * (Highcharts) The main color of the series. In line type series it applies
  92126. * to the line and the point markers unless otherwise specified. In bar type
  92127. * series it applies to the bars unless a color is specified per point. The
  92128. * default value is pulled from the `options.colors` array.
  92129. *
  92130. * In styled mode, the color can be defined by the colorIndex option. Also,
  92131. * the series color can be set with the `.highcharts-series`,
  92132. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  92133. * `.highcharts-series-{n}` class, or individual classes given by the
  92134. * `className` option.
  92135. */
  92136. color?: (ColorString|GradientColorObject|PatternObject);
  92137. /**
  92138. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  92139. * this number defines which colorAxis the particular series is connected
  92140. * to. It refers to either the axis id or the index of the axis in the
  92141. * colorAxis array, with 0 being the first. Set this option to false to
  92142. * prevent a series from connecting to the default color axis.
  92143. *
  92144. * Since v7.2.0 the option can also be an axis id or an axis index instead
  92145. * of a boolean flag.
  92146. */
  92147. colorAxis?: (boolean|number|string);
  92148. colorByPoint?: boolean;
  92149. /**
  92150. * (Highcharts) Styled mode only. A specific color index to use for the
  92151. * series, so its graphic representations are given the class name
  92152. * `highcharts-color-{n}`.
  92153. */
  92154. colorIndex?: number;
  92155. /**
  92156. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  92157. * used to calculate point color if `colorAxis` is used. Requires to set
  92158. * `min` and `max` if some custom point property is used or if approximation
  92159. * for data grouping is set to `'sum'`.
  92160. */
  92161. colorKey?: string;
  92162. /**
  92163. * (Highstock) Compare the values of the series against the first non-null,
  92164. * non- zero value in the visible range. The y axis will show percentage or
  92165. * absolute change depending on whether `compare` is set to `"percent"` or
  92166. * `"value"`. When this is applied to multiple series, it allows comparing
  92167. * the development of the series against each other. Adds a `change` field
  92168. * to every point object.
  92169. */
  92170. compare?: string;
  92171. /**
  92172. * (Highstock) When compare is `percent`, this option dictates whether to
  92173. * use 0 or 100 as the base of comparison.
  92174. */
  92175. compareBase?: (0|100);
  92176. /**
  92177. * (Highstock) Defines if comparison should start from the first point
  92178. * within the visible range or should start from the first point **before**
  92179. * the range.
  92180. *
  92181. * In other words, this flag determines if first point within the visible
  92182. * range will have 0% (`compareStart=true`) or should have been already
  92183. * calculated according to the previous point (`compareStart=false`).
  92184. */
  92185. compareStart?: boolean;
  92186. /**
  92187. * (Gantt) Override Pathfinder connector options for a series. Requires
  92188. * Highcharts Gantt to be loaded.
  92189. */
  92190. connectors?: SeriesConnectorsOptionsObject;
  92191. /**
  92192. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  92193. * rounded to its nearest pixel in order to render sharp on screen. In some
  92194. * cases, when there are a lot of densely packed columns, this leads to
  92195. * visible difference in column widths or distance between columns. In these
  92196. * cases, setting `crisp` to `false` may look better, even though each
  92197. * column is rendered blurry.
  92198. */
  92199. crisp?: boolean;
  92200. /**
  92201. * (Highcharts) You can set the cursor to "pointer" if you have click events
  92202. * attached to the series, to signal to the user that the points and lines
  92203. * can be clicked.
  92204. *
  92205. * In styled mode, the series cursor can be set with the same classes as
  92206. * listed under series.color.
  92207. */
  92208. cursor?: (string|CursorValue);
  92209. /**
  92210. * (Highcharts) A reserved subspace to store options and values for
  92211. * customized functionality. Here you can add additional data for your own
  92212. * event callbacks and formatter callbacks.
  92213. */
  92214. custom?: Dictionary<any>;
  92215. /**
  92216. * (Highstock) Data grouping is the concept of sampling the data values into
  92217. * larger blocks in order to ease readability and increase performance of
  92218. * the JavaScript charts. Highcharts Stock by default applies data grouping
  92219. * when the points become closer than a certain pixel value, determined by
  92220. * the `groupPixelWidth` option.
  92221. *
  92222. * If data grouping is applied, the grouping information of grouped points
  92223. * can be read from the Point.dataGroup. If point options other than the
  92224. * data itself are set, for example `name` or `color` or custom properties,
  92225. * the grouping logic doesn't know how to group it. In this case the options
  92226. * of the first point instance are copied over to the group point. This can
  92227. * be altered through a custom `approximation` callback function.
  92228. */
  92229. dataGrouping?: DataGroupingOptionsObject;
  92230. /**
  92231. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  92232. * labels, appearing next to each data point.
  92233. *
  92234. * Since v6.2.0, multiple data labels can be applied to each single point by
  92235. * defining them as an array of configs.
  92236. *
  92237. * In styled mode, the data labels can be styled with the
  92238. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  92239. * (see example).
  92240. */
  92241. dataLabels?: (TimelineDataLabelsOptionsObject|Array<TimelineDataLabelsOptionsObject>);
  92242. /**
  92243. * (Highcharts) A description of the series to add to the screen reader
  92244. * information about the series.
  92245. */
  92246. description?: string;
  92247. /**
  92248. * (Highcharts) The draggable-points module allows points to be moved around
  92249. * or modified in the chart. In addition to the options mentioned under the
  92250. * `dragDrop` API structure, the module fires three events, point.dragStart,
  92251. * point.drag and point.drop.
  92252. */
  92253. dragDrop?: SeriesDragDropOptionsObject;
  92254. /**
  92255. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  92256. * This includes point tooltips and click events on graphs and points. For
  92257. * large datasets it improves performance.
  92258. */
  92259. enableMouseTracking?: boolean;
  92260. /**
  92261. * (Highcharts) General event handlers for the series items. These event
  92262. * hooks can also be attached to the series at run time using the
  92263. * `Highcharts.addEvent` function.
  92264. */
  92265. events?: SeriesEventsOptionsObject;
  92266. /**
  92267. * (Highstock) Defines when to display a gap in the graph, together with the
  92268. * gapUnit option.
  92269. *
  92270. * In case when `dataGrouping` is enabled, points can be grouped into a
  92271. * larger time span. This can make the grouped points to have a greater
  92272. * distance than the absolute value of `gapSize` property, which will result
  92273. * in disappearing graph completely. To prevent this situation the mentioned
  92274. * distance between grouped points is used instead of previously defined
  92275. * `gapSize`.
  92276. *
  92277. * In practice, this option is most often used to visualize gaps in time
  92278. * series. In a stock chart, intraday data is available for daytime hours,
  92279. * while gaps will appear in nights and weekends.
  92280. */
  92281. gapSize?: number;
  92282. /**
  92283. * (Highstock) Together with gapSize, this option defines where to draw gaps
  92284. * in the graph.
  92285. *
  92286. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  92287. * if the distance between two points is greater than 5 times that of the
  92288. * two closest points, the graph will be broken.
  92289. *
  92290. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  92291. * values, which on a datetime axis is milliseconds. This also applies to
  92292. * the navigator series that inherits gap options from the base series.
  92293. */
  92294. gapUnit?: OptionsGapUnitValue;
  92295. ignoreHiddenPoint?: boolean;
  92296. /**
  92297. * (Highcharts) When set to `false` will prevent the series data from being
  92298. * included in any form of data export.
  92299. *
  92300. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  92301. * `includeInCSVExport`.
  92302. */
  92303. includeInDataExport?: boolean;
  92304. /**
  92305. * (Highmaps) What property to join the `mapData` to the value data. For
  92306. * example, if joinBy is "code", the mapData items with a specific code is
  92307. * merged into the data with the same code. For maps loaded from GeoJSON,
  92308. * the keys may be held in each point's `properties` object.
  92309. *
  92310. * The joinBy option can also be an array of two values, where the first
  92311. * points to a key in the `mapData`, and the second points to another key in
  92312. * the `data`.
  92313. *
  92314. * When joinBy is `null`, the map items are joined by their position in the
  92315. * array, which performs much better in maps with many data points. This is
  92316. * the recommended option if you are printing more than a thousand data
  92317. * points and have a backend that can preprocess the data into a parallel
  92318. * array of the mapData.
  92319. */
  92320. joinBy?: (string|Array<string>);
  92321. /**
  92322. * (Highcharts) An array specifying which option maps to which key in the
  92323. * data point array. This makes it convenient to work with unstructured data
  92324. * arrays from different sources.
  92325. */
  92326. keys?: Array<string>;
  92327. /**
  92328. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  92329. * series as possible in a natural way, seeking to avoid other series. The
  92330. * goal of this feature is to make the chart more easily readable, like if a
  92331. * human designer placed the labels in the optimal position.
  92332. *
  92333. * The series labels currently work with series types having a `graph` or an
  92334. * `area`.
  92335. */
  92336. label?: SeriesLabelOptionsObject;
  92337. /**
  92338. * (Highstock) The line marks the last price from all points.
  92339. */
  92340. lastPrice?: SeriesLastPriceOptionsObject;
  92341. /**
  92342. * (Highstock) The line marks the last price from visible range of points.
  92343. */
  92344. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  92345. /**
  92346. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  92347. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  92348. * the ends and bends.
  92349. */
  92350. linecap?: SeriesLinecapValue;
  92351. lineWidth?: number;
  92352. /**
  92353. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  92354. * Additionally, the value can be ":previous" to link to the previous
  92355. * series. When two series are linked, only the first one appears in the
  92356. * legend. Toggling the visibility of this also toggles the linked series.
  92357. *
  92358. * If master series uses data sorting and linked series does not have its
  92359. * own sorting definition, the linked series will be sorted in the same
  92360. * order as the master one.
  92361. */
  92362. linkedTo?: string;
  92363. /**
  92364. * (Highcharts) Options for the point markers of line-like series.
  92365. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  92366. * visual appearance of the markers. Other series types, like column series,
  92367. * don't have markers, but have visual options on the series level instead.
  92368. *
  92369. * In styled mode, the markers can be styled with the `.highcharts-point`,
  92370. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  92371. */
  92372. marker?: PointMarkerOptionsObject;
  92373. /**
  92374. * (Highstock) Options for the corresponding navigator series if
  92375. * `showInNavigator` is `true` for this series. Available options are the
  92376. * same as any series, documented at plotOptions and series.
  92377. *
  92378. * These options are merged with options in navigator.series, and will take
  92379. * precedence if the same option is defined both places.
  92380. */
  92381. navigatorOptions?: PlotSeriesOptions;
  92382. /**
  92383. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  92384. * dataLabels.
  92385. */
  92386. opacity?: number;
  92387. /**
  92388. * (Highcharts) Properties for each single point.
  92389. */
  92390. point?: PlotSeriesPointOptions;
  92391. /**
  92392. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  92393. * individual series. Overrides the chart wide configuration.
  92394. */
  92395. pointDescriptionFormatter?: Function;
  92396. /**
  92397. * (Highstock) The width of each point on the x axis. For example in a
  92398. * column chart with one value each day, the pointRange would be 1 day (= 24
  92399. * * 3600
  92400. *
  92401. * * 1000 milliseconds). This is normally computed automatically, but this
  92402. * option can be used to override the automatic value.
  92403. */
  92404. pointRange?: number;
  92405. /**
  92406. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  92407. * true, the checkbox next to the series name in the legend will be checked
  92408. * for a selected series.
  92409. */
  92410. selected?: boolean;
  92411. /**
  92412. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  92413. * the shadow can be an object configuration containing `color`, `offsetX`,
  92414. * `offsetY`, `opacity` and `width`.
  92415. */
  92416. shadow?: (boolean|ShadowOptionsObject);
  92417. /**
  92418. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  92419. * allow selecting the series. The state of the checkbox is determined by
  92420. * the `selected` option.
  92421. */
  92422. showCheckbox?: boolean;
  92423. /**
  92424. * (Highcharts) Whether to display this particular series or series type in
  92425. * the legend. Standalone series are shown in legend by default, and linked
  92426. * series are not. Since v7.2.0 it is possible to show series that use
  92427. * colorAxis by setting this option to `true`.
  92428. */
  92429. showInLegend?: boolean;
  92430. /**
  92431. * (Highstock) Whether or not to show the series in the navigator. Takes
  92432. * precedence over navigator.baseSeries if defined.
  92433. */
  92434. showInNavigator?: boolean;
  92435. /**
  92436. * (Highcharts) If set to `true`, the accessibility module will skip past
  92437. * the points in this series for keyboard navigation.
  92438. */
  92439. skipKeyboardNavigation?: boolean;
  92440. states?: SeriesStatesOptionsObject;
  92441. /**
  92442. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  92443. * event on a series isn't triggered until the mouse moves over another
  92444. * series, or out of the plot area. When false, the `mouseOut` event on a
  92445. * series is triggered when the mouse leaves the area around the series'
  92446. * graph or markers. This also implies the tooltip when not shared. When
  92447. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  92448. * be hidden when moving the mouse between series. Defaults to true for line
  92449. * and area type series, but to false for columns, pies etc.
  92450. *
  92451. * **Note:** The boost module will force this option because of technical
  92452. * limitations.
  92453. */
  92454. stickyTracking?: boolean;
  92455. /**
  92456. * (Highcharts) A configuration object for the tooltip rendering of each
  92457. * single series. Properties are inherited from tooltip, but only the
  92458. * following properties can be defined on a series level.
  92459. */
  92460. tooltip?: SeriesTooltipOptionsObject;
  92461. /**
  92462. * (Highstock) The parameter allows setting line series type and use OHLC
  92463. * indicators. Data in OHLC format is required.
  92464. */
  92465. useOhlcData?: boolean;
  92466. /**
  92467. * (Highcharts) Set the initial visibility of the series.
  92468. */
  92469. visible?: boolean;
  92470. /**
  92471. * (Highmaps) Define the z index of the series.
  92472. */
  92473. zIndex?: number;
  92474. }
  92475. /**
  92476. * (Highcharts) Enable or disable the initial animation when a series is
  92477. * displayed. The animation can also be set as a configuration object. Please
  92478. * note that this option only applies to the initial animation of the series
  92479. * itself. For other animations, see chart.animation and the animation parameter
  92480. * under the API methods. The following properties are supported:
  92481. *
  92482. * - `defer`: The animation delay time in milliseconds.
  92483. *
  92484. * - `duration`: The duration of the animation in milliseconds.
  92485. *
  92486. * - `easing`: Can be a string reference to an easing function set on the `Math`
  92487. * object or a function. See the _Custom easing function_ demo below.
  92488. *
  92489. * Due to poor performance, animation is disabled in old IE browsers for several
  92490. * chart types.
  92491. */
  92492. export interface PlotTreemapAnimationOptions {
  92493. defer?: number;
  92494. }
  92495. export interface PlotTreemapClusterEventsOptions {
  92496. /**
  92497. * (Highcharts, Highmaps) Fires when the cluster point is clicked and
  92498. * `drillToCluster` is enabled. One parameter, `event`, is passed to the
  92499. * function. The default action is to zoom to the cluster points range. This
  92500. * can be prevented by calling `event.preventDefault()`.
  92501. */
  92502. drillToCluster?: MarkerClusterDrillCallbackFunction;
  92503. }
  92504. /**
  92505. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
  92506. * to change the type of the algorithm, gridSize, distance or iterations.
  92507. */
  92508. export interface PlotTreemapClusterLayoutAlgorithmOptions {
  92509. /**
  92510. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
  92511. * maximum distance between point and cluster center so that this point will
  92512. * be inside the cluster. The distance is either a number defining pixels or
  92513. * a percentage defining a percentage of the plot area width.
  92514. */
  92515. distance?: (number|string);
  92516. /**
  92517. * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
  92518. * size of a grid square element either as a number defining pixels, or a
  92519. * percentage defining a percentage of the plot area width.
  92520. */
  92521. gridSize?: (number|string);
  92522. /**
  92523. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
  92524. * the number of iterations that this algorithm will be repeated to find
  92525. * clusters positions.
  92526. */
  92527. iterations?: number;
  92528. /**
  92529. * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
  92530. * more visible points than the kmeansThreshold the `grid` algorithm is used
  92531. * to find clusters, otherwise `kmeans`. It ensures good performance on
  92532. * large datasets and better clusters arrangement after the zoom.
  92533. */
  92534. kmeansThreshold?: number;
  92535. /**
  92536. * (Highcharts, Highmaps) Type of the algorithm used to combine points into
  92537. * a cluster. There are three available algorithms:
  92538. *
  92539. * 1) `grid` - grid-based clustering technique. Points are assigned to
  92540. * squares of set size depending on their position on the plot area. Points
  92541. * inside the grid square are combined into a cluster. The grid size can be
  92542. * controlled by `gridSize` property (grid size changes at certain zoom
  92543. * levels).
  92544. *
  92545. * 2) `kmeans` - based on K-Means clustering technique. In the first step,
  92546. * points are divided using the grid method (distance property is a grid
  92547. * size) to find the initial amount of clusters. Next, each point is
  92548. * classified by computing the distance between each cluster center and that
  92549. * point. When the closest cluster distance is lower than distance property
  92550. * set by a user the point is added to this cluster otherwise is classified
  92551. * as `noise`. The algorithm is repeated until each cluster center not
  92552. * change its previous position more than one pixel. This technique is more
  92553. * accurate but also more time consuming than the `grid` algorithm,
  92554. * especially for big datasets.
  92555. *
  92556. * 3) `optimizedKmeans` - based on K-Means clustering technique. This
  92557. * algorithm uses k-means algorithm only on the chart initialization or when
  92558. * chart extremes have greater range than on initialization. When a chart is
  92559. * redrawn the algorithm checks only clustered points distance from the
  92560. * cluster center and rebuild it when the point is spaced enough to be
  92561. * outside the cluster. It provides performance improvement and more stable
  92562. * clusters position yet can be used rather on small and sparse datasets.
  92563. *
  92564. * By default, the algorithm depends on visible quantity of points and
  92565. * `kmeansThreshold`. When there are more visible points than the
  92566. * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
  92567. *
  92568. * The custom clustering algorithm can be added by assigning a callback
  92569. * function as the type property. This function takes an array of
  92570. * `processedXData`, `processedYData`, `processedXData` indexes and
  92571. * `layoutAlgorithm` options as arguments and should return an object with
  92572. * grouped data.
  92573. *
  92574. * The algorithm should return an object like that: (see online
  92575. * documentation for example)
  92576. *
  92577. * `clusterId` (example above - unique id of a cluster or noise) is an array
  92578. * of points belonging to a cluster. If the array has only one point or
  92579. * fewer points than set in `cluster.minimumClusterSize` it won't be
  92580. * combined into a cluster.
  92581. */
  92582. type?: (string|Function);
  92583. }
  92584. /**
  92585. * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
  92586. * the data values into larger blocks in order to ease readability and increase
  92587. * performance of the JavaScript charts.
  92588. *
  92589. * Note: marker clusters module is not working with `boost` and
  92590. * `draggable-points` modules.
  92591. *
  92592. * The marker clusters feature requires the marker-clusters.js file to be
  92593. * loaded, found in the modules directory of the download package, or online at
  92594. * code.highcharts.com/modules/marker-clusters.js.
  92595. */
  92596. export interface PlotTreemapClusterOptions {
  92597. /**
  92598. * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
  92599. * this option works only when `layoutAlgorithm.type = "grid"`.
  92600. */
  92601. allowOverlap?: boolean;
  92602. /**
  92603. * (Highcharts, Highmaps) Options for the cluster marker animation.
  92604. */
  92605. animation?: (boolean|Partial<AnimationOptionsObject>);
  92606. /**
  92607. * (Highcharts, Highmaps) Options for the cluster data labels.
  92608. */
  92609. dataLabels?: DataLabelsOptions;
  92610. /**
  92611. * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
  92612. * when a cluster is clicked.
  92613. */
  92614. drillToCluster?: boolean;
  92615. /**
  92616. * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
  92617. */
  92618. enabled?: boolean;
  92619. events?: PlotTreemapClusterEventsOptions;
  92620. /**
  92621. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
  92622. * options to change the type of the algorithm, gridSize, distance or
  92623. * iterations.
  92624. */
  92625. layoutAlgorithm?: PlotTreemapClusterLayoutAlgorithmOptions;
  92626. /**
  92627. * (Highcharts, Highmaps) Options for the cluster marker.
  92628. */
  92629. marker?: PointMarkerOptionsObject;
  92630. /**
  92631. * (Highcharts, Highmaps) The minimum amount of points to be combined into a
  92632. * cluster. This value has to be greater or equal to 2.
  92633. */
  92634. minimumClusterSize?: number;
  92635. states?: PlotTreemapClusterStatesOptions;
  92636. /**
  92637. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  92638. *
  92639. * In styled mode, the color zones are styled with the
  92640. * `.highcharts-cluster-zone-{n}` class, or custom classed from the
  92641. * `className` option.
  92642. */
  92643. zones?: Array<PlotTreemapClusterZonesOptions>;
  92644. }
  92645. export interface PlotTreemapClusterStatesHoverOptions {
  92646. /**
  92647. * (Highcharts, Highmaps) The fill color of the cluster marker in hover
  92648. * state. When `undefined`, the series' or point's fillColor for normal
  92649. * state is used.
  92650. */
  92651. fillColor?: ColorType;
  92652. }
  92653. export interface PlotTreemapClusterStatesOptions {
  92654. hover?: PlotTreemapClusterStatesHoverOptions;
  92655. }
  92656. /**
  92657. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  92658. *
  92659. * In styled mode, the color zones are styled with the
  92660. * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
  92661. * option.
  92662. */
  92663. export interface PlotTreemapClusterZonesOptions {
  92664. /**
  92665. * (Highcharts, Highmaps) Styled mode only. A custom class name for the
  92666. * zone.
  92667. */
  92668. className?: string;
  92669. /**
  92670. * (Highcharts, Highmaps) The value where the zone starts.
  92671. */
  92672. from?: number;
  92673. /**
  92674. * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
  92675. * zone.
  92676. */
  92677. marker?: PointMarkerOptionsObject;
  92678. /**
  92679. * (Highcharts, Highmaps) The value where the zone ends.
  92680. */
  92681. to?: number;
  92682. }
  92683. /**
  92684. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  92685. * animation when a series is displayed for the `dataLabels`. The animation can
  92686. * also be set as a configuration object. Please note that this option only
  92687. * applies to the initial animation. For other animations, see chart.animation
  92688. * and the animation parameter under the API methods. The following properties
  92689. * are supported:
  92690. *
  92691. * - `defer`: The animation delay time in milliseconds.
  92692. */
  92693. export interface PlotTreemapDataLabelsAnimationOptions {
  92694. /**
  92695. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  92696. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  92697. * inherits defer time from the series.animation.defer.
  92698. */
  92699. defer?: number;
  92700. }
  92701. /**
  92702. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  92703. * appearing next to each data point.
  92704. *
  92705. * Since v6.2.0, multiple data labels can be applied to each single point by
  92706. * defining them as an array of configs.
  92707. *
  92708. * In styled mode, the data labels can be styled with the
  92709. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  92710. * example).
  92711. */
  92712. export interface PlotTreemapDataLabelsOptions {
  92713. /**
  92714. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  92715. * compared to the point. If `right`, the right side of the label should be
  92716. * touching the point. For points with an extent, like columns, the
  92717. * alignments also dictates how to align it inside the box, as given with
  92718. * the inside option. Can be one of `left`, `center` or `right`.
  92719. */
  92720. align?: (AlignValue|null);
  92721. /**
  92722. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  92723. * overlap. To make the labels less sensitive for overlapping, the
  92724. * dataLabels.padding can be set to 0.
  92725. */
  92726. allowOverlap?: boolean;
  92727. /**
  92728. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  92729. * animation when a series is displayed for the `dataLabels`. The animation
  92730. * can also be set as a configuration object. Please note that this option
  92731. * only applies to the initial animation. For other animations, see
  92732. * chart.animation and the animation parameter under the API methods. The
  92733. * following properties are supported:
  92734. *
  92735. * - `defer`: The animation delay time in milliseconds.
  92736. */
  92737. animation?: (boolean|PlotTreemapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  92738. /**
  92739. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  92740. * for the data label.
  92741. */
  92742. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  92743. /**
  92744. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  92745. * label. Defaults to `undefined`.
  92746. */
  92747. borderColor?: (ColorString|GradientColorObject|PatternObject);
  92748. /**
  92749. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  92750. * the data label.
  92751. */
  92752. borderRadius?: number;
  92753. /**
  92754. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  92755. * the data label.
  92756. */
  92757. borderWidth?: number;
  92758. /**
  92759. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  92760. * Particularly in styled mode, this can be used to give each series' or
  92761. * point's data label unique styling. In addition to this option, a default
  92762. * color class name is added so that we can give the labels a contrast text
  92763. * shadow.
  92764. */
  92765. className?: string;
  92766. /**
  92767. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  92768. * labels. Defaults to `undefined`. For certain series types, like column or
  92769. * map, the data labels can be drawn inside the points. In this case the
  92770. * data label will be drawn with maximum contrast by default. Additionally,
  92771. * it will be given a `text-outline` style with the opposite color, to
  92772. * further increase the contrast. This can be overridden by setting the
  92773. * `text-outline` style to `none` in the `dataLabels.style` option.
  92774. */
  92775. color?: (ColorString|GradientColorObject|PatternObject);
  92776. /**
  92777. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  92778. * are outside the plot area. By default, the data label is moved inside the
  92779. * plot area according to the overflow option.
  92780. */
  92781. crop?: boolean;
  92782. /**
  92783. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  92784. * labels until the initial series animation has finished. Setting to
  92785. * `false` renders the data label immediately. If set to `true` inherits the
  92786. * defer time set in plotOptions.series.animation. If set to a number, a
  92787. * defer time is specified in milliseconds.
  92788. */
  92789. defer?: boolean;
  92790. /**
  92791. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  92792. * labels.
  92793. */
  92794. enabled?: boolean;
  92795. /**
  92796. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  92797. * of which data labels to display. The declarative filter is designed for
  92798. * use when callback functions are not available, like when the chart
  92799. * options require a pure JSON structure or for use with graphical editors.
  92800. * For programmatic control, use the `formatter` instead, and return
  92801. * `undefined` to disable a single data label.
  92802. */
  92803. filter?: DataLabelsFilterOptionsObject;
  92804. /**
  92805. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  92806. * label. Available variables are the same as for `formatter`.
  92807. */
  92808. format?: string;
  92809. /**
  92810. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  92811. * format the data label. Note that if a `format` is defined, the format
  92812. * takes precedence and the formatter is ignored.
  92813. */
  92814. formatter?: DataLabelsFormatterCallbackFunction;
  92815. /**
  92816. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  92817. * columns or map areas, whether to align the data label inside the box or
  92818. * to the actual value point. Defaults to `false` in most cases, `true` in
  92819. * stacked columns.
  92820. */
  92821. inside?: boolean;
  92822. /**
  92823. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  92824. * of null. Works analogously to format. `nullFormat` can be applied only to
  92825. * series which support displaying null points.
  92826. */
  92827. nullFormat?: (boolean|string);
  92828. /**
  92829. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  92830. * that defines formatting for points with the value of null. Works
  92831. * analogously to formatter. `nullPointFormatter` can be applied only to
  92832. * series which support displaying null points.
  92833. */
  92834. nullFormatter?: DataLabelsFormatterCallbackFunction;
  92835. /**
  92836. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  92837. * flow outside the plot area. The default is `"justify"`, which aligns them
  92838. * inside the plot area. For columns and bars, this means it will be moved
  92839. * inside the bar. To display data labels outside the plot area, set `crop`
  92840. * to `false` and `overflow` to `"allow"`.
  92841. */
  92842. overflow?: DataLabelsOverflowValue;
  92843. /**
  92844. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  92845. * the `backgroundColor` is set, this is the padding within the box.
  92846. */
  92847. padding?: number;
  92848. /**
  92849. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  92850. * points. If `center` alignment is not possible, it defaults to `right`.
  92851. */
  92852. position?: AlignValue;
  92853. /**
  92854. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  92855. * that due to a more complex structure, backgrounds, borders and padding
  92856. * will be lost on a rotated data label.
  92857. */
  92858. rotation?: number;
  92859. /**
  92860. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  92861. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  92862. * an object configuration containing `color`, `offsetX`, `offsetY`,
  92863. * `opacity` and `width`.
  92864. */
  92865. shadow?: (boolean|ShadowOptionsObject);
  92866. /**
  92867. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  92868. * the border around the label. Symbols are predefined functions on the
  92869. * Renderer object.
  92870. */
  92871. shape?: string;
  92872. /**
  92873. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  92874. * default `color` setting is `"contrast"`, which is a pseudo color that
  92875. * Highcharts picks up and applies the maximum contrast to the underlying
  92876. * point item, for example the bar in a bar chart.
  92877. *
  92878. * The `textOutline` is a pseudo property that applies an outline of the
  92879. * given width with the given color, which by default is the maximum
  92880. * contrast to the text. So a bright text color will result in a black text
  92881. * outline for maximum readability on a mixed background. In some cases,
  92882. * especially with grayscale text, the text outline doesn't work well, in
  92883. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  92884. * is true, the `textOutline` will not be picked up. In this, case, the same
  92885. * effect can be acheived through the `text-shadow` CSS property.
  92886. *
  92887. * For some series types, where each point has an extent, like for example
  92888. * tree maps, the data label may overflow the point. There are two
  92889. * strategies for handling overflow. By default, the text will wrap to
  92890. * multiple lines. The other strategy is to set `style.textOverflow` to
  92891. * `ellipsis`, which will keep the text on one line plus it will break
  92892. * inside long words.
  92893. */
  92894. style?: CSSObject;
  92895. /**
  92896. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  92897. * should follow marker's shape. Border and background are disabled for a
  92898. * label that follows a path.
  92899. *
  92900. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  92901. * to true will disable this option.
  92902. */
  92903. textPath?: DataLabelsTextPathOptionsObject;
  92904. /**
  92905. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  92906. * the labels.
  92907. */
  92908. useHTML?: boolean;
  92909. /**
  92910. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  92911. * label. Can be one of `top`, `middle` or `bottom`. The default value
  92912. * depends on the data, for instance in a column chart, the label is above
  92913. * positive values and below negative values.
  92914. */
  92915. verticalAlign?: string;
  92916. /**
  92917. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  92918. * label relative to the point in pixels.
  92919. */
  92920. x?: number;
  92921. /**
  92922. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  92923. * label relative to the point in pixels.
  92924. */
  92925. y?: number;
  92926. /**
  92927. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  92928. * The default Z index puts it above the series. Use a Z index of 2 to
  92929. * display it behind the series.
  92930. */
  92931. z?: number;
  92932. }
  92933. /**
  92934. * (Highcharts) A configuration object to define how the color of a child varies
  92935. * from the parent's color. The variation is distributed among the children of
  92936. * node. For example when setting brightness, the brightness change will range
  92937. * from the parent's original brightness on the first child, to the amount set
  92938. * in the `to` setting on the last node. This allows a gradient-like color
  92939. * scheme that sets children out from each other while highlighting the grouping
  92940. * on treemaps and sectors on sunburst charts.
  92941. */
  92942. export interface PlotTreemapLevelsColorVariationOptions {
  92943. /**
  92944. * (Highcharts) The key of a color variation. Currently supports
  92945. * `brightness` only.
  92946. */
  92947. key?: "brightness";
  92948. /**
  92949. * (Highcharts) The ending value of a color variation. The last sibling will
  92950. * receive this value.
  92951. */
  92952. to?: number;
  92953. }
  92954. /**
  92955. * (Highcharts) Enable or disable the initial animation when a series is
  92956. * displayed for the `dataLabels`. The animation can also be set as a
  92957. * configuration object. Please note that this option only applies to the
  92958. * initial animation. For other animations, see chart.animation and the
  92959. * animation parameter under the API methods. The following properties are
  92960. * supported:
  92961. *
  92962. * - `defer`: The animation delay time in milliseconds.
  92963. */
  92964. export interface PlotTreemapLevelsDataLabelsAnimationOptions {
  92965. /**
  92966. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  92967. * dataLabel immediately. As `undefined` inherits defer time from the
  92968. * series.animation.defer.
  92969. */
  92970. defer?: number;
  92971. }
  92972. /**
  92973. * (Highcharts) Can set the options of dataLabels on each point which lies on
  92974. * the level. plotOptions.treemap.dataLabels for possible values.
  92975. */
  92976. export interface PlotTreemapLevelsDataLabelsOptions {
  92977. /**
  92978. * (Highcharts) The alignment of the data label compared to the point. If
  92979. * `right`, the right side of the label should be touching the point. For
  92980. * points with an extent, like columns, the alignments also dictates how to
  92981. * align it inside the box, as given with the inside option. Can be one of
  92982. * `left`, `center` or `right`.
  92983. */
  92984. align?: (AlignValue|null);
  92985. /**
  92986. * (Highcharts) Whether to allow data labels to overlap. To make the labels
  92987. * less sensitive for overlapping, the dataLabels.padding can be set to 0.
  92988. */
  92989. allowOverlap?: boolean;
  92990. /**
  92991. * (Highcharts) Enable or disable the initial animation when a series is
  92992. * displayed for the `dataLabels`. The animation can also be set as a
  92993. * configuration object. Please note that this option only applies to the
  92994. * initial animation. For other animations, see chart.animation and the
  92995. * animation parameter under the API methods. The following properties are
  92996. * supported:
  92997. *
  92998. * - `defer`: The animation delay time in milliseconds.
  92999. */
  93000. animation?: (boolean|PlotTreemapLevelsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  93001. /**
  93002. * (Highcharts) The background color or gradient for the data label.
  93003. */
  93004. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  93005. /**
  93006. * (Highcharts) The border color for the data label. Defaults to
  93007. * `undefined`.
  93008. */
  93009. borderColor?: (ColorString|GradientColorObject|PatternObject);
  93010. /**
  93011. * (Highcharts) The border radius in pixels for the data label.
  93012. */
  93013. borderRadius?: number;
  93014. /**
  93015. * (Highcharts) The border width in pixels for the data label.
  93016. */
  93017. borderWidth?: number;
  93018. /**
  93019. * (Highcharts) A class name for the data label. Particularly in styled
  93020. * mode, this can be used to give each series' or point's data label unique
  93021. * styling. In addition to this option, a default color class name is added
  93022. * so that we can give the labels a contrast text shadow.
  93023. */
  93024. className?: string;
  93025. /**
  93026. * (Highcharts) The text color for the data labels. Defaults to `undefined`.
  93027. * For certain series types, like column or map, the data labels can be
  93028. * drawn inside the points. In this case the data label will be drawn with
  93029. * maximum contrast by default. Additionally, it will be given a
  93030. * `text-outline` style with the opposite color, to further increase the
  93031. * contrast. This can be overridden by setting the `text-outline` style to
  93032. * `none` in the `dataLabels.style` option.
  93033. */
  93034. color?: (ColorString|GradientColorObject|PatternObject);
  93035. /**
  93036. * (Highcharts) Whether to hide data labels that are outside the plot area.
  93037. * By default, the data label is moved inside the plot area according to the
  93038. * overflow option.
  93039. */
  93040. crop?: boolean;
  93041. /**
  93042. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  93043. * labels until the initial series animation has finished. Setting to
  93044. * `false` renders the data label immediately. If set to `true` inherits the
  93045. * defer time set in plotOptions.series.animation. If set to a number, a
  93046. * defer time is specified in milliseconds.
  93047. */
  93048. defer?: boolean;
  93049. /**
  93050. * (Highcharts) Enable or disable the data labels.
  93051. */
  93052. enabled?: boolean;
  93053. /**
  93054. * (Highcharts) A declarative filter to control of which data labels to
  93055. * display. The declarative filter is designed for use when callback
  93056. * functions are not available, like when the chart options require a pure
  93057. * JSON structure or for use with graphical editors. For programmatic
  93058. * control, use the `formatter` instead, and return `undefined` to disable a
  93059. * single data label.
  93060. */
  93061. filter?: DataLabelsFilterOptionsObject;
  93062. /**
  93063. * (Highcharts) A format string for the data label. Available variables are
  93064. * the same as for `formatter`.
  93065. */
  93066. format?: string;
  93067. /**
  93068. * (Highcharts) Callback JavaScript function to format the data label. Note
  93069. * that if a `format` is defined, the format takes precedence and the
  93070. * formatter is ignored.
  93071. */
  93072. formatter?: DataLabelsFormatterCallbackFunction;
  93073. /**
  93074. * (Highcharts) For points with an extent, like columns or map areas,
  93075. * whether to align the data label inside the box or to the actual value
  93076. * point. Defaults to `false` in most cases, `true` in stacked columns.
  93077. */
  93078. inside?: boolean;
  93079. /**
  93080. * (Highcharts) Format for points with the value of null. Works analogously
  93081. * to format. `nullFormat` can be applied only to series which support
  93082. * displaying null points.
  93083. */
  93084. nullFormat?: (boolean|string);
  93085. /**
  93086. * (Highcharts) Callback JavaScript function that defines formatting for
  93087. * points with the value of null. Works analogously to formatter.
  93088. * `nullPointFormatter` can be applied only to series which support
  93089. * displaying null points.
  93090. */
  93091. nullFormatter?: DataLabelsFormatterCallbackFunction;
  93092. /**
  93093. * (Highcharts) How to handle data labels that flow outside the plot area.
  93094. * The default is `"justify"`, which aligns them inside the plot area. For
  93095. * columns and bars, this means it will be moved inside the bar. To display
  93096. * data labels outside the plot area, set `crop` to `false` and `overflow`
  93097. * to `"allow"`.
  93098. */
  93099. overflow?: DataLabelsOverflowValue;
  93100. /**
  93101. * (Highcharts) When either the `borderWidth` or the `backgroundColor` is
  93102. * set, this is the padding within the box.
  93103. */
  93104. padding?: number;
  93105. /**
  93106. * (Highcharts) Aligns data labels relative to points. If `center` alignment
  93107. * is not possible, it defaults to `right`.
  93108. */
  93109. position?: AlignValue;
  93110. /**
  93111. * (Highcharts) Text rotation in degrees. Note that due to a more complex
  93112. * structure, backgrounds, borders and padding will be lost on a rotated
  93113. * data label.
  93114. */
  93115. rotation?: number;
  93116. /**
  93117. * (Highcharts) The shadow of the box. Works best with `borderWidth` or
  93118. * `backgroundColor`. Since 2.3 the shadow can be an object configuration
  93119. * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  93120. */
  93121. shadow?: (boolean|ShadowOptionsObject);
  93122. /**
  93123. * (Highcharts) The name of a symbol to use for the border around the label.
  93124. * Symbols are predefined functions on the Renderer object.
  93125. */
  93126. shape?: string;
  93127. /**
  93128. * (Highcharts) Styles for the label. The default `color` setting is
  93129. * `"contrast"`, which is a pseudo color that Highcharts picks up and
  93130. * applies the maximum contrast to the underlying point item, for example
  93131. * the bar in a bar chart.
  93132. *
  93133. * The `textOutline` is a pseudo property that applies an outline of the
  93134. * given width with the given color, which by default is the maximum
  93135. * contrast to the text. So a bright text color will result in a black text
  93136. * outline for maximum readability on a mixed background. In some cases,
  93137. * especially with grayscale text, the text outline doesn't work well, in
  93138. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  93139. * is true, the `textOutline` will not be picked up. In this, case, the same
  93140. * effect can be acheived through the `text-shadow` CSS property.
  93141. *
  93142. * For some series types, where each point has an extent, like for example
  93143. * tree maps, the data label may overflow the point. There are two
  93144. * strategies for handling overflow. By default, the text will wrap to
  93145. * multiple lines. The other strategy is to set `style.textOverflow` to
  93146. * `ellipsis`, which will keep the text on one line plus it will break
  93147. * inside long words.
  93148. */
  93149. style?: CSSObject;
  93150. /**
  93151. * (Highcharts) Options for a label text which should follow marker's shape.
  93152. * Border and background are disabled for a label that follows a path.
  93153. *
  93154. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  93155. * to true will disable this option.
  93156. */
  93157. textPath?: DataLabelsTextPathOptionsObject;
  93158. /**
  93159. * (Highcharts) Whether to use HTML to render the labels.
  93160. */
  93161. useHTML?: boolean;
  93162. /**
  93163. * (Highcharts) The vertical alignment of a data label. Can be one of `top`,
  93164. * `middle` or `bottom`. The default value depends on the data, for instance
  93165. * in a column chart, the label is above positive values and below negative
  93166. * values.
  93167. */
  93168. verticalAlign?: string;
  93169. /**
  93170. * (Highcharts) The x position offset of the label relative to the point in
  93171. * pixels.
  93172. */
  93173. x?: number;
  93174. /**
  93175. * (Highcharts) The y position offset of the label relative to the point in
  93176. * pixels.
  93177. */
  93178. y?: number;
  93179. /**
  93180. * (Highcharts) The Z index of the data labels. The default Z index puts it
  93181. * above the series. Use a Z index of 2 to display it behind the series.
  93182. */
  93183. z?: number;
  93184. }
  93185. /**
  93186. * (Highcharts) Set options on specific levels. Takes precedence over series
  93187. * options, but not point options.
  93188. */
  93189. export interface PlotTreemapLevelsOptions {
  93190. /**
  93191. * (Highcharts) Can set a `borderColor` on all points which lies on the same
  93192. * level.
  93193. */
  93194. borderColor?: ColorString;
  93195. /**
  93196. * (Highcharts) Set the dash style of the border of all the point which lies
  93197. * on the level. See plotOptions.scatter.dashStyle for possible options.
  93198. */
  93199. borderDashStyle?: DashStyleValue;
  93200. /**
  93201. * (Highcharts) Can set the borderWidth on all points which lies on the same
  93202. * level.
  93203. */
  93204. borderWidth?: number;
  93205. /**
  93206. * (Highcharts) Can set a color on all points which lies on the same level.
  93207. */
  93208. color?: (ColorString|GradientColorObject|PatternObject);
  93209. /**
  93210. * (Highcharts) A configuration object to define how the color of a child
  93211. * varies from the parent's color. The variation is distributed among the
  93212. * children of node. For example when setting brightness, the brightness
  93213. * change will range from the parent's original brightness on the first
  93214. * child, to the amount set in the `to` setting on the last node. This
  93215. * allows a gradient-like color scheme that sets children out from each
  93216. * other while highlighting the grouping on treemaps and sectors on sunburst
  93217. * charts.
  93218. */
  93219. colorVariation?: PlotTreemapLevelsColorVariationOptions;
  93220. /**
  93221. * (Highcharts) Can set the options of dataLabels on each point which lies
  93222. * on the level. plotOptions.treemap.dataLabels for possible values.
  93223. */
  93224. dataLabels?: (PlotTreemapLevelsDataLabelsOptions|Array<PlotTreemapLevelsDataLabelsOptions>);
  93225. /**
  93226. * (Highcharts) Can set the layoutAlgorithm option on a specific level.
  93227. */
  93228. layoutAlgorithm?: OptionsLayoutAlgorithmValue;
  93229. /**
  93230. * (Highcharts) Can set the layoutStartingDirection option on a specific
  93231. * level.
  93232. */
  93233. layoutStartingDirection?: OptionsLayoutStartingDirectionValue;
  93234. /**
  93235. * (Highcharts) Decides which level takes effect from the options set in the
  93236. * levels object.
  93237. */
  93238. level?: number;
  93239. }
  93240. /**
  93241. * (Highcharts) A treemap displays hierarchical data using nested rectangles.
  93242. * The data can be laid out in varying ways depending on options.
  93243. *
  93244. * In TypeScript the type option must always be set.
  93245. *
  93246. * Configuration options for the series are given in three levels:
  93247. *
  93248. * 1. Options for all series in a chart are defined in the plotOptions.series
  93249. * object.
  93250. *
  93251. * 2. Options for all `treemap` series are defined in plotOptions.treemap.
  93252. *
  93253. * 3. Options for one single series are given in the series instance array. (see
  93254. * online documentation for example)
  93255. */
  93256. export interface PlotTreemapOptions {
  93257. /**
  93258. * (Highcharts) Accessibility options for a series.
  93259. */
  93260. accessibility?: SeriesAccessibilityOptionsObject;
  93261. /**
  93262. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  93263. * rendered. If `true`, areas which don't correspond to a data point, are
  93264. * rendered as `null` points. If `false`, those areas are skipped.
  93265. */
  93266. allAreas?: boolean;
  93267. /**
  93268. * (Highcharts) Allow this series' points to be selected by clicking on the
  93269. * graphic (columns, point markers, pie slices, map areas etc).
  93270. *
  93271. * The selected points can be handled by point select and unselect events,
  93272. * or collectively by the getSelectedPoints function.
  93273. *
  93274. * And alternative way of selecting points is through dragging.
  93275. */
  93276. allowPointSelect?: boolean;
  93277. /**
  93278. * (Highcharts) When enabled the user can click on a point which is a parent
  93279. * and zoom in on its children.
  93280. */
  93281. allowTraversingTree?: boolean;
  93282. /**
  93283. * (Highcharts) Enabling this option will make the treemap alternate the
  93284. * drawing direction between vertical and horizontal. The next levels
  93285. * starting direction will always be the opposite of the previous.
  93286. */
  93287. alternateStartingDirection?: boolean;
  93288. /**
  93289. * (Highcharts) Enable or disable the initial animation when a series is
  93290. * displayed. The animation can also be set as a configuration object.
  93291. * Please note that this option only applies to the initial animation of the
  93292. * series itself. For other animations, see chart.animation and the
  93293. * animation parameter under the API methods. The following properties are
  93294. * supported:
  93295. *
  93296. * - `defer`: The animation delay time in milliseconds.
  93297. *
  93298. * - `duration`: The duration of the animation in milliseconds.
  93299. *
  93300. * - `easing`: Can be a string reference to an easing function set on the
  93301. * `Math` object or a function. See the _Custom easing function_ demo below.
  93302. *
  93303. * Due to poor performance, animation is disabled in old IE browsers for
  93304. * several chart types.
  93305. */
  93306. animation?: (boolean|PlotTreemapAnimationOptions|Partial<AnimationOptionsObject>);
  93307. /**
  93308. * (Highcharts) For some series, there is a limit that shuts down initial
  93309. * animation by default when the total number of points in the chart is too
  93310. * high. For example, for a column chart and its derivatives, animation does
  93311. * not run if there is more than 250 points totally. To disable this cap,
  93312. * set `animationLimit` to `Infinity`.
  93313. */
  93314. animationLimit?: number;
  93315. /**
  93316. * (Highcharts) Sets the color blending in the boost module.
  93317. */
  93318. boostBlending?: OptionsBoostBlendingValue;
  93319. /**
  93320. * (Highcharts) Set the point threshold for when a series should enter boost
  93321. * mode.
  93322. *
  93323. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  93324. * there are 2000 or more points in the series.
  93325. *
  93326. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  93327. * it to 1 will force boosting.
  93328. *
  93329. * Note that the cropThreshold also affects this setting. When zooming in on
  93330. * a series that has fewer points than the `cropThreshold`, all points are
  93331. * rendered although outside the visible plot area, and the `boostThreshold`
  93332. * won't take effect.
  93333. */
  93334. boostThreshold?: number;
  93335. /**
  93336. * (Highmaps) The color of the border surrounding each tree map item.
  93337. */
  93338. borderColor?: ColorString;
  93339. /**
  93340. * (Highmaps) The width of the border surrounding each tree map item.
  93341. */
  93342. borderWidth?: number;
  93343. /**
  93344. * (Highcharts) An additional class name to apply to the series' graphical
  93345. * elements. This option does not replace default class names of the
  93346. * graphical element.
  93347. */
  93348. className?: string;
  93349. /**
  93350. * (Highcharts) Disable this option to allow series rendering in the whole
  93351. * plotting area.
  93352. *
  93353. * **Note:** Clipping should be always enabled when chart.zoomType is set
  93354. */
  93355. clip?: boolean;
  93356. /**
  93357. * (Highcharts, Highmaps) Options for marker clusters, the concept of
  93358. * sampling the data values into larger blocks in order to ease readability
  93359. * and increase performance of the JavaScript charts.
  93360. *
  93361. * Note: marker clusters module is not working with `boost` and
  93362. * `draggable-points` modules.
  93363. *
  93364. * The marker clusters feature requires the marker-clusters.js file to be
  93365. * loaded, found in the modules directory of the download package, or online
  93366. * at code.highcharts.com/modules/marker-clusters.js.
  93367. */
  93368. cluster?: PlotTreemapClusterOptions;
  93369. /**
  93370. * (Highcharts) The main color of the series. In line type series it applies
  93371. * to the line and the point markers unless otherwise specified. In bar type
  93372. * series it applies to the bars unless a color is specified per point. The
  93373. * default value is pulled from the `options.colors` array.
  93374. *
  93375. * In styled mode, the color can be defined by the colorIndex option. Also,
  93376. * the series color can be set with the `.highcharts-series`,
  93377. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  93378. * `.highcharts-series-{n}` class, or individual classes given by the
  93379. * `className` option.
  93380. */
  93381. color?: (ColorString|GradientColorObject|PatternObject);
  93382. /**
  93383. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  93384. * this number defines which colorAxis the particular series is connected
  93385. * to. It refers to either the axis id or the index of the axis in the
  93386. * colorAxis array, with 0 being the first. Set this option to false to
  93387. * prevent a series from connecting to the default color axis.
  93388. *
  93389. * Since v7.2.0 the option can also be an axis id or an axis index instead
  93390. * of a boolean flag.
  93391. */
  93392. colorAxis?: (boolean|number|string);
  93393. /**
  93394. * (Highcharts) When using automatic point colors pulled from the
  93395. * `options.colors` collection, this option determines whether the chart
  93396. * should receive one color per series or one color per point.
  93397. */
  93398. colorByPoint?: object;
  93399. /**
  93400. * (Highcharts) Styled mode only. A specific color index to use for the
  93401. * series, so its graphic representations are given the class name
  93402. * `highcharts-color-{n}`.
  93403. */
  93404. colorIndex?: number;
  93405. /**
  93406. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  93407. * used to calculate point color if `colorAxis` is used. Requires to set
  93408. * `min` and `max` if some custom point property is used or if approximation
  93409. * for data grouping is set to `'sum'`.
  93410. */
  93411. colorKey?: string;
  93412. /**
  93413. * (Highcharts) A series specific or series type specific color set to apply
  93414. * instead of the global colors when colorByPoint is true.
  93415. */
  93416. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  93417. /**
  93418. * (Highstock) Compare the values of the series against the first non-null,
  93419. * non- zero value in the visible range. The y axis will show percentage or
  93420. * absolute change depending on whether `compare` is set to `"percent"` or
  93421. * `"value"`. When this is applied to multiple series, it allows comparing
  93422. * the development of the series against each other. Adds a `change` field
  93423. * to every point object.
  93424. */
  93425. compare?: string;
  93426. /**
  93427. * (Highstock) When compare is `percent`, this option dictates whether to
  93428. * use 0 or 100 as the base of comparison.
  93429. */
  93430. compareBase?: (0|100);
  93431. /**
  93432. * (Highstock) Defines if comparison should start from the first point
  93433. * within the visible range or should start from the first point **before**
  93434. * the range.
  93435. *
  93436. * In other words, this flag determines if first point within the visible
  93437. * range will have 0% (`compareStart=true`) or should have been already
  93438. * calculated according to the previous point (`compareStart=false`).
  93439. */
  93440. compareStart?: boolean;
  93441. /**
  93442. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  93443. * series plot across the extremes.
  93444. */
  93445. connectEnds?: boolean;
  93446. /**
  93447. * (Highcharts, Highstock) Whether to connect a graph line across null
  93448. * points, or render a gap between the two points on either side of the
  93449. * null.
  93450. */
  93451. connectNulls?: boolean;
  93452. /**
  93453. * (Gantt) Override Pathfinder connector options for a series. Requires
  93454. * Highcharts Gantt to be loaded.
  93455. */
  93456. connectors?: SeriesConnectorsOptionsObject;
  93457. /**
  93458. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  93459. * rounded to its nearest pixel in order to render sharp on screen. In some
  93460. * cases, when there are a lot of densely packed columns, this leads to
  93461. * visible difference in column widths or distance between columns. In these
  93462. * cases, setting `crisp` to `false` may look better, even though each
  93463. * column is rendered blurry.
  93464. */
  93465. crisp?: boolean;
  93466. /**
  93467. * (Highcharts) When the series contains less points than the crop
  93468. * threshold, all points are drawn, event if the points fall outside the
  93469. * visible plot area at the current zoom. The advantage of drawing all
  93470. * points (including markers and columns), is that animation is performed on
  93471. * updates. On the other hand, when the series contains more points than the
  93472. * crop threshold, the series data is cropped to only contain points that
  93473. * fall within the plot area. The advantage of cropping away invisible
  93474. * points is to increase performance on large series.
  93475. */
  93476. cropThreshold?: number;
  93477. /**
  93478. * (Highcharts) You can set the cursor to "pointer" if you have click events
  93479. * attached to the series, to signal to the user that the points and lines
  93480. * can be clicked.
  93481. *
  93482. * In styled mode, the series cursor can be set with the same classes as
  93483. * listed under series.color.
  93484. */
  93485. cursor?: (string|CursorValue);
  93486. /**
  93487. * (Highcharts) A reserved subspace to store options and values for
  93488. * customized functionality. Here you can add additional data for your own
  93489. * event callbacks and formatter callbacks.
  93490. */
  93491. custom?: Dictionary<any>;
  93492. /**
  93493. * (Highcharts) Name of the dash style to use for the graph, or for some
  93494. * series types the outline of each shape.
  93495. *
  93496. * In styled mode, the stroke dash-array can be set with the same classes as
  93497. * listed under series.color.
  93498. */
  93499. dashStyle?: DashStyleValue;
  93500. /**
  93501. * (Highstock) Data grouping is the concept of sampling the data values into
  93502. * larger blocks in order to ease readability and increase performance of
  93503. * the JavaScript charts. Highcharts Stock by default applies data grouping
  93504. * when the points become closer than a certain pixel value, determined by
  93505. * the `groupPixelWidth` option.
  93506. *
  93507. * If data grouping is applied, the grouping information of grouped points
  93508. * can be read from the Point.dataGroup. If point options other than the
  93509. * data itself are set, for example `name` or `color` or custom properties,
  93510. * the grouping logic doesn't know how to group it. In this case the options
  93511. * of the first point instance are copied over to the group point. This can
  93512. * be altered through a custom `approximation` callback function.
  93513. */
  93514. dataGrouping?: DataGroupingOptionsObject;
  93515. /**
  93516. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  93517. * labels, appearing next to each data point.
  93518. *
  93519. * Since v6.2.0, multiple data labels can be applied to each single point by
  93520. * defining them as an array of configs.
  93521. *
  93522. * In styled mode, the data labels can be styled with the
  93523. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  93524. * (see example).
  93525. */
  93526. dataLabels?: (PlotTreemapDataLabelsOptions|Array<PlotTreemapDataLabelsOptions>);
  93527. /**
  93528. * (Highcharts) A description of the series to add to the screen reader
  93529. * information about the series.
  93530. */
  93531. description?: string;
  93532. /**
  93533. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  93534. * This includes point tooltips and click events on graphs and points. For
  93535. * large datasets it improves performance.
  93536. */
  93537. enableMouseTracking?: boolean;
  93538. /**
  93539. * (Highcharts) General event handlers for the series items. These event
  93540. * hooks can also be attached to the series at run time using the
  93541. * `Highcharts.addEvent` function.
  93542. */
  93543. events?: SeriesEventsOptionsObject;
  93544. /**
  93545. * (Highcharts) Determines whether the series should look for the nearest
  93546. * point in both dimensions or just the x-dimension when hovering the
  93547. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  93548. * series. If the data has duplicate x-values, it is recommended to set this
  93549. * to `'xy'` to allow hovering over all points.
  93550. *
  93551. * Applies only to series types using nearest neighbor search (not direct
  93552. * hover) for tooltip.
  93553. */
  93554. findNearestPointBy?: OptionsFindNearestPointByValue;
  93555. /**
  93556. * (Highstock) Defines when to display a gap in the graph, together with the
  93557. * gapUnit option.
  93558. *
  93559. * In case when `dataGrouping` is enabled, points can be grouped into a
  93560. * larger time span. This can make the grouped points to have a greater
  93561. * distance than the absolute value of `gapSize` property, which will result
  93562. * in disappearing graph completely. To prevent this situation the mentioned
  93563. * distance between grouped points is used instead of previously defined
  93564. * `gapSize`.
  93565. *
  93566. * In practice, this option is most often used to visualize gaps in time
  93567. * series. In a stock chart, intraday data is available for daytime hours,
  93568. * while gaps will appear in nights and weekends.
  93569. */
  93570. gapSize?: number;
  93571. /**
  93572. * (Highstock) Together with gapSize, this option defines where to draw gaps
  93573. * in the graph.
  93574. *
  93575. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  93576. * if the distance between two points is greater than 5 times that of the
  93577. * two closest points, the graph will be broken.
  93578. *
  93579. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  93580. * values, which on a datetime axis is milliseconds. This also applies to
  93581. * the navigator series that inherits gap options from the base series.
  93582. */
  93583. gapUnit?: OptionsGapUnitValue;
  93584. /**
  93585. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  93586. * chart width or only the zoomed area when zooming in on parts of the X
  93587. * axis. By default, the Y axis adjusts to the min and max of the visible
  93588. * data. Cartesian series only.
  93589. */
  93590. getExtremesFromAll?: boolean;
  93591. /**
  93592. * (Highcharts) Whether to ignore hidden points when the layout algorithm
  93593. * runs. If `false`, hidden points will leave open spaces.
  93594. */
  93595. ignoreHiddenPoint?: boolean;
  93596. /**
  93597. * (Highcharts) When set to `false` will prevent the series data from being
  93598. * included in any form of data export.
  93599. *
  93600. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  93601. * `includeInCSVExport`.
  93602. */
  93603. includeInDataExport?: boolean;
  93604. /**
  93605. * (Highcharts) This option decides if the user can interact with the parent
  93606. * nodes or just the leaf nodes. When this option is undefined, it will be
  93607. * true by default. However when allowTraversingTree is true, then it will
  93608. * be false by default.
  93609. */
  93610. interactByLeaf?: boolean;
  93611. /**
  93612. * (Highmaps) What property to join the `mapData` to the value data. For
  93613. * example, if joinBy is "code", the mapData items with a specific code is
  93614. * merged into the data with the same code. For maps loaded from GeoJSON,
  93615. * the keys may be held in each point's `properties` object.
  93616. *
  93617. * The joinBy option can also be an array of two values, where the first
  93618. * points to a key in the `mapData`, and the second points to another key in
  93619. * the `data`.
  93620. *
  93621. * When joinBy is `null`, the map items are joined by their position in the
  93622. * array, which performs much better in maps with many data points. This is
  93623. * the recommended option if you are printing more than a thousand data
  93624. * points and have a backend that can preprocess the data into a parallel
  93625. * array of the mapData.
  93626. */
  93627. joinBy?: (string|Array<string>);
  93628. /**
  93629. * (Highcharts) An array specifying which option maps to which key in the
  93630. * data point array. This makes it convenient to work with unstructured data
  93631. * arrays from different sources.
  93632. */
  93633. keys?: Array<string>;
  93634. /**
  93635. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  93636. * series as possible in a natural way, seeking to avoid other series. The
  93637. * goal of this feature is to make the chart more easily readable, like if a
  93638. * human designer placed the labels in the optimal position.
  93639. *
  93640. * The series labels currently work with series types having a `graph` or an
  93641. * `area`.
  93642. */
  93643. label?: SeriesLabelOptionsObject;
  93644. /**
  93645. * (Highstock) The line marks the last price from all points.
  93646. */
  93647. lastPrice?: SeriesLastPriceOptionsObject;
  93648. /**
  93649. * (Highstock) The line marks the last price from visible range of points.
  93650. */
  93651. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  93652. /**
  93653. * (Highcharts) This option decides which algorithm is used for setting
  93654. * position and dimensions of the points.
  93655. */
  93656. layoutAlgorithm?: OptionsLayoutAlgorithmValue;
  93657. /**
  93658. * (Highcharts) Defines which direction the layout algorithm will start
  93659. * drawing.
  93660. */
  93661. layoutStartingDirection?: OptionsLayoutStartingDirectionValue;
  93662. /**
  93663. * (Highcharts) Used together with the levels and allowTraversingTree
  93664. * options. When set to false the first level visible to be level one, which
  93665. * is dynamic when traversing the tree. Otherwise the level will be the same
  93666. * as the tree structure.
  93667. */
  93668. levelIsConstant?: boolean;
  93669. /**
  93670. * (Highcharts) Set options on specific levels. Takes precedence over series
  93671. * options, but not point options.
  93672. */
  93673. levels?: Array<PlotTreemapLevelsOptions>;
  93674. /**
  93675. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  93676. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  93677. * the ends and bends.
  93678. */
  93679. linecap?: SeriesLinecapValue;
  93680. /**
  93681. * (Highcharts, Highstock) The width of the line connecting the data points.
  93682. */
  93683. lineWidth?: number;
  93684. /**
  93685. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  93686. * Additionally, the value can be ":previous" to link to the previous
  93687. * series. When two series are linked, only the first one appears in the
  93688. * legend. Toggling the visibility of this also toggles the linked series.
  93689. *
  93690. * If master series uses data sorting and linked series does not have its
  93691. * own sorting definition, the linked series will be sorted in the same
  93692. * order as the master one.
  93693. */
  93694. linkedTo?: string;
  93695. /**
  93696. * (Highstock) Options for the corresponding navigator series if
  93697. * `showInNavigator` is `true` for this series. Available options are the
  93698. * same as any series, documented at plotOptions and series.
  93699. *
  93700. * These options are merged with options in navigator.series, and will take
  93701. * precedence if the same option is defined both places.
  93702. */
  93703. navigatorOptions?: PlotSeriesOptions;
  93704. /**
  93705. * (Highcharts) The color for the parts of the graph or points that are
  93706. * below the threshold. Note that `zones` takes precedence over the negative
  93707. * color. Using `negativeColor` is equivalent to applying a zone with value
  93708. * of 0.
  93709. */
  93710. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  93711. /**
  93712. * (Highcharts) The opacity of a point in treemap. When a point has
  93713. * children, the visibility of the children is determined by the opacity.
  93714. */
  93715. opacity?: number;
  93716. /**
  93717. * (Highcharts) Properties for each single point.
  93718. */
  93719. point?: PlotSeriesPointOptions;
  93720. /**
  93721. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  93722. * individual series. Overrides the chart wide configuration.
  93723. */
  93724. pointDescriptionFormatter?: Function;
  93725. /**
  93726. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  93727. * a series, `pointInterval` defines the interval of the x values. For
  93728. * example, if a series contains one value every decade starting from year
  93729. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  93730. * `pointInterval` is set in milliseconds.
  93731. *
  93732. * It can be also be combined with `pointIntervalUnit` to draw irregular
  93733. * time intervals.
  93734. *
  93735. * Please note that this options applies to the _series data_, not the
  93736. * interval of the axis ticks, which is independent.
  93737. */
  93738. pointInterval?: number;
  93739. /**
  93740. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  93741. * setting the pointInterval to irregular time units, `day`, `month` and
  93742. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  93743. * also takes the DST crossover into consideration when dealing with local
  93744. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  93745. * months, 10 years etc.
  93746. *
  93747. * Please note that this options applies to the _series data_, not the
  93748. * interval of the axis ticks, which is independent.
  93749. */
  93750. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  93751. /**
  93752. * (Highstock) The width of each point on the x axis. For example in a
  93753. * column chart with one value each day, the pointRange would be 1 day (= 24
  93754. * * 3600
  93755. *
  93756. * * 1000 milliseconds). This is normally computed automatically, but this
  93757. * option can be used to override the automatic value.
  93758. */
  93759. pointRange?: number;
  93760. /**
  93761. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  93762. * a series, pointStart defines on what value to start. For example, if a
  93763. * series contains one yearly value starting from 1945, set pointStart to
  93764. * 1945.
  93765. */
  93766. pointStart?: number;
  93767. /**
  93768. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  93769. * true, the checkbox next to the series name in the legend will be checked
  93770. * for a selected series.
  93771. */
  93772. selected?: boolean;
  93773. /**
  93774. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  93775. * allow selecting the series. The state of the checkbox is determined by
  93776. * the `selected` option.
  93777. */
  93778. showCheckbox?: boolean;
  93779. /**
  93780. * (Highcharts) Whether to display this series type or specific series item
  93781. * in the legend.
  93782. */
  93783. showInLegend?: boolean;
  93784. /**
  93785. * (Highstock) Whether or not to show the series in the navigator. Takes
  93786. * precedence over navigator.baseSeries if defined.
  93787. */
  93788. showInNavigator?: boolean;
  93789. /**
  93790. * (Highcharts) If set to `true`, the accessibility module will skip past
  93791. * the points in this series for keyboard navigation.
  93792. */
  93793. skipKeyboardNavigation?: boolean;
  93794. /**
  93795. * (Highcharts, Highstock) When this is true, the series will not cause the
  93796. * Y axis to cross the zero plane (or threshold option) unless the data
  93797. * actually crosses the plane.
  93798. *
  93799. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  93800. * make the Y axis show negative values according to the `minPadding`
  93801. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  93802. */
  93803. softThreshold?: boolean;
  93804. /**
  93805. * (Highcharts) The sort index of the point inside the treemap level.
  93806. */
  93807. sortIndex?: number;
  93808. /**
  93809. * (Highcharts, Highstock) Whether to stack the values of each series on top
  93810. * of each other. Possible values are `undefined` to disable, `"normal"` to
  93811. * stack by value or `"percent"`.
  93812. *
  93813. * When stacking is enabled, data must be sorted in ascending X order.
  93814. *
  93815. * Some stacking options are related to specific series types. In the
  93816. * streamgraph series type, the stacking option is set to `"stream"`. The
  93817. * second one is `"overlap"`, which only applies to waterfall series.
  93818. */
  93819. stacking?: OptionsStackingValue;
  93820. /**
  93821. * (Highcharts) A wrapper object for all the series options in specific
  93822. * states.
  93823. */
  93824. states?: SeriesStatesOptionsObject;
  93825. /**
  93826. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  93827. * values are `left`, `center` and `right`.
  93828. */
  93829. step?: OptionsStepValue;
  93830. /**
  93831. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  93832. * `mouseOut` event on a series isn't triggered until the mouse moves over
  93833. * another series, or out of the plot area. When false, the `mouseOut` event
  93834. * on a series is triggered when the mouse leaves the area around the
  93835. * series' graph or markers. This also implies the tooltip. When
  93836. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  93837. * be hidden when moving the mouse between series.
  93838. */
  93839. stickyTracking?: boolean;
  93840. /**
  93841. * (Highcharts, Highstock) The threshold, also called zero level or base
  93842. * level. For line type series this is only used in conjunction with
  93843. * negativeColor.
  93844. */
  93845. threshold?: (number|null);
  93846. /**
  93847. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  93848. * of each single series. Properties are inherited from tooltip. Overridable
  93849. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  93850. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  93851. * series.name by default shows in the headerFormat and point.x and point.y
  93852. * in the pointFormat.
  93853. */
  93854. tooltip?: SeriesTooltipOptionsObject;
  93855. /**
  93856. * (Highcharts) Options for the button appearing when traversing down in a
  93857. * treemap.
  93858. */
  93859. traverseUpButton?: PlotTreemapTraverseUpButtonOptions;
  93860. /**
  93861. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  93862. * is longer than this, only one dimensional arrays of numbers, or two
  93863. * dimensional arrays with x and y values are allowed. Also, only the first
  93864. * point is tested, and the rest are assumed to be the same format. This
  93865. * saves expensive data checking and indexing in long series. Set it to `0`
  93866. * disable.
  93867. *
  93868. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  93869. * two dimensional arrays are allowed.
  93870. */
  93871. turboThreshold?: number;
  93872. /**
  93873. * (Highcharts) Set the initial visibility of the series.
  93874. */
  93875. visible?: boolean;
  93876. /**
  93877. * (Highmaps) Define the z index of the series.
  93878. */
  93879. zIndex?: number;
  93880. /**
  93881. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  93882. */
  93883. zoneAxis?: string;
  93884. /**
  93885. * (Highcharts, Highstock) An array defining zones within a series. Zones
  93886. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  93887. * the `zoneAxis` option. The zone definitions have to be in ascending order
  93888. * regarding to the value.
  93889. *
  93890. * In styled mode, the color zones are styled with the
  93891. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  93892. * option (view live demo).
  93893. */
  93894. zones?: Array<SeriesZonesOptionsObject>;
  93895. }
  93896. /**
  93897. * (Highcharts) Options for the button appearing when traversing down in a
  93898. * treemap.
  93899. */
  93900. export interface PlotTreemapTraverseUpButtonOptions {
  93901. /**
  93902. * (Highcharts) The position of the button.
  93903. */
  93904. position?: PlotTreemapTraverseUpButtonPositionOptions;
  93905. }
  93906. /**
  93907. * (Highcharts) The position of the button.
  93908. */
  93909. export interface PlotTreemapTraverseUpButtonPositionOptions {
  93910. /**
  93911. * (Highcharts) Horizontal alignment of the button.
  93912. */
  93913. align?: AlignValue;
  93914. /**
  93915. * (Highcharts) Vertical alignment of the button.
  93916. */
  93917. verticalAlign?: VerticalAlignValue;
  93918. /**
  93919. * (Highcharts) Horizontal offset of the button.
  93920. */
  93921. x?: number;
  93922. /**
  93923. * (Highcharts) Vertical offset of the button.
  93924. */
  93925. y?: number;
  93926. }
  93927. /**
  93928. * (Highstock) Enable or disable the initial animation when a series is
  93929. * displayed. The animation can also be set as a configuration object. Please
  93930. * note that this option only applies to the initial animation of the series
  93931. * itself. For other animations, see chart.animation and the animation parameter
  93932. * under the API methods. The following properties are supported:
  93933. *
  93934. * - `defer`: The animation delay time in milliseconds.
  93935. *
  93936. * - `duration`: The duration of the animation in milliseconds.
  93937. *
  93938. * - `easing`: Can be a string reference to an easing function set on the `Math`
  93939. * object or a function. See the _Custom easing function_ demo below.
  93940. *
  93941. * Due to poor performance, animation is disabled in old IE browsers for several
  93942. * chart types.
  93943. */
  93944. export interface PlotTrendlineAnimationOptions {
  93945. defer?: number;
  93946. }
  93947. /**
  93948. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  93949. * animation when a series is displayed for the `dataLabels`. The animation can
  93950. * also be set as a configuration object. Please note that this option only
  93951. * applies to the initial animation. For other animations, see chart.animation
  93952. * and the animation parameter under the API methods. The following properties
  93953. * are supported:
  93954. *
  93955. * - `defer`: The animation delay time in milliseconds.
  93956. */
  93957. export interface PlotTrendlineDataLabelsAnimationOptions {
  93958. /**
  93959. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  93960. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  93961. * inherits defer time from the series.animation.defer.
  93962. */
  93963. defer?: number;
  93964. }
  93965. /**
  93966. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  93967. * appearing next to each data point.
  93968. *
  93969. * Since v6.2.0, multiple data labels can be applied to each single point by
  93970. * defining them as an array of configs.
  93971. *
  93972. * In styled mode, the data labels can be styled with the
  93973. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  93974. * example).
  93975. */
  93976. export interface PlotTrendlineDataLabelsOptions {
  93977. /**
  93978. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  93979. * compared to the point. If `right`, the right side of the label should be
  93980. * touching the point. For points with an extent, like columns, the
  93981. * alignments also dictates how to align it inside the box, as given with
  93982. * the inside option. Can be one of `left`, `center` or `right`.
  93983. */
  93984. align?: (AlignValue|null);
  93985. /**
  93986. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  93987. * overlap. To make the labels less sensitive for overlapping, the
  93988. * dataLabels.padding can be set to 0.
  93989. */
  93990. allowOverlap?: boolean;
  93991. /**
  93992. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  93993. * animation when a series is displayed for the `dataLabels`. The animation
  93994. * can also be set as a configuration object. Please note that this option
  93995. * only applies to the initial animation. For other animations, see
  93996. * chart.animation and the animation parameter under the API methods. The
  93997. * following properties are supported:
  93998. *
  93999. * - `defer`: The animation delay time in milliseconds.
  94000. */
  94001. animation?: (boolean|PlotTrendlineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  94002. /**
  94003. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  94004. * for the data label.
  94005. */
  94006. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  94007. /**
  94008. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  94009. * label. Defaults to `undefined`.
  94010. */
  94011. borderColor?: (ColorString|GradientColorObject|PatternObject);
  94012. /**
  94013. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  94014. * the data label.
  94015. */
  94016. borderRadius?: number;
  94017. /**
  94018. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  94019. * the data label.
  94020. */
  94021. borderWidth?: number;
  94022. /**
  94023. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  94024. * Particularly in styled mode, this can be used to give each series' or
  94025. * point's data label unique styling. In addition to this option, a default
  94026. * color class name is added so that we can give the labels a contrast text
  94027. * shadow.
  94028. */
  94029. className?: string;
  94030. /**
  94031. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  94032. * labels. Defaults to `undefined`. For certain series types, like column or
  94033. * map, the data labels can be drawn inside the points. In this case the
  94034. * data label will be drawn with maximum contrast by default. Additionally,
  94035. * it will be given a `text-outline` style with the opposite color, to
  94036. * further increase the contrast. This can be overridden by setting the
  94037. * `text-outline` style to `none` in the `dataLabels.style` option.
  94038. */
  94039. color?: (ColorString|GradientColorObject|PatternObject);
  94040. /**
  94041. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  94042. * are outside the plot area. By default, the data label is moved inside the
  94043. * plot area according to the overflow option.
  94044. */
  94045. crop?: boolean;
  94046. /**
  94047. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  94048. * labels until the initial series animation has finished. Setting to
  94049. * `false` renders the data label immediately. If set to `true` inherits the
  94050. * defer time set in plotOptions.series.animation. If set to a number, a
  94051. * defer time is specified in milliseconds.
  94052. */
  94053. defer?: (boolean|number);
  94054. /**
  94055. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  94056. * labels.
  94057. */
  94058. enabled?: boolean;
  94059. /**
  94060. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  94061. * of which data labels to display. The declarative filter is designed for
  94062. * use when callback functions are not available, like when the chart
  94063. * options require a pure JSON structure or for use with graphical editors.
  94064. * For programmatic control, use the `formatter` instead, and return
  94065. * `undefined` to disable a single data label.
  94066. */
  94067. filter?: DataLabelsFilterOptionsObject;
  94068. /**
  94069. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  94070. * label. Available variables are the same as for `formatter`.
  94071. */
  94072. format?: string;
  94073. /**
  94074. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  94075. * format the data label. Note that if a `format` is defined, the format
  94076. * takes precedence and the formatter is ignored.
  94077. */
  94078. formatter?: DataLabelsFormatterCallbackFunction;
  94079. /**
  94080. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  94081. * columns or map areas, whether to align the data label inside the box or
  94082. * to the actual value point. Defaults to `false` in most cases, `true` in
  94083. * stacked columns.
  94084. */
  94085. inside?: boolean;
  94086. /**
  94087. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  94088. * of null. Works analogously to format. `nullFormat` can be applied only to
  94089. * series which support displaying null points.
  94090. */
  94091. nullFormat?: (boolean|string);
  94092. /**
  94093. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  94094. * that defines formatting for points with the value of null. Works
  94095. * analogously to formatter. `nullPointFormatter` can be applied only to
  94096. * series which support displaying null points.
  94097. */
  94098. nullFormatter?: DataLabelsFormatterCallbackFunction;
  94099. /**
  94100. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  94101. * flow outside the plot area. The default is `"justify"`, which aligns them
  94102. * inside the plot area. For columns and bars, this means it will be moved
  94103. * inside the bar. To display data labels outside the plot area, set `crop`
  94104. * to `false` and `overflow` to `"allow"`.
  94105. */
  94106. overflow?: DataLabelsOverflowValue;
  94107. /**
  94108. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  94109. * the `backgroundColor` is set, this is the padding within the box.
  94110. */
  94111. padding?: number;
  94112. /**
  94113. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  94114. * points. If `center` alignment is not possible, it defaults to `right`.
  94115. */
  94116. position?: AlignValue;
  94117. /**
  94118. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  94119. * that due to a more complex structure, backgrounds, borders and padding
  94120. * will be lost on a rotated data label.
  94121. */
  94122. rotation?: number;
  94123. /**
  94124. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  94125. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  94126. * an object configuration containing `color`, `offsetX`, `offsetY`,
  94127. * `opacity` and `width`.
  94128. */
  94129. shadow?: (boolean|ShadowOptionsObject);
  94130. /**
  94131. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  94132. * the border around the label. Symbols are predefined functions on the
  94133. * Renderer object.
  94134. */
  94135. shape?: string;
  94136. /**
  94137. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  94138. * default `color` setting is `"contrast"`, which is a pseudo color that
  94139. * Highcharts picks up and applies the maximum contrast to the underlying
  94140. * point item, for example the bar in a bar chart.
  94141. *
  94142. * The `textOutline` is a pseudo property that applies an outline of the
  94143. * given width with the given color, which by default is the maximum
  94144. * contrast to the text. So a bright text color will result in a black text
  94145. * outline for maximum readability on a mixed background. In some cases,
  94146. * especially with grayscale text, the text outline doesn't work well, in
  94147. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  94148. * is true, the `textOutline` will not be picked up. In this, case, the same
  94149. * effect can be acheived through the `text-shadow` CSS property.
  94150. *
  94151. * For some series types, where each point has an extent, like for example
  94152. * tree maps, the data label may overflow the point. There are two
  94153. * strategies for handling overflow. By default, the text will wrap to
  94154. * multiple lines. The other strategy is to set `style.textOverflow` to
  94155. * `ellipsis`, which will keep the text on one line plus it will break
  94156. * inside long words.
  94157. */
  94158. style?: CSSObject;
  94159. /**
  94160. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  94161. * should follow marker's shape. Border and background are disabled for a
  94162. * label that follows a path.
  94163. *
  94164. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  94165. * to true will disable this option.
  94166. */
  94167. textPath?: DataLabelsTextPathOptionsObject;
  94168. /**
  94169. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  94170. * the labels.
  94171. */
  94172. useHTML?: boolean;
  94173. /**
  94174. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  94175. * label. Can be one of `top`, `middle` or `bottom`. The default value
  94176. * depends on the data, for instance in a column chart, the label is above
  94177. * positive values and below negative values.
  94178. */
  94179. verticalAlign?: (VerticalAlignValue|null);
  94180. /**
  94181. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  94182. * label relative to the point in pixels.
  94183. */
  94184. x?: number;
  94185. /**
  94186. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  94187. * label relative to the point in pixels.
  94188. */
  94189. y?: number;
  94190. /**
  94191. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  94192. * The default Z index puts it above the series. Use a Z index of 2 to
  94193. * display it behind the series.
  94194. */
  94195. z?: number;
  94196. }
  94197. /**
  94198. * (Highcharts, Highstock) Options for the series data sorting.
  94199. */
  94200. export interface PlotTrendlineDataSortingOptions {
  94201. /**
  94202. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  94203. * Use xAxis.reversed to change the sorting order.
  94204. */
  94205. enabled?: boolean;
  94206. /**
  94207. * (Highcharts, Highstock) Whether to allow matching points by name in an
  94208. * update. If this option is disabled, points will be matched by order.
  94209. */
  94210. matchByName?: boolean;
  94211. /**
  94212. * (Highcharts, Highstock) Determines what data value should be used to sort
  94213. * by.
  94214. */
  94215. sortKey?: string;
  94216. }
  94217. /**
  94218. * (Highstock) Trendline (linear regression) fits a straight line to the
  94219. * selected data using a method called the Sum Of Least Squares. This series
  94220. * requires the `linkedTo` option to be set.
  94221. *
  94222. * In TypeScript the type option must always be set.
  94223. *
  94224. * Configuration options for the series are given in three levels:
  94225. *
  94226. * 1. Options for all series in a chart are defined in the plotOptions.series
  94227. * object.
  94228. *
  94229. * 2. Options for all `trendline` series are defined in plotOptions.trendline.
  94230. *
  94231. * 3. Options for one single series are given in the series instance array. (see
  94232. * online documentation for example)
  94233. */
  94234. export interface PlotTrendlineOptions {
  94235. /**
  94236. * (Highstock) Accessibility options for a series.
  94237. */
  94238. accessibility?: SeriesAccessibilityOptionsObject;
  94239. /**
  94240. * (Highstock) Allow this series' points to be selected by clicking on the
  94241. * graphic (columns, point markers, pie slices, map areas etc).
  94242. *
  94243. * The selected points can be handled by point select and unselect events,
  94244. * or collectively by the getSelectedPoints function.
  94245. *
  94246. * And alternative way of selecting points is through dragging.
  94247. */
  94248. allowPointSelect?: boolean;
  94249. /**
  94250. * (Highstock) Enable or disable the initial animation when a series is
  94251. * displayed. The animation can also be set as a configuration object.
  94252. * Please note that this option only applies to the initial animation of the
  94253. * series itself. For other animations, see chart.animation and the
  94254. * animation parameter under the API methods. The following properties are
  94255. * supported:
  94256. *
  94257. * - `defer`: The animation delay time in milliseconds.
  94258. *
  94259. * - `duration`: The duration of the animation in milliseconds.
  94260. *
  94261. * - `easing`: Can be a string reference to an easing function set on the
  94262. * `Math` object or a function. See the _Custom easing function_ demo below.
  94263. *
  94264. * Due to poor performance, animation is disabled in old IE browsers for
  94265. * several chart types.
  94266. */
  94267. animation?: (boolean|PlotTrendlineAnimationOptions|Partial<AnimationOptionsObject>);
  94268. /**
  94269. * (Highstock) For some series, there is a limit that shuts down initial
  94270. * animation by default when the total number of points in the chart is too
  94271. * high. For example, for a column chart and its derivatives, animation does
  94272. * not run if there is more than 250 points totally. To disable this cap,
  94273. * set `animationLimit` to `Infinity`.
  94274. */
  94275. animationLimit?: number;
  94276. /**
  94277. * (Highstock) Sets the color blending in the boost module.
  94278. */
  94279. boostBlending?: OptionsBoostBlendingValue;
  94280. /**
  94281. * (Highstock) Set the point threshold for when a series should enter boost
  94282. * mode.
  94283. *
  94284. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  94285. * there are 2000 or more points in the series.
  94286. *
  94287. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  94288. * it to 1 will force boosting.
  94289. *
  94290. * Note that the cropThreshold also affects this setting. When zooming in on
  94291. * a series that has fewer points than the `cropThreshold`, all points are
  94292. * rendered although outside the visible plot area, and the `boostThreshold`
  94293. * won't take effect.
  94294. */
  94295. boostThreshold?: number;
  94296. /**
  94297. * (Highmaps) The border color of the map areas.
  94298. *
  94299. * In styled mode, the border stroke is given in the `.highcharts-point`
  94300. * class.
  94301. */
  94302. borderColor?: (ColorString|GradientColorObject|PatternObject);
  94303. /**
  94304. * (Highmaps) The border width of each map area.
  94305. *
  94306. * In styled mode, the border stroke width is given in the
  94307. * `.highcharts-point` class.
  94308. */
  94309. borderWidth?: number;
  94310. /**
  94311. * (Highstock) An additional class name to apply to the series' graphical
  94312. * elements. This option does not replace default class names of the
  94313. * graphical element.
  94314. */
  94315. className?: string;
  94316. /**
  94317. * (Highstock) Disable this option to allow series rendering in the whole
  94318. * plotting area.
  94319. *
  94320. * **Note:** Clipping should be always enabled when chart.zoomType is set
  94321. */
  94322. clip?: boolean;
  94323. /**
  94324. * (Highstock) The main color of the series. In line type series it applies
  94325. * to the line and the point markers unless otherwise specified. In bar type
  94326. * series it applies to the bars unless a color is specified per point. The
  94327. * default value is pulled from the `options.colors` array.
  94328. *
  94329. * In styled mode, the color can be defined by the colorIndex option. Also,
  94330. * the series color can be set with the `.highcharts-series`,
  94331. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  94332. * `.highcharts-series-{n}` class, or individual classes given by the
  94333. * `className` option.
  94334. */
  94335. color?: (ColorString|GradientColorObject|PatternObject);
  94336. /**
  94337. * (Highstock) Styled mode only. A specific color index to use for the
  94338. * series, so its graphic representations are given the class name
  94339. * `highcharts-color-{n}`.
  94340. */
  94341. colorIndex?: number;
  94342. /**
  94343. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  94344. * used to calculate point color if `colorAxis` is used. Requires to set
  94345. * `min` and `max` if some custom point property is used or if approximation
  94346. * for data grouping is set to `'sum'`.
  94347. */
  94348. colorKey?: string;
  94349. /**
  94350. * (Highstock) Compare the values of the series against the first non-null,
  94351. * non- zero value in the visible range. The y axis will show percentage or
  94352. * absolute change depending on whether `compare` is set to `"percent"` or
  94353. * `"value"`. When this is applied to multiple series, it allows comparing
  94354. * the development of the series against each other. Adds a `change` field
  94355. * to every point object.
  94356. */
  94357. compare?: string;
  94358. /**
  94359. * (Highstock) When compare is `percent`, this option dictates whether to
  94360. * use 0 or 100 as the base of comparison.
  94361. */
  94362. compareBase?: (0|100);
  94363. /**
  94364. * (Highstock) Defines if comparison should start from the first point
  94365. * within the visible range or should start from the first point **before**
  94366. * the range.
  94367. *
  94368. * In other words, this flag determines if first point within the visible
  94369. * range will have 0% (`compareStart=true`) or should have been already
  94370. * calculated according to the previous point (`compareStart=false`).
  94371. */
  94372. compareStart?: boolean;
  94373. /**
  94374. * (Highstock) Whether to compare indicator to the main series values or
  94375. * indicator values.
  94376. */
  94377. compareToMain?: boolean;
  94378. /**
  94379. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  94380. * series plot across the extremes.
  94381. */
  94382. connectEnds?: boolean;
  94383. /**
  94384. * (Highcharts, Highstock) Whether to connect a graph line across null
  94385. * points, or render a gap between the two points on either side of the
  94386. * null.
  94387. */
  94388. connectNulls?: boolean;
  94389. /**
  94390. * (Gantt) Override Pathfinder connector options for a series. Requires
  94391. * Highcharts Gantt to be loaded.
  94392. */
  94393. connectors?: SeriesConnectorsOptionsObject;
  94394. /**
  94395. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  94396. * rounded to its nearest pixel in order to render sharp on screen. In some
  94397. * cases, when there are a lot of densely packed columns, this leads to
  94398. * visible difference in column widths or distance between columns. In these
  94399. * cases, setting `crisp` to `false` may look better, even though each
  94400. * column is rendered blurry.
  94401. */
  94402. crisp?: boolean;
  94403. /**
  94404. * (Highcharts, Highstock) When the series contains less points than the
  94405. * crop threshold, all points are drawn, even if the points fall outside the
  94406. * visible plot area at the current zoom. The advantage of drawing all
  94407. * points (including markers and columns), is that animation is performed on
  94408. * updates. On the other hand, when the series contains more points than the
  94409. * crop threshold, the series data is cropped to only contain points that
  94410. * fall within the plot area. The advantage of cropping away invisible
  94411. * points is to increase performance on large series.
  94412. */
  94413. cropThreshold?: number;
  94414. /**
  94415. * (Highstock) You can set the cursor to "pointer" if you have click events
  94416. * attached to the series, to signal to the user that the points and lines
  94417. * can be clicked.
  94418. *
  94419. * In styled mode, the series cursor can be set with the same classes as
  94420. * listed under series.color.
  94421. */
  94422. cursor?: (string|CursorValue);
  94423. /**
  94424. * (Highstock) A reserved subspace to store options and values for
  94425. * customized functionality. Here you can add additional data for your own
  94426. * event callbacks and formatter callbacks.
  94427. */
  94428. custom?: Dictionary<any>;
  94429. /**
  94430. * (Highstock) Name of the dash style to use for the graph, or for some
  94431. * series types the outline of each shape.
  94432. *
  94433. * In styled mode, the stroke dash-array can be set with the same classes as
  94434. * listed under series.color.
  94435. */
  94436. dashStyle?: DashStyleValue;
  94437. /**
  94438. * (Highstock) Data grouping is the concept of sampling the data values into
  94439. * larger blocks in order to ease readability and increase performance of
  94440. * the JavaScript charts. Highcharts Stock by default applies data grouping
  94441. * when the points become closer than a certain pixel value, determined by
  94442. * the `groupPixelWidth` option.
  94443. *
  94444. * If data grouping is applied, the grouping information of grouped points
  94445. * can be read from the Point.dataGroup. If point options other than the
  94446. * data itself are set, for example `name` or `color` or custom properties,
  94447. * the grouping logic doesn't know how to group it. In this case the options
  94448. * of the first point instance are copied over to the group point. This can
  94449. * be altered through a custom `approximation` callback function.
  94450. */
  94451. dataGrouping?: DataGroupingOptionsObject;
  94452. /**
  94453. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  94454. * labels, appearing next to each data point.
  94455. *
  94456. * Since v6.2.0, multiple data labels can be applied to each single point by
  94457. * defining them as an array of configs.
  94458. *
  94459. * In styled mode, the data labels can be styled with the
  94460. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  94461. * (see example).
  94462. */
  94463. dataLabels?: (PlotTrendlineDataLabelsOptions|Array<PlotTrendlineDataLabelsOptions>);
  94464. /**
  94465. * (Highcharts, Highstock) Options for the series data sorting.
  94466. */
  94467. dataSorting?: (DataSortingOptionsObject|PlotTrendlineDataSortingOptions);
  94468. /**
  94469. * (Highstock) A description of the series to add to the screen reader
  94470. * information about the series.
  94471. */
  94472. description?: string;
  94473. /**
  94474. * (Highstock) Enable or disable the mouse tracking for a specific series.
  94475. * This includes point tooltips and click events on graphs and points. For
  94476. * large datasets it improves performance.
  94477. */
  94478. enableMouseTracking?: boolean;
  94479. /**
  94480. * (Highstock) General event handlers for the series items. These event
  94481. * hooks can also be attached to the series at run time using the
  94482. * `Highcharts.addEvent` function.
  94483. */
  94484. events?: SeriesEventsOptionsObject;
  94485. /**
  94486. * (Highstock) Determines whether the series should look for the nearest
  94487. * point in both dimensions or just the x-dimension when hovering the
  94488. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  94489. * series. If the data has duplicate x-values, it is recommended to set this
  94490. * to `'xy'` to allow hovering over all points.
  94491. *
  94492. * Applies only to series types using nearest neighbor search (not direct
  94493. * hover) for tooltip.
  94494. */
  94495. findNearestPointBy?: OptionsFindNearestPointByValue;
  94496. /**
  94497. * (Highstock) Defines when to display a gap in the graph, together with the
  94498. * gapUnit option.
  94499. *
  94500. * In case when `dataGrouping` is enabled, points can be grouped into a
  94501. * larger time span. This can make the grouped points to have a greater
  94502. * distance than the absolute value of `gapSize` property, which will result
  94503. * in disappearing graph completely. To prevent this situation the mentioned
  94504. * distance between grouped points is used instead of previously defined
  94505. * `gapSize`.
  94506. *
  94507. * In practice, this option is most often used to visualize gaps in time
  94508. * series. In a stock chart, intraday data is available for daytime hours,
  94509. * while gaps will appear in nights and weekends.
  94510. */
  94511. gapSize?: number;
  94512. /**
  94513. * (Highstock) Together with gapSize, this option defines where to draw gaps
  94514. * in the graph.
  94515. *
  94516. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  94517. * if the distance between two points is greater than 5 times that of the
  94518. * two closest points, the graph will be broken.
  94519. *
  94520. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  94521. * values, which on a datetime axis is milliseconds. This also applies to
  94522. * the navigator series that inherits gap options from the base series.
  94523. */
  94524. gapUnit?: OptionsGapUnitValue;
  94525. /**
  94526. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  94527. * chart width or only the zoomed area when zooming in on parts of the X
  94528. * axis. By default, the Y axis adjusts to the min and max of the visible
  94529. * data. Cartesian series only.
  94530. */
  94531. getExtremesFromAll?: boolean;
  94532. /**
  94533. * (Highstock) When set to `false` will prevent the series data from being
  94534. * included in any form of data export.
  94535. *
  94536. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  94537. * `includeInCSVExport`.
  94538. */
  94539. includeInDataExport?: boolean;
  94540. /**
  94541. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  94542. * series as possible in a natural way, seeking to avoid other series. The
  94543. * goal of this feature is to make the chart more easily readable, like if a
  94544. * human designer placed the labels in the optimal position.
  94545. *
  94546. * The series labels currently work with series types having a `graph` or an
  94547. * `area`.
  94548. */
  94549. label?: SeriesLabelOptionsObject;
  94550. /**
  94551. * (Highstock) The line marks the last price from all points.
  94552. */
  94553. lastPrice?: SeriesLastPriceOptionsObject;
  94554. /**
  94555. * (Highstock) The line marks the last price from visible range of points.
  94556. */
  94557. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  94558. /**
  94559. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  94560. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  94561. * the ends and bends.
  94562. */
  94563. linecap?: SeriesLinecapValue;
  94564. /**
  94565. * (Highcharts, Highstock) Pixel width of the graph line.
  94566. */
  94567. lineWidth?: number;
  94568. /**
  94569. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  94570. * based on. Required for this indicator.
  94571. */
  94572. linkedTo?: string;
  94573. /**
  94574. * (Highstock) Options for the point markers of line-like series. Properties
  94575. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  94576. * appearance of the markers. Other series types, like column series, don't
  94577. * have markers, but have visual options on the series level instead.
  94578. *
  94579. * In styled mode, the markers can be styled with the `.highcharts-point`,
  94580. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  94581. */
  94582. marker?: PointMarkerOptionsObject;
  94583. /**
  94584. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  94585. * If not set, it will be based on a technical indicator type and default
  94586. * params.
  94587. */
  94588. name?: string;
  94589. /**
  94590. * (Highstock) The color for the parts of the graph or points that are below
  94591. * the threshold. Note that `zones` takes precedence over the negative
  94592. * color. Using `negativeColor` is equivalent to applying a zone with value
  94593. * of 0.
  94594. */
  94595. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  94596. /**
  94597. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  94598. * dataLabels.
  94599. */
  94600. opacity?: number;
  94601. /**
  94602. * (Highstock) Paramters used in calculation of regression series' points.
  94603. */
  94604. params?: PlotTrendlineParamsOptions;
  94605. /**
  94606. * (Highstock) Properties for each single point.
  94607. */
  94608. point?: PlotSeriesPointOptions;
  94609. /**
  94610. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  94611. * individual series. Overrides the chart wide configuration.
  94612. */
  94613. pointDescriptionFormatter?: Function;
  94614. /**
  94615. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  94616. * true, the checkbox next to the series name in the legend will be checked
  94617. * for a selected series.
  94618. */
  94619. selected?: boolean;
  94620. /**
  94621. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  94622. * the shadow can be an object configuration containing `color`, `offsetX`,
  94623. * `offsetY`, `opacity` and `width`.
  94624. */
  94625. shadow?: (boolean|ShadowOptionsObject);
  94626. /**
  94627. * (Highstock) If true, a checkbox is displayed next to the legend item to
  94628. * allow selecting the series. The state of the checkbox is determined by
  94629. * the `selected` option.
  94630. */
  94631. showCheckbox?: boolean;
  94632. /**
  94633. * (Highstock) Whether to display this particular series or series type in
  94634. * the legend. Standalone series are shown in legend by default, and linked
  94635. * series are not. Since v7.2.0 it is possible to show series that use
  94636. * colorAxis by setting this option to `true`.
  94637. */
  94638. showInLegend?: boolean;
  94639. /**
  94640. * (Highstock) If set to `true`, the accessibility module will skip past the
  94641. * points in this series for keyboard navigation.
  94642. */
  94643. skipKeyboardNavigation?: boolean;
  94644. /**
  94645. * (Highcharts, Highstock) When this is true, the series will not cause the
  94646. * Y axis to cross the zero plane (or threshold option) unless the data
  94647. * actually crosses the plane.
  94648. *
  94649. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  94650. * make the Y axis show negative values according to the `minPadding`
  94651. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  94652. */
  94653. softThreshold?: boolean;
  94654. states?: SeriesStatesOptionsObject;
  94655. /**
  94656. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  94657. * values are `left`, `center` and `right`.
  94658. */
  94659. step?: OptionsStepValue;
  94660. /**
  94661. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  94662. * event on a series isn't triggered until the mouse moves over another
  94663. * series, or out of the plot area. When false, the `mouseOut` event on a
  94664. * series is triggered when the mouse leaves the area around the series'
  94665. * graph or markers. This also implies the tooltip when not shared. When
  94666. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  94667. * be hidden when moving the mouse between series. Defaults to true for line
  94668. * and area type series, but to false for columns, pies etc.
  94669. *
  94670. * **Note:** The boost module will force this option because of technical
  94671. * limitations.
  94672. */
  94673. stickyTracking?: boolean;
  94674. /**
  94675. * (Highcharts, Highstock) The threshold, also called zero level or base
  94676. * level. For line type series this is only used in conjunction with
  94677. * negativeColor.
  94678. */
  94679. threshold?: (number|null);
  94680. /**
  94681. * (Highstock) A configuration object for the tooltip rendering of each
  94682. * single series. Properties are inherited from tooltip, but only the
  94683. * following properties can be defined on a series level.
  94684. */
  94685. tooltip?: SeriesTooltipOptionsObject;
  94686. /**
  94687. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  94688. * is longer than this, only one dimensional arrays of numbers, or two
  94689. * dimensional arrays with x and y values are allowed. Also, only the first
  94690. * point is tested, and the rest are assumed to be the same format. This
  94691. * saves expensive data checking and indexing in long series. Set it to `0`
  94692. * disable.
  94693. *
  94694. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  94695. * two dimensional arrays are allowed.
  94696. */
  94697. turboThreshold?: number;
  94698. /**
  94699. * (Highstock) Set the initial visibility of the series.
  94700. */
  94701. visible?: boolean;
  94702. /**
  94703. * (Highmaps) Define the z index of the series.
  94704. */
  94705. zIndex?: number;
  94706. /**
  94707. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  94708. */
  94709. zoneAxis?: string;
  94710. /**
  94711. * (Highcharts, Highstock) An array defining zones within a series. Zones
  94712. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  94713. * the `zoneAxis` option. The zone definitions have to be in ascending order
  94714. * regarding to the value.
  94715. *
  94716. * In styled mode, the color zones are styled with the
  94717. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  94718. * option (view live demo).
  94719. */
  94720. zones?: Array<SeriesZonesOptionsObject>;
  94721. }
  94722. /**
  94723. * (Highstock) Paramters used in calculation of regression series' points.
  94724. */
  94725. export interface PlotTrendlineParamsOptions {
  94726. /**
  94727. * (Highstock) The point index which indicator calculations will base. For
  94728. * example using OHLC data, index=2 means the indicator will be calculated
  94729. * using Low values.
  94730. */
  94731. index?: (number|string);
  94732. period?: string;
  94733. }
  94734. /**
  94735. * (Highstock) Enable or disable the initial animation when a series is
  94736. * displayed. The animation can also be set as a configuration object. Please
  94737. * note that this option only applies to the initial animation of the series
  94738. * itself. For other animations, see chart.animation and the animation parameter
  94739. * under the API methods. The following properties are supported:
  94740. *
  94741. * - `defer`: The animation delay time in milliseconds.
  94742. *
  94743. * - `duration`: The duration of the animation in milliseconds.
  94744. *
  94745. * - `easing`: Can be a string reference to an easing function set on the `Math`
  94746. * object or a function. See the _Custom easing function_ demo below.
  94747. *
  94748. * Due to poor performance, animation is disabled in old IE browsers for several
  94749. * chart types.
  94750. */
  94751. export interface PlotTrixAnimationOptions {
  94752. defer?: number;
  94753. }
  94754. /**
  94755. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  94756. * animation when a series is displayed for the `dataLabels`. The animation can
  94757. * also be set as a configuration object. Please note that this option only
  94758. * applies to the initial animation. For other animations, see chart.animation
  94759. * and the animation parameter under the API methods. The following properties
  94760. * are supported:
  94761. *
  94762. * - `defer`: The animation delay time in milliseconds.
  94763. */
  94764. export interface PlotTrixDataLabelsAnimationOptions {
  94765. /**
  94766. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  94767. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  94768. * inherits defer time from the series.animation.defer.
  94769. */
  94770. defer?: number;
  94771. }
  94772. /**
  94773. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  94774. * appearing next to each data point.
  94775. *
  94776. * Since v6.2.0, multiple data labels can be applied to each single point by
  94777. * defining them as an array of configs.
  94778. *
  94779. * In styled mode, the data labels can be styled with the
  94780. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  94781. * example).
  94782. */
  94783. export interface PlotTrixDataLabelsOptions {
  94784. /**
  94785. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  94786. * compared to the point. If `right`, the right side of the label should be
  94787. * touching the point. For points with an extent, like columns, the
  94788. * alignments also dictates how to align it inside the box, as given with
  94789. * the inside option. Can be one of `left`, `center` or `right`.
  94790. */
  94791. align?: (AlignValue|null);
  94792. /**
  94793. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  94794. * overlap. To make the labels less sensitive for overlapping, the
  94795. * dataLabels.padding can be set to 0.
  94796. */
  94797. allowOverlap?: boolean;
  94798. /**
  94799. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  94800. * animation when a series is displayed for the `dataLabels`. The animation
  94801. * can also be set as a configuration object. Please note that this option
  94802. * only applies to the initial animation. For other animations, see
  94803. * chart.animation and the animation parameter under the API methods. The
  94804. * following properties are supported:
  94805. *
  94806. * - `defer`: The animation delay time in milliseconds.
  94807. */
  94808. animation?: (boolean|PlotTrixDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  94809. /**
  94810. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  94811. * for the data label.
  94812. */
  94813. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  94814. /**
  94815. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  94816. * label. Defaults to `undefined`.
  94817. */
  94818. borderColor?: (ColorString|GradientColorObject|PatternObject);
  94819. /**
  94820. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  94821. * the data label.
  94822. */
  94823. borderRadius?: number;
  94824. /**
  94825. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  94826. * the data label.
  94827. */
  94828. borderWidth?: number;
  94829. /**
  94830. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  94831. * Particularly in styled mode, this can be used to give each series' or
  94832. * point's data label unique styling. In addition to this option, a default
  94833. * color class name is added so that we can give the labels a contrast text
  94834. * shadow.
  94835. */
  94836. className?: string;
  94837. /**
  94838. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  94839. * labels. Defaults to `undefined`. For certain series types, like column or
  94840. * map, the data labels can be drawn inside the points. In this case the
  94841. * data label will be drawn with maximum contrast by default. Additionally,
  94842. * it will be given a `text-outline` style with the opposite color, to
  94843. * further increase the contrast. This can be overridden by setting the
  94844. * `text-outline` style to `none` in the `dataLabels.style` option.
  94845. */
  94846. color?: (ColorString|GradientColorObject|PatternObject);
  94847. /**
  94848. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  94849. * are outside the plot area. By default, the data label is moved inside the
  94850. * plot area according to the overflow option.
  94851. */
  94852. crop?: boolean;
  94853. /**
  94854. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  94855. * labels until the initial series animation has finished. Setting to
  94856. * `false` renders the data label immediately. If set to `true` inherits the
  94857. * defer time set in plotOptions.series.animation. If set to a number, a
  94858. * defer time is specified in milliseconds.
  94859. */
  94860. defer?: (boolean|number);
  94861. /**
  94862. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  94863. * labels.
  94864. */
  94865. enabled?: boolean;
  94866. /**
  94867. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  94868. * of which data labels to display. The declarative filter is designed for
  94869. * use when callback functions are not available, like when the chart
  94870. * options require a pure JSON structure or for use with graphical editors.
  94871. * For programmatic control, use the `formatter` instead, and return
  94872. * `undefined` to disable a single data label.
  94873. */
  94874. filter?: DataLabelsFilterOptionsObject;
  94875. /**
  94876. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  94877. * label. Available variables are the same as for `formatter`.
  94878. */
  94879. format?: string;
  94880. /**
  94881. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  94882. * format the data label. Note that if a `format` is defined, the format
  94883. * takes precedence and the formatter is ignored.
  94884. */
  94885. formatter?: DataLabelsFormatterCallbackFunction;
  94886. /**
  94887. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  94888. * columns or map areas, whether to align the data label inside the box or
  94889. * to the actual value point. Defaults to `false` in most cases, `true` in
  94890. * stacked columns.
  94891. */
  94892. inside?: boolean;
  94893. /**
  94894. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  94895. * of null. Works analogously to format. `nullFormat` can be applied only to
  94896. * series which support displaying null points.
  94897. */
  94898. nullFormat?: (boolean|string);
  94899. /**
  94900. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  94901. * that defines formatting for points with the value of null. Works
  94902. * analogously to formatter. `nullPointFormatter` can be applied only to
  94903. * series which support displaying null points.
  94904. */
  94905. nullFormatter?: DataLabelsFormatterCallbackFunction;
  94906. /**
  94907. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  94908. * flow outside the plot area. The default is `"justify"`, which aligns them
  94909. * inside the plot area. For columns and bars, this means it will be moved
  94910. * inside the bar. To display data labels outside the plot area, set `crop`
  94911. * to `false` and `overflow` to `"allow"`.
  94912. */
  94913. overflow?: DataLabelsOverflowValue;
  94914. /**
  94915. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  94916. * the `backgroundColor` is set, this is the padding within the box.
  94917. */
  94918. padding?: number;
  94919. /**
  94920. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  94921. * points. If `center` alignment is not possible, it defaults to `right`.
  94922. */
  94923. position?: AlignValue;
  94924. /**
  94925. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  94926. * that due to a more complex structure, backgrounds, borders and padding
  94927. * will be lost on a rotated data label.
  94928. */
  94929. rotation?: number;
  94930. /**
  94931. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  94932. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  94933. * an object configuration containing `color`, `offsetX`, `offsetY`,
  94934. * `opacity` and `width`.
  94935. */
  94936. shadow?: (boolean|ShadowOptionsObject);
  94937. /**
  94938. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  94939. * the border around the label. Symbols are predefined functions on the
  94940. * Renderer object.
  94941. */
  94942. shape?: string;
  94943. /**
  94944. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  94945. * default `color` setting is `"contrast"`, which is a pseudo color that
  94946. * Highcharts picks up and applies the maximum contrast to the underlying
  94947. * point item, for example the bar in a bar chart.
  94948. *
  94949. * The `textOutline` is a pseudo property that applies an outline of the
  94950. * given width with the given color, which by default is the maximum
  94951. * contrast to the text. So a bright text color will result in a black text
  94952. * outline for maximum readability on a mixed background. In some cases,
  94953. * especially with grayscale text, the text outline doesn't work well, in
  94954. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  94955. * is true, the `textOutline` will not be picked up. In this, case, the same
  94956. * effect can be acheived through the `text-shadow` CSS property.
  94957. *
  94958. * For some series types, where each point has an extent, like for example
  94959. * tree maps, the data label may overflow the point. There are two
  94960. * strategies for handling overflow. By default, the text will wrap to
  94961. * multiple lines. The other strategy is to set `style.textOverflow` to
  94962. * `ellipsis`, which will keep the text on one line plus it will break
  94963. * inside long words.
  94964. */
  94965. style?: CSSObject;
  94966. /**
  94967. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  94968. * should follow marker's shape. Border and background are disabled for a
  94969. * label that follows a path.
  94970. *
  94971. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  94972. * to true will disable this option.
  94973. */
  94974. textPath?: DataLabelsTextPathOptionsObject;
  94975. /**
  94976. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  94977. * the labels.
  94978. */
  94979. useHTML?: boolean;
  94980. /**
  94981. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  94982. * label. Can be one of `top`, `middle` or `bottom`. The default value
  94983. * depends on the data, for instance in a column chart, the label is above
  94984. * positive values and below negative values.
  94985. */
  94986. verticalAlign?: (VerticalAlignValue|null);
  94987. /**
  94988. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  94989. * label relative to the point in pixels.
  94990. */
  94991. x?: number;
  94992. /**
  94993. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  94994. * label relative to the point in pixels.
  94995. */
  94996. y?: number;
  94997. /**
  94998. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  94999. * The default Z index puts it above the series. Use a Z index of 2 to
  95000. * display it behind the series.
  95001. */
  95002. z?: number;
  95003. }
  95004. /**
  95005. * (Highcharts, Highstock) Options for the series data sorting.
  95006. */
  95007. export interface PlotTrixDataSortingOptions {
  95008. /**
  95009. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  95010. * Use xAxis.reversed to change the sorting order.
  95011. */
  95012. enabled?: boolean;
  95013. /**
  95014. * (Highcharts, Highstock) Whether to allow matching points by name in an
  95015. * update. If this option is disabled, points will be matched by order.
  95016. */
  95017. matchByName?: boolean;
  95018. /**
  95019. * (Highcharts, Highstock) Determines what data value should be used to sort
  95020. * by.
  95021. */
  95022. sortKey?: string;
  95023. }
  95024. /**
  95025. * (Highstock) Triple exponential average (TRIX) oscillator. This series
  95026. * requires `linkedTo` option to be set.
  95027. *
  95028. * Requires https://code.highcharts.com/stock/indicators/ema.js and
  95029. * https://code.highcharts.com/stock/indicators/tema.js.
  95030. *
  95031. * In TypeScript the type option must always be set.
  95032. *
  95033. * Configuration options for the series are given in three levels:
  95034. *
  95035. * 1. Options for all series in a chart are defined in the plotOptions.series
  95036. * object.
  95037. *
  95038. * 2. Options for all `trix` series are defined in plotOptions.trix.
  95039. *
  95040. * 3. Options for one single series are given in the series instance array. (see
  95041. * online documentation for example)
  95042. */
  95043. export interface PlotTrixOptions {
  95044. /**
  95045. * (Highstock) Accessibility options for a series.
  95046. */
  95047. accessibility?: SeriesAccessibilityOptionsObject;
  95048. /**
  95049. * (Highstock) Allow this series' points to be selected by clicking on the
  95050. * graphic (columns, point markers, pie slices, map areas etc).
  95051. *
  95052. * The selected points can be handled by point select and unselect events,
  95053. * or collectively by the getSelectedPoints function.
  95054. *
  95055. * And alternative way of selecting points is through dragging.
  95056. */
  95057. allowPointSelect?: boolean;
  95058. /**
  95059. * (Highstock) Enable or disable the initial animation when a series is
  95060. * displayed. The animation can also be set as a configuration object.
  95061. * Please note that this option only applies to the initial animation of the
  95062. * series itself. For other animations, see chart.animation and the
  95063. * animation parameter under the API methods. The following properties are
  95064. * supported:
  95065. *
  95066. * - `defer`: The animation delay time in milliseconds.
  95067. *
  95068. * - `duration`: The duration of the animation in milliseconds.
  95069. *
  95070. * - `easing`: Can be a string reference to an easing function set on the
  95071. * `Math` object or a function. See the _Custom easing function_ demo below.
  95072. *
  95073. * Due to poor performance, animation is disabled in old IE browsers for
  95074. * several chart types.
  95075. */
  95076. animation?: (boolean|PlotTrixAnimationOptions|Partial<AnimationOptionsObject>);
  95077. /**
  95078. * (Highstock) For some series, there is a limit that shuts down initial
  95079. * animation by default when the total number of points in the chart is too
  95080. * high. For example, for a column chart and its derivatives, animation does
  95081. * not run if there is more than 250 points totally. To disable this cap,
  95082. * set `animationLimit` to `Infinity`.
  95083. */
  95084. animationLimit?: number;
  95085. /**
  95086. * (Highstock) Sets the color blending in the boost module.
  95087. */
  95088. boostBlending?: OptionsBoostBlendingValue;
  95089. /**
  95090. * (Highstock) Set the point threshold for when a series should enter boost
  95091. * mode.
  95092. *
  95093. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  95094. * there are 2000 or more points in the series.
  95095. *
  95096. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  95097. * it to 1 will force boosting.
  95098. *
  95099. * Note that the cropThreshold also affects this setting. When zooming in on
  95100. * a series that has fewer points than the `cropThreshold`, all points are
  95101. * rendered although outside the visible plot area, and the `boostThreshold`
  95102. * won't take effect.
  95103. */
  95104. boostThreshold?: number;
  95105. /**
  95106. * (Highmaps) The border color of the map areas.
  95107. *
  95108. * In styled mode, the border stroke is given in the `.highcharts-point`
  95109. * class.
  95110. */
  95111. borderColor?: (ColorString|GradientColorObject|PatternObject);
  95112. /**
  95113. * (Highmaps) The border width of each map area.
  95114. *
  95115. * In styled mode, the border stroke width is given in the
  95116. * `.highcharts-point` class.
  95117. */
  95118. borderWidth?: number;
  95119. /**
  95120. * (Highstock) An additional class name to apply to the series' graphical
  95121. * elements. This option does not replace default class names of the
  95122. * graphical element.
  95123. */
  95124. className?: string;
  95125. /**
  95126. * (Highstock) Disable this option to allow series rendering in the whole
  95127. * plotting area.
  95128. *
  95129. * **Note:** Clipping should be always enabled when chart.zoomType is set
  95130. */
  95131. clip?: boolean;
  95132. /**
  95133. * (Highstock) The main color of the series. In line type series it applies
  95134. * to the line and the point markers unless otherwise specified. In bar type
  95135. * series it applies to the bars unless a color is specified per point. The
  95136. * default value is pulled from the `options.colors` array.
  95137. *
  95138. * In styled mode, the color can be defined by the colorIndex option. Also,
  95139. * the series color can be set with the `.highcharts-series`,
  95140. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  95141. * `.highcharts-series-{n}` class, or individual classes given by the
  95142. * `className` option.
  95143. */
  95144. color?: (ColorString|GradientColorObject|PatternObject);
  95145. /**
  95146. * (Highstock) Styled mode only. A specific color index to use for the
  95147. * series, so its graphic representations are given the class name
  95148. * `highcharts-color-{n}`.
  95149. */
  95150. colorIndex?: number;
  95151. /**
  95152. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  95153. * used to calculate point color if `colorAxis` is used. Requires to set
  95154. * `min` and `max` if some custom point property is used or if approximation
  95155. * for data grouping is set to `'sum'`.
  95156. */
  95157. colorKey?: string;
  95158. /**
  95159. * (Highstock) Defines if comparison should start from the first point
  95160. * within the visible range or should start from the first point **before**
  95161. * the range.
  95162. *
  95163. * In other words, this flag determines if first point within the visible
  95164. * range will have 0% (`compareStart=true`) or should have been already
  95165. * calculated according to the previous point (`compareStart=false`).
  95166. */
  95167. compareStart?: boolean;
  95168. /**
  95169. * (Highstock) Whether to compare indicator to the main series values or
  95170. * indicator values.
  95171. */
  95172. compareToMain?: boolean;
  95173. /**
  95174. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  95175. * series plot across the extremes.
  95176. */
  95177. connectEnds?: boolean;
  95178. /**
  95179. * (Highcharts, Highstock) Whether to connect a graph line across null
  95180. * points, or render a gap between the two points on either side of the
  95181. * null.
  95182. */
  95183. connectNulls?: boolean;
  95184. /**
  95185. * (Gantt) Override Pathfinder connector options for a series. Requires
  95186. * Highcharts Gantt to be loaded.
  95187. */
  95188. connectors?: SeriesConnectorsOptionsObject;
  95189. /**
  95190. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  95191. * rounded to its nearest pixel in order to render sharp on screen. In some
  95192. * cases, when there are a lot of densely packed columns, this leads to
  95193. * visible difference in column widths or distance between columns. In these
  95194. * cases, setting `crisp` to `false` may look better, even though each
  95195. * column is rendered blurry.
  95196. */
  95197. crisp?: boolean;
  95198. /**
  95199. * (Highcharts, Highstock) When the series contains less points than the
  95200. * crop threshold, all points are drawn, even if the points fall outside the
  95201. * visible plot area at the current zoom. The advantage of drawing all
  95202. * points (including markers and columns), is that animation is performed on
  95203. * updates. On the other hand, when the series contains more points than the
  95204. * crop threshold, the series data is cropped to only contain points that
  95205. * fall within the plot area. The advantage of cropping away invisible
  95206. * points is to increase performance on large series.
  95207. */
  95208. cropThreshold?: number;
  95209. /**
  95210. * (Highstock) You can set the cursor to "pointer" if you have click events
  95211. * attached to the series, to signal to the user that the points and lines
  95212. * can be clicked.
  95213. *
  95214. * In styled mode, the series cursor can be set with the same classes as
  95215. * listed under series.color.
  95216. */
  95217. cursor?: (string|CursorValue);
  95218. /**
  95219. * (Highstock) A reserved subspace to store options and values for
  95220. * customized functionality. Here you can add additional data for your own
  95221. * event callbacks and formatter callbacks.
  95222. */
  95223. custom?: Dictionary<any>;
  95224. /**
  95225. * (Highstock) Name of the dash style to use for the graph, or for some
  95226. * series types the outline of each shape.
  95227. *
  95228. * In styled mode, the stroke dash-array can be set with the same classes as
  95229. * listed under series.color.
  95230. */
  95231. dashStyle?: DashStyleValue;
  95232. /**
  95233. * (Highstock) Data grouping is the concept of sampling the data values into
  95234. * larger blocks in order to ease readability and increase performance of
  95235. * the JavaScript charts. Highcharts Stock by default applies data grouping
  95236. * when the points become closer than a certain pixel value, determined by
  95237. * the `groupPixelWidth` option.
  95238. *
  95239. * If data grouping is applied, the grouping information of grouped points
  95240. * can be read from the Point.dataGroup. If point options other than the
  95241. * data itself are set, for example `name` or `color` or custom properties,
  95242. * the grouping logic doesn't know how to group it. In this case the options
  95243. * of the first point instance are copied over to the group point. This can
  95244. * be altered through a custom `approximation` callback function.
  95245. */
  95246. dataGrouping?: DataGroupingOptionsObject;
  95247. /**
  95248. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  95249. * labels, appearing next to each data point.
  95250. *
  95251. * Since v6.2.0, multiple data labels can be applied to each single point by
  95252. * defining them as an array of configs.
  95253. *
  95254. * In styled mode, the data labels can be styled with the
  95255. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  95256. * (see example).
  95257. */
  95258. dataLabels?: (PlotTrixDataLabelsOptions|Array<PlotTrixDataLabelsOptions>);
  95259. /**
  95260. * (Highcharts, Highstock) Options for the series data sorting.
  95261. */
  95262. dataSorting?: (DataSortingOptionsObject|PlotTrixDataSortingOptions);
  95263. /**
  95264. * (Highstock) A description of the series to add to the screen reader
  95265. * information about the series.
  95266. */
  95267. description?: string;
  95268. /**
  95269. * (Highstock) Enable or disable the mouse tracking for a specific series.
  95270. * This includes point tooltips and click events on graphs and points. For
  95271. * large datasets it improves performance.
  95272. */
  95273. enableMouseTracking?: boolean;
  95274. /**
  95275. * (Highstock) General event handlers for the series items. These event
  95276. * hooks can also be attached to the series at run time using the
  95277. * `Highcharts.addEvent` function.
  95278. */
  95279. events?: SeriesEventsOptionsObject;
  95280. /**
  95281. * (Highstock) Determines whether the series should look for the nearest
  95282. * point in both dimensions or just the x-dimension when hovering the
  95283. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  95284. * series. If the data has duplicate x-values, it is recommended to set this
  95285. * to `'xy'` to allow hovering over all points.
  95286. *
  95287. * Applies only to series types using nearest neighbor search (not direct
  95288. * hover) for tooltip.
  95289. */
  95290. findNearestPointBy?: OptionsFindNearestPointByValue;
  95291. /**
  95292. * (Highstock) Defines when to display a gap in the graph, together with the
  95293. * gapUnit option.
  95294. *
  95295. * In case when `dataGrouping` is enabled, points can be grouped into a
  95296. * larger time span. This can make the grouped points to have a greater
  95297. * distance than the absolute value of `gapSize` property, which will result
  95298. * in disappearing graph completely. To prevent this situation the mentioned
  95299. * distance between grouped points is used instead of previously defined
  95300. * `gapSize`.
  95301. *
  95302. * In practice, this option is most often used to visualize gaps in time
  95303. * series. In a stock chart, intraday data is available for daytime hours,
  95304. * while gaps will appear in nights and weekends.
  95305. */
  95306. gapSize?: number;
  95307. /**
  95308. * (Highstock) Together with gapSize, this option defines where to draw gaps
  95309. * in the graph.
  95310. *
  95311. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  95312. * if the distance between two points is greater than 5 times that of the
  95313. * two closest points, the graph will be broken.
  95314. *
  95315. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  95316. * values, which on a datetime axis is milliseconds. This also applies to
  95317. * the navigator series that inherits gap options from the base series.
  95318. */
  95319. gapUnit?: OptionsGapUnitValue;
  95320. /**
  95321. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  95322. * chart width or only the zoomed area when zooming in on parts of the X
  95323. * axis. By default, the Y axis adjusts to the min and max of the visible
  95324. * data. Cartesian series only.
  95325. */
  95326. getExtremesFromAll?: boolean;
  95327. /**
  95328. * (Highstock) When set to `false` will prevent the series data from being
  95329. * included in any form of data export.
  95330. *
  95331. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  95332. * `includeInCSVExport`.
  95333. */
  95334. includeInDataExport?: boolean;
  95335. /**
  95336. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  95337. * series as possible in a natural way, seeking to avoid other series. The
  95338. * goal of this feature is to make the chart more easily readable, like if a
  95339. * human designer placed the labels in the optimal position.
  95340. *
  95341. * The series labels currently work with series types having a `graph` or an
  95342. * `area`.
  95343. */
  95344. label?: SeriesLabelOptionsObject;
  95345. /**
  95346. * (Highstock) The line marks the last price from all points.
  95347. */
  95348. lastPrice?: SeriesLastPriceOptionsObject;
  95349. /**
  95350. * (Highstock) The line marks the last price from visible range of points.
  95351. */
  95352. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  95353. /**
  95354. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  95355. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  95356. * the ends and bends.
  95357. */
  95358. linecap?: SeriesLinecapValue;
  95359. /**
  95360. * (Highcharts, Highstock) Pixel width of the graph line.
  95361. */
  95362. lineWidth?: number;
  95363. /**
  95364. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  95365. * based on. Required for this indicator.
  95366. */
  95367. linkedTo?: string;
  95368. /**
  95369. * (Highstock) Options for the point markers of line-like series. Properties
  95370. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  95371. * appearance of the markers. Other series types, like column series, don't
  95372. * have markers, but have visual options on the series level instead.
  95373. *
  95374. * In styled mode, the markers can be styled with the `.highcharts-point`,
  95375. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  95376. */
  95377. marker?: PointMarkerOptionsObject;
  95378. /**
  95379. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  95380. * If not set, it will be based on a technical indicator type and default
  95381. * params.
  95382. */
  95383. name?: string;
  95384. /**
  95385. * (Highstock) The color for the parts of the graph or points that are below
  95386. * the threshold. Note that `zones` takes precedence over the negative
  95387. * color. Using `negativeColor` is equivalent to applying a zone with value
  95388. * of 0.
  95389. */
  95390. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  95391. /**
  95392. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  95393. * dataLabels.
  95394. */
  95395. opacity?: number;
  95396. /**
  95397. * (Highstock) Paramters used in calculation of regression series' points.
  95398. */
  95399. params?: PlotTrixParamsOptions;
  95400. /**
  95401. * (Highstock) Properties for each single point.
  95402. */
  95403. point?: PlotSeriesPointOptions;
  95404. /**
  95405. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  95406. * individual series. Overrides the chart wide configuration.
  95407. */
  95408. pointDescriptionFormatter?: Function;
  95409. /**
  95410. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  95411. * true, the checkbox next to the series name in the legend will be checked
  95412. * for a selected series.
  95413. */
  95414. selected?: boolean;
  95415. /**
  95416. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  95417. * the shadow can be an object configuration containing `color`, `offsetX`,
  95418. * `offsetY`, `opacity` and `width`.
  95419. */
  95420. shadow?: (boolean|ShadowOptionsObject);
  95421. /**
  95422. * (Highstock) If true, a checkbox is displayed next to the legend item to
  95423. * allow selecting the series. The state of the checkbox is determined by
  95424. * the `selected` option.
  95425. */
  95426. showCheckbox?: boolean;
  95427. /**
  95428. * (Highstock) Whether to display this particular series or series type in
  95429. * the legend. Standalone series are shown in legend by default, and linked
  95430. * series are not. Since v7.2.0 it is possible to show series that use
  95431. * colorAxis by setting this option to `true`.
  95432. */
  95433. showInLegend?: boolean;
  95434. /**
  95435. * (Highstock) If set to `true`, the accessibility module will skip past the
  95436. * points in this series for keyboard navigation.
  95437. */
  95438. skipKeyboardNavigation?: boolean;
  95439. /**
  95440. * (Highcharts, Highstock) When this is true, the series will not cause the
  95441. * Y axis to cross the zero plane (or threshold option) unless the data
  95442. * actually crosses the plane.
  95443. *
  95444. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  95445. * make the Y axis show negative values according to the `minPadding`
  95446. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  95447. */
  95448. softThreshold?: boolean;
  95449. states?: SeriesStatesOptionsObject;
  95450. /**
  95451. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  95452. * values are `left`, `center` and `right`.
  95453. */
  95454. step?: OptionsStepValue;
  95455. /**
  95456. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  95457. * event on a series isn't triggered until the mouse moves over another
  95458. * series, or out of the plot area. When false, the `mouseOut` event on a
  95459. * series is triggered when the mouse leaves the area around the series'
  95460. * graph or markers. This also implies the tooltip when not shared. When
  95461. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  95462. * be hidden when moving the mouse between series. Defaults to true for line
  95463. * and area type series, but to false for columns, pies etc.
  95464. *
  95465. * **Note:** The boost module will force this option because of technical
  95466. * limitations.
  95467. */
  95468. stickyTracking?: boolean;
  95469. /**
  95470. * (Highcharts, Highstock) The threshold, also called zero level or base
  95471. * level. For line type series this is only used in conjunction with
  95472. * negativeColor.
  95473. */
  95474. threshold?: (number|null);
  95475. /**
  95476. * (Highstock) A configuration object for the tooltip rendering of each
  95477. * single series. Properties are inherited from tooltip, but only the
  95478. * following properties can be defined on a series level.
  95479. */
  95480. tooltip?: SeriesTooltipOptionsObject;
  95481. /**
  95482. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  95483. * is longer than this, only one dimensional arrays of numbers, or two
  95484. * dimensional arrays with x and y values are allowed. Also, only the first
  95485. * point is tested, and the rest are assumed to be the same format. This
  95486. * saves expensive data checking and indexing in long series. Set it to `0`
  95487. * disable.
  95488. *
  95489. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  95490. * two dimensional arrays are allowed.
  95491. */
  95492. turboThreshold?: number;
  95493. /**
  95494. * (Highstock) Set the initial visibility of the series.
  95495. */
  95496. visible?: boolean;
  95497. /**
  95498. * (Highmaps) Define the z index of the series.
  95499. */
  95500. zIndex?: number;
  95501. /**
  95502. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  95503. */
  95504. zoneAxis?: string;
  95505. /**
  95506. * (Highcharts, Highstock) An array defining zones within a series. Zones
  95507. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  95508. * the `zoneAxis` option. The zone definitions have to be in ascending order
  95509. * regarding to the value.
  95510. *
  95511. * In styled mode, the color zones are styled with the
  95512. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  95513. * option (view live demo).
  95514. */
  95515. zones?: Array<SeriesZonesOptionsObject>;
  95516. }
  95517. /**
  95518. * (Highstock) Paramters used in calculation of regression series' points.
  95519. */
  95520. export interface PlotTrixParamsOptions {
  95521. /**
  95522. * (Highstock) The point index which indicator calculations will base. For
  95523. * example using OHLC data, index=2 means the indicator will be calculated
  95524. * using Low values.
  95525. *
  95526. * By default index value used to be set to 0. Since Highcharts Stock 7 by
  95527. * default index is set to 3 which means that the ema indicator will be
  95528. * calculated using Close values.
  95529. */
  95530. index?: number;
  95531. /**
  95532. * (Highstock) The base period for indicator calculations. This is the
  95533. * number of data points which are taken into account for the indicator
  95534. * calculations.
  95535. */
  95536. period?: number;
  95537. }
  95538. /**
  95539. * (Highcharts) Enable or disable the initial animation when a series is
  95540. * displayed. The animation can also be set as a configuration object. Please
  95541. * note that this option only applies to the initial animation of the series
  95542. * itself. For other animations, see chart.animation and the animation parameter
  95543. * under the API methods. The following properties are supported:
  95544. *
  95545. * - `defer`: The animation delay time in milliseconds.
  95546. *
  95547. * - `duration`: The duration of the animation in milliseconds.
  95548. *
  95549. * - `easing`: Can be a string reference to an easing function set on the `Math`
  95550. * object or a function. See the _Custom easing function_ demo below.
  95551. *
  95552. * Due to poor performance, animation is disabled in old IE browsers for several
  95553. * chart types.
  95554. */
  95555. export interface PlotVariablepieAnimationOptions {
  95556. defer?: number;
  95557. }
  95558. /**
  95559. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  95560. * animation when a series is displayed for the `dataLabels`. The animation can
  95561. * also be set as a configuration object. Please note that this option only
  95562. * applies to the initial animation. For other animations, see chart.animation
  95563. * and the animation parameter under the API methods. The following properties
  95564. * are supported:
  95565. *
  95566. * - `defer`: The animation delay time in milliseconds.
  95567. */
  95568. export interface PlotVariablepieDataLabelsAnimationOptions {
  95569. /**
  95570. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  95571. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  95572. * inherits defer time from the series.animation.defer.
  95573. */
  95574. defer?: number;
  95575. }
  95576. /**
  95577. * (Highcharts) A variable pie series is a two dimensional series type, where
  95578. * each point renders an Y and Z value. Each point is drawn as a pie slice where
  95579. * the size (arc) of the slice relates to the Y value and the radius of pie
  95580. * slice relates to the Z value.
  95581. *
  95582. * In TypeScript the type option must always be set.
  95583. *
  95584. * Configuration options for the series are given in three levels:
  95585. *
  95586. * 1. Options for all series in a chart are defined in the plotOptions.series
  95587. * object.
  95588. *
  95589. * 2. Options for all `variablepie` series are defined in
  95590. * plotOptions.variablepie.
  95591. *
  95592. * 3. Options for one single series are given in the series instance array. (see
  95593. * online documentation for example)
  95594. */
  95595. export interface PlotVariablepieOptions {
  95596. /**
  95597. * (Highcharts) Accessibility options for a series.
  95598. */
  95599. accessibility?: SeriesAccessibilityOptionsObject;
  95600. /**
  95601. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  95602. * rendered. If `true`, areas which don't correspond to a data point, are
  95603. * rendered as `null` points. If `false`, those areas are skipped.
  95604. */
  95605. allAreas?: boolean;
  95606. /**
  95607. * (Highcharts) Allow this series' points to be selected by clicking on the
  95608. * graphic (columns, point markers, pie slices, map areas etc).
  95609. *
  95610. * The selected points can be handled by point select and unselect events,
  95611. * or collectively by the getSelectedPoints function.
  95612. *
  95613. * And alternative way of selecting points is through dragging.
  95614. */
  95615. allowPointSelect?: boolean;
  95616. /**
  95617. * (Highcharts) Enable or disable the initial animation when a series is
  95618. * displayed. The animation can also be set as a configuration object.
  95619. * Please note that this option only applies to the initial animation of the
  95620. * series itself. For other animations, see chart.animation and the
  95621. * animation parameter under the API methods. The following properties are
  95622. * supported:
  95623. *
  95624. * - `defer`: The animation delay time in milliseconds.
  95625. *
  95626. * - `duration`: The duration of the animation in milliseconds.
  95627. *
  95628. * - `easing`: Can be a string reference to an easing function set on the
  95629. * `Math` object or a function. See the _Custom easing function_ demo below.
  95630. *
  95631. * Due to poor performance, animation is disabled in old IE browsers for
  95632. * several chart types.
  95633. */
  95634. animation?: (boolean|PlotVariablepieAnimationOptions|Partial<AnimationOptionsObject>);
  95635. /**
  95636. * (Highcharts) The color of the border surrounding each slice. When `null`,
  95637. * the border takes the same color as the slice fill. This can be used
  95638. * together with a `borderWidth` to fill drawing gaps created by
  95639. * antialiazing artefacts in borderless pies.
  95640. *
  95641. * In styled mode, the border stroke is given in the `.highcharts-point`
  95642. * class.
  95643. */
  95644. borderColor?: (ColorString|GradientColorObject|PatternObject);
  95645. /**
  95646. * (Highcharts) The width of the border surrounding each slice.
  95647. *
  95648. * When setting the border width to 0, there may be small gaps between the
  95649. * slices due to SVG antialiasing artefacts. To work around this, keep the
  95650. * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
  95651. *
  95652. * In styled mode, the border stroke width is given in the
  95653. * `.highcharts-point` class.
  95654. */
  95655. borderWidth?: number;
  95656. /**
  95657. * (Highcharts) The center of the pie chart relative to the plot area. Can
  95658. * be percentages or pixel values. The default behaviour (as of 3.0) is to
  95659. * center the pie so that all slices and data labels are within the plot
  95660. * area. As a consequence, the pie may actually jump around in a chart with
  95661. * dynamic values, as the data labels move. In that case, the center should
  95662. * be explicitly set, for example to `["50%", "50%"]`.
  95663. */
  95664. center?: [(number|string|null), (number|string|null)];
  95665. /**
  95666. * (Highcharts) An additional class name to apply to the series' graphical
  95667. * elements. This option does not replace default class names of the
  95668. * graphical element.
  95669. */
  95670. className?: string;
  95671. /**
  95672. * (Highcharts) Disable this option to allow series rendering in the whole
  95673. * plotting area.
  95674. *
  95675. * **Note:** Clipping should be always enabled when chart.zoomType is set
  95676. */
  95677. clip?: boolean;
  95678. /**
  95679. * (Highcharts) The color of the pie series. A pie series is represented as
  95680. * an empty circle if the total sum of its values is 0. Use this property to
  95681. * define the color of its border.
  95682. *
  95683. * In styled mode, the color can be defined by the colorIndex option. Also,
  95684. * the series color can be set with the `.highcharts-series`,
  95685. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  95686. * `.highcharts-series-{n}` class, or individual classes given by the
  95687. * `className` option.
  95688. */
  95689. color?: (ColorString|GradientColorObject|PatternObject);
  95690. /**
  95691. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  95692. * this number defines which colorAxis the particular series is connected
  95693. * to. It refers to either the axis id or the index of the axis in the
  95694. * colorAxis array, with 0 being the first. Set this option to false to
  95695. * prevent a series from connecting to the default color axis.
  95696. *
  95697. * Since v7.2.0 the option can also be an axis id or an axis index instead
  95698. * of a boolean flag.
  95699. */
  95700. colorAxis?: (boolean|number|string);
  95701. /**
  95702. * (Highcharts) Styled mode only. A specific color index to use for the
  95703. * series, so its graphic representations are given the class name
  95704. * `highcharts-color-{n}`.
  95705. */
  95706. colorIndex?: number;
  95707. /**
  95708. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  95709. * used to calculate point color if `colorAxis` is used. Requires to set
  95710. * `min` and `max` if some custom point property is used or if approximation
  95711. * for data grouping is set to `'sum'`.
  95712. */
  95713. colorKey?: string;
  95714. /**
  95715. * (Highcharts) A series specific or series type specific color set to use
  95716. * instead of the global colors.
  95717. */
  95718. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  95719. /**
  95720. * (Highstock) Compare the values of the series against the first non-null,
  95721. * non- zero value in the visible range. The y axis will show percentage or
  95722. * absolute change depending on whether `compare` is set to `"percent"` or
  95723. * `"value"`. When this is applied to multiple series, it allows comparing
  95724. * the development of the series against each other. Adds a `change` field
  95725. * to every point object.
  95726. */
  95727. compare?: string;
  95728. /**
  95729. * (Highstock) When compare is `percent`, this option dictates whether to
  95730. * use 0 or 100 as the base of comparison.
  95731. */
  95732. compareBase?: (0|100);
  95733. /**
  95734. * (Highstock) Defines if comparison should start from the first point
  95735. * within the visible range or should start from the first point **before**
  95736. * the range.
  95737. *
  95738. * In other words, this flag determines if first point within the visible
  95739. * range will have 0% (`compareStart=true`) or should have been already
  95740. * calculated according to the previous point (`compareStart=false`).
  95741. */
  95742. compareStart?: boolean;
  95743. /**
  95744. * (Gantt) Override Pathfinder connector options for a series. Requires
  95745. * Highcharts Gantt to be loaded.
  95746. */
  95747. connectors?: SeriesConnectorsOptionsObject;
  95748. /**
  95749. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  95750. * rounded to its nearest pixel in order to render sharp on screen. In some
  95751. * cases, when there are a lot of densely packed columns, this leads to
  95752. * visible difference in column widths or distance between columns. In these
  95753. * cases, setting `crisp` to `false` may look better, even though each
  95754. * column is rendered blurry.
  95755. */
  95756. crisp?: boolean;
  95757. /**
  95758. * (Highcharts) You can set the cursor to "pointer" if you have click events
  95759. * attached to the series, to signal to the user that the points and lines
  95760. * can be clicked.
  95761. *
  95762. * In styled mode, the series cursor can be set with the same classes as
  95763. * listed under series.color.
  95764. */
  95765. cursor?: (string|CursorValue);
  95766. /**
  95767. * (Highcharts) A reserved subspace to store options and values for
  95768. * customized functionality. Here you can add additional data for your own
  95769. * event callbacks and formatter callbacks.
  95770. */
  95771. custom?: Dictionary<any>;
  95772. /**
  95773. * (Highstock) Data grouping is the concept of sampling the data values into
  95774. * larger blocks in order to ease readability and increase performance of
  95775. * the JavaScript charts. Highcharts Stock by default applies data grouping
  95776. * when the points become closer than a certain pixel value, determined by
  95777. * the `groupPixelWidth` option.
  95778. *
  95779. * If data grouping is applied, the grouping information of grouped points
  95780. * can be read from the Point.dataGroup. If point options other than the
  95781. * data itself are set, for example `name` or `color` or custom properties,
  95782. * the grouping logic doesn't know how to group it. In this case the options
  95783. * of the first point instance are copied over to the group point. This can
  95784. * be altered through a custom `approximation` callback function.
  95785. */
  95786. dataGrouping?: DataGroupingOptionsObject;
  95787. /**
  95788. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  95789. * labels, appearing next to each data point.
  95790. *
  95791. * Since v6.2.0, multiple data labels can be applied to each single point by
  95792. * defining them as an array of configs.
  95793. *
  95794. * In styled mode, the data labels can be styled with the
  95795. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  95796. * (see example).
  95797. */
  95798. dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
  95799. /**
  95800. * (Highcharts) The thickness of a 3D pie.
  95801. */
  95802. depth?: number;
  95803. /**
  95804. * (Highcharts) A description of the series to add to the screen reader
  95805. * information about the series.
  95806. */
  95807. description?: string;
  95808. /**
  95809. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  95810. * This includes point tooltips and click events on graphs and points. For
  95811. * large datasets it improves performance.
  95812. */
  95813. enableMouseTracking?: boolean;
  95814. /**
  95815. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  95816. * right. Defaults to `startAngle` plus 360.
  95817. */
  95818. endAngle?: number;
  95819. /**
  95820. * (Highcharts) General event handlers for the series items. These event
  95821. * hooks can also be attached to the series at run time using the
  95822. * `Highcharts.addEvent` function.
  95823. */
  95824. events?: SeriesEventsOptionsObject;
  95825. /**
  95826. * (Highcharts) If the total sum of the pie's values is 0, the series is
  95827. * represented as an empty circle . The `fillColor` option defines the color
  95828. * of that circle. Use pie.borderWidth to set the border thickness.
  95829. */
  95830. fillColor?: (ColorString|GradientColorObject|PatternObject);
  95831. /**
  95832. * (Highstock) Defines when to display a gap in the graph, together with the
  95833. * gapUnit option.
  95834. *
  95835. * In case when `dataGrouping` is enabled, points can be grouped into a
  95836. * larger time span. This can make the grouped points to have a greater
  95837. * distance than the absolute value of `gapSize` property, which will result
  95838. * in disappearing graph completely. To prevent this situation the mentioned
  95839. * distance between grouped points is used instead of previously defined
  95840. * `gapSize`.
  95841. *
  95842. * In practice, this option is most often used to visualize gaps in time
  95843. * series. In a stock chart, intraday data is available for daytime hours,
  95844. * while gaps will appear in nights and weekends.
  95845. */
  95846. gapSize?: number;
  95847. /**
  95848. * (Highstock) Together with gapSize, this option defines where to draw gaps
  95849. * in the graph.
  95850. *
  95851. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  95852. * if the distance between two points is greater than 5 times that of the
  95853. * two closest points, the graph will be broken.
  95854. *
  95855. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  95856. * values, which on a datetime axis is milliseconds. This also applies to
  95857. * the navigator series that inherits gap options from the base series.
  95858. */
  95859. gapUnit?: OptionsGapUnitValue;
  95860. /**
  95861. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  95862. * whether the series shall be redrawn as if the hidden point were `null`.
  95863. *
  95864. * The default value changed from `false` to `true` with Highcharts 3.0.
  95865. */
  95866. ignoreHiddenPoint?: boolean;
  95867. /**
  95868. * (Highcharts) When set to `false` will prevent the series data from being
  95869. * included in any form of data export.
  95870. *
  95871. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  95872. * `includeInCSVExport`.
  95873. */
  95874. includeInDataExport?: boolean;
  95875. /**
  95876. * (Highcharts) The size of the inner diameter for the pie. A size greater
  95877. * than 0 renders a donut chart. Can be a percentage or pixel value.
  95878. * Percentages are relative to the pie size. Pixel values are given as
  95879. * integers.
  95880. *
  95881. * Note: in Highcharts < 4.1.2, the percentage was relative to the plot
  95882. * area, not the pie size.
  95883. */
  95884. innerSize?: (number|string);
  95885. /**
  95886. * (Highmaps) What property to join the `mapData` to the value data. For
  95887. * example, if joinBy is "code", the mapData items with a specific code is
  95888. * merged into the data with the same code. For maps loaded from GeoJSON,
  95889. * the keys may be held in each point's `properties` object.
  95890. *
  95891. * The joinBy option can also be an array of two values, where the first
  95892. * points to a key in the `mapData`, and the second points to another key in
  95893. * the `data`.
  95894. *
  95895. * When joinBy is `null`, the map items are joined by their position in the
  95896. * array, which performs much better in maps with many data points. This is
  95897. * the recommended option if you are printing more than a thousand data
  95898. * points and have a backend that can preprocess the data into a parallel
  95899. * array of the mapData.
  95900. */
  95901. joinBy?: (string|Array<string>);
  95902. /**
  95903. * (Highcharts) An array specifying which option maps to which key in the
  95904. * data point array. This makes it convenient to work with unstructured data
  95905. * arrays from different sources.
  95906. */
  95907. keys?: Array<string>;
  95908. /**
  95909. * (Highstock) The line marks the last price from all points.
  95910. */
  95911. lastPrice?: SeriesLastPriceOptionsObject;
  95912. /**
  95913. * (Highstock) The line marks the last price from visible range of points.
  95914. */
  95915. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  95916. /**
  95917. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  95918. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  95919. * the ends and bends.
  95920. */
  95921. linecap?: SeriesLinecapValue;
  95922. /**
  95923. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  95924. * Additionally, the value can be ":previous" to link to the previous
  95925. * series. When two series are linked, only the first one appears in the
  95926. * legend. Toggling the visibility of this also toggles the linked series.
  95927. *
  95928. * If master series uses data sorting and linked series does not have its
  95929. * own sorting definition, the linked series will be sorted in the same
  95930. * order as the master one.
  95931. */
  95932. linkedTo?: string;
  95933. /**
  95934. * (Highcharts) The maximum size of the points' radius related to chart's
  95935. * `plotArea`. If a number is set, it applies in pixels.
  95936. */
  95937. maxPointSize?: (number|string);
  95938. /**
  95939. * (Highcharts) The minimum size of the points' radius related to chart's
  95940. * `plotArea`. If a number is set, it applies in pixels.
  95941. */
  95942. minPointSize?: (number|string);
  95943. /**
  95944. * (Highcharts) The minimum size for a pie in response to auto margins. The
  95945. * pie will try to shrink to make room for data labels in side the plot
  95946. * area, but only to this size.
  95947. */
  95948. minSize?: (number|string);
  95949. /**
  95950. * (Highstock) Options for the corresponding navigator series if
  95951. * `showInNavigator` is `true` for this series. Available options are the
  95952. * same as any series, documented at plotOptions and series.
  95953. *
  95954. * These options are merged with options in navigator.series, and will take
  95955. * precedence if the same option is defined both places.
  95956. */
  95957. navigatorOptions?: PlotSeriesOptions;
  95958. /**
  95959. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  95960. * dataLabels.
  95961. */
  95962. opacity?: number;
  95963. /**
  95964. * (Highcharts) Properties for each single point.
  95965. */
  95966. point?: PlotSeriesPointOptions;
  95967. /**
  95968. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  95969. * individual series. Overrides the chart wide configuration.
  95970. */
  95971. pointDescriptionFormatter?: Function;
  95972. /**
  95973. * (Highstock) The width of each point on the x axis. For example in a
  95974. * column chart with one value each day, the pointRange would be 1 day (= 24
  95975. * * 3600
  95976. *
  95977. * * 1000 milliseconds). This is normally computed automatically, but this
  95978. * option can be used to override the automatic value.
  95979. */
  95980. pointRange?: number;
  95981. /**
  95982. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  95983. * true, the checkbox next to the series name in the legend will be checked
  95984. * for a selected series.
  95985. */
  95986. selected?: boolean;
  95987. /**
  95988. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  95989. * the shadow can be an object configuration containing `color`, `offsetX`,
  95990. * `offsetY`, `opacity` and `width`.
  95991. */
  95992. shadow?: (boolean|ShadowOptionsObject);
  95993. /**
  95994. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  95995. * allow selecting the series. The state of the checkbox is determined by
  95996. * the `selected` option.
  95997. */
  95998. showCheckbox?: boolean;
  95999. /**
  96000. * (Highcharts) Whether to display this particular series or series type in
  96001. * the legend. Since 2.1, pies are not shown in the legend by default.
  96002. */
  96003. showInLegend?: boolean;
  96004. /**
  96005. * (Highstock) Whether or not to show the series in the navigator. Takes
  96006. * precedence over navigator.baseSeries if defined.
  96007. */
  96008. showInNavigator?: boolean;
  96009. /**
  96010. * (Highcharts) The diameter of the pie relative to the plot area. Can be a
  96011. * percentage or pixel value. Pixel values are given as integers. The
  96012. * default behaviour (as of 3.0) is to scale to the plot area and give room
  96013. * for data labels within the plot area. slicedOffset is also included in
  96014. * the default size calculation. As a consequence, the size of the pie may
  96015. * vary when points are updated and data labels more around. In that case it
  96016. * is best to set a fixed value, for example `"75%"`.
  96017. */
  96018. size?: (number|string|null);
  96019. /**
  96020. * (Highcharts) Whether the pie slice's value should be represented by the
  96021. * area or the radius of the slice. Can be either `area` or `radius`. The
  96022. * default, `area`, corresponds best to the human perception of the size of
  96023. * each pie slice.
  96024. */
  96025. sizeBy?: VariablePieSizeByValue;
  96026. /**
  96027. * (Highcharts) If set to `true`, the accessibility module will skip past
  96028. * the points in this series for keyboard navigation.
  96029. */
  96030. skipKeyboardNavigation?: boolean;
  96031. /**
  96032. * (Highcharts) If a point is sliced, moved out from the center, how many
  96033. * pixels should it be moved?.
  96034. */
  96035. slicedOffset?: number;
  96036. /**
  96037. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  96038. * and 90 right.
  96039. */
  96040. startAngle?: number;
  96041. states?: SeriesStatesOptionsObject;
  96042. /**
  96043. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  96044. * event on a series isn't triggered until the mouse moves over another
  96045. * series, or out of the plot area. When false, the `mouseOut` event on a
  96046. * series is triggered when the mouse leaves the area around the series'
  96047. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  96048. * false and `tooltip.shared` is false, the tooltip will be hidden when
  96049. * moving the mouse between series.
  96050. */
  96051. stickyTracking?: boolean;
  96052. /**
  96053. * (Highcharts) A configuration object for the tooltip rendering of each
  96054. * single series. Properties are inherited from tooltip, but only the
  96055. * following properties can be defined on a series level.
  96056. */
  96057. tooltip?: SeriesTooltipOptionsObject;
  96058. /**
  96059. * (Highstock) The parameter allows setting line series type and use OHLC
  96060. * indicators. Data in OHLC format is required.
  96061. */
  96062. useOhlcData?: boolean;
  96063. /**
  96064. * (Highcharts) Set the initial visibility of the series.
  96065. */
  96066. visible?: boolean;
  96067. /**
  96068. * (Highmaps) Define the z index of the series.
  96069. */
  96070. zIndex?: number;
  96071. /**
  96072. * (Highcharts) The maximum possible z value for the point's radius
  96073. * calculation. If the point's Z value is bigger than zMax, the slice will
  96074. * be drawn according to the zMax value
  96075. */
  96076. zMax?: number;
  96077. /**
  96078. * (Highcharts) The minimum possible z value for the point's radius
  96079. * calculation. If the point's Z value is smaller than zMin, the slice will
  96080. * be drawn according to the zMin value.
  96081. */
  96082. zMin?: number;
  96083. }
  96084. /**
  96085. * (Highcharts) Enable or disable the initial animation when a series is
  96086. * displayed. The animation can also be set as a configuration object. Please
  96087. * note that this option only applies to the initial animation of the series
  96088. * itself. For other animations, see chart.animation and the animation parameter
  96089. * under the API methods. The following properties are supported:
  96090. *
  96091. * - `defer`: The animation delay time in milliseconds.
  96092. *
  96093. * - `duration`: The duration of the animation in milliseconds.
  96094. *
  96095. * - `easing`: Can be a string reference to an easing function set on the `Math`
  96096. * object or a function. See the _Custom easing function_ demo below.
  96097. *
  96098. * Due to poor performance, animation is disabled in old IE browsers for several
  96099. * chart types.
  96100. */
  96101. export interface PlotVariwideAnimationOptions {
  96102. defer?: number;
  96103. }
  96104. /**
  96105. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  96106. * animation when a series is displayed for the `dataLabels`. The animation can
  96107. * also be set as a configuration object. Please note that this option only
  96108. * applies to the initial animation. For other animations, see chart.animation
  96109. * and the animation parameter under the API methods. The following properties
  96110. * are supported:
  96111. *
  96112. * - `defer`: The animation delay time in milliseconds.
  96113. */
  96114. export interface PlotVariwideDataLabelsAnimationOptions {
  96115. /**
  96116. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  96117. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  96118. * inherits defer time from the series.animation.defer.
  96119. */
  96120. defer?: number;
  96121. }
  96122. /**
  96123. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  96124. * appearing next to each data point.
  96125. *
  96126. * Since v6.2.0, multiple data labels can be applied to each single point by
  96127. * defining them as an array of configs.
  96128. *
  96129. * In styled mode, the data labels can be styled with the
  96130. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  96131. * example).
  96132. */
  96133. export interface PlotVariwideDataLabelsOptions {
  96134. /**
  96135. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  96136. * compared to the point. If `right`, the right side of the label should be
  96137. * touching the point. For points with an extent, like columns, the
  96138. * alignments also dictates how to align it inside the box, as given with
  96139. * the inside option. Can be one of `left`, `center` or `right`.
  96140. */
  96141. align?: string;
  96142. /**
  96143. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  96144. * overlap. To make the labels less sensitive for overlapping, the
  96145. * dataLabels.padding can be set to 0.
  96146. */
  96147. allowOverlap?: boolean;
  96148. /**
  96149. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  96150. * animation when a series is displayed for the `dataLabels`. The animation
  96151. * can also be set as a configuration object. Please note that this option
  96152. * only applies to the initial animation. For other animations, see
  96153. * chart.animation and the animation parameter under the API methods. The
  96154. * following properties are supported:
  96155. *
  96156. * - `defer`: The animation delay time in milliseconds.
  96157. */
  96158. animation?: (boolean|PlotVariwideDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  96159. /**
  96160. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  96161. * for the data label.
  96162. */
  96163. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  96164. /**
  96165. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  96166. * label. Defaults to `undefined`.
  96167. */
  96168. borderColor?: (ColorString|GradientColorObject|PatternObject);
  96169. /**
  96170. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  96171. * the data label.
  96172. */
  96173. borderRadius?: number;
  96174. /**
  96175. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  96176. * the data label.
  96177. */
  96178. borderWidth?: number;
  96179. /**
  96180. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  96181. * Particularly in styled mode, this can be used to give each series' or
  96182. * point's data label unique styling. In addition to this option, a default
  96183. * color class name is added so that we can give the labels a contrast text
  96184. * shadow.
  96185. */
  96186. className?: string;
  96187. /**
  96188. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  96189. * labels. Defaults to `undefined`. For certain series types, like column or
  96190. * map, the data labels can be drawn inside the points. In this case the
  96191. * data label will be drawn with maximum contrast by default. Additionally,
  96192. * it will be given a `text-outline` style with the opposite color, to
  96193. * further increase the contrast. This can be overridden by setting the
  96194. * `text-outline` style to `none` in the `dataLabels.style` option.
  96195. */
  96196. color?: (ColorString|GradientColorObject|PatternObject);
  96197. /**
  96198. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  96199. * are outside the plot area. By default, the data label is moved inside the
  96200. * plot area according to the overflow option.
  96201. */
  96202. crop?: boolean;
  96203. /**
  96204. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  96205. * labels until the initial series animation has finished. Setting to
  96206. * `false` renders the data label immediately. If set to `true` inherits the
  96207. * defer time set in plotOptions.series.animation. If set to a number, a
  96208. * defer time is specified in milliseconds.
  96209. */
  96210. defer?: (boolean|number);
  96211. /**
  96212. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  96213. * labels.
  96214. */
  96215. enabled?: boolean;
  96216. /**
  96217. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  96218. * of which data labels to display. The declarative filter is designed for
  96219. * use when callback functions are not available, like when the chart
  96220. * options require a pure JSON structure or for use with graphical editors.
  96221. * For programmatic control, use the `formatter` instead, and return
  96222. * `undefined` to disable a single data label.
  96223. */
  96224. filter?: DataLabelsFilterOptionsObject;
  96225. /**
  96226. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  96227. * label. Available variables are the same as for `formatter`.
  96228. */
  96229. format?: string;
  96230. /**
  96231. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  96232. * format the data label. Note that if a `format` is defined, the format
  96233. * takes precedence and the formatter is ignored.
  96234. */
  96235. formatter?: DataLabelsFormatterCallbackFunction;
  96236. /**
  96237. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  96238. * columns or map areas, whether to align the data label inside the box or
  96239. * to the actual value point. Defaults to `false` in most cases, `true` in
  96240. * stacked columns.
  96241. */
  96242. inside?: boolean;
  96243. /**
  96244. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  96245. * of null. Works analogously to format. `nullFormat` can be applied only to
  96246. * series which support displaying null points.
  96247. */
  96248. nullFormat?: (boolean|string);
  96249. /**
  96250. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  96251. * that defines formatting for points with the value of null. Works
  96252. * analogously to formatter. `nullPointFormatter` can be applied only to
  96253. * series which support displaying null points.
  96254. */
  96255. nullFormatter?: DataLabelsFormatterCallbackFunction;
  96256. /**
  96257. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  96258. * flow outside the plot area. The default is `"justify"`, which aligns them
  96259. * inside the plot area. For columns and bars, this means it will be moved
  96260. * inside the bar. To display data labels outside the plot area, set `crop`
  96261. * to `false` and `overflow` to `"allow"`.
  96262. */
  96263. overflow?: DataLabelsOverflowValue;
  96264. /**
  96265. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  96266. * the `backgroundColor` is set, this is the padding within the box.
  96267. */
  96268. padding?: number;
  96269. /**
  96270. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  96271. * points. If `center` alignment is not possible, it defaults to `right`.
  96272. */
  96273. position?: AlignValue;
  96274. /**
  96275. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  96276. * that due to a more complex structure, backgrounds, borders and padding
  96277. * will be lost on a rotated data label.
  96278. */
  96279. rotation?: number;
  96280. /**
  96281. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  96282. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  96283. * an object configuration containing `color`, `offsetX`, `offsetY`,
  96284. * `opacity` and `width`.
  96285. */
  96286. shadow?: (boolean|ShadowOptionsObject);
  96287. /**
  96288. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  96289. * the border around the label. Symbols are predefined functions on the
  96290. * Renderer object.
  96291. */
  96292. shape?: string;
  96293. /**
  96294. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  96295. * default `color` setting is `"contrast"`, which is a pseudo color that
  96296. * Highcharts picks up and applies the maximum contrast to the underlying
  96297. * point item, for example the bar in a bar chart.
  96298. *
  96299. * The `textOutline` is a pseudo property that applies an outline of the
  96300. * given width with the given color, which by default is the maximum
  96301. * contrast to the text. So a bright text color will result in a black text
  96302. * outline for maximum readability on a mixed background. In some cases,
  96303. * especially with grayscale text, the text outline doesn't work well, in
  96304. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  96305. * is true, the `textOutline` will not be picked up. In this, case, the same
  96306. * effect can be acheived through the `text-shadow` CSS property.
  96307. *
  96308. * For some series types, where each point has an extent, like for example
  96309. * tree maps, the data label may overflow the point. There are two
  96310. * strategies for handling overflow. By default, the text will wrap to
  96311. * multiple lines. The other strategy is to set `style.textOverflow` to
  96312. * `ellipsis`, which will keep the text on one line plus it will break
  96313. * inside long words.
  96314. */
  96315. style?: CSSObject;
  96316. /**
  96317. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  96318. * should follow marker's shape. Border and background are disabled for a
  96319. * label that follows a path.
  96320. *
  96321. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  96322. * to true will disable this option.
  96323. */
  96324. textPath?: DataLabelsTextPathOptionsObject;
  96325. /**
  96326. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  96327. * the labels.
  96328. */
  96329. useHTML?: boolean;
  96330. /**
  96331. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  96332. * label. Can be one of `top`, `middle` or `bottom`. The default value
  96333. * depends on the data, for instance in a column chart, the label is above
  96334. * positive values and below negative values.
  96335. */
  96336. verticalAlign?: string;
  96337. /**
  96338. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  96339. * label relative to the point in pixels.
  96340. */
  96341. x?: number;
  96342. /**
  96343. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  96344. * label relative to the point in pixels.
  96345. */
  96346. y?: number;
  96347. /**
  96348. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  96349. * The default Z index puts it above the series. Use a Z index of 2 to
  96350. * display it behind the series.
  96351. */
  96352. z?: number;
  96353. }
  96354. /**
  96355. * (Highcharts, Highstock) Options for the series data sorting.
  96356. */
  96357. export interface PlotVariwideDataSortingOptions {
  96358. /**
  96359. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  96360. * Use xAxis.reversed to change the sorting order.
  96361. */
  96362. enabled?: boolean;
  96363. /**
  96364. * (Highcharts, Highstock) Whether to allow matching points by name in an
  96365. * update. If this option is disabled, points will be matched by order.
  96366. */
  96367. matchByName?: boolean;
  96368. /**
  96369. * (Highcharts, Highstock) Determines what data value should be used to sort
  96370. * by.
  96371. */
  96372. sortKey?: string;
  96373. }
  96374. /**
  96375. * (Highcharts) Style options for the guide box. The guide box has one state by
  96376. * default, the `default` state.
  96377. */
  96378. export interface PlotVariwideDragDropGuideBoxOptions {
  96379. /**
  96380. * (Highcharts) Style options for the guide box default state.
  96381. */
  96382. default?: DragDropGuideBoxOptionsObject;
  96383. }
  96384. /**
  96385. * (Highcharts) A variwide chart (related to marimekko chart) is a column chart
  96386. * with a variable width expressing a third dimension.
  96387. *
  96388. * In TypeScript the type option must always be set.
  96389. *
  96390. * Configuration options for the series are given in three levels:
  96391. *
  96392. * 1. Options for all series in a chart are defined in the plotOptions.series
  96393. * object.
  96394. *
  96395. * 2. Options for all `variwide` series are defined in plotOptions.variwide.
  96396. *
  96397. * 3. Options for one single series are given in the series instance array. (see
  96398. * online documentation for example)
  96399. */
  96400. export interface PlotVariwideOptions {
  96401. /**
  96402. * (Highcharts) Accessibility options for a series.
  96403. */
  96404. accessibility?: SeriesAccessibilityOptionsObject;
  96405. /**
  96406. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  96407. * rendered. If `true`, areas which don't correspond to a data point, are
  96408. * rendered as `null` points. If `false`, those areas are skipped.
  96409. */
  96410. allAreas?: boolean;
  96411. /**
  96412. * (Highcharts) Allow this series' points to be selected by clicking on the
  96413. * graphic (columns, point markers, pie slices, map areas etc).
  96414. *
  96415. * The selected points can be handled by point select and unselect events,
  96416. * or collectively by the getSelectedPoints function.
  96417. *
  96418. * And alternative way of selecting points is through dragging.
  96419. */
  96420. allowPointSelect?: boolean;
  96421. /**
  96422. * (Highcharts) Enable or disable the initial animation when a series is
  96423. * displayed. The animation can also be set as a configuration object.
  96424. * Please note that this option only applies to the initial animation of the
  96425. * series itself. For other animations, see chart.animation and the
  96426. * animation parameter under the API methods. The following properties are
  96427. * supported:
  96428. *
  96429. * - `defer`: The animation delay time in milliseconds.
  96430. *
  96431. * - `duration`: The duration of the animation in milliseconds.
  96432. *
  96433. * - `easing`: Can be a string reference to an easing function set on the
  96434. * `Math` object or a function. See the _Custom easing function_ demo below.
  96435. *
  96436. * Due to poor performance, animation is disabled in old IE browsers for
  96437. * several chart types.
  96438. */
  96439. animation?: (boolean|PlotVariwideAnimationOptions|Partial<AnimationOptionsObject>);
  96440. /**
  96441. * (Highcharts) For some series, there is a limit that shuts down initial
  96442. * animation by default when the total number of points in the chart is too
  96443. * high. For example, for a column chart and its derivatives, animation does
  96444. * not run if there is more than 250 points totally. To disable this cap,
  96445. * set `animationLimit` to `Infinity`.
  96446. */
  96447. animationLimit?: number;
  96448. /**
  96449. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  96450. * column or bar.
  96451. *
  96452. * In styled mode, the border stroke can be set with the `.highcharts-point`
  96453. * rule.
  96454. */
  96455. borderColor?: (ColorString|GradientColorObject|PatternObject);
  96456. /**
  96457. * (Highcharts, Highstock, Gantt) The corner radius of the border
  96458. * surrounding each column or bar.
  96459. */
  96460. borderRadius?: number;
  96461. /**
  96462. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  96463. * column or bar. Defaults to `1` when there is room for a border, but to
  96464. * `0` when the columns are so dense that a border would cover the next
  96465. * column.
  96466. *
  96467. * In styled mode, the stroke width can be set with the `.highcharts-point`
  96468. * rule.
  96469. */
  96470. borderWidth?: number;
  96471. /**
  96472. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  96473. * the category, ignoring null or missing points. When `false`, space will
  96474. * be reserved for null or missing points.
  96475. */
  96476. centerInCategory?: boolean;
  96477. /**
  96478. * (Highcharts) An additional class name to apply to the series' graphical
  96479. * elements. This option does not replace default class names of the
  96480. * graphical element.
  96481. */
  96482. className?: string;
  96483. /**
  96484. * (Highcharts) Disable this option to allow series rendering in the whole
  96485. * plotting area.
  96486. *
  96487. * **Note:** Clipping should be always enabled when chart.zoomType is set
  96488. */
  96489. clip?: boolean;
  96490. /**
  96491. * (Highcharts) The main color of the series. In line type series it applies
  96492. * to the line and the point markers unless otherwise specified. In bar type
  96493. * series it applies to the bars unless a color is specified per point. The
  96494. * default value is pulled from the `options.colors` array.
  96495. *
  96496. * In styled mode, the color can be defined by the colorIndex option. Also,
  96497. * the series color can be set with the `.highcharts-series`,
  96498. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  96499. * `.highcharts-series-{n}` class, or individual classes given by the
  96500. * `className` option.
  96501. */
  96502. color?: (ColorString|GradientColorObject|PatternObject);
  96503. /**
  96504. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  96505. * this number defines which colorAxis the particular series is connected
  96506. * to. It refers to either the axis id or the index of the axis in the
  96507. * colorAxis array, with 0 being the first. Set this option to false to
  96508. * prevent a series from connecting to the default color axis.
  96509. *
  96510. * Since v7.2.0 the option can also be an axis id or an axis index instead
  96511. * of a boolean flag.
  96512. */
  96513. colorAxis?: (boolean|number|string);
  96514. /**
  96515. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  96516. * from the global colors or series-specific plotOptions.column.colors
  96517. * collections, this option determines whether the chart should receive one
  96518. * color per series or one color per point.
  96519. *
  96520. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  96521. * and instead this option gives the points individual color class names on
  96522. * the form `highcharts-color-{n}`.
  96523. */
  96524. colorByPoint?: boolean;
  96525. /**
  96526. * (Highcharts) Styled mode only. A specific color index to use for the
  96527. * series, so its graphic representations are given the class name
  96528. * `highcharts-color-{n}`.
  96529. */
  96530. colorIndex?: number;
  96531. /**
  96532. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  96533. * used to calculate point color if `colorAxis` is used. Requires to set
  96534. * `min` and `max` if some custom point property is used or if approximation
  96535. * for data grouping is set to `'sum'`.
  96536. */
  96537. colorKey?: string;
  96538. /**
  96539. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  96540. * color set to apply instead of the global colors when colorByPoint is
  96541. * true.
  96542. */
  96543. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  96544. /**
  96545. * (Highstock) Compare the values of the series against the first non-null,
  96546. * non- zero value in the visible range. The y axis will show percentage or
  96547. * absolute change depending on whether `compare` is set to `"percent"` or
  96548. * `"value"`. When this is applied to multiple series, it allows comparing
  96549. * the development of the series against each other. Adds a `change` field
  96550. * to every point object.
  96551. */
  96552. compare?: string;
  96553. /**
  96554. * (Highstock) When compare is `percent`, this option dictates whether to
  96555. * use 0 or 100 as the base of comparison.
  96556. */
  96557. compareBase?: (0|100);
  96558. /**
  96559. * (Highstock) Defines if comparison should start from the first point
  96560. * within the visible range or should start from the first point **before**
  96561. * the range.
  96562. *
  96563. * In other words, this flag determines if first point within the visible
  96564. * range will have 0% (`compareStart=true`) or should have been already
  96565. * calculated according to the previous point (`compareStart=false`).
  96566. */
  96567. compareStart?: boolean;
  96568. /**
  96569. * (Gantt) Override Pathfinder connector options for a series. Requires
  96570. * Highcharts Gantt to be loaded.
  96571. */
  96572. connectors?: SeriesConnectorsOptionsObject;
  96573. /**
  96574. * (Highcharts, Highstock, Gantt) When the series contains less points than
  96575. * the crop threshold, all points are drawn, event if the points fall
  96576. * outside the visible plot area at the current zoom. The advantage of
  96577. * drawing all points (including markers and columns), is that animation is
  96578. * performed on updates. On the other hand, when the series contains more
  96579. * points than the crop threshold, the series data is cropped to only
  96580. * contain points that fall within the plot area. The advantage of cropping
  96581. * away invisible points is to increase performance on large series.
  96582. */
  96583. cropThreshold?: number;
  96584. /**
  96585. * (Highcharts) You can set the cursor to "pointer" if you have click events
  96586. * attached to the series, to signal to the user that the points and lines
  96587. * can be clicked.
  96588. *
  96589. * In styled mode, the series cursor can be set with the same classes as
  96590. * listed under series.color.
  96591. */
  96592. cursor?: (string|CursorValue);
  96593. /**
  96594. * (Highcharts) A reserved subspace to store options and values for
  96595. * customized functionality. Here you can add additional data for your own
  96596. * event callbacks and formatter callbacks.
  96597. */
  96598. custom?: Dictionary<any>;
  96599. /**
  96600. * (Highcharts) Name of the dash style to use for the graph, or for some
  96601. * series types the outline of each shape.
  96602. *
  96603. * In styled mode, the stroke dash-array can be set with the same classes as
  96604. * listed under series.color.
  96605. */
  96606. dashStyle?: DashStyleValue;
  96607. /**
  96608. * (Highstock) Data grouping is the concept of sampling the data values into
  96609. * larger blocks in order to ease readability and increase performance of
  96610. * the JavaScript charts. Highcharts Stock by default applies data grouping
  96611. * when the points become closer than a certain pixel value, determined by
  96612. * the `groupPixelWidth` option.
  96613. *
  96614. * If data grouping is applied, the grouping information of grouped points
  96615. * can be read from the Point.dataGroup. If point options other than the
  96616. * data itself are set, for example `name` or `color` or custom properties,
  96617. * the grouping logic doesn't know how to group it. In this case the options
  96618. * of the first point instance are copied over to the group point. This can
  96619. * be altered through a custom `approximation` callback function.
  96620. */
  96621. dataGrouping?: DataGroupingOptionsObject;
  96622. /**
  96623. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  96624. * labels, appearing next to each data point.
  96625. *
  96626. * Since v6.2.0, multiple data labels can be applied to each single point by
  96627. * defining them as an array of configs.
  96628. *
  96629. * In styled mode, the data labels can be styled with the
  96630. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  96631. * (see example).
  96632. */
  96633. dataLabels?: (PlotVariwideDataLabelsOptions|Array<PlotVariwideDataLabelsOptions>);
  96634. /**
  96635. * (Highcharts, Highstock) Options for the series data sorting.
  96636. */
  96637. dataSorting?: (DataSortingOptionsObject|PlotVariwideDataSortingOptions);
  96638. /**
  96639. * (Highcharts) A description of the series to add to the screen reader
  96640. * information about the series.
  96641. */
  96642. description?: string;
  96643. /**
  96644. * (Highcharts) The draggable-points module allows points to be moved around
  96645. * or modified in the chart. In addition to the options mentioned under the
  96646. * `dragDrop` API structure, the module fires three events, point.dragStart,
  96647. * point.drag and point.drop.
  96648. */
  96649. dragDrop?: SeriesDragDropOptionsObject;
  96650. /**
  96651. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  96652. * This includes point tooltips and click events on graphs and points. For
  96653. * large datasets it improves performance.
  96654. */
  96655. enableMouseTracking?: boolean;
  96656. /**
  96657. * (Highcharts) General event handlers for the series items. These event
  96658. * hooks can also be attached to the series at run time using the
  96659. * `Highcharts.addEvent` function.
  96660. */
  96661. events?: SeriesEventsOptionsObject;
  96662. /**
  96663. * (Highcharts) Determines whether the series should look for the nearest
  96664. * point in both dimensions or just the x-dimension when hovering the
  96665. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  96666. * series. If the data has duplicate x-values, it is recommended to set this
  96667. * to `'xy'` to allow hovering over all points.
  96668. *
  96669. * Applies only to series types using nearest neighbor search (not direct
  96670. * hover) for tooltip.
  96671. */
  96672. findNearestPointBy?: OptionsFindNearestPointByValue;
  96673. /**
  96674. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  96675. * chart width or only the zoomed area when zooming in on parts of the X
  96676. * axis. By default, the Y axis adjusts to the min and max of the visible
  96677. * data. Cartesian series only.
  96678. */
  96679. getExtremesFromAll?: boolean;
  96680. /**
  96681. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  96682. * let them render independent of each other. Non-grouped columns will be
  96683. * laid out individually and overlap each other.
  96684. */
  96685. grouping?: boolean;
  96686. /**
  96687. * (Highcharts, Highstock, Gantt) In a variwide chart, the group padding is
  96688. * 0 in order to express the horizontal stacking of items.
  96689. */
  96690. groupPadding?: number;
  96691. /**
  96692. * (Highcharts) When set to `false` will prevent the series data from being
  96693. * included in any form of data export.
  96694. *
  96695. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  96696. * `includeInCSVExport`.
  96697. */
  96698. includeInDataExport?: boolean;
  96699. /**
  96700. * (Highmaps) What property to join the `mapData` to the value data. For
  96701. * example, if joinBy is "code", the mapData items with a specific code is
  96702. * merged into the data with the same code. For maps loaded from GeoJSON,
  96703. * the keys may be held in each point's `properties` object.
  96704. *
  96705. * The joinBy option can also be an array of two values, where the first
  96706. * points to a key in the `mapData`, and the second points to another key in
  96707. * the `data`.
  96708. *
  96709. * When joinBy is `null`, the map items are joined by their position in the
  96710. * array, which performs much better in maps with many data points. This is
  96711. * the recommended option if you are printing more than a thousand data
  96712. * points and have a backend that can preprocess the data into a parallel
  96713. * array of the mapData.
  96714. */
  96715. joinBy?: (string|Array<string>);
  96716. /**
  96717. * (Highcharts) An array specifying which option maps to which key in the
  96718. * data point array. This makes it convenient to work with unstructured data
  96719. * arrays from different sources.
  96720. */
  96721. keys?: Array<string>;
  96722. /**
  96723. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  96724. * series as possible in a natural way, seeking to avoid other series. The
  96725. * goal of this feature is to make the chart more easily readable, like if a
  96726. * human designer placed the labels in the optimal position.
  96727. *
  96728. * The series labels currently work with series types having a `graph` or an
  96729. * `area`.
  96730. */
  96731. label?: SeriesLabelOptionsObject;
  96732. /**
  96733. * (Highstock) The line marks the last price from all points.
  96734. */
  96735. lastPrice?: SeriesLastPriceOptionsObject;
  96736. /**
  96737. * (Highstock) The line marks the last price from visible range of points.
  96738. */
  96739. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  96740. /**
  96741. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  96742. * Additionally, the value can be ":previous" to link to the previous
  96743. * series. When two series are linked, only the first one appears in the
  96744. * legend. Toggling the visibility of this also toggles the linked series.
  96745. *
  96746. * If master series uses data sorting and linked series does not have its
  96747. * own sorting definition, the linked series will be sorted in the same
  96748. * order as the master one.
  96749. */
  96750. linkedTo?: string;
  96751. /**
  96752. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  96753. * column, translated to the height of a bar in a bar chart. This prevents
  96754. * the columns from becoming too wide when there is a small number of points
  96755. * in the chart.
  96756. */
  96757. maxPointWidth?: number;
  96758. /**
  96759. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  96760. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  96761. * to zero) point, set the minimal point length to a pixel value like 3\. In
  96762. * stacked column charts, minPointLength might not be respected for tightly
  96763. * packed values.
  96764. */
  96765. minPointLength?: number;
  96766. /**
  96767. * (Highstock) Options for the corresponding navigator series if
  96768. * `showInNavigator` is `true` for this series. Available options are the
  96769. * same as any series, documented at plotOptions and series.
  96770. *
  96771. * These options are merged with options in navigator.series, and will take
  96772. * precedence if the same option is defined both places.
  96773. */
  96774. navigatorOptions?: PlotSeriesOptions;
  96775. /**
  96776. * (Highcharts) The color for the parts of the graph or points that are
  96777. * below the threshold. Note that `zones` takes precedence over the negative
  96778. * color. Using `negativeColor` is equivalent to applying a zone with value
  96779. * of 0.
  96780. */
  96781. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  96782. /**
  96783. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  96784. * dataLabels.
  96785. */
  96786. opacity?: number;
  96787. /**
  96788. * (Highcharts) Properties for each single point.
  96789. */
  96790. point?: PlotSeriesPointOptions;
  96791. /**
  96792. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  96793. * individual series. Overrides the chart wide configuration.
  96794. */
  96795. pointDescriptionFormatter?: Function;
  96796. /**
  96797. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  96798. * a series, `pointInterval` defines the interval of the x values. For
  96799. * example, if a series contains one value every decade starting from year
  96800. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  96801. * `pointInterval` is set in milliseconds.
  96802. *
  96803. * It can be also be combined with `pointIntervalUnit` to draw irregular
  96804. * time intervals.
  96805. *
  96806. * Please note that this options applies to the _series data_, not the
  96807. * interval of the axis ticks, which is independent.
  96808. */
  96809. pointInterval?: number;
  96810. /**
  96811. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  96812. * setting the pointInterval to irregular time units, `day`, `month` and
  96813. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  96814. * also takes the DST crossover into consideration when dealing with local
  96815. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  96816. * months, 10 years etc.
  96817. *
  96818. * Please note that this options applies to the _series data_, not the
  96819. * interval of the axis ticks, which is independent.
  96820. */
  96821. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  96822. /**
  96823. * (Highcharts, Highstock, Gantt) In a variwide chart, the point padding is
  96824. * 0 in order to express the horizontal stacking of items.
  96825. */
  96826. pointPadding?: number;
  96827. /**
  96828. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  96829. * `number`.
  96830. *
  96831. * In a column chart, when pointPlacement is `"on"`, the point will not
  96832. * create any padding of the X axis. In a polar column chart this means that
  96833. * the first column points directly north. If the pointPlacement is
  96834. * `"between"`, the columns will be laid out between ticks. This is useful
  96835. * for example for visualising an amount between two points in time or in a
  96836. * certain sector of a polar chart.
  96837. *
  96838. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  96839. * is on the axis value, -0.5 is between this value and the previous, and
  96840. * 0.5 is between this value and the next. Unlike the textual options,
  96841. * numeric point placement options won't affect axis padding.
  96842. *
  96843. * Note that pointPlacement needs a pointRange to work. For column series
  96844. * this is computed, but for line-type series it needs to be set.
  96845. *
  96846. * For the `xrange` series type and gantt charts, if the Y axis is a
  96847. * category axis, the `pointPlacement` applies to the Y axis rather than the
  96848. * (typically datetime) X axis.
  96849. *
  96850. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  96851. */
  96852. pointPlacement?: (number|string);
  96853. /**
  96854. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  96855. * for. This determines the width of the column. On a categorized axis, the
  96856. * range will be 1 by default (one category unit). On linear and datetime
  96857. * axes, the range will be computed as the distance between the two closest
  96858. * data points.
  96859. *
  96860. * The default `null` means it is computed automatically, but this option
  96861. * can be used to override the automatic value.
  96862. *
  96863. * This option is set by default to 1 if data sorting is enabled.
  96864. */
  96865. pointRange?: (number|null);
  96866. /**
  96867. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  96868. * a series, pointStart defines on what value to start. For example, if a
  96869. * series contains one yearly value starting from 1945, set pointStart to
  96870. * 1945.
  96871. */
  96872. pointStart?: number;
  96873. /**
  96874. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  96875. * each column or bar point. When set to `undefined`, the width is
  96876. * calculated from the `pointPadding` and `groupPadding`. The width effects
  96877. * the dimension that is not based on the point value. For column series it
  96878. * is the hoizontal length and for bar series it is the vertical length.
  96879. */
  96880. pointWidth?: number;
  96881. /**
  96882. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  96883. * true, the checkbox next to the series name in the legend will be checked
  96884. * for a selected series.
  96885. */
  96886. selected?: boolean;
  96887. /**
  96888. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  96889. * the shadow can be an object configuration containing `color`, `offsetX`,
  96890. * `offsetY`, `opacity` and `width`.
  96891. */
  96892. shadow?: (boolean|ShadowOptionsObject);
  96893. /**
  96894. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  96895. * allow selecting the series. The state of the checkbox is determined by
  96896. * the `selected` option.
  96897. */
  96898. showCheckbox?: boolean;
  96899. /**
  96900. * (Highcharts) Whether to display this particular series or series type in
  96901. * the legend. Standalone series are shown in legend by default, and linked
  96902. * series are not. Since v7.2.0 it is possible to show series that use
  96903. * colorAxis by setting this option to `true`.
  96904. */
  96905. showInLegend?: boolean;
  96906. /**
  96907. * (Highstock) Whether or not to show the series in the navigator. Takes
  96908. * precedence over navigator.baseSeries if defined.
  96909. */
  96910. showInNavigator?: boolean;
  96911. /**
  96912. * (Highcharts) If set to `true`, the accessibility module will skip past
  96913. * the points in this series for keyboard navigation.
  96914. */
  96915. skipKeyboardNavigation?: boolean;
  96916. /**
  96917. * (Highcharts, Highstock) When this is true, the series will not cause the
  96918. * Y axis to cross the zero plane (or threshold option) unless the data
  96919. * actually crosses the plane.
  96920. *
  96921. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  96922. * make the Y axis show negative values according to the `minPadding`
  96923. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  96924. */
  96925. softThreshold?: boolean;
  96926. /**
  96927. * (Highcharts, Highstock) Whether to stack the values of each series on top
  96928. * of each other. Possible values are `undefined` to disable, `"normal"` to
  96929. * stack by value or `"percent"`.
  96930. *
  96931. * When stacking is enabled, data must be sorted in ascending X order.
  96932. *
  96933. * Some stacking options are related to specific series types. In the
  96934. * streamgraph series type, the stacking option is set to `"stream"`. The
  96935. * second one is `"overlap"`, which only applies to waterfall series.
  96936. */
  96937. stacking?: OptionsStackingValue;
  96938. states?: SeriesStatesOptionsObject;
  96939. /**
  96940. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  96941. * event on a series isn't triggered until the mouse moves over another
  96942. * series, or out of the plot area. When false, the `mouseOut` event on a
  96943. * series is triggered when the mouse leaves the area around the series'
  96944. * graph or markers. This also implies the tooltip when not shared. When
  96945. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  96946. * be hidden when moving the mouse between series. Defaults to true for line
  96947. * and area type series, but to false for columns, pies etc.
  96948. *
  96949. * **Note:** The boost module will force this option because of technical
  96950. * limitations.
  96951. */
  96952. stickyTracking?: boolean;
  96953. /**
  96954. * (Highcharts) The Y axis value to serve as the base for the columns, for
  96955. * distinguishing between values above and below a threshold. If `null`, the
  96956. * columns extend from the padding Y axis minimum.
  96957. */
  96958. threshold?: (number|null);
  96959. /**
  96960. * (Highcharts) A configuration object for the tooltip rendering of each
  96961. * single series. Properties are inherited from tooltip, but only the
  96962. * following properties can be defined on a series level.
  96963. */
  96964. tooltip?: SeriesTooltipOptionsObject;
  96965. /**
  96966. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  96967. * is longer than this, only one dimensional arrays of numbers, or two
  96968. * dimensional arrays with x and y values are allowed. Also, only the first
  96969. * point is tested, and the rest are assumed to be the same format. This
  96970. * saves expensive data checking and indexing in long series. Set it to `0`
  96971. * disable.
  96972. *
  96973. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  96974. * two dimensional arrays are allowed.
  96975. */
  96976. turboThreshold?: number;
  96977. /**
  96978. * (Highcharts) Set the initial visibility of the series.
  96979. */
  96980. visible?: boolean;
  96981. /**
  96982. * (Highmaps) Define the z index of the series.
  96983. */
  96984. zIndex?: number;
  96985. /**
  96986. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  96987. */
  96988. zoneAxis?: string;
  96989. /**
  96990. * (Highcharts, Highstock) An array defining zones within a series. Zones
  96991. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  96992. * the `zoneAxis` option. The zone definitions have to be in ascending order
  96993. * regarding to the value.
  96994. *
  96995. * In styled mode, the color zones are styled with the
  96996. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  96997. * option (view live demo).
  96998. */
  96999. zones?: Array<SeriesZonesOptionsObject>;
  97000. }
  97001. /**
  97002. * (Highstock) Enable or disable the initial animation when a series is
  97003. * displayed. The animation can also be set as a configuration object. Please
  97004. * note that this option only applies to the initial animation of the series
  97005. * itself. For other animations, see chart.animation and the animation parameter
  97006. * under the API methods. The following properties are supported:
  97007. *
  97008. * - `defer`: The animation delay time in milliseconds.
  97009. *
  97010. * - `duration`: The duration of the animation in milliseconds.
  97011. *
  97012. * - `easing`: Can be a string reference to an easing function set on the `Math`
  97013. * object or a function. See the _Custom easing function_ demo below.
  97014. *
  97015. * Due to poor performance, animation is disabled in old IE browsers for several
  97016. * chart types.
  97017. */
  97018. export interface PlotVbpAnimationOptions {
  97019. defer?: number;
  97020. }
  97021. /**
  97022. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  97023. * animation when a series is displayed for the `dataLabels`. The animation can
  97024. * also be set as a configuration object. Please note that this option only
  97025. * applies to the initial animation. For other animations, see chart.animation
  97026. * and the animation parameter under the API methods. The following properties
  97027. * are supported:
  97028. *
  97029. * - `defer`: The animation delay time in milliseconds.
  97030. */
  97031. export interface PlotVbpDataLabelsAnimationOptions {
  97032. /**
  97033. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  97034. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  97035. * inherits defer time from the series.animation.defer.
  97036. */
  97037. defer?: number;
  97038. }
  97039. /**
  97040. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  97041. * appearing next to each data point.
  97042. *
  97043. * Since v6.2.0, multiple data labels can be applied to each single point by
  97044. * defining them as an array of configs.
  97045. *
  97046. * In styled mode, the data labels can be styled with the
  97047. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  97048. * example).
  97049. */
  97050. export interface PlotVbpDataLabelsOptions {
  97051. /**
  97052. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  97053. * compared to the point. If `right`, the right side of the label should be
  97054. * touching the point. For points with an extent, like columns, the
  97055. * alignments also dictates how to align it inside the box, as given with
  97056. * the inside option. Can be one of `left`, `center` or `right`.
  97057. */
  97058. align?: (AlignValue|null);
  97059. /**
  97060. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  97061. * overlap. To make the labels less sensitive for overlapping, the
  97062. * dataLabels.padding can be set to 0.
  97063. */
  97064. allowOverlap?: boolean;
  97065. /**
  97066. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  97067. * animation when a series is displayed for the `dataLabels`. The animation
  97068. * can also be set as a configuration object. Please note that this option
  97069. * only applies to the initial animation. For other animations, see
  97070. * chart.animation and the animation parameter under the API methods. The
  97071. * following properties are supported:
  97072. *
  97073. * - `defer`: The animation delay time in milliseconds.
  97074. */
  97075. animation?: (boolean|PlotVbpDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  97076. /**
  97077. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  97078. * for the data label.
  97079. */
  97080. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  97081. /**
  97082. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  97083. * label. Defaults to `undefined`.
  97084. */
  97085. borderColor?: (ColorString|GradientColorObject|PatternObject);
  97086. /**
  97087. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  97088. * the data label.
  97089. */
  97090. borderRadius?: number;
  97091. /**
  97092. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  97093. * the data label.
  97094. */
  97095. borderWidth?: number;
  97096. /**
  97097. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  97098. * Particularly in styled mode, this can be used to give each series' or
  97099. * point's data label unique styling. In addition to this option, a default
  97100. * color class name is added so that we can give the labels a contrast text
  97101. * shadow.
  97102. */
  97103. className?: string;
  97104. /**
  97105. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  97106. * labels. Defaults to `undefined`. For certain series types, like column or
  97107. * map, the data labels can be drawn inside the points. In this case the
  97108. * data label will be drawn with maximum contrast by default. Additionally,
  97109. * it will be given a `text-outline` style with the opposite color, to
  97110. * further increase the contrast. This can be overridden by setting the
  97111. * `text-outline` style to `none` in the `dataLabels.style` option.
  97112. */
  97113. color?: (ColorString|GradientColorObject|PatternObject);
  97114. /**
  97115. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  97116. * are outside the plot area. By default, the data label is moved inside the
  97117. * plot area according to the overflow option.
  97118. */
  97119. crop?: boolean;
  97120. /**
  97121. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  97122. * labels until the initial series animation has finished. Setting to
  97123. * `false` renders the data label immediately. If set to `true` inherits the
  97124. * defer time set in plotOptions.series.animation. If set to a number, a
  97125. * defer time is specified in milliseconds.
  97126. */
  97127. defer?: (boolean|number);
  97128. /**
  97129. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  97130. * labels.
  97131. */
  97132. enabled?: boolean;
  97133. /**
  97134. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  97135. * of which data labels to display. The declarative filter is designed for
  97136. * use when callback functions are not available, like when the chart
  97137. * options require a pure JSON structure or for use with graphical editors.
  97138. * For programmatic control, use the `formatter` instead, and return
  97139. * `undefined` to disable a single data label.
  97140. */
  97141. filter?: DataLabelsFilterOptionsObject;
  97142. /**
  97143. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  97144. * label. Available variables are the same as for `formatter`.
  97145. */
  97146. format?: string;
  97147. /**
  97148. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  97149. * format the data label. Note that if a `format` is defined, the format
  97150. * takes precedence and the formatter is ignored.
  97151. */
  97152. formatter?: DataLabelsFormatterCallbackFunction;
  97153. /**
  97154. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  97155. * columns or map areas, whether to align the data label inside the box or
  97156. * to the actual value point. Defaults to `false` in most cases, `true` in
  97157. * stacked columns.
  97158. */
  97159. inside?: boolean;
  97160. /**
  97161. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  97162. * of null. Works analogously to format. `nullFormat` can be applied only to
  97163. * series which support displaying null points.
  97164. */
  97165. nullFormat?: (boolean|string);
  97166. /**
  97167. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  97168. * that defines formatting for points with the value of null. Works
  97169. * analogously to formatter. `nullPointFormatter` can be applied only to
  97170. * series which support displaying null points.
  97171. */
  97172. nullFormatter?: DataLabelsFormatterCallbackFunction;
  97173. /**
  97174. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  97175. * flow outside the plot area. The default is `"justify"`, which aligns them
  97176. * inside the plot area. For columns and bars, this means it will be moved
  97177. * inside the bar. To display data labels outside the plot area, set `crop`
  97178. * to `false` and `overflow` to `"allow"`.
  97179. */
  97180. overflow?: DataLabelsOverflowValue;
  97181. /**
  97182. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  97183. * the `backgroundColor` is set, this is the padding within the box.
  97184. */
  97185. padding?: number;
  97186. /**
  97187. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  97188. * points. If `center` alignment is not possible, it defaults to `right`.
  97189. */
  97190. position?: AlignValue;
  97191. /**
  97192. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  97193. * that due to a more complex structure, backgrounds, borders and padding
  97194. * will be lost on a rotated data label.
  97195. */
  97196. rotation?: number;
  97197. /**
  97198. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  97199. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  97200. * an object configuration containing `color`, `offsetX`, `offsetY`,
  97201. * `opacity` and `width`.
  97202. */
  97203. shadow?: (boolean|ShadowOptionsObject);
  97204. /**
  97205. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  97206. * the border around the label. Symbols are predefined functions on the
  97207. * Renderer object.
  97208. */
  97209. shape?: string;
  97210. /**
  97211. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  97212. * default `color` setting is `"contrast"`, which is a pseudo color that
  97213. * Highcharts picks up and applies the maximum contrast to the underlying
  97214. * point item, for example the bar in a bar chart.
  97215. *
  97216. * The `textOutline` is a pseudo property that applies an outline of the
  97217. * given width with the given color, which by default is the maximum
  97218. * contrast to the text. So a bright text color will result in a black text
  97219. * outline for maximum readability on a mixed background. In some cases,
  97220. * especially with grayscale text, the text outline doesn't work well, in
  97221. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  97222. * is true, the `textOutline` will not be picked up. In this, case, the same
  97223. * effect can be acheived through the `text-shadow` CSS property.
  97224. *
  97225. * For some series types, where each point has an extent, like for example
  97226. * tree maps, the data label may overflow the point. There are two
  97227. * strategies for handling overflow. By default, the text will wrap to
  97228. * multiple lines. The other strategy is to set `style.textOverflow` to
  97229. * `ellipsis`, which will keep the text on one line plus it will break
  97230. * inside long words.
  97231. */
  97232. style?: CSSObject;
  97233. /**
  97234. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  97235. * should follow marker's shape. Border and background are disabled for a
  97236. * label that follows a path.
  97237. *
  97238. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  97239. * to true will disable this option.
  97240. */
  97241. textPath?: DataLabelsTextPathOptionsObject;
  97242. /**
  97243. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  97244. * the labels.
  97245. */
  97246. useHTML?: boolean;
  97247. /**
  97248. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  97249. * label. Can be one of `top`, `middle` or `bottom`. The default value
  97250. * depends on the data, for instance in a column chart, the label is above
  97251. * positive values and below negative values.
  97252. */
  97253. verticalAlign?: string;
  97254. /**
  97255. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  97256. * label relative to the point in pixels.
  97257. */
  97258. x?: number;
  97259. /**
  97260. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  97261. * label relative to the point in pixels.
  97262. */
  97263. y?: number;
  97264. /**
  97265. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  97266. * The default Z index puts it above the series. Use a Z index of 2 to
  97267. * display it behind the series.
  97268. */
  97269. z?: number;
  97270. }
  97271. /**
  97272. * (Highcharts, Highstock) Options for the series data sorting.
  97273. */
  97274. export interface PlotVbpDataSortingOptions {
  97275. /**
  97276. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  97277. * Use xAxis.reversed to change the sorting order.
  97278. */
  97279. enabled?: boolean;
  97280. /**
  97281. * (Highcharts, Highstock) Whether to allow matching points by name in an
  97282. * update. If this option is disabled, points will be matched by order.
  97283. */
  97284. matchByName?: boolean;
  97285. /**
  97286. * (Highcharts, Highstock) Determines what data value should be used to sort
  97287. * by.
  97288. */
  97289. sortKey?: string;
  97290. }
  97291. /**
  97292. * (Highstock) Volume By Price indicator.
  97293. *
  97294. * This series requires `linkedTo` option to be set.
  97295. *
  97296. * In TypeScript the type option must always be set.
  97297. *
  97298. * Configuration options for the series are given in three levels:
  97299. *
  97300. * 1. Options for all series in a chart are defined in the plotOptions.series
  97301. * object.
  97302. *
  97303. * 2. Options for all `vbp` series are defined in plotOptions.vbp.
  97304. *
  97305. * 3. Options for one single series are given in the series instance array. (see
  97306. * online documentation for example)
  97307. */
  97308. export interface PlotVbpOptions {
  97309. /**
  97310. * (Highstock) Accessibility options for a series.
  97311. */
  97312. accessibility?: SeriesAccessibilityOptionsObject;
  97313. /**
  97314. * (Highstock) Allow this series' points to be selected by clicking on the
  97315. * graphic (columns, point markers, pie slices, map areas etc).
  97316. *
  97317. * The selected points can be handled by point select and unselect events,
  97318. * or collectively by the getSelectedPoints function.
  97319. *
  97320. * And alternative way of selecting points is through dragging.
  97321. */
  97322. allowPointSelect?: boolean;
  97323. /**
  97324. * (Highstock) Enable or disable the initial animation when a series is
  97325. * displayed. The animation can also be set as a configuration object.
  97326. * Please note that this option only applies to the initial animation of the
  97327. * series itself. For other animations, see chart.animation and the
  97328. * animation parameter under the API methods. The following properties are
  97329. * supported:
  97330. *
  97331. * - `defer`: The animation delay time in milliseconds.
  97332. *
  97333. * - `duration`: The duration of the animation in milliseconds.
  97334. *
  97335. * - `easing`: Can be a string reference to an easing function set on the
  97336. * `Math` object or a function. See the _Custom easing function_ demo below.
  97337. *
  97338. * Due to poor performance, animation is disabled in old IE browsers for
  97339. * several chart types.
  97340. */
  97341. animation?: (boolean|PlotVbpAnimationOptions|Partial<AnimationOptionsObject>);
  97342. /**
  97343. * (Highstock) For some series, there is a limit that shuts down initial
  97344. * animation by default when the total number of points in the chart is too
  97345. * high. For example, for a column chart and its derivatives, animation does
  97346. * not run if there is more than 250 points totally. To disable this cap,
  97347. * set `animationLimit` to `Infinity`.
  97348. */
  97349. animationLimit?: number;
  97350. /**
  97351. * (Highstock) Sets the color blending in the boost module.
  97352. */
  97353. boostBlending?: OptionsBoostBlendingValue;
  97354. /**
  97355. * (Highstock) Set the point threshold for when a series should enter boost
  97356. * mode.
  97357. *
  97358. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  97359. * there are 2000 or more points in the series.
  97360. *
  97361. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  97362. * it to 1 will force boosting.
  97363. *
  97364. * Note that the cropThreshold also affects this setting. When zooming in on
  97365. * a series that has fewer points than the `cropThreshold`, all points are
  97366. * rendered although outside the visible plot area, and the `boostThreshold`
  97367. * won't take effect.
  97368. */
  97369. boostThreshold?: number;
  97370. /**
  97371. * (Highmaps) The border color of the map areas.
  97372. *
  97373. * In styled mode, the border stroke is given in the `.highcharts-point`
  97374. * class.
  97375. */
  97376. borderColor?: (ColorString|GradientColorObject|PatternObject);
  97377. /**
  97378. * (Highmaps) The border width of each map area.
  97379. *
  97380. * In styled mode, the border stroke width is given in the
  97381. * `.highcharts-point` class.
  97382. */
  97383. borderWidth?: number;
  97384. /**
  97385. * (Highstock) An additional class name to apply to the series' graphical
  97386. * elements. This option does not replace default class names of the
  97387. * graphical element.
  97388. */
  97389. className?: string;
  97390. /**
  97391. * (Highstock) Disable this option to allow series rendering in the whole
  97392. * plotting area.
  97393. *
  97394. * **Note:** Clipping should be always enabled when chart.zoomType is set
  97395. */
  97396. clip?: boolean;
  97397. /**
  97398. * (Highstock) The main color of the series. In line type series it applies
  97399. * to the line and the point markers unless otherwise specified. In bar type
  97400. * series it applies to the bars unless a color is specified per point. The
  97401. * default value is pulled from the `options.colors` array.
  97402. *
  97403. * In styled mode, the color can be defined by the colorIndex option. Also,
  97404. * the series color can be set with the `.highcharts-series`,
  97405. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  97406. * `.highcharts-series-{n}` class, or individual classes given by the
  97407. * `className` option.
  97408. */
  97409. color?: (ColorString|GradientColorObject|PatternObject);
  97410. /**
  97411. * (Highstock) Styled mode only. A specific color index to use for the
  97412. * series, so its graphic representations are given the class name
  97413. * `highcharts-color-{n}`.
  97414. */
  97415. colorIndex?: number;
  97416. /**
  97417. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  97418. * used to calculate point color if `colorAxis` is used. Requires to set
  97419. * `min` and `max` if some custom point property is used or if approximation
  97420. * for data grouping is set to `'sum'`.
  97421. */
  97422. colorKey?: string;
  97423. /**
  97424. * (Highstock) Compare the values of the series against the first non-null,
  97425. * non- zero value in the visible range. The y axis will show percentage or
  97426. * absolute change depending on whether `compare` is set to `"percent"` or
  97427. * `"value"`. When this is applied to multiple series, it allows comparing
  97428. * the development of the series against each other. Adds a `change` field
  97429. * to every point object.
  97430. */
  97431. compare?: string;
  97432. /**
  97433. * (Highstock) When compare is `percent`, this option dictates whether to
  97434. * use 0 or 100 as the base of comparison.
  97435. */
  97436. compareBase?: (0|100);
  97437. /**
  97438. * (Highstock) Defines if comparison should start from the first point
  97439. * within the visible range or should start from the first point **before**
  97440. * the range.
  97441. *
  97442. * In other words, this flag determines if first point within the visible
  97443. * range will have 0% (`compareStart=true`) or should have been already
  97444. * calculated according to the previous point (`compareStart=false`).
  97445. */
  97446. compareStart?: boolean;
  97447. /**
  97448. * (Highstock) Whether to compare indicator to the main series values or
  97449. * indicator values.
  97450. */
  97451. compareToMain?: boolean;
  97452. /**
  97453. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  97454. * series plot across the extremes.
  97455. */
  97456. connectEnds?: boolean;
  97457. /**
  97458. * (Highcharts, Highstock) Whether to connect a graph line across null
  97459. * points, or render a gap between the two points on either side of the
  97460. * null.
  97461. */
  97462. connectNulls?: boolean;
  97463. /**
  97464. * (Gantt) Override Pathfinder connector options for a series. Requires
  97465. * Highcharts Gantt to be loaded.
  97466. */
  97467. connectors?: SeriesConnectorsOptionsObject;
  97468. /**
  97469. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  97470. * rounded to its nearest pixel in order to render sharp on screen. In some
  97471. * cases, when there are a lot of densely packed columns, this leads to
  97472. * visible difference in column widths or distance between columns. In these
  97473. * cases, setting `crisp` to `false` may look better, even though each
  97474. * column is rendered blurry.
  97475. */
  97476. crisp?: boolean;
  97477. /**
  97478. * (Highcharts, Highstock) When the series contains less points than the
  97479. * crop threshold, all points are drawn, even if the points fall outside the
  97480. * visible plot area at the current zoom. The advantage of drawing all
  97481. * points (including markers and columns), is that animation is performed on
  97482. * updates. On the other hand, when the series contains more points than the
  97483. * crop threshold, the series data is cropped to only contain points that
  97484. * fall within the plot area. The advantage of cropping away invisible
  97485. * points is to increase performance on large series.
  97486. */
  97487. cropThreshold?: number;
  97488. /**
  97489. * (Highstock) You can set the cursor to "pointer" if you have click events
  97490. * attached to the series, to signal to the user that the points and lines
  97491. * can be clicked.
  97492. *
  97493. * In styled mode, the series cursor can be set with the same classes as
  97494. * listed under series.color.
  97495. */
  97496. cursor?: (string|CursorValue);
  97497. /**
  97498. * (Highstock) A reserved subspace to store options and values for
  97499. * customized functionality. Here you can add additional data for your own
  97500. * event callbacks and formatter callbacks.
  97501. */
  97502. custom?: Dictionary<any>;
  97503. /**
  97504. * (Highstock) Name of the dash style to use for the graph, or for some
  97505. * series types the outline of each shape.
  97506. *
  97507. * In styled mode, the stroke dash-array can be set with the same classes as
  97508. * listed under series.color.
  97509. */
  97510. dashStyle?: DashStyleValue;
  97511. /**
  97512. * (Highstock) Data grouping is the concept of sampling the data values into
  97513. * larger blocks in order to ease readability and increase performance of
  97514. * the JavaScript charts. Highcharts Stock by default applies data grouping
  97515. * when the points become closer than a certain pixel value, determined by
  97516. * the `groupPixelWidth` option.
  97517. *
  97518. * If data grouping is applied, the grouping information of grouped points
  97519. * can be read from the Point.dataGroup. If point options other than the
  97520. * data itself are set, for example `name` or `color` or custom properties,
  97521. * the grouping logic doesn't know how to group it. In this case the options
  97522. * of the first point instance are copied over to the group point. This can
  97523. * be altered through a custom `approximation` callback function.
  97524. */
  97525. dataGrouping?: DataGroupingOptionsObject;
  97526. /**
  97527. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  97528. * labels, appearing next to each data point.
  97529. *
  97530. * Since v6.2.0, multiple data labels can be applied to each single point by
  97531. * defining them as an array of configs.
  97532. *
  97533. * In styled mode, the data labels can be styled with the
  97534. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  97535. * (see example).
  97536. */
  97537. dataLabels?: (PlotVbpDataLabelsOptions|Array<PlotVbpDataLabelsOptions>);
  97538. /**
  97539. * (Highcharts, Highstock) Options for the series data sorting.
  97540. */
  97541. dataSorting?: (DataSortingOptionsObject|PlotVbpDataSortingOptions);
  97542. /**
  97543. * (Highstock) A description of the series to add to the screen reader
  97544. * information about the series.
  97545. */
  97546. description?: string;
  97547. /**
  97548. * (Highstock) Enable or disable the mouse tracking for a specific series.
  97549. * This includes point tooltips and click events on graphs and points. For
  97550. * large datasets it improves performance.
  97551. */
  97552. enableMouseTracking?: boolean;
  97553. /**
  97554. * (Highstock) General event handlers for the series items. These event
  97555. * hooks can also be attached to the series at run time using the
  97556. * `Highcharts.addEvent` function.
  97557. */
  97558. events?: SeriesEventsOptionsObject;
  97559. /**
  97560. * (Highstock) Determines whether the series should look for the nearest
  97561. * point in both dimensions or just the x-dimension when hovering the
  97562. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  97563. * series. If the data has duplicate x-values, it is recommended to set this
  97564. * to `'xy'` to allow hovering over all points.
  97565. *
  97566. * Applies only to series types using nearest neighbor search (not direct
  97567. * hover) for tooltip.
  97568. */
  97569. findNearestPointBy?: OptionsFindNearestPointByValue;
  97570. /**
  97571. * (Highstock) Defines when to display a gap in the graph, together with the
  97572. * gapUnit option.
  97573. *
  97574. * In case when `dataGrouping` is enabled, points can be grouped into a
  97575. * larger time span. This can make the grouped points to have a greater
  97576. * distance than the absolute value of `gapSize` property, which will result
  97577. * in disappearing graph completely. To prevent this situation the mentioned
  97578. * distance between grouped points is used instead of previously defined
  97579. * `gapSize`.
  97580. *
  97581. * In practice, this option is most often used to visualize gaps in time
  97582. * series. In a stock chart, intraday data is available for daytime hours,
  97583. * while gaps will appear in nights and weekends.
  97584. */
  97585. gapSize?: number;
  97586. /**
  97587. * (Highstock) Together with gapSize, this option defines where to draw gaps
  97588. * in the graph.
  97589. *
  97590. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  97591. * if the distance between two points is greater than 5 times that of the
  97592. * two closest points, the graph will be broken.
  97593. *
  97594. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  97595. * values, which on a datetime axis is milliseconds. This also applies to
  97596. * the navigator series that inherits gap options from the base series.
  97597. */
  97598. gapUnit?: OptionsGapUnitValue;
  97599. /**
  97600. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  97601. * chart width or only the zoomed area when zooming in on parts of the X
  97602. * axis. By default, the Y axis adjusts to the min and max of the visible
  97603. * data. Cartesian series only.
  97604. */
  97605. getExtremesFromAll?: boolean;
  97606. /**
  97607. * (Highstock) When set to `false` will prevent the series data from being
  97608. * included in any form of data export.
  97609. *
  97610. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  97611. * `includeInCSVExport`.
  97612. */
  97613. includeInDataExport?: boolean;
  97614. /**
  97615. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  97616. * series as possible in a natural way, seeking to avoid other series. The
  97617. * goal of this feature is to make the chart more easily readable, like if a
  97618. * human designer placed the labels in the optimal position.
  97619. *
  97620. * The series labels currently work with series types having a `graph` or an
  97621. * `area`.
  97622. */
  97623. label?: SeriesLabelOptionsObject;
  97624. /**
  97625. * (Highstock) The line marks the last price from all points.
  97626. */
  97627. lastPrice?: SeriesLastPriceOptionsObject;
  97628. /**
  97629. * (Highstock) The line marks the last price from visible range of points.
  97630. */
  97631. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  97632. /**
  97633. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  97634. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  97635. * the ends and bends.
  97636. */
  97637. linecap?: SeriesLinecapValue;
  97638. /**
  97639. * (Highcharts, Highstock) Pixel width of the graph line.
  97640. */
  97641. lineWidth?: number;
  97642. /**
  97643. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  97644. * based on. Required for this indicator.
  97645. */
  97646. linkedTo?: string;
  97647. /**
  97648. * (Highstock) Options for the point markers of line-like series. Properties
  97649. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  97650. * appearance of the markers. Other series types, like column series, don't
  97651. * have markers, but have visual options on the series level instead.
  97652. *
  97653. * In styled mode, the markers can be styled with the `.highcharts-point`,
  97654. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  97655. */
  97656. marker?: PointMarkerOptionsObject;
  97657. /**
  97658. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  97659. * If not set, it will be based on a technical indicator type and default
  97660. * params.
  97661. */
  97662. name?: string;
  97663. /**
  97664. * (Highstock) The color for the parts of the graph or points that are below
  97665. * the threshold. Note that `zones` takes precedence over the negative
  97666. * color. Using `negativeColor` is equivalent to applying a zone with value
  97667. * of 0.
  97668. */
  97669. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  97670. /**
  97671. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  97672. * dataLabels.
  97673. */
  97674. opacity?: number;
  97675. /**
  97676. * (Highstock) Paramters used in calculation of regression series' points.
  97677. */
  97678. params?: PlotVbpParamsOptions;
  97679. /**
  97680. * (Highstock) Properties for each single point.
  97681. */
  97682. point?: PlotSeriesPointOptions;
  97683. /**
  97684. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  97685. * individual series. Overrides the chart wide configuration.
  97686. */
  97687. pointDescriptionFormatter?: Function;
  97688. pointPadding?: number;
  97689. /**
  97690. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  97691. * true, the checkbox next to the series name in the legend will be checked
  97692. * for a selected series.
  97693. */
  97694. selected?: boolean;
  97695. /**
  97696. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  97697. * the shadow can be an object configuration containing `color`, `offsetX`,
  97698. * `offsetY`, `opacity` and `width`.
  97699. */
  97700. shadow?: (boolean|ShadowOptionsObject);
  97701. /**
  97702. * (Highstock) If true, a checkbox is displayed next to the legend item to
  97703. * allow selecting the series. The state of the checkbox is determined by
  97704. * the `selected` option.
  97705. */
  97706. showCheckbox?: boolean;
  97707. /**
  97708. * (Highstock) Whether to display this particular series or series type in
  97709. * the legend. Standalone series are shown in legend by default, and linked
  97710. * series are not. Since v7.2.0 it is possible to show series that use
  97711. * colorAxis by setting this option to `true`.
  97712. */
  97713. showInLegend?: boolean;
  97714. /**
  97715. * (Highstock) If set to `true`, the accessibility module will skip past the
  97716. * points in this series for keyboard navigation.
  97717. */
  97718. skipKeyboardNavigation?: boolean;
  97719. /**
  97720. * (Highcharts, Highstock) When this is true, the series will not cause the
  97721. * Y axis to cross the zero plane (or threshold option) unless the data
  97722. * actually crosses the plane.
  97723. *
  97724. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  97725. * make the Y axis show negative values according to the `minPadding`
  97726. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  97727. */
  97728. softThreshold?: boolean;
  97729. states?: SeriesStatesOptionsObject;
  97730. /**
  97731. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  97732. * values are `left`, `center` and `right`.
  97733. */
  97734. step?: OptionsStepValue;
  97735. /**
  97736. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  97737. * event on a series isn't triggered until the mouse moves over another
  97738. * series, or out of the plot area. When false, the `mouseOut` event on a
  97739. * series is triggered when the mouse leaves the area around the series'
  97740. * graph or markers. This also implies the tooltip when not shared. When
  97741. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  97742. * be hidden when moving the mouse between series. Defaults to true for line
  97743. * and area type series, but to false for columns, pies etc.
  97744. *
  97745. * **Note:** The boost module will force this option because of technical
  97746. * limitations.
  97747. */
  97748. stickyTracking?: boolean;
  97749. /**
  97750. * (Highcharts, Highstock) The threshold, also called zero level or base
  97751. * level. For line type series this is only used in conjunction with
  97752. * negativeColor.
  97753. */
  97754. threshold?: (number|null);
  97755. /**
  97756. * (Highstock) A configuration object for the tooltip rendering of each
  97757. * single series. Properties are inherited from tooltip, but only the
  97758. * following properties can be defined on a series level.
  97759. */
  97760. tooltip?: SeriesTooltipOptionsObject;
  97761. /**
  97762. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  97763. * is longer than this, only one dimensional arrays of numbers, or two
  97764. * dimensional arrays with x and y values are allowed. Also, only the first
  97765. * point is tested, and the rest are assumed to be the same format. This
  97766. * saves expensive data checking and indexing in long series. Set it to `0`
  97767. * disable.
  97768. *
  97769. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  97770. * two dimensional arrays are allowed.
  97771. */
  97772. turboThreshold?: number;
  97773. /**
  97774. * (Highstock) Set the initial visibility of the series.
  97775. */
  97776. visible?: boolean;
  97777. /**
  97778. * (Highstock) The styles for bars when volume is divided into
  97779. * positive/negative.
  97780. */
  97781. volumeDivision?: PlotVbpVolumeDivisionOptions;
  97782. /**
  97783. * (Highmaps) Define the z index of the series.
  97784. */
  97785. zIndex?: number;
  97786. /**
  97787. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  97788. */
  97789. zoneAxis?: string;
  97790. /**
  97791. * (Highstock) The styles for lines which determine price zones.
  97792. */
  97793. zoneLines?: PlotVbpZoneLinesOptions;
  97794. /**
  97795. * (Highcharts, Highstock) An array defining zones within a series. Zones
  97796. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  97797. * the `zoneAxis` option. The zone definitions have to be in ascending order
  97798. * regarding to the value.
  97799. *
  97800. * In styled mode, the color zones are styled with the
  97801. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  97802. * option (view live demo).
  97803. */
  97804. zones?: Array<SeriesZonesOptionsObject>;
  97805. }
  97806. /**
  97807. * (Highstock) Paramters used in calculation of regression series' points.
  97808. */
  97809. export interface PlotVbpParamsOptions {
  97810. index?: string;
  97811. period?: string;
  97812. /**
  97813. * (Highstock) The number of price zones.
  97814. */
  97815. ranges?: number;
  97816. /**
  97817. * (Highstock) The id of volume series which is mandatory. For example using
  97818. * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
  97819. * using OHLC and volume values.
  97820. */
  97821. volumeSeriesID?: string;
  97822. }
  97823. /**
  97824. * (Highstock) The styles for bars when volume is divided into
  97825. * positive/negative.
  97826. */
  97827. export interface PlotVbpVolumeDivisionOptions {
  97828. /**
  97829. * (Highstock) Option to control if volume is divided.
  97830. */
  97831. enabled?: boolean;
  97832. styles?: PlotVbpVolumeDivisionStylesOptions;
  97833. }
  97834. export interface PlotVbpVolumeDivisionStylesOptions {
  97835. /**
  97836. * (Highstock) Color of negative volume bars.
  97837. */
  97838. negativeColor?: ColorString;
  97839. /**
  97840. * (Highstock) Color of positive volume bars.
  97841. */
  97842. positiveColor?: ColorString;
  97843. }
  97844. /**
  97845. * (Highstock) The styles for lines which determine price zones.
  97846. */
  97847. export interface PlotVbpZoneLinesOptions {
  97848. /**
  97849. * (Highstock) Enable/disable zone lines.
  97850. */
  97851. enabled?: boolean;
  97852. /**
  97853. * (Highstock) Specify the style of zone lines.
  97854. */
  97855. styles?: CSSObject;
  97856. }
  97857. /**
  97858. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  97859. * is displayed. The animation can also be set as a configuration object. Please
  97860. * note that this option only applies to the initial animation of the series
  97861. * itself. For other animations, see chart.animation and the animation parameter
  97862. * under the API methods. The following properties are supported:
  97863. *
  97864. * - `defer`: The animation delay time in milliseconds.
  97865. *
  97866. * - `duration`: The duration of the animation in milliseconds.
  97867. *
  97868. * - `easing`: Can be a string reference to an easing function set on the `Math`
  97869. * object or a function. See the _Custom easing function_ demo below.
  97870. *
  97871. * Due to poor performance, animation is disabled in old IE browsers for several
  97872. * chart types.
  97873. */
  97874. export interface PlotVectorAnimationOptions {
  97875. defer?: number;
  97876. }
  97877. export interface PlotVectorClusterEventsOptions {
  97878. /**
  97879. * (Highcharts, Highmaps) Fires when the cluster point is clicked and
  97880. * `drillToCluster` is enabled. One parameter, `event`, is passed to the
  97881. * function. The default action is to zoom to the cluster points range. This
  97882. * can be prevented by calling `event.preventDefault()`.
  97883. */
  97884. drillToCluster?: MarkerClusterDrillCallbackFunction;
  97885. }
  97886. /**
  97887. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
  97888. * to change the type of the algorithm, gridSize, distance or iterations.
  97889. */
  97890. export interface PlotVectorClusterLayoutAlgorithmOptions {
  97891. /**
  97892. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
  97893. * maximum distance between point and cluster center so that this point will
  97894. * be inside the cluster. The distance is either a number defining pixels or
  97895. * a percentage defining a percentage of the plot area width.
  97896. */
  97897. distance?: (number|string);
  97898. /**
  97899. * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
  97900. * size of a grid square element either as a number defining pixels, or a
  97901. * percentage defining a percentage of the plot area width.
  97902. */
  97903. gridSize?: (number|string);
  97904. /**
  97905. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
  97906. * the number of iterations that this algorithm will be repeated to find
  97907. * clusters positions.
  97908. */
  97909. iterations?: number;
  97910. /**
  97911. * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
  97912. * more visible points than the kmeansThreshold the `grid` algorithm is used
  97913. * to find clusters, otherwise `kmeans`. It ensures good performance on
  97914. * large datasets and better clusters arrangement after the zoom.
  97915. */
  97916. kmeansThreshold?: number;
  97917. /**
  97918. * (Highcharts, Highmaps) Type of the algorithm used to combine points into
  97919. * a cluster. There are three available algorithms:
  97920. *
  97921. * 1) `grid` - grid-based clustering technique. Points are assigned to
  97922. * squares of set size depending on their position on the plot area. Points
  97923. * inside the grid square are combined into a cluster. The grid size can be
  97924. * controlled by `gridSize` property (grid size changes at certain zoom
  97925. * levels).
  97926. *
  97927. * 2) `kmeans` - based on K-Means clustering technique. In the first step,
  97928. * points are divided using the grid method (distance property is a grid
  97929. * size) to find the initial amount of clusters. Next, each point is
  97930. * classified by computing the distance between each cluster center and that
  97931. * point. When the closest cluster distance is lower than distance property
  97932. * set by a user the point is added to this cluster otherwise is classified
  97933. * as `noise`. The algorithm is repeated until each cluster center not
  97934. * change its previous position more than one pixel. This technique is more
  97935. * accurate but also more time consuming than the `grid` algorithm,
  97936. * especially for big datasets.
  97937. *
  97938. * 3) `optimizedKmeans` - based on K-Means clustering technique. This
  97939. * algorithm uses k-means algorithm only on the chart initialization or when
  97940. * chart extremes have greater range than on initialization. When a chart is
  97941. * redrawn the algorithm checks only clustered points distance from the
  97942. * cluster center and rebuild it when the point is spaced enough to be
  97943. * outside the cluster. It provides performance improvement and more stable
  97944. * clusters position yet can be used rather on small and sparse datasets.
  97945. *
  97946. * By default, the algorithm depends on visible quantity of points and
  97947. * `kmeansThreshold`. When there are more visible points than the
  97948. * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
  97949. *
  97950. * The custom clustering algorithm can be added by assigning a callback
  97951. * function as the type property. This function takes an array of
  97952. * `processedXData`, `processedYData`, `processedXData` indexes and
  97953. * `layoutAlgorithm` options as arguments and should return an object with
  97954. * grouped data.
  97955. *
  97956. * The algorithm should return an object like that: (see online
  97957. * documentation for example)
  97958. *
  97959. * `clusterId` (example above - unique id of a cluster or noise) is an array
  97960. * of points belonging to a cluster. If the array has only one point or
  97961. * fewer points than set in `cluster.minimumClusterSize` it won't be
  97962. * combined into a cluster.
  97963. */
  97964. type?: (string|Function);
  97965. }
  97966. /**
  97967. * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
  97968. * the data values into larger blocks in order to ease readability and increase
  97969. * performance of the JavaScript charts.
  97970. *
  97971. * Note: marker clusters module is not working with `boost` and
  97972. * `draggable-points` modules.
  97973. *
  97974. * The marker clusters feature requires the marker-clusters.js file to be
  97975. * loaded, found in the modules directory of the download package, or online at
  97976. * code.highcharts.com/modules/marker-clusters.js.
  97977. */
  97978. export interface PlotVectorClusterOptions {
  97979. /**
  97980. * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
  97981. * this option works only when `layoutAlgorithm.type = "grid"`.
  97982. */
  97983. allowOverlap?: boolean;
  97984. /**
  97985. * (Highcharts, Highmaps) Options for the cluster marker animation.
  97986. */
  97987. animation?: (boolean|Partial<AnimationOptionsObject>);
  97988. /**
  97989. * (Highcharts, Highmaps) Options for the cluster data labels.
  97990. */
  97991. dataLabels?: DataLabelsOptions;
  97992. /**
  97993. * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
  97994. * when a cluster is clicked.
  97995. */
  97996. drillToCluster?: boolean;
  97997. /**
  97998. * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
  97999. */
  98000. enabled?: boolean;
  98001. events?: PlotVectorClusterEventsOptions;
  98002. /**
  98003. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
  98004. * options to change the type of the algorithm, gridSize, distance or
  98005. * iterations.
  98006. */
  98007. layoutAlgorithm?: PlotVectorClusterLayoutAlgorithmOptions;
  98008. /**
  98009. * (Highcharts, Highmaps) Options for the cluster marker.
  98010. */
  98011. marker?: PointMarkerOptionsObject;
  98012. /**
  98013. * (Highcharts, Highmaps) The minimum amount of points to be combined into a
  98014. * cluster. This value has to be greater or equal to 2.
  98015. */
  98016. minimumClusterSize?: number;
  98017. states?: PlotVectorClusterStatesOptions;
  98018. /**
  98019. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  98020. *
  98021. * In styled mode, the color zones are styled with the
  98022. * `.highcharts-cluster-zone-{n}` class, or custom classed from the
  98023. * `className` option.
  98024. */
  98025. zones?: Array<PlotVectorClusterZonesOptions>;
  98026. }
  98027. export interface PlotVectorClusterStatesHoverOptions {
  98028. /**
  98029. * (Highcharts, Highmaps) The fill color of the cluster marker in hover
  98030. * state. When `undefined`, the series' or point's fillColor for normal
  98031. * state is used.
  98032. */
  98033. fillColor?: ColorType;
  98034. }
  98035. export interface PlotVectorClusterStatesOptions {
  98036. hover?: PlotVectorClusterStatesHoverOptions;
  98037. }
  98038. /**
  98039. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  98040. *
  98041. * In styled mode, the color zones are styled with the
  98042. * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
  98043. * option.
  98044. */
  98045. export interface PlotVectorClusterZonesOptions {
  98046. /**
  98047. * (Highcharts, Highmaps) Styled mode only. A custom class name for the
  98048. * zone.
  98049. */
  98050. className?: string;
  98051. /**
  98052. * (Highcharts, Highmaps) The value where the zone starts.
  98053. */
  98054. from?: number;
  98055. /**
  98056. * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
  98057. * zone.
  98058. */
  98059. marker?: PointMarkerOptionsObject;
  98060. /**
  98061. * (Highcharts, Highmaps) The value where the zone ends.
  98062. */
  98063. to?: number;
  98064. }
  98065. /**
  98066. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  98067. * animation when a series is displayed for the `dataLabels`. The animation can
  98068. * also be set as a configuration object. Please note that this option only
  98069. * applies to the initial animation. For other animations, see chart.animation
  98070. * and the animation parameter under the API methods. The following properties
  98071. * are supported:
  98072. *
  98073. * - `defer`: The animation delay time in milliseconds.
  98074. */
  98075. export interface PlotVectorDataLabelsAnimationOptions {
  98076. /**
  98077. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  98078. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  98079. * inherits defer time from the series.animation.defer.
  98080. */
  98081. defer?: number;
  98082. }
  98083. /**
  98084. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  98085. * appearing next to each data point.
  98086. *
  98087. * Since v6.2.0, multiple data labels can be applied to each single point by
  98088. * defining them as an array of configs.
  98089. *
  98090. * In styled mode, the data labels can be styled with the
  98091. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  98092. * example).
  98093. */
  98094. export interface PlotVectorDataLabelsOptions {
  98095. /**
  98096. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  98097. * compared to the point. If `right`, the right side of the label should be
  98098. * touching the point. For points with an extent, like columns, the
  98099. * alignments also dictates how to align it inside the box, as given with
  98100. * the inside option. Can be one of `left`, `center` or `right`.
  98101. */
  98102. align?: (AlignValue|null);
  98103. /**
  98104. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  98105. * overlap. To make the labels less sensitive for overlapping, the
  98106. * dataLabels.padding can be set to 0.
  98107. */
  98108. allowOverlap?: boolean;
  98109. /**
  98110. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  98111. * animation when a series is displayed for the `dataLabels`. The animation
  98112. * can also be set as a configuration object. Please note that this option
  98113. * only applies to the initial animation. For other animations, see
  98114. * chart.animation and the animation parameter under the API methods. The
  98115. * following properties are supported:
  98116. *
  98117. * - `defer`: The animation delay time in milliseconds.
  98118. */
  98119. animation?: (boolean|PlotVectorDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  98120. /**
  98121. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  98122. * for the data label.
  98123. */
  98124. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  98125. /**
  98126. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  98127. * label. Defaults to `undefined`.
  98128. */
  98129. borderColor?: (ColorString|GradientColorObject|PatternObject);
  98130. /**
  98131. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  98132. * the data label.
  98133. */
  98134. borderRadius?: number;
  98135. /**
  98136. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  98137. * the data label.
  98138. */
  98139. borderWidth?: number;
  98140. /**
  98141. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  98142. * Particularly in styled mode, this can be used to give each series' or
  98143. * point's data label unique styling. In addition to this option, a default
  98144. * color class name is added so that we can give the labels a contrast text
  98145. * shadow.
  98146. */
  98147. className?: string;
  98148. /**
  98149. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  98150. * labels. Defaults to `undefined`. For certain series types, like column or
  98151. * map, the data labels can be drawn inside the points. In this case the
  98152. * data label will be drawn with maximum contrast by default. Additionally,
  98153. * it will be given a `text-outline` style with the opposite color, to
  98154. * further increase the contrast. This can be overridden by setting the
  98155. * `text-outline` style to `none` in the `dataLabels.style` option.
  98156. */
  98157. color?: (ColorString|GradientColorObject|PatternObject);
  98158. /**
  98159. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  98160. * are outside the plot area. By default, the data label is moved inside the
  98161. * plot area according to the overflow option.
  98162. */
  98163. crop?: boolean;
  98164. /**
  98165. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  98166. * labels until the initial series animation has finished. Setting to
  98167. * `false` renders the data label immediately. If set to `true` inherits the
  98168. * defer time set in plotOptions.series.animation. If set to a number, a
  98169. * defer time is specified in milliseconds.
  98170. */
  98171. defer?: (boolean|number);
  98172. /**
  98173. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  98174. * labels.
  98175. */
  98176. enabled?: boolean;
  98177. /**
  98178. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  98179. * of which data labels to display. The declarative filter is designed for
  98180. * use when callback functions are not available, like when the chart
  98181. * options require a pure JSON structure or for use with graphical editors.
  98182. * For programmatic control, use the `formatter` instead, and return
  98183. * `undefined` to disable a single data label.
  98184. */
  98185. filter?: DataLabelsFilterOptionsObject;
  98186. /**
  98187. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  98188. * label. Available variables are the same as for `formatter`.
  98189. */
  98190. format?: string;
  98191. /**
  98192. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  98193. * format the data label. Note that if a `format` is defined, the format
  98194. * takes precedence and the formatter is ignored.
  98195. */
  98196. formatter?: DataLabelsFormatterCallbackFunction;
  98197. /**
  98198. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  98199. * columns or map areas, whether to align the data label inside the box or
  98200. * to the actual value point. Defaults to `false` in most cases, `true` in
  98201. * stacked columns.
  98202. */
  98203. inside?: boolean;
  98204. /**
  98205. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  98206. * of null. Works analogously to format. `nullFormat` can be applied only to
  98207. * series which support displaying null points.
  98208. */
  98209. nullFormat?: (boolean|string);
  98210. /**
  98211. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  98212. * that defines formatting for points with the value of null. Works
  98213. * analogously to formatter. `nullPointFormatter` can be applied only to
  98214. * series which support displaying null points.
  98215. */
  98216. nullFormatter?: DataLabelsFormatterCallbackFunction;
  98217. /**
  98218. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  98219. * flow outside the plot area. The default is `"justify"`, which aligns them
  98220. * inside the plot area. For columns and bars, this means it will be moved
  98221. * inside the bar. To display data labels outside the plot area, set `crop`
  98222. * to `false` and `overflow` to `"allow"`.
  98223. */
  98224. overflow?: DataLabelsOverflowValue;
  98225. /**
  98226. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  98227. * the `backgroundColor` is set, this is the padding within the box.
  98228. */
  98229. padding?: number;
  98230. /**
  98231. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  98232. * points. If `center` alignment is not possible, it defaults to `right`.
  98233. */
  98234. position?: AlignValue;
  98235. /**
  98236. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  98237. * that due to a more complex structure, backgrounds, borders and padding
  98238. * will be lost on a rotated data label.
  98239. */
  98240. rotation?: number;
  98241. /**
  98242. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  98243. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  98244. * an object configuration containing `color`, `offsetX`, `offsetY`,
  98245. * `opacity` and `width`.
  98246. */
  98247. shadow?: (boolean|ShadowOptionsObject);
  98248. /**
  98249. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  98250. * the border around the label. Symbols are predefined functions on the
  98251. * Renderer object.
  98252. */
  98253. shape?: string;
  98254. /**
  98255. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  98256. * default `color` setting is `"contrast"`, which is a pseudo color that
  98257. * Highcharts picks up and applies the maximum contrast to the underlying
  98258. * point item, for example the bar in a bar chart.
  98259. *
  98260. * The `textOutline` is a pseudo property that applies an outline of the
  98261. * given width with the given color, which by default is the maximum
  98262. * contrast to the text. So a bright text color will result in a black text
  98263. * outline for maximum readability on a mixed background. In some cases,
  98264. * especially with grayscale text, the text outline doesn't work well, in
  98265. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  98266. * is true, the `textOutline` will not be picked up. In this, case, the same
  98267. * effect can be acheived through the `text-shadow` CSS property.
  98268. *
  98269. * For some series types, where each point has an extent, like for example
  98270. * tree maps, the data label may overflow the point. There are two
  98271. * strategies for handling overflow. By default, the text will wrap to
  98272. * multiple lines. The other strategy is to set `style.textOverflow` to
  98273. * `ellipsis`, which will keep the text on one line plus it will break
  98274. * inside long words.
  98275. */
  98276. style?: CSSObject;
  98277. /**
  98278. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  98279. * should follow marker's shape. Border and background are disabled for a
  98280. * label that follows a path.
  98281. *
  98282. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  98283. * to true will disable this option.
  98284. */
  98285. textPath?: DataLabelsTextPathOptionsObject;
  98286. /**
  98287. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  98288. * the labels.
  98289. */
  98290. useHTML?: boolean;
  98291. /**
  98292. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  98293. * label. Can be one of `top`, `middle` or `bottom`. The default value
  98294. * depends on the data, for instance in a column chart, the label is above
  98295. * positive values and below negative values.
  98296. */
  98297. verticalAlign?: (VerticalAlignValue|null);
  98298. /**
  98299. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  98300. * label relative to the point in pixels.
  98301. */
  98302. x?: number;
  98303. /**
  98304. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  98305. * label relative to the point in pixels.
  98306. */
  98307. y?: number;
  98308. /**
  98309. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  98310. * The default Z index puts it above the series. Use a Z index of 2 to
  98311. * display it behind the series.
  98312. */
  98313. z?: number;
  98314. }
  98315. /**
  98316. * (Highcharts, Highstock) Options for the series data sorting.
  98317. */
  98318. export interface PlotVectorDataSortingOptions {
  98319. /**
  98320. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  98321. * Use xAxis.reversed to change the sorting order.
  98322. */
  98323. enabled?: boolean;
  98324. /**
  98325. * (Highcharts, Highstock) Whether to allow matching points by name in an
  98326. * update. If this option is disabled, points will be matched by order.
  98327. */
  98328. matchByName?: boolean;
  98329. /**
  98330. * (Highcharts, Highstock) Determines what data value should be used to sort
  98331. * by.
  98332. */
  98333. sortKey?: string;
  98334. }
  98335. /**
  98336. * (Highcharts, Highstock) A vector plot is a type of cartesian chart where each
  98337. * point has an X and Y position, a length and a direction. Vectors are drawn as
  98338. * arrows.
  98339. *
  98340. * In TypeScript the type option must always be set.
  98341. *
  98342. * Configuration options for the series are given in three levels:
  98343. *
  98344. * 1. Options for all series in a chart are defined in the plotOptions.series
  98345. * object.
  98346. *
  98347. * 2. Options for all `vector` series are defined in plotOptions.vector.
  98348. *
  98349. * 3. Options for one single series are given in the series instance array. (see
  98350. * online documentation for example)
  98351. */
  98352. export interface PlotVectorOptions {
  98353. /**
  98354. * (Highcharts, Highstock) Accessibility options for a series.
  98355. */
  98356. accessibility?: SeriesAccessibilityOptionsObject;
  98357. /**
  98358. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  98359. * rendered. If `true`, areas which don't correspond to a data point, are
  98360. * rendered as `null` points. If `false`, those areas are skipped.
  98361. */
  98362. allAreas?: boolean;
  98363. /**
  98364. * (Highcharts, Highstock) Allow this series' points to be selected by
  98365. * clicking on the graphic (columns, point markers, pie slices, map areas
  98366. * etc).
  98367. *
  98368. * The selected points can be handled by point select and unselect events,
  98369. * or collectively by the getSelectedPoints function.
  98370. *
  98371. * And alternative way of selecting points is through dragging.
  98372. */
  98373. allowPointSelect?: boolean;
  98374. /**
  98375. * (Highcharts, Highstock) Enable or disable the initial animation when a
  98376. * series is displayed. The animation can also be set as a configuration
  98377. * object. Please note that this option only applies to the initial
  98378. * animation of the series itself. For other animations, see chart.animation
  98379. * and the animation parameter under the API methods. The following
  98380. * properties are supported:
  98381. *
  98382. * - `defer`: The animation delay time in milliseconds.
  98383. *
  98384. * - `duration`: The duration of the animation in milliseconds.
  98385. *
  98386. * - `easing`: Can be a string reference to an easing function set on the
  98387. * `Math` object or a function. See the _Custom easing function_ demo below.
  98388. *
  98389. * Due to poor performance, animation is disabled in old IE browsers for
  98390. * several chart types.
  98391. */
  98392. animation?: (boolean|PlotVectorAnimationOptions|Partial<AnimationOptionsObject>);
  98393. /**
  98394. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  98395. * initial animation by default when the total number of points in the chart
  98396. * is too high. For example, for a column chart and its derivatives,
  98397. * animation does not run if there is more than 250 points totally. To
  98398. * disable this cap, set `animationLimit` to `Infinity`.
  98399. */
  98400. animationLimit?: number;
  98401. /**
  98402. * (Highmaps) The border color of the map areas.
  98403. *
  98404. * In styled mode, the border stroke is given in the `.highcharts-point`
  98405. * class.
  98406. */
  98407. borderColor?: (ColorString|GradientColorObject|PatternObject);
  98408. /**
  98409. * (Highmaps) The border width of each map area.
  98410. *
  98411. * In styled mode, the border stroke width is given in the
  98412. * `.highcharts-point` class.
  98413. */
  98414. borderWidth?: number;
  98415. /**
  98416. * (Highcharts, Highstock) An additional class name to apply to the series'
  98417. * graphical elements. This option does not replace default class names of
  98418. * the graphical element.
  98419. */
  98420. className?: string;
  98421. /**
  98422. * (Highcharts, Highstock) Disable this option to allow series rendering in
  98423. * the whole plotting area.
  98424. *
  98425. * **Note:** Clipping should be always enabled when chart.zoomType is set
  98426. */
  98427. clip?: boolean;
  98428. /**
  98429. * (Highcharts, Highmaps) Options for marker clusters, the concept of
  98430. * sampling the data values into larger blocks in order to ease readability
  98431. * and increase performance of the JavaScript charts.
  98432. *
  98433. * Note: marker clusters module is not working with `boost` and
  98434. * `draggable-points` modules.
  98435. *
  98436. * The marker clusters feature requires the marker-clusters.js file to be
  98437. * loaded, found in the modules directory of the download package, or online
  98438. * at code.highcharts.com/modules/marker-clusters.js.
  98439. */
  98440. cluster?: PlotVectorClusterOptions;
  98441. /**
  98442. * (Highcharts, Highstock) The main color of the series. In line type series
  98443. * it applies to the line and the point markers unless otherwise specified.
  98444. * In bar type series it applies to the bars unless a color is specified per
  98445. * point. The default value is pulled from the `options.colors` array.
  98446. *
  98447. * In styled mode, the color can be defined by the colorIndex option. Also,
  98448. * the series color can be set with the `.highcharts-series`,
  98449. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  98450. * `.highcharts-series-{n}` class, or individual classes given by the
  98451. * `className` option.
  98452. */
  98453. color?: (ColorString|GradientColorObject|PatternObject);
  98454. /**
  98455. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  98456. * this number defines which colorAxis the particular series is connected
  98457. * to. It refers to either the axis id or the index of the axis in the
  98458. * colorAxis array, with 0 being the first. Set this option to false to
  98459. * prevent a series from connecting to the default color axis.
  98460. *
  98461. * Since v7.2.0 the option can also be an axis id or an axis index instead
  98462. * of a boolean flag.
  98463. */
  98464. colorAxis?: (boolean|number|string);
  98465. /**
  98466. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  98467. * for the series, so its graphic representations are given the class name
  98468. * `highcharts-color-{n}`.
  98469. */
  98470. colorIndex?: number;
  98471. /**
  98472. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  98473. * used to calculate point color if `colorAxis` is used. Requires to set
  98474. * `min` and `max` if some custom point property is used or if approximation
  98475. * for data grouping is set to `'sum'`.
  98476. */
  98477. colorKey?: string;
  98478. /**
  98479. * (Highstock) Compare the values of the series against the first non-null,
  98480. * non- zero value in the visible range. The y axis will show percentage or
  98481. * absolute change depending on whether `compare` is set to `"percent"` or
  98482. * `"value"`. When this is applied to multiple series, it allows comparing
  98483. * the development of the series against each other. Adds a `change` field
  98484. * to every point object.
  98485. */
  98486. compare?: string;
  98487. /**
  98488. * (Highstock) When compare is `percent`, this option dictates whether to
  98489. * use 0 or 100 as the base of comparison.
  98490. */
  98491. compareBase?: (0|100);
  98492. /**
  98493. * (Highstock) Defines if comparison should start from the first point
  98494. * within the visible range or should start from the first point **before**
  98495. * the range.
  98496. *
  98497. * In other words, this flag determines if first point within the visible
  98498. * range will have 0% (`compareStart=true`) or should have been already
  98499. * calculated according to the previous point (`compareStart=false`).
  98500. */
  98501. compareStart?: boolean;
  98502. /**
  98503. * (Gantt) Override Pathfinder connector options for a series. Requires
  98504. * Highcharts Gantt to be loaded.
  98505. */
  98506. connectors?: SeriesConnectorsOptionsObject;
  98507. /**
  98508. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  98509. * rounded to its nearest pixel in order to render sharp on screen. In some
  98510. * cases, when there are a lot of densely packed columns, this leads to
  98511. * visible difference in column widths or distance between columns. In these
  98512. * cases, setting `crisp` to `false` may look better, even though each
  98513. * column is rendered blurry.
  98514. */
  98515. crisp?: boolean;
  98516. /**
  98517. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  98518. * click events attached to the series, to signal to the user that the
  98519. * points and lines can be clicked.
  98520. *
  98521. * In styled mode, the series cursor can be set with the same classes as
  98522. * listed under series.color.
  98523. */
  98524. cursor?: (string|CursorValue);
  98525. /**
  98526. * (Highcharts, Highstock) A reserved subspace to store options and values
  98527. * for customized functionality. Here you can add additional data for your
  98528. * own event callbacks and formatter callbacks.
  98529. */
  98530. custom?: Dictionary<any>;
  98531. /**
  98532. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  98533. * labels, appearing next to each data point.
  98534. *
  98535. * Since v6.2.0, multiple data labels can be applied to each single point by
  98536. * defining them as an array of configs.
  98537. *
  98538. * In styled mode, the data labels can be styled with the
  98539. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  98540. * (see example).
  98541. */
  98542. dataLabels?: (PlotVectorDataLabelsOptions|Array<PlotVectorDataLabelsOptions>);
  98543. /**
  98544. * (Highcharts, Highstock) Options for the series data sorting.
  98545. */
  98546. dataSorting?: (DataSortingOptionsObject|PlotVectorDataSortingOptions);
  98547. /**
  98548. * (Highcharts, Highstock) A description of the series to add to the screen
  98549. * reader information about the series.
  98550. */
  98551. description?: string;
  98552. /**
  98553. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  98554. * specific series. This includes point tooltips and click events on graphs
  98555. * and points. For large datasets it improves performance.
  98556. */
  98557. enableMouseTracking?: boolean;
  98558. /**
  98559. * (Highcharts, Highstock) General event handlers for the series items.
  98560. * These event hooks can also be attached to the series at run time using
  98561. * the `Highcharts.addEvent` function.
  98562. */
  98563. events?: SeriesEventsOptionsObject;
  98564. /**
  98565. * (Highcharts, Highstock) Determines whether the series should look for the
  98566. * nearest point in both dimensions or just the x-dimension when hovering
  98567. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  98568. * other series. If the data has duplicate x-values, it is recommended to
  98569. * set this to `'xy'` to allow hovering over all points.
  98570. *
  98571. * Applies only to series types using nearest neighbor search (not direct
  98572. * hover) for tooltip.
  98573. */
  98574. findNearestPointBy?: OptionsFindNearestPointByValue;
  98575. /**
  98576. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  98577. * chart width or only the zoomed area when zooming in on parts of the X
  98578. * axis. By default, the Y axis adjusts to the min and max of the visible
  98579. * data. Cartesian series only.
  98580. */
  98581. getExtremesFromAll?: boolean;
  98582. /**
  98583. * (Highcharts, Highstock) When set to `false` will prevent the series data
  98584. * from being included in any form of data export.
  98585. *
  98586. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  98587. * `includeInCSVExport`.
  98588. */
  98589. includeInDataExport?: boolean;
  98590. /**
  98591. * (Highmaps) What property to join the `mapData` to the value data. For
  98592. * example, if joinBy is "code", the mapData items with a specific code is
  98593. * merged into the data with the same code. For maps loaded from GeoJSON,
  98594. * the keys may be held in each point's `properties` object.
  98595. *
  98596. * The joinBy option can also be an array of two values, where the first
  98597. * points to a key in the `mapData`, and the second points to another key in
  98598. * the `data`.
  98599. *
  98600. * When joinBy is `null`, the map items are joined by their position in the
  98601. * array, which performs much better in maps with many data points. This is
  98602. * the recommended option if you are printing more than a thousand data
  98603. * points and have a backend that can preprocess the data into a parallel
  98604. * array of the mapData.
  98605. */
  98606. joinBy?: (string|Array<string>);
  98607. /**
  98608. * (Highcharts, Highstock) An array specifying which option maps to which
  98609. * key in the data point array. This makes it convenient to work with
  98610. * unstructured data arrays from different sources.
  98611. */
  98612. keys?: Array<string>;
  98613. /**
  98614. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  98615. * series as possible in a natural way, seeking to avoid other series. The
  98616. * goal of this feature is to make the chart more easily readable, like if a
  98617. * human designer placed the labels in the optimal position.
  98618. *
  98619. * The series labels currently work with series types having a `graph` or an
  98620. * `area`.
  98621. */
  98622. label?: SeriesLabelOptionsObject;
  98623. /**
  98624. * (Highstock) The line marks the last price from all points.
  98625. */
  98626. lastPrice?: SeriesLastPriceOptionsObject;
  98627. /**
  98628. * (Highstock) The line marks the last price from visible range of points.
  98629. */
  98630. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  98631. /**
  98632. * (Highcharts, Highstock) The line width for each vector arrow.
  98633. */
  98634. lineWidth?: number;
  98635. /**
  98636. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  98637. * Additionally, the value can be ":previous" to link to the previous
  98638. * series. When two series are linked, only the first one appears in the
  98639. * legend. Toggling the visibility of this also toggles the linked series.
  98640. *
  98641. * If master series uses data sorting and linked series does not have its
  98642. * own sorting definition, the linked series will be sorted in the same
  98643. * order as the master one.
  98644. */
  98645. linkedTo?: string;
  98646. /**
  98647. * (Highstock) Options for the corresponding navigator series if
  98648. * `showInNavigator` is `true` for this series. Available options are the
  98649. * same as any series, documented at plotOptions and series.
  98650. *
  98651. * These options are merged with options in navigator.series, and will take
  98652. * precedence if the same option is defined both places.
  98653. */
  98654. navigatorOptions?: PlotSeriesOptions;
  98655. /**
  98656. * (Highcharts, Highstock) The color for the parts of the graph or points
  98657. * that are below the threshold. Note that `zones` takes precedence over the
  98658. * negative color. Using `negativeColor` is equivalent to applying a zone
  98659. * with value of 0.
  98660. */
  98661. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  98662. /**
  98663. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  98664. * and dataLabels.
  98665. */
  98666. opacity?: number;
  98667. /**
  98668. * (Highcharts, Highstock) Properties for each single point.
  98669. */
  98670. point?: PlotSeriesPointOptions;
  98671. /**
  98672. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  98673. * but for an individual series. Overrides the chart wide configuration.
  98674. */
  98675. pointDescriptionFormatter?: Function;
  98676. /**
  98677. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  98678. * a series, `pointInterval` defines the interval of the x values. For
  98679. * example, if a series contains one value every decade starting from year
  98680. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  98681. * `pointInterval` is set in milliseconds.
  98682. *
  98683. * It can be also be combined with `pointIntervalUnit` to draw irregular
  98684. * time intervals.
  98685. *
  98686. * Please note that this options applies to the _series data_, not the
  98687. * interval of the axis ticks, which is independent.
  98688. */
  98689. pointInterval?: number;
  98690. /**
  98691. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  98692. * setting the pointInterval to irregular time units, `day`, `month` and
  98693. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  98694. * also takes the DST crossover into consideration when dealing with local
  98695. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  98696. * months, 10 years etc.
  98697. *
  98698. * Please note that this options applies to the _series data_, not the
  98699. * interval of the axis ticks, which is independent.
  98700. */
  98701. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  98702. /**
  98703. * (Highstock) The width of each point on the x axis. For example in a
  98704. * column chart with one value each day, the pointRange would be 1 day (= 24
  98705. * * 3600
  98706. *
  98707. * * 1000 milliseconds). This is normally computed automatically, but this
  98708. * option can be used to override the automatic value.
  98709. */
  98710. pointRange?: number;
  98711. /**
  98712. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  98713. * a series, pointStart defines on what value to start. For example, if a
  98714. * series contains one yearly value starting from 1945, set pointStart to
  98715. * 1945.
  98716. */
  98717. pointStart?: number;
  98718. /**
  98719. * (Highcharts, Highstock) What part of the vector it should be rotated
  98720. * around. Can be one of `start`, `center` and `end`. When `start`, the
  98721. * vectors will start from the given [x, y] position, and when `end` the
  98722. * vectors will end in the [x, y] position.
  98723. */
  98724. rotationOrigin?: OptionsRotationOriginValue;
  98725. /**
  98726. * (Highcharts, Highstock) Whether to select the series initially. If
  98727. * `showCheckbox` is true, the checkbox next to the series name in the
  98728. * legend will be checked for a selected series.
  98729. */
  98730. selected?: boolean;
  98731. /**
  98732. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  98733. * legend item to allow selecting the series. The state of the checkbox is
  98734. * determined by the `selected` option.
  98735. */
  98736. showCheckbox?: boolean;
  98737. /**
  98738. * (Highcharts, Highstock) Whether to display this particular series or
  98739. * series type in the legend. Standalone series are shown in legend by
  98740. * default, and linked series are not. Since v7.2.0 it is possible to show
  98741. * series that use colorAxis by setting this option to `true`.
  98742. */
  98743. showInLegend?: boolean;
  98744. /**
  98745. * (Highstock) Whether or not to show the series in the navigator. Takes
  98746. * precedence over navigator.baseSeries if defined.
  98747. */
  98748. showInNavigator?: boolean;
  98749. /**
  98750. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  98751. * skip past the points in this series for keyboard navigation.
  98752. */
  98753. skipKeyboardNavigation?: boolean;
  98754. /**
  98755. * (Highcharts, Highstock) When this is true, the series will not cause the
  98756. * Y axis to cross the zero plane (or threshold option) unless the data
  98757. * actually crosses the plane.
  98758. *
  98759. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  98760. * make the Y axis show negative values according to the `minPadding`
  98761. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  98762. */
  98763. softThreshold?: boolean;
  98764. states?: SeriesStatesOptionsObject;
  98765. /**
  98766. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  98767. * `mouseOut` event on a series isn't triggered until the mouse moves over
  98768. * another series, or out of the plot area. When false, the `mouseOut` event
  98769. * on a series is triggered when the mouse leaves the area around the
  98770. * series' graph or markers. This also implies the tooltip. When
  98771. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  98772. * be hidden when moving the mouse between series.
  98773. */
  98774. stickyTracking?: boolean;
  98775. /**
  98776. * (Highcharts, Highstock) The threshold, also called zero level or base
  98777. * level. For line type series this is only used in conjunction with
  98778. * negativeColor.
  98779. */
  98780. threshold?: (number|null);
  98781. /**
  98782. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  98783. * of each single series. Properties are inherited from tooltip. Overridable
  98784. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  98785. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  98786. * series.name by default shows in the headerFormat and point.x and point.y
  98787. * in the pointFormat.
  98788. */
  98789. tooltip?: SeriesTooltipOptionsObject;
  98790. /**
  98791. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  98792. * is longer than this, only one dimensional arrays of numbers, or two
  98793. * dimensional arrays with x and y values are allowed. Also, only the first
  98794. * point is tested, and the rest are assumed to be the same format. This
  98795. * saves expensive data checking and indexing in long series. Set it to `0`
  98796. * disable.
  98797. *
  98798. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  98799. * two dimensional arrays are allowed.
  98800. */
  98801. turboThreshold?: number;
  98802. /**
  98803. * (Highcharts, Highstock) Maximum length of the arrows in the vector plot.
  98804. * The individual arrow length is computed between 0 and this value.
  98805. */
  98806. vectorLength?: number;
  98807. /**
  98808. * (Highcharts, Highstock) Set the initial visibility of the series.
  98809. */
  98810. visible?: boolean;
  98811. /**
  98812. * (Highmaps) Define the z index of the series.
  98813. */
  98814. zIndex?: number;
  98815. /**
  98816. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  98817. */
  98818. zoneAxis?: string;
  98819. /**
  98820. * (Highcharts, Highstock) An array defining zones within a series. Zones
  98821. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  98822. * the `zoneAxis` option. The zone definitions have to be in ascending order
  98823. * regarding to the value.
  98824. *
  98825. * In styled mode, the color zones are styled with the
  98826. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  98827. * option (view live demo).
  98828. */
  98829. zones?: Array<SeriesZonesOptionsObject>;
  98830. }
  98831. /**
  98832. * (Highcharts) Enable or disable the initial animation when a series is
  98833. * displayed. The animation can also be set as a configuration object. Please
  98834. * note that this option only applies to the initial animation of the series
  98835. * itself. For other animations, see chart.animation and the animation parameter
  98836. * under the API methods. The following properties are supported:
  98837. *
  98838. * - `defer`: The animation delay time in milliseconds.
  98839. *
  98840. * - `duration`: The duration of the animation in milliseconds.
  98841. *
  98842. * - `easing`: Can be a string reference to an easing function set on the `Math`
  98843. * object or a function. See the _Custom easing function_ demo below.
  98844. *
  98845. * Due to poor performance, animation is disabled in old IE browsers for several
  98846. * chart types.
  98847. */
  98848. export interface PlotVennAnimationOptions {
  98849. defer?: number;
  98850. }
  98851. export interface PlotVennClusterEventsOptions {
  98852. /**
  98853. * (Highcharts, Highmaps) Fires when the cluster point is clicked and
  98854. * `drillToCluster` is enabled. One parameter, `event`, is passed to the
  98855. * function. The default action is to zoom to the cluster points range. This
  98856. * can be prevented by calling `event.preventDefault()`.
  98857. */
  98858. drillToCluster?: MarkerClusterDrillCallbackFunction;
  98859. }
  98860. /**
  98861. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
  98862. * to change the type of the algorithm, gridSize, distance or iterations.
  98863. */
  98864. export interface PlotVennClusterLayoutAlgorithmOptions {
  98865. /**
  98866. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
  98867. * maximum distance between point and cluster center so that this point will
  98868. * be inside the cluster. The distance is either a number defining pixels or
  98869. * a percentage defining a percentage of the plot area width.
  98870. */
  98871. distance?: (number|string);
  98872. /**
  98873. * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
  98874. * size of a grid square element either as a number defining pixels, or a
  98875. * percentage defining a percentage of the plot area width.
  98876. */
  98877. gridSize?: (number|string);
  98878. /**
  98879. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
  98880. * the number of iterations that this algorithm will be repeated to find
  98881. * clusters positions.
  98882. */
  98883. iterations?: number;
  98884. /**
  98885. * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
  98886. * more visible points than the kmeansThreshold the `grid` algorithm is used
  98887. * to find clusters, otherwise `kmeans`. It ensures good performance on
  98888. * large datasets and better clusters arrangement after the zoom.
  98889. */
  98890. kmeansThreshold?: number;
  98891. /**
  98892. * (Highcharts, Highmaps) Type of the algorithm used to combine points into
  98893. * a cluster. There are three available algorithms:
  98894. *
  98895. * 1) `grid` - grid-based clustering technique. Points are assigned to
  98896. * squares of set size depending on their position on the plot area. Points
  98897. * inside the grid square are combined into a cluster. The grid size can be
  98898. * controlled by `gridSize` property (grid size changes at certain zoom
  98899. * levels).
  98900. *
  98901. * 2) `kmeans` - based on K-Means clustering technique. In the first step,
  98902. * points are divided using the grid method (distance property is a grid
  98903. * size) to find the initial amount of clusters. Next, each point is
  98904. * classified by computing the distance between each cluster center and that
  98905. * point. When the closest cluster distance is lower than distance property
  98906. * set by a user the point is added to this cluster otherwise is classified
  98907. * as `noise`. The algorithm is repeated until each cluster center not
  98908. * change its previous position more than one pixel. This technique is more
  98909. * accurate but also more time consuming than the `grid` algorithm,
  98910. * especially for big datasets.
  98911. *
  98912. * 3) `optimizedKmeans` - based on K-Means clustering technique. This
  98913. * algorithm uses k-means algorithm only on the chart initialization or when
  98914. * chart extremes have greater range than on initialization. When a chart is
  98915. * redrawn the algorithm checks only clustered points distance from the
  98916. * cluster center and rebuild it when the point is spaced enough to be
  98917. * outside the cluster. It provides performance improvement and more stable
  98918. * clusters position yet can be used rather on small and sparse datasets.
  98919. *
  98920. * By default, the algorithm depends on visible quantity of points and
  98921. * `kmeansThreshold`. When there are more visible points than the
  98922. * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
  98923. *
  98924. * The custom clustering algorithm can be added by assigning a callback
  98925. * function as the type property. This function takes an array of
  98926. * `processedXData`, `processedYData`, `processedXData` indexes and
  98927. * `layoutAlgorithm` options as arguments and should return an object with
  98928. * grouped data.
  98929. *
  98930. * The algorithm should return an object like that: (see online
  98931. * documentation for example)
  98932. *
  98933. * `clusterId` (example above - unique id of a cluster or noise) is an array
  98934. * of points belonging to a cluster. If the array has only one point or
  98935. * fewer points than set in `cluster.minimumClusterSize` it won't be
  98936. * combined into a cluster.
  98937. */
  98938. type?: (string|Function);
  98939. }
  98940. /**
  98941. * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
  98942. * the data values into larger blocks in order to ease readability and increase
  98943. * performance of the JavaScript charts.
  98944. *
  98945. * Note: marker clusters module is not working with `boost` and
  98946. * `draggable-points` modules.
  98947. *
  98948. * The marker clusters feature requires the marker-clusters.js file to be
  98949. * loaded, found in the modules directory of the download package, or online at
  98950. * code.highcharts.com/modules/marker-clusters.js.
  98951. */
  98952. export interface PlotVennClusterOptions {
  98953. /**
  98954. * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
  98955. * this option works only when `layoutAlgorithm.type = "grid"`.
  98956. */
  98957. allowOverlap?: boolean;
  98958. /**
  98959. * (Highcharts, Highmaps) Options for the cluster marker animation.
  98960. */
  98961. animation?: (boolean|Partial<AnimationOptionsObject>);
  98962. /**
  98963. * (Highcharts, Highmaps) Options for the cluster data labels.
  98964. */
  98965. dataLabels?: DataLabelsOptions;
  98966. /**
  98967. * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
  98968. * when a cluster is clicked.
  98969. */
  98970. drillToCluster?: boolean;
  98971. /**
  98972. * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
  98973. */
  98974. enabled?: boolean;
  98975. events?: PlotVennClusterEventsOptions;
  98976. /**
  98977. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
  98978. * options to change the type of the algorithm, gridSize, distance or
  98979. * iterations.
  98980. */
  98981. layoutAlgorithm?: PlotVennClusterLayoutAlgorithmOptions;
  98982. /**
  98983. * (Highcharts, Highmaps) Options for the cluster marker.
  98984. */
  98985. marker?: PointMarkerOptionsObject;
  98986. /**
  98987. * (Highcharts, Highmaps) The minimum amount of points to be combined into a
  98988. * cluster. This value has to be greater or equal to 2.
  98989. */
  98990. minimumClusterSize?: number;
  98991. states?: PlotVennClusterStatesOptions;
  98992. /**
  98993. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  98994. *
  98995. * In styled mode, the color zones are styled with the
  98996. * `.highcharts-cluster-zone-{n}` class, or custom classed from the
  98997. * `className` option.
  98998. */
  98999. zones?: Array<PlotVennClusterZonesOptions>;
  99000. }
  99001. export interface PlotVennClusterStatesHoverOptions {
  99002. /**
  99003. * (Highcharts, Highmaps) The fill color of the cluster marker in hover
  99004. * state. When `undefined`, the series' or point's fillColor for normal
  99005. * state is used.
  99006. */
  99007. fillColor?: ColorType;
  99008. }
  99009. export interface PlotVennClusterStatesOptions {
  99010. hover?: PlotVennClusterStatesHoverOptions;
  99011. }
  99012. /**
  99013. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  99014. *
  99015. * In styled mode, the color zones are styled with the
  99016. * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
  99017. * option.
  99018. */
  99019. export interface PlotVennClusterZonesOptions {
  99020. /**
  99021. * (Highcharts, Highmaps) Styled mode only. A custom class name for the
  99022. * zone.
  99023. */
  99024. className?: string;
  99025. /**
  99026. * (Highcharts, Highmaps) The value where the zone starts.
  99027. */
  99028. from?: number;
  99029. /**
  99030. * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
  99031. * zone.
  99032. */
  99033. marker?: PointMarkerOptionsObject;
  99034. /**
  99035. * (Highcharts, Highmaps) The value where the zone ends.
  99036. */
  99037. to?: number;
  99038. }
  99039. /**
  99040. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  99041. * animation when a series is displayed for the `dataLabels`. The animation can
  99042. * also be set as a configuration object. Please note that this option only
  99043. * applies to the initial animation. For other animations, see chart.animation
  99044. * and the animation parameter under the API methods. The following properties
  99045. * are supported:
  99046. *
  99047. * - `defer`: The animation delay time in milliseconds.
  99048. */
  99049. export interface PlotVennDataLabelsAnimationOptions {
  99050. /**
  99051. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  99052. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  99053. * inherits defer time from the series.animation.defer.
  99054. */
  99055. defer?: number;
  99056. }
  99057. /**
  99058. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  99059. * appearing next to each data point.
  99060. *
  99061. * Since v6.2.0, multiple data labels can be applied to each single point by
  99062. * defining them as an array of configs.
  99063. *
  99064. * In styled mode, the data labels can be styled with the
  99065. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  99066. * example).
  99067. */
  99068. export interface PlotVennDataLabelsOptions {
  99069. /**
  99070. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  99071. * compared to the point. If `right`, the right side of the label should be
  99072. * touching the point. For points with an extent, like columns, the
  99073. * alignments also dictates how to align it inside the box, as given with
  99074. * the inside option. Can be one of `left`, `center` or `right`.
  99075. */
  99076. align?: (AlignValue|null);
  99077. /**
  99078. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  99079. * overlap. To make the labels less sensitive for overlapping, the
  99080. * dataLabels.padding can be set to 0.
  99081. */
  99082. allowOverlap?: boolean;
  99083. /**
  99084. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  99085. * animation when a series is displayed for the `dataLabels`. The animation
  99086. * can also be set as a configuration object. Please note that this option
  99087. * only applies to the initial animation. For other animations, see
  99088. * chart.animation and the animation parameter under the API methods. The
  99089. * following properties are supported:
  99090. *
  99091. * - `defer`: The animation delay time in milliseconds.
  99092. */
  99093. animation?: (boolean|PlotVennDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  99094. /**
  99095. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  99096. * for the data label.
  99097. */
  99098. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  99099. /**
  99100. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  99101. * label. Defaults to `undefined`.
  99102. */
  99103. borderColor?: (ColorString|GradientColorObject|PatternObject);
  99104. /**
  99105. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  99106. * the data label.
  99107. */
  99108. borderRadius?: number;
  99109. /**
  99110. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  99111. * the data label.
  99112. */
  99113. borderWidth?: number;
  99114. /**
  99115. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  99116. * Particularly in styled mode, this can be used to give each series' or
  99117. * point's data label unique styling. In addition to this option, a default
  99118. * color class name is added so that we can give the labels a contrast text
  99119. * shadow.
  99120. */
  99121. className?: string;
  99122. /**
  99123. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  99124. * labels. Defaults to `undefined`. For certain series types, like column or
  99125. * map, the data labels can be drawn inside the points. In this case the
  99126. * data label will be drawn with maximum contrast by default. Additionally,
  99127. * it will be given a `text-outline` style with the opposite color, to
  99128. * further increase the contrast. This can be overridden by setting the
  99129. * `text-outline` style to `none` in the `dataLabels.style` option.
  99130. */
  99131. color?: (ColorString|GradientColorObject|PatternObject);
  99132. /**
  99133. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  99134. * are outside the plot area. By default, the data label is moved inside the
  99135. * plot area according to the overflow option.
  99136. */
  99137. crop?: boolean;
  99138. /**
  99139. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  99140. * labels until the initial series animation has finished. Setting to
  99141. * `false` renders the data label immediately. If set to `true` inherits the
  99142. * defer time set in plotOptions.series.animation. If set to a number, a
  99143. * defer time is specified in milliseconds.
  99144. */
  99145. defer?: (boolean|number);
  99146. /**
  99147. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  99148. * labels.
  99149. */
  99150. enabled?: boolean;
  99151. /**
  99152. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  99153. * of which data labels to display. The declarative filter is designed for
  99154. * use when callback functions are not available, like when the chart
  99155. * options require a pure JSON structure or for use with graphical editors.
  99156. * For programmatic control, use the `formatter` instead, and return
  99157. * `undefined` to disable a single data label.
  99158. */
  99159. filter?: DataLabelsFilterOptionsObject;
  99160. /**
  99161. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  99162. * label. Available variables are the same as for `formatter`.
  99163. */
  99164. format?: string;
  99165. /**
  99166. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  99167. * format the data label. Note that if a `format` is defined, the format
  99168. * takes precedence and the formatter is ignored.
  99169. */
  99170. formatter?: DataLabelsFormatterCallbackFunction;
  99171. /**
  99172. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  99173. * columns or map areas, whether to align the data label inside the box or
  99174. * to the actual value point. Defaults to `false` in most cases, `true` in
  99175. * stacked columns.
  99176. */
  99177. inside?: boolean;
  99178. /**
  99179. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  99180. * of null. Works analogously to format. `nullFormat` can be applied only to
  99181. * series which support displaying null points.
  99182. */
  99183. nullFormat?: (boolean|string);
  99184. /**
  99185. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  99186. * that defines formatting for points with the value of null. Works
  99187. * analogously to formatter. `nullPointFormatter` can be applied only to
  99188. * series which support displaying null points.
  99189. */
  99190. nullFormatter?: DataLabelsFormatterCallbackFunction;
  99191. /**
  99192. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  99193. * flow outside the plot area. The default is `"justify"`, which aligns them
  99194. * inside the plot area. For columns and bars, this means it will be moved
  99195. * inside the bar. To display data labels outside the plot area, set `crop`
  99196. * to `false` and `overflow` to `"allow"`.
  99197. */
  99198. overflow?: DataLabelsOverflowValue;
  99199. /**
  99200. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  99201. * the `backgroundColor` is set, this is the padding within the box.
  99202. */
  99203. padding?: number;
  99204. /**
  99205. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  99206. * points. If `center` alignment is not possible, it defaults to `right`.
  99207. */
  99208. position?: AlignValue;
  99209. /**
  99210. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  99211. * that due to a more complex structure, backgrounds, borders and padding
  99212. * will be lost on a rotated data label.
  99213. */
  99214. rotation?: number;
  99215. /**
  99216. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  99217. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  99218. * an object configuration containing `color`, `offsetX`, `offsetY`,
  99219. * `opacity` and `width`.
  99220. */
  99221. shadow?: (boolean|ShadowOptionsObject);
  99222. /**
  99223. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  99224. * the border around the label. Symbols are predefined functions on the
  99225. * Renderer object.
  99226. */
  99227. shape?: string;
  99228. /**
  99229. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  99230. * default `color` setting is `"contrast"`, which is a pseudo color that
  99231. * Highcharts picks up and applies the maximum contrast to the underlying
  99232. * point item, for example the bar in a bar chart.
  99233. *
  99234. * The `textOutline` is a pseudo property that applies an outline of the
  99235. * given width with the given color, which by default is the maximum
  99236. * contrast to the text. So a bright text color will result in a black text
  99237. * outline for maximum readability on a mixed background. In some cases,
  99238. * especially with grayscale text, the text outline doesn't work well, in
  99239. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  99240. * is true, the `textOutline` will not be picked up. In this, case, the same
  99241. * effect can be acheived through the `text-shadow` CSS property.
  99242. *
  99243. * For some series types, where each point has an extent, like for example
  99244. * tree maps, the data label may overflow the point. There are two
  99245. * strategies for handling overflow. By default, the text will wrap to
  99246. * multiple lines. The other strategy is to set `style.textOverflow` to
  99247. * `ellipsis`, which will keep the text on one line plus it will break
  99248. * inside long words.
  99249. */
  99250. style?: CSSObject;
  99251. /**
  99252. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  99253. * should follow marker's shape. Border and background are disabled for a
  99254. * label that follows a path.
  99255. *
  99256. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  99257. * to true will disable this option.
  99258. */
  99259. textPath?: DataLabelsTextPathOptionsObject;
  99260. /**
  99261. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  99262. * the labels.
  99263. */
  99264. useHTML?: boolean;
  99265. /**
  99266. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  99267. * label. Can be one of `top`, `middle` or `bottom`. The default value
  99268. * depends on the data, for instance in a column chart, the label is above
  99269. * positive values and below negative values.
  99270. */
  99271. verticalAlign?: string;
  99272. /**
  99273. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  99274. * label relative to the point in pixels.
  99275. */
  99276. x?: number;
  99277. /**
  99278. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  99279. * label relative to the point in pixels.
  99280. */
  99281. y?: number;
  99282. /**
  99283. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  99284. * The default Z index puts it above the series. Use a Z index of 2 to
  99285. * display it behind the series.
  99286. */
  99287. z?: number;
  99288. }
  99289. /**
  99290. * (Highcharts) A Venn diagram displays all possible logical relations between a
  99291. * collection of different sets. The sets are represented by circles, and the
  99292. * relation between the sets are displayed by the overlap or lack of overlap
  99293. * between them. The venn diagram is a special case of Euler diagrams, which can
  99294. * also be displayed by this series type.
  99295. *
  99296. * In TypeScript the type option must always be set.
  99297. *
  99298. * Configuration options for the series are given in three levels:
  99299. *
  99300. * 1. Options for all series in a chart are defined in the plotOptions.series
  99301. * object.
  99302. *
  99303. * 2. Options for all `venn` series are defined in plotOptions.venn.
  99304. *
  99305. * 3. Options for one single series are given in the series instance array. (see
  99306. * online documentation for example)
  99307. */
  99308. export interface PlotVennOptions {
  99309. /**
  99310. * (Highcharts) Accessibility options for a series.
  99311. */
  99312. accessibility?: SeriesAccessibilityOptionsObject;
  99313. /**
  99314. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  99315. * rendered. If `true`, areas which don't correspond to a data point, are
  99316. * rendered as `null` points. If `false`, those areas are skipped.
  99317. */
  99318. allAreas?: boolean;
  99319. /**
  99320. * (Highcharts) Allow this series' points to be selected by clicking on the
  99321. * graphic (columns, point markers, pie slices, map areas etc).
  99322. *
  99323. * The selected points can be handled by point select and unselect events,
  99324. * or collectively by the getSelectedPoints function.
  99325. *
  99326. * And alternative way of selecting points is through dragging.
  99327. */
  99328. allowPointSelect?: boolean;
  99329. /**
  99330. * (Highcharts) Enable or disable the initial animation when a series is
  99331. * displayed. The animation can also be set as a configuration object.
  99332. * Please note that this option only applies to the initial animation of the
  99333. * series itself. For other animations, see chart.animation and the
  99334. * animation parameter under the API methods. The following properties are
  99335. * supported:
  99336. *
  99337. * - `defer`: The animation delay time in milliseconds.
  99338. *
  99339. * - `duration`: The duration of the animation in milliseconds.
  99340. *
  99341. * - `easing`: Can be a string reference to an easing function set on the
  99342. * `Math` object or a function. See the _Custom easing function_ demo below.
  99343. *
  99344. * Due to poor performance, animation is disabled in old IE browsers for
  99345. * several chart types.
  99346. */
  99347. animation?: (boolean|PlotVennAnimationOptions|Partial<AnimationOptionsObject>);
  99348. /**
  99349. * (Highcharts) For some series, there is a limit that shuts down initial
  99350. * animation by default when the total number of points in the chart is too
  99351. * high. For example, for a column chart and its derivatives, animation does
  99352. * not run if there is more than 250 points totally. To disable this cap,
  99353. * set `animationLimit` to `Infinity`.
  99354. */
  99355. animationLimit?: number;
  99356. /**
  99357. * (Highmaps) The border color of the map areas.
  99358. *
  99359. * In styled mode, the border stroke is given in the `.highcharts-point`
  99360. * class.
  99361. */
  99362. borderColor?: string;
  99363. borderDashStyle?: string;
  99364. /**
  99365. * (Highmaps) The border width of each map area.
  99366. *
  99367. * In styled mode, the border stroke width is given in the
  99368. * `.highcharts-point` class.
  99369. */
  99370. borderWidth?: number;
  99371. brighten?: number;
  99372. /**
  99373. * (Highcharts) An additional class name to apply to the series' graphical
  99374. * elements. This option does not replace default class names of the
  99375. * graphical element.
  99376. */
  99377. className?: string;
  99378. /**
  99379. * (Highcharts) Disable this option to allow series rendering in the whole
  99380. * plotting area.
  99381. *
  99382. * **Note:** Clipping should be always enabled when chart.zoomType is set
  99383. */
  99384. clip?: boolean;
  99385. /**
  99386. * (Highcharts, Highmaps) Options for marker clusters, the concept of
  99387. * sampling the data values into larger blocks in order to ease readability
  99388. * and increase performance of the JavaScript charts.
  99389. *
  99390. * Note: marker clusters module is not working with `boost` and
  99391. * `draggable-points` modules.
  99392. *
  99393. * The marker clusters feature requires the marker-clusters.js file to be
  99394. * loaded, found in the modules directory of the download package, or online
  99395. * at code.highcharts.com/modules/marker-clusters.js.
  99396. */
  99397. cluster?: PlotVennClusterOptions;
  99398. /**
  99399. * (Highcharts) The main color of the series. In line type series it applies
  99400. * to the line and the point markers unless otherwise specified. In bar type
  99401. * series it applies to the bars unless a color is specified per point. The
  99402. * default value is pulled from the `options.colors` array.
  99403. *
  99404. * In styled mode, the color can be defined by the colorIndex option. Also,
  99405. * the series color can be set with the `.highcharts-series`,
  99406. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  99407. * `.highcharts-series-{n}` class, or individual classes given by the
  99408. * `className` option.
  99409. */
  99410. color?: (ColorString|GradientColorObject|PatternObject);
  99411. /**
  99412. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  99413. * this number defines which colorAxis the particular series is connected
  99414. * to. It refers to either the axis id or the index of the axis in the
  99415. * colorAxis array, with 0 being the first. Set this option to false to
  99416. * prevent a series from connecting to the default color axis.
  99417. *
  99418. * Since v7.2.0 the option can also be an axis id or an axis index instead
  99419. * of a boolean flag.
  99420. */
  99421. colorAxis?: (boolean|number|string);
  99422. colorByPoint?: boolean;
  99423. /**
  99424. * (Highcharts) Styled mode only. A specific color index to use for the
  99425. * series, so its graphic representations are given the class name
  99426. * `highcharts-color-{n}`.
  99427. */
  99428. colorIndex?: number;
  99429. /**
  99430. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  99431. * used to calculate point color if `colorAxis` is used. Requires to set
  99432. * `min` and `max` if some custom point property is used or if approximation
  99433. * for data grouping is set to `'sum'`.
  99434. */
  99435. colorKey?: string;
  99436. /**
  99437. * (Highstock) Compare the values of the series against the first non-null,
  99438. * non- zero value in the visible range. The y axis will show percentage or
  99439. * absolute change depending on whether `compare` is set to `"percent"` or
  99440. * `"value"`. When this is applied to multiple series, it allows comparing
  99441. * the development of the series against each other. Adds a `change` field
  99442. * to every point object.
  99443. */
  99444. compare?: string;
  99445. /**
  99446. * (Highstock) When compare is `percent`, this option dictates whether to
  99447. * use 0 or 100 as the base of comparison.
  99448. */
  99449. compareBase?: (0|100);
  99450. /**
  99451. * (Highstock) Defines if comparison should start from the first point
  99452. * within the visible range or should start from the first point **before**
  99453. * the range.
  99454. *
  99455. * In other words, this flag determines if first point within the visible
  99456. * range will have 0% (`compareStart=true`) or should have been already
  99457. * calculated according to the previous point (`compareStart=false`).
  99458. */
  99459. compareStart?: boolean;
  99460. /**
  99461. * (Gantt) Override Pathfinder connector options for a series. Requires
  99462. * Highcharts Gantt to be loaded.
  99463. */
  99464. connectors?: SeriesConnectorsOptionsObject;
  99465. /**
  99466. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  99467. * rounded to its nearest pixel in order to render sharp on screen. In some
  99468. * cases, when there are a lot of densely packed columns, this leads to
  99469. * visible difference in column widths or distance between columns. In these
  99470. * cases, setting `crisp` to `false` may look better, even though each
  99471. * column is rendered blurry.
  99472. */
  99473. crisp?: boolean;
  99474. /**
  99475. * (Highcharts) You can set the cursor to "pointer" if you have click events
  99476. * attached to the series, to signal to the user that the points and lines
  99477. * can be clicked.
  99478. *
  99479. * In styled mode, the series cursor can be set with the same classes as
  99480. * listed under series.color.
  99481. */
  99482. cursor?: (string|CursorValue);
  99483. /**
  99484. * (Highcharts) A reserved subspace to store options and values for
  99485. * customized functionality. Here you can add additional data for your own
  99486. * event callbacks and formatter callbacks.
  99487. */
  99488. custom?: Dictionary<any>;
  99489. /**
  99490. * (Highcharts) Name of the dash style to use for the graph, or for some
  99491. * series types the outline of each shape.
  99492. *
  99493. * In styled mode, the stroke dash-array can be set with the same classes as
  99494. * listed under series.color.
  99495. */
  99496. dashStyle?: DashStyleValue;
  99497. /**
  99498. * (Highstock) Data grouping is the concept of sampling the data values into
  99499. * larger blocks in order to ease readability and increase performance of
  99500. * the JavaScript charts. Highcharts Stock by default applies data grouping
  99501. * when the points become closer than a certain pixel value, determined by
  99502. * the `groupPixelWidth` option.
  99503. *
  99504. * If data grouping is applied, the grouping information of grouped points
  99505. * can be read from the Point.dataGroup. If point options other than the
  99506. * data itself are set, for example `name` or `color` or custom properties,
  99507. * the grouping logic doesn't know how to group it. In this case the options
  99508. * of the first point instance are copied over to the group point. This can
  99509. * be altered through a custom `approximation` callback function.
  99510. */
  99511. dataGrouping?: DataGroupingOptionsObject;
  99512. /**
  99513. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  99514. * labels, appearing next to each data point.
  99515. *
  99516. * Since v6.2.0, multiple data labels can be applied to each single point by
  99517. * defining them as an array of configs.
  99518. *
  99519. * In styled mode, the data labels can be styled with the
  99520. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  99521. * (see example).
  99522. */
  99523. dataLabels?: (PlotVennDataLabelsOptions|Array<PlotVennDataLabelsOptions>);
  99524. /**
  99525. * (Highcharts) A description of the series to add to the screen reader
  99526. * information about the series.
  99527. */
  99528. description?: string;
  99529. /**
  99530. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  99531. * This includes point tooltips and click events on graphs and points. For
  99532. * large datasets it improves performance.
  99533. */
  99534. enableMouseTracking?: boolean;
  99535. /**
  99536. * (Highcharts) General event handlers for the series items. These event
  99537. * hooks can also be attached to the series at run time using the
  99538. * `Highcharts.addEvent` function.
  99539. */
  99540. events?: SeriesEventsOptionsObject;
  99541. /**
  99542. * (Highstock) Defines when to display a gap in the graph, together with the
  99543. * gapUnit option.
  99544. *
  99545. * In case when `dataGrouping` is enabled, points can be grouped into a
  99546. * larger time span. This can make the grouped points to have a greater
  99547. * distance than the absolute value of `gapSize` property, which will result
  99548. * in disappearing graph completely. To prevent this situation the mentioned
  99549. * distance between grouped points is used instead of previously defined
  99550. * `gapSize`.
  99551. *
  99552. * In practice, this option is most often used to visualize gaps in time
  99553. * series. In a stock chart, intraday data is available for daytime hours,
  99554. * while gaps will appear in nights and weekends.
  99555. */
  99556. gapSize?: number;
  99557. /**
  99558. * (Highstock) Together with gapSize, this option defines where to draw gaps
  99559. * in the graph.
  99560. *
  99561. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  99562. * if the distance between two points is greater than 5 times that of the
  99563. * two closest points, the graph will be broken.
  99564. *
  99565. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  99566. * values, which on a datetime axis is milliseconds. This also applies to
  99567. * the navigator series that inherits gap options from the base series.
  99568. */
  99569. gapUnit?: OptionsGapUnitValue;
  99570. /**
  99571. * (Highcharts) When set to `false` will prevent the series data from being
  99572. * included in any form of data export.
  99573. *
  99574. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  99575. * `includeInCSVExport`.
  99576. */
  99577. includeInDataExport?: boolean;
  99578. /**
  99579. * (Highmaps) What property to join the `mapData` to the value data. For
  99580. * example, if joinBy is "code", the mapData items with a specific code is
  99581. * merged into the data with the same code. For maps loaded from GeoJSON,
  99582. * the keys may be held in each point's `properties` object.
  99583. *
  99584. * The joinBy option can also be an array of two values, where the first
  99585. * points to a key in the `mapData`, and the second points to another key in
  99586. * the `data`.
  99587. *
  99588. * When joinBy is `null`, the map items are joined by their position in the
  99589. * array, which performs much better in maps with many data points. This is
  99590. * the recommended option if you are printing more than a thousand data
  99591. * points and have a backend that can preprocess the data into a parallel
  99592. * array of the mapData.
  99593. */
  99594. joinBy?: (string|Array<string>);
  99595. /**
  99596. * (Highcharts) An array specifying which option maps to which key in the
  99597. * data point array. This makes it convenient to work with unstructured data
  99598. * arrays from different sources.
  99599. */
  99600. keys?: Array<string>;
  99601. /**
  99602. * (Highstock) The line marks the last price from all points.
  99603. */
  99604. lastPrice?: SeriesLastPriceOptionsObject;
  99605. /**
  99606. * (Highstock) The line marks the last price from visible range of points.
  99607. */
  99608. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  99609. marker?: boolean;
  99610. /**
  99611. * (Highstock) Options for the corresponding navigator series if
  99612. * `showInNavigator` is `true` for this series. Available options are the
  99613. * same as any series, documented at plotOptions and series.
  99614. *
  99615. * These options are merged with options in navigator.series, and will take
  99616. * precedence if the same option is defined both places.
  99617. */
  99618. navigatorOptions?: PlotSeriesOptions;
  99619. /**
  99620. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  99621. * dataLabels.
  99622. */
  99623. opacity?: number;
  99624. /**
  99625. * (Highcharts) Properties for each single point.
  99626. */
  99627. point?: PlotSeriesPointOptions;
  99628. /**
  99629. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  99630. * individual series. Overrides the chart wide configuration.
  99631. */
  99632. pointDescriptionFormatter?: Function;
  99633. /**
  99634. * (Highstock) The width of each point on the x axis. For example in a
  99635. * column chart with one value each day, the pointRange would be 1 day (= 24
  99636. * * 3600
  99637. *
  99638. * * 1000 milliseconds). This is normally computed automatically, but this
  99639. * option can be used to override the automatic value.
  99640. */
  99641. pointRange?: number;
  99642. /**
  99643. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  99644. * true, the checkbox next to the series name in the legend will be checked
  99645. * for a selected series.
  99646. */
  99647. selected?: boolean;
  99648. /**
  99649. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  99650. * allow selecting the series. The state of the checkbox is determined by
  99651. * the `selected` option.
  99652. */
  99653. showCheckbox?: boolean;
  99654. /**
  99655. * (Highcharts) Whether to display this particular series or series type in
  99656. * the legend. Standalone series are shown in legend by default, and linked
  99657. * series are not. Since v7.2.0 it is possible to show series that use
  99658. * colorAxis by setting this option to `true`.
  99659. */
  99660. showInLegend?: boolean;
  99661. /**
  99662. * (Highstock) Whether or not to show the series in the navigator. Takes
  99663. * precedence over navigator.baseSeries if defined.
  99664. */
  99665. showInNavigator?: boolean;
  99666. /**
  99667. * (Highcharts) If set to `true`, the accessibility module will skip past
  99668. * the points in this series for keyboard navigation.
  99669. */
  99670. skipKeyboardNavigation?: boolean;
  99671. states?: SeriesStatesOptionsObject;
  99672. /**
  99673. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  99674. * values are `left`, `center` and `right`.
  99675. */
  99676. step?: OptionsStepValue;
  99677. /**
  99678. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  99679. * `mouseOut` event on a series isn't triggered until the mouse moves over
  99680. * another series, or out of the plot area. When false, the `mouseOut` event
  99681. * on a series is triggered when the mouse leaves the area around the
  99682. * series' graph or markers. This also implies the tooltip. When
  99683. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  99684. * be hidden when moving the mouse between series.
  99685. */
  99686. stickyTracking?: boolean;
  99687. /**
  99688. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  99689. * of each single series. Properties are inherited from tooltip. Overridable
  99690. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  99691. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  99692. * series.name by default shows in the headerFormat and point.x and point.y
  99693. * in the pointFormat.
  99694. */
  99695. tooltip?: SeriesTooltipOptionsObject;
  99696. /**
  99697. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  99698. * is longer than this, only one dimensional arrays of numbers, or two
  99699. * dimensional arrays with x and y values are allowed. Also, only the first
  99700. * point is tested, and the rest are assumed to be the same format. This
  99701. * saves expensive data checking and indexing in long series. Set it to `0`
  99702. * disable.
  99703. *
  99704. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  99705. * two dimensional arrays are allowed.
  99706. */
  99707. turboThreshold?: number;
  99708. /**
  99709. * (Highcharts) Set the initial visibility of the series.
  99710. */
  99711. visible?: boolean;
  99712. /**
  99713. * (Highmaps) Define the z index of the series.
  99714. */
  99715. zIndex?: number;
  99716. }
  99717. /**
  99718. * (Highstock) Enable or disable the initial animation when a series is
  99719. * displayed. The animation can also be set as a configuration object. Please
  99720. * note that this option only applies to the initial animation of the series
  99721. * itself. For other animations, see chart.animation and the animation parameter
  99722. * under the API methods. The following properties are supported:
  99723. *
  99724. * - `defer`: The animation delay time in milliseconds.
  99725. *
  99726. * - `duration`: The duration of the animation in milliseconds.
  99727. *
  99728. * - `easing`: Can be a string reference to an easing function set on the `Math`
  99729. * object or a function. See the _Custom easing function_ demo below.
  99730. *
  99731. * Due to poor performance, animation is disabled in old IE browsers for several
  99732. * chart types.
  99733. */
  99734. export interface PlotVwapAnimationOptions {
  99735. defer?: number;
  99736. }
  99737. /**
  99738. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  99739. * animation when a series is displayed for the `dataLabels`. The animation can
  99740. * also be set as a configuration object. Please note that this option only
  99741. * applies to the initial animation. For other animations, see chart.animation
  99742. * and the animation parameter under the API methods. The following properties
  99743. * are supported:
  99744. *
  99745. * - `defer`: The animation delay time in milliseconds.
  99746. */
  99747. export interface PlotVwapDataLabelsAnimationOptions {
  99748. /**
  99749. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  99750. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  99751. * inherits defer time from the series.animation.defer.
  99752. */
  99753. defer?: number;
  99754. }
  99755. /**
  99756. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  99757. * appearing next to each data point.
  99758. *
  99759. * Since v6.2.0, multiple data labels can be applied to each single point by
  99760. * defining them as an array of configs.
  99761. *
  99762. * In styled mode, the data labels can be styled with the
  99763. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  99764. * example).
  99765. */
  99766. export interface PlotVwapDataLabelsOptions {
  99767. /**
  99768. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  99769. * compared to the point. If `right`, the right side of the label should be
  99770. * touching the point. For points with an extent, like columns, the
  99771. * alignments also dictates how to align it inside the box, as given with
  99772. * the inside option. Can be one of `left`, `center` or `right`.
  99773. */
  99774. align?: (AlignValue|null);
  99775. /**
  99776. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  99777. * overlap. To make the labels less sensitive for overlapping, the
  99778. * dataLabels.padding can be set to 0.
  99779. */
  99780. allowOverlap?: boolean;
  99781. /**
  99782. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  99783. * animation when a series is displayed for the `dataLabels`. The animation
  99784. * can also be set as a configuration object. Please note that this option
  99785. * only applies to the initial animation. For other animations, see
  99786. * chart.animation and the animation parameter under the API methods. The
  99787. * following properties are supported:
  99788. *
  99789. * - `defer`: The animation delay time in milliseconds.
  99790. */
  99791. animation?: (boolean|PlotVwapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  99792. /**
  99793. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  99794. * for the data label.
  99795. */
  99796. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  99797. /**
  99798. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  99799. * label. Defaults to `undefined`.
  99800. */
  99801. borderColor?: (ColorString|GradientColorObject|PatternObject);
  99802. /**
  99803. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  99804. * the data label.
  99805. */
  99806. borderRadius?: number;
  99807. /**
  99808. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  99809. * the data label.
  99810. */
  99811. borderWidth?: number;
  99812. /**
  99813. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  99814. * Particularly in styled mode, this can be used to give each series' or
  99815. * point's data label unique styling. In addition to this option, a default
  99816. * color class name is added so that we can give the labels a contrast text
  99817. * shadow.
  99818. */
  99819. className?: string;
  99820. /**
  99821. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  99822. * labels. Defaults to `undefined`. For certain series types, like column or
  99823. * map, the data labels can be drawn inside the points. In this case the
  99824. * data label will be drawn with maximum contrast by default. Additionally,
  99825. * it will be given a `text-outline` style with the opposite color, to
  99826. * further increase the contrast. This can be overridden by setting the
  99827. * `text-outline` style to `none` in the `dataLabels.style` option.
  99828. */
  99829. color?: (ColorString|GradientColorObject|PatternObject);
  99830. /**
  99831. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  99832. * are outside the plot area. By default, the data label is moved inside the
  99833. * plot area according to the overflow option.
  99834. */
  99835. crop?: boolean;
  99836. /**
  99837. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  99838. * labels until the initial series animation has finished. Setting to
  99839. * `false` renders the data label immediately. If set to `true` inherits the
  99840. * defer time set in plotOptions.series.animation. If set to a number, a
  99841. * defer time is specified in milliseconds.
  99842. */
  99843. defer?: (boolean|number);
  99844. /**
  99845. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  99846. * labels.
  99847. */
  99848. enabled?: boolean;
  99849. /**
  99850. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  99851. * of which data labels to display. The declarative filter is designed for
  99852. * use when callback functions are not available, like when the chart
  99853. * options require a pure JSON structure or for use with graphical editors.
  99854. * For programmatic control, use the `formatter` instead, and return
  99855. * `undefined` to disable a single data label.
  99856. */
  99857. filter?: DataLabelsFilterOptionsObject;
  99858. /**
  99859. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  99860. * label. Available variables are the same as for `formatter`.
  99861. */
  99862. format?: string;
  99863. /**
  99864. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  99865. * format the data label. Note that if a `format` is defined, the format
  99866. * takes precedence and the formatter is ignored.
  99867. */
  99868. formatter?: DataLabelsFormatterCallbackFunction;
  99869. /**
  99870. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  99871. * columns or map areas, whether to align the data label inside the box or
  99872. * to the actual value point. Defaults to `false` in most cases, `true` in
  99873. * stacked columns.
  99874. */
  99875. inside?: boolean;
  99876. /**
  99877. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  99878. * of null. Works analogously to format. `nullFormat` can be applied only to
  99879. * series which support displaying null points.
  99880. */
  99881. nullFormat?: (boolean|string);
  99882. /**
  99883. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  99884. * that defines formatting for points with the value of null. Works
  99885. * analogously to formatter. `nullPointFormatter` can be applied only to
  99886. * series which support displaying null points.
  99887. */
  99888. nullFormatter?: DataLabelsFormatterCallbackFunction;
  99889. /**
  99890. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  99891. * flow outside the plot area. The default is `"justify"`, which aligns them
  99892. * inside the plot area. For columns and bars, this means it will be moved
  99893. * inside the bar. To display data labels outside the plot area, set `crop`
  99894. * to `false` and `overflow` to `"allow"`.
  99895. */
  99896. overflow?: DataLabelsOverflowValue;
  99897. /**
  99898. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  99899. * the `backgroundColor` is set, this is the padding within the box.
  99900. */
  99901. padding?: number;
  99902. /**
  99903. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  99904. * points. If `center` alignment is not possible, it defaults to `right`.
  99905. */
  99906. position?: AlignValue;
  99907. /**
  99908. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  99909. * that due to a more complex structure, backgrounds, borders and padding
  99910. * will be lost on a rotated data label.
  99911. */
  99912. rotation?: number;
  99913. /**
  99914. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  99915. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  99916. * an object configuration containing `color`, `offsetX`, `offsetY`,
  99917. * `opacity` and `width`.
  99918. */
  99919. shadow?: (boolean|ShadowOptionsObject);
  99920. /**
  99921. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  99922. * the border around the label. Symbols are predefined functions on the
  99923. * Renderer object.
  99924. */
  99925. shape?: string;
  99926. /**
  99927. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  99928. * default `color` setting is `"contrast"`, which is a pseudo color that
  99929. * Highcharts picks up and applies the maximum contrast to the underlying
  99930. * point item, for example the bar in a bar chart.
  99931. *
  99932. * The `textOutline` is a pseudo property that applies an outline of the
  99933. * given width with the given color, which by default is the maximum
  99934. * contrast to the text. So a bright text color will result in a black text
  99935. * outline for maximum readability on a mixed background. In some cases,
  99936. * especially with grayscale text, the text outline doesn't work well, in
  99937. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  99938. * is true, the `textOutline` will not be picked up. In this, case, the same
  99939. * effect can be acheived through the `text-shadow` CSS property.
  99940. *
  99941. * For some series types, where each point has an extent, like for example
  99942. * tree maps, the data label may overflow the point. There are two
  99943. * strategies for handling overflow. By default, the text will wrap to
  99944. * multiple lines. The other strategy is to set `style.textOverflow` to
  99945. * `ellipsis`, which will keep the text on one line plus it will break
  99946. * inside long words.
  99947. */
  99948. style?: CSSObject;
  99949. /**
  99950. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  99951. * should follow marker's shape. Border and background are disabled for a
  99952. * label that follows a path.
  99953. *
  99954. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  99955. * to true will disable this option.
  99956. */
  99957. textPath?: DataLabelsTextPathOptionsObject;
  99958. /**
  99959. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  99960. * the labels.
  99961. */
  99962. useHTML?: boolean;
  99963. /**
  99964. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  99965. * label. Can be one of `top`, `middle` or `bottom`. The default value
  99966. * depends on the data, for instance in a column chart, the label is above
  99967. * positive values and below negative values.
  99968. */
  99969. verticalAlign?: (VerticalAlignValue|null);
  99970. /**
  99971. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  99972. * label relative to the point in pixels.
  99973. */
  99974. x?: number;
  99975. /**
  99976. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  99977. * label relative to the point in pixels.
  99978. */
  99979. y?: number;
  99980. /**
  99981. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  99982. * The default Z index puts it above the series. Use a Z index of 2 to
  99983. * display it behind the series.
  99984. */
  99985. z?: number;
  99986. }
  99987. /**
  99988. * (Highcharts, Highstock) Options for the series data sorting.
  99989. */
  99990. export interface PlotVwapDataSortingOptions {
  99991. /**
  99992. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  99993. * Use xAxis.reversed to change the sorting order.
  99994. */
  99995. enabled?: boolean;
  99996. /**
  99997. * (Highcharts, Highstock) Whether to allow matching points by name in an
  99998. * update. If this option is disabled, points will be matched by order.
  99999. */
  100000. matchByName?: boolean;
  100001. /**
  100002. * (Highcharts, Highstock) Determines what data value should be used to sort
  100003. * by.
  100004. */
  100005. sortKey?: string;
  100006. }
  100007. /**
  100008. * (Highstock) Volume Weighted Average Price indicator.
  100009. *
  100010. * This series requires `linkedTo` option to be set.
  100011. *
  100012. * In TypeScript the type option must always be set.
  100013. *
  100014. * Configuration options for the series are given in three levels:
  100015. *
  100016. * 1. Options for all series in a chart are defined in the plotOptions.series
  100017. * object.
  100018. *
  100019. * 2. Options for all `vwap` series are defined in plotOptions.vwap.
  100020. *
  100021. * 3. Options for one single series are given in the series instance array. (see
  100022. * online documentation for example)
  100023. */
  100024. export interface PlotVwapOptions {
  100025. /**
  100026. * (Highstock) Accessibility options for a series.
  100027. */
  100028. accessibility?: SeriesAccessibilityOptionsObject;
  100029. /**
  100030. * (Highstock) Allow this series' points to be selected by clicking on the
  100031. * graphic (columns, point markers, pie slices, map areas etc).
  100032. *
  100033. * The selected points can be handled by point select and unselect events,
  100034. * or collectively by the getSelectedPoints function.
  100035. *
  100036. * And alternative way of selecting points is through dragging.
  100037. */
  100038. allowPointSelect?: boolean;
  100039. /**
  100040. * (Highstock) Enable or disable the initial animation when a series is
  100041. * displayed. The animation can also be set as a configuration object.
  100042. * Please note that this option only applies to the initial animation of the
  100043. * series itself. For other animations, see chart.animation and the
  100044. * animation parameter under the API methods. The following properties are
  100045. * supported:
  100046. *
  100047. * - `defer`: The animation delay time in milliseconds.
  100048. *
  100049. * - `duration`: The duration of the animation in milliseconds.
  100050. *
  100051. * - `easing`: Can be a string reference to an easing function set on the
  100052. * `Math` object or a function. See the _Custom easing function_ demo below.
  100053. *
  100054. * Due to poor performance, animation is disabled in old IE browsers for
  100055. * several chart types.
  100056. */
  100057. animation?: (boolean|PlotVwapAnimationOptions|Partial<AnimationOptionsObject>);
  100058. /**
  100059. * (Highstock) For some series, there is a limit that shuts down initial
  100060. * animation by default when the total number of points in the chart is too
  100061. * high. For example, for a column chart and its derivatives, animation does
  100062. * not run if there is more than 250 points totally. To disable this cap,
  100063. * set `animationLimit` to `Infinity`.
  100064. */
  100065. animationLimit?: number;
  100066. /**
  100067. * (Highstock) Sets the color blending in the boost module.
  100068. */
  100069. boostBlending?: OptionsBoostBlendingValue;
  100070. /**
  100071. * (Highstock) Set the point threshold for when a series should enter boost
  100072. * mode.
  100073. *
  100074. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  100075. * there are 2000 or more points in the series.
  100076. *
  100077. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  100078. * it to 1 will force boosting.
  100079. *
  100080. * Note that the cropThreshold also affects this setting. When zooming in on
  100081. * a series that has fewer points than the `cropThreshold`, all points are
  100082. * rendered although outside the visible plot area, and the `boostThreshold`
  100083. * won't take effect.
  100084. */
  100085. boostThreshold?: number;
  100086. /**
  100087. * (Highmaps) The border color of the map areas.
  100088. *
  100089. * In styled mode, the border stroke is given in the `.highcharts-point`
  100090. * class.
  100091. */
  100092. borderColor?: (ColorString|GradientColorObject|PatternObject);
  100093. /**
  100094. * (Highmaps) The border width of each map area.
  100095. *
  100096. * In styled mode, the border stroke width is given in the
  100097. * `.highcharts-point` class.
  100098. */
  100099. borderWidth?: number;
  100100. /**
  100101. * (Highstock) An additional class name to apply to the series' graphical
  100102. * elements. This option does not replace default class names of the
  100103. * graphical element.
  100104. */
  100105. className?: string;
  100106. /**
  100107. * (Highstock) Disable this option to allow series rendering in the whole
  100108. * plotting area.
  100109. *
  100110. * **Note:** Clipping should be always enabled when chart.zoomType is set
  100111. */
  100112. clip?: boolean;
  100113. /**
  100114. * (Highstock) The main color of the series. In line type series it applies
  100115. * to the line and the point markers unless otherwise specified. In bar type
  100116. * series it applies to the bars unless a color is specified per point. The
  100117. * default value is pulled from the `options.colors` array.
  100118. *
  100119. * In styled mode, the color can be defined by the colorIndex option. Also,
  100120. * the series color can be set with the `.highcharts-series`,
  100121. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  100122. * `.highcharts-series-{n}` class, or individual classes given by the
  100123. * `className` option.
  100124. */
  100125. color?: (ColorString|GradientColorObject|PatternObject);
  100126. /**
  100127. * (Highstock) Styled mode only. A specific color index to use for the
  100128. * series, so its graphic representations are given the class name
  100129. * `highcharts-color-{n}`.
  100130. */
  100131. colorIndex?: number;
  100132. /**
  100133. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  100134. * used to calculate point color if `colorAxis` is used. Requires to set
  100135. * `min` and `max` if some custom point property is used or if approximation
  100136. * for data grouping is set to `'sum'`.
  100137. */
  100138. colorKey?: string;
  100139. /**
  100140. * (Highstock) Compare the values of the series against the first non-null,
  100141. * non- zero value in the visible range. The y axis will show percentage or
  100142. * absolute change depending on whether `compare` is set to `"percent"` or
  100143. * `"value"`. When this is applied to multiple series, it allows comparing
  100144. * the development of the series against each other. Adds a `change` field
  100145. * to every point object.
  100146. */
  100147. compare?: string;
  100148. /**
  100149. * (Highstock) When compare is `percent`, this option dictates whether to
  100150. * use 0 or 100 as the base of comparison.
  100151. */
  100152. compareBase?: (0|100);
  100153. /**
  100154. * (Highstock) Defines if comparison should start from the first point
  100155. * within the visible range or should start from the first point **before**
  100156. * the range.
  100157. *
  100158. * In other words, this flag determines if first point within the visible
  100159. * range will have 0% (`compareStart=true`) or should have been already
  100160. * calculated according to the previous point (`compareStart=false`).
  100161. */
  100162. compareStart?: boolean;
  100163. /**
  100164. * (Highstock) Whether to compare indicator to the main series values or
  100165. * indicator values.
  100166. */
  100167. compareToMain?: boolean;
  100168. /**
  100169. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  100170. * series plot across the extremes.
  100171. */
  100172. connectEnds?: boolean;
  100173. /**
  100174. * (Highcharts, Highstock) Whether to connect a graph line across null
  100175. * points, or render a gap between the two points on either side of the
  100176. * null.
  100177. */
  100178. connectNulls?: boolean;
  100179. /**
  100180. * (Gantt) Override Pathfinder connector options for a series. Requires
  100181. * Highcharts Gantt to be loaded.
  100182. */
  100183. connectors?: SeriesConnectorsOptionsObject;
  100184. /**
  100185. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  100186. * rounded to its nearest pixel in order to render sharp on screen. In some
  100187. * cases, when there are a lot of densely packed columns, this leads to
  100188. * visible difference in column widths or distance between columns. In these
  100189. * cases, setting `crisp` to `false` may look better, even though each
  100190. * column is rendered blurry.
  100191. */
  100192. crisp?: boolean;
  100193. /**
  100194. * (Highcharts, Highstock) When the series contains less points than the
  100195. * crop threshold, all points are drawn, even if the points fall outside the
  100196. * visible plot area at the current zoom. The advantage of drawing all
  100197. * points (including markers and columns), is that animation is performed on
  100198. * updates. On the other hand, when the series contains more points than the
  100199. * crop threshold, the series data is cropped to only contain points that
  100200. * fall within the plot area. The advantage of cropping away invisible
  100201. * points is to increase performance on large series.
  100202. */
  100203. cropThreshold?: number;
  100204. /**
  100205. * (Highstock) You can set the cursor to "pointer" if you have click events
  100206. * attached to the series, to signal to the user that the points and lines
  100207. * can be clicked.
  100208. *
  100209. * In styled mode, the series cursor can be set with the same classes as
  100210. * listed under series.color.
  100211. */
  100212. cursor?: (string|CursorValue);
  100213. /**
  100214. * (Highstock) A reserved subspace to store options and values for
  100215. * customized functionality. Here you can add additional data for your own
  100216. * event callbacks and formatter callbacks.
  100217. */
  100218. custom?: Dictionary<any>;
  100219. /**
  100220. * (Highstock) Name of the dash style to use for the graph, or for some
  100221. * series types the outline of each shape.
  100222. *
  100223. * In styled mode, the stroke dash-array can be set with the same classes as
  100224. * listed under series.color.
  100225. */
  100226. dashStyle?: DashStyleValue;
  100227. /**
  100228. * (Highstock) Data grouping is the concept of sampling the data values into
  100229. * larger blocks in order to ease readability and increase performance of
  100230. * the JavaScript charts. Highcharts Stock by default applies data grouping
  100231. * when the points become closer than a certain pixel value, determined by
  100232. * the `groupPixelWidth` option.
  100233. *
  100234. * If data grouping is applied, the grouping information of grouped points
  100235. * can be read from the Point.dataGroup. If point options other than the
  100236. * data itself are set, for example `name` or `color` or custom properties,
  100237. * the grouping logic doesn't know how to group it. In this case the options
  100238. * of the first point instance are copied over to the group point. This can
  100239. * be altered through a custom `approximation` callback function.
  100240. */
  100241. dataGrouping?: DataGroupingOptionsObject;
  100242. /**
  100243. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  100244. * labels, appearing next to each data point.
  100245. *
  100246. * Since v6.2.0, multiple data labels can be applied to each single point by
  100247. * defining them as an array of configs.
  100248. *
  100249. * In styled mode, the data labels can be styled with the
  100250. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  100251. * (see example).
  100252. */
  100253. dataLabels?: (PlotVwapDataLabelsOptions|Array<PlotVwapDataLabelsOptions>);
  100254. /**
  100255. * (Highcharts, Highstock) Options for the series data sorting.
  100256. */
  100257. dataSorting?: (DataSortingOptionsObject|PlotVwapDataSortingOptions);
  100258. /**
  100259. * (Highstock) A description of the series to add to the screen reader
  100260. * information about the series.
  100261. */
  100262. description?: string;
  100263. /**
  100264. * (Highstock) Enable or disable the mouse tracking for a specific series.
  100265. * This includes point tooltips and click events on graphs and points. For
  100266. * large datasets it improves performance.
  100267. */
  100268. enableMouseTracking?: boolean;
  100269. /**
  100270. * (Highstock) General event handlers for the series items. These event
  100271. * hooks can also be attached to the series at run time using the
  100272. * `Highcharts.addEvent` function.
  100273. */
  100274. events?: SeriesEventsOptionsObject;
  100275. /**
  100276. * (Highstock) Determines whether the series should look for the nearest
  100277. * point in both dimensions or just the x-dimension when hovering the
  100278. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  100279. * series. If the data has duplicate x-values, it is recommended to set this
  100280. * to `'xy'` to allow hovering over all points.
  100281. *
  100282. * Applies only to series types using nearest neighbor search (not direct
  100283. * hover) for tooltip.
  100284. */
  100285. findNearestPointBy?: OptionsFindNearestPointByValue;
  100286. /**
  100287. * (Highstock) Defines when to display a gap in the graph, together with the
  100288. * gapUnit option.
  100289. *
  100290. * In case when `dataGrouping` is enabled, points can be grouped into a
  100291. * larger time span. This can make the grouped points to have a greater
  100292. * distance than the absolute value of `gapSize` property, which will result
  100293. * in disappearing graph completely. To prevent this situation the mentioned
  100294. * distance between grouped points is used instead of previously defined
  100295. * `gapSize`.
  100296. *
  100297. * In practice, this option is most often used to visualize gaps in time
  100298. * series. In a stock chart, intraday data is available for daytime hours,
  100299. * while gaps will appear in nights and weekends.
  100300. */
  100301. gapSize?: number;
  100302. /**
  100303. * (Highstock) Together with gapSize, this option defines where to draw gaps
  100304. * in the graph.
  100305. *
  100306. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  100307. * if the distance between two points is greater than 5 times that of the
  100308. * two closest points, the graph will be broken.
  100309. *
  100310. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  100311. * values, which on a datetime axis is milliseconds. This also applies to
  100312. * the navigator series that inherits gap options from the base series.
  100313. */
  100314. gapUnit?: OptionsGapUnitValue;
  100315. /**
  100316. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  100317. * chart width or only the zoomed area when zooming in on parts of the X
  100318. * axis. By default, the Y axis adjusts to the min and max of the visible
  100319. * data. Cartesian series only.
  100320. */
  100321. getExtremesFromAll?: boolean;
  100322. /**
  100323. * (Highstock) When set to `false` will prevent the series data from being
  100324. * included in any form of data export.
  100325. *
  100326. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  100327. * `includeInCSVExport`.
  100328. */
  100329. includeInDataExport?: boolean;
  100330. /**
  100331. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  100332. * series as possible in a natural way, seeking to avoid other series. The
  100333. * goal of this feature is to make the chart more easily readable, like if a
  100334. * human designer placed the labels in the optimal position.
  100335. *
  100336. * The series labels currently work with series types having a `graph` or an
  100337. * `area`.
  100338. */
  100339. label?: SeriesLabelOptionsObject;
  100340. /**
  100341. * (Highstock) The line marks the last price from all points.
  100342. */
  100343. lastPrice?: SeriesLastPriceOptionsObject;
  100344. /**
  100345. * (Highstock) The line marks the last price from visible range of points.
  100346. */
  100347. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  100348. /**
  100349. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  100350. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  100351. * the ends and bends.
  100352. */
  100353. linecap?: SeriesLinecapValue;
  100354. /**
  100355. * (Highcharts, Highstock) Pixel width of the graph line.
  100356. */
  100357. lineWidth?: number;
  100358. /**
  100359. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  100360. * based on. Required for this indicator.
  100361. */
  100362. linkedTo?: string;
  100363. /**
  100364. * (Highstock) Options for the point markers of line-like series. Properties
  100365. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  100366. * appearance of the markers. Other series types, like column series, don't
  100367. * have markers, but have visual options on the series level instead.
  100368. *
  100369. * In styled mode, the markers can be styled with the `.highcharts-point`,
  100370. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  100371. */
  100372. marker?: PointMarkerOptionsObject;
  100373. /**
  100374. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  100375. * If not set, it will be based on a technical indicator type and default
  100376. * params.
  100377. */
  100378. name?: string;
  100379. /**
  100380. * (Highstock) The color for the parts of the graph or points that are below
  100381. * the threshold. Note that `zones` takes precedence over the negative
  100382. * color. Using `negativeColor` is equivalent to applying a zone with value
  100383. * of 0.
  100384. */
  100385. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  100386. /**
  100387. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  100388. * dataLabels.
  100389. */
  100390. opacity?: number;
  100391. /**
  100392. * (Highstock) Paramters used in calculation of regression series' points.
  100393. */
  100394. params?: PlotVwapParamsOptions;
  100395. /**
  100396. * (Highstock) Properties for each single point.
  100397. */
  100398. point?: PlotSeriesPointOptions;
  100399. /**
  100400. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  100401. * individual series. Overrides the chart wide configuration.
  100402. */
  100403. pointDescriptionFormatter?: Function;
  100404. /**
  100405. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  100406. * true, the checkbox next to the series name in the legend will be checked
  100407. * for a selected series.
  100408. */
  100409. selected?: boolean;
  100410. /**
  100411. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  100412. * the shadow can be an object configuration containing `color`, `offsetX`,
  100413. * `offsetY`, `opacity` and `width`.
  100414. */
  100415. shadow?: (boolean|ShadowOptionsObject);
  100416. /**
  100417. * (Highstock) If true, a checkbox is displayed next to the legend item to
  100418. * allow selecting the series. The state of the checkbox is determined by
  100419. * the `selected` option.
  100420. */
  100421. showCheckbox?: boolean;
  100422. /**
  100423. * (Highstock) Whether to display this particular series or series type in
  100424. * the legend. Standalone series are shown in legend by default, and linked
  100425. * series are not. Since v7.2.0 it is possible to show series that use
  100426. * colorAxis by setting this option to `true`.
  100427. */
  100428. showInLegend?: boolean;
  100429. /**
  100430. * (Highstock) If set to `true`, the accessibility module will skip past the
  100431. * points in this series for keyboard navigation.
  100432. */
  100433. skipKeyboardNavigation?: boolean;
  100434. /**
  100435. * (Highcharts, Highstock) When this is true, the series will not cause the
  100436. * Y axis to cross the zero plane (or threshold option) unless the data
  100437. * actually crosses the plane.
  100438. *
  100439. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  100440. * make the Y axis show negative values according to the `minPadding`
  100441. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  100442. */
  100443. softThreshold?: boolean;
  100444. states?: SeriesStatesOptionsObject;
  100445. /**
  100446. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  100447. * values are `left`, `center` and `right`.
  100448. */
  100449. step?: OptionsStepValue;
  100450. /**
  100451. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  100452. * event on a series isn't triggered until the mouse moves over another
  100453. * series, or out of the plot area. When false, the `mouseOut` event on a
  100454. * series is triggered when the mouse leaves the area around the series'
  100455. * graph or markers. This also implies the tooltip when not shared. When
  100456. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  100457. * be hidden when moving the mouse between series. Defaults to true for line
  100458. * and area type series, but to false for columns, pies etc.
  100459. *
  100460. * **Note:** The boost module will force this option because of technical
  100461. * limitations.
  100462. */
  100463. stickyTracking?: boolean;
  100464. /**
  100465. * (Highcharts, Highstock) The threshold, also called zero level or base
  100466. * level. For line type series this is only used in conjunction with
  100467. * negativeColor.
  100468. */
  100469. threshold?: (number|null);
  100470. /**
  100471. * (Highstock) A configuration object for the tooltip rendering of each
  100472. * single series. Properties are inherited from tooltip, but only the
  100473. * following properties can be defined on a series level.
  100474. */
  100475. tooltip?: SeriesTooltipOptionsObject;
  100476. /**
  100477. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  100478. * is longer than this, only one dimensional arrays of numbers, or two
  100479. * dimensional arrays with x and y values are allowed. Also, only the first
  100480. * point is tested, and the rest are assumed to be the same format. This
  100481. * saves expensive data checking and indexing in long series. Set it to `0`
  100482. * disable.
  100483. *
  100484. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  100485. * two dimensional arrays are allowed.
  100486. */
  100487. turboThreshold?: number;
  100488. /**
  100489. * (Highstock) Set the initial visibility of the series.
  100490. */
  100491. visible?: boolean;
  100492. /**
  100493. * (Highmaps) Define the z index of the series.
  100494. */
  100495. zIndex?: number;
  100496. /**
  100497. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  100498. */
  100499. zoneAxis?: string;
  100500. /**
  100501. * (Highcharts, Highstock) An array defining zones within a series. Zones
  100502. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  100503. * the `zoneAxis` option. The zone definitions have to be in ascending order
  100504. * regarding to the value.
  100505. *
  100506. * In styled mode, the color zones are styled with the
  100507. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  100508. * option (view live demo).
  100509. */
  100510. zones?: Array<SeriesZonesOptionsObject>;
  100511. }
  100512. /**
  100513. * (Highstock) Paramters used in calculation of regression series' points.
  100514. */
  100515. export interface PlotVwapParamsOptions {
  100516. index?: string;
  100517. /**
  100518. * (Highstock) The base period for indicator calculations. This is the
  100519. * number of data points which are taken into account for the indicator
  100520. * calculations.
  100521. */
  100522. period?: number;
  100523. /**
  100524. * (Highstock) The id of volume series which is mandatory. For example using
  100525. * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
  100526. * using OHLC and volume values.
  100527. */
  100528. volumeSeriesID?: string;
  100529. }
  100530. /**
  100531. * (Highcharts) Enable or disable the initial animation when a series is
  100532. * displayed. The animation can also be set as a configuration object. Please
  100533. * note that this option only applies to the initial animation of the series
  100534. * itself. For other animations, see chart.animation and the animation parameter
  100535. * under the API methods. The following properties are supported:
  100536. *
  100537. * - `defer`: The animation delay time in milliseconds.
  100538. *
  100539. * - `duration`: The duration of the animation in milliseconds.
  100540. *
  100541. * - `easing`: Can be a string reference to an easing function set on the `Math`
  100542. * object or a function. See the _Custom easing function_ demo below.
  100543. *
  100544. * Due to poor performance, animation is disabled in old IE browsers for several
  100545. * chart types.
  100546. */
  100547. export interface PlotWaterfallAnimationOptions {
  100548. defer?: number;
  100549. }
  100550. /**
  100551. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  100552. * animation when a series is displayed for the `dataLabels`. The animation can
  100553. * also be set as a configuration object. Please note that this option only
  100554. * applies to the initial animation. For other animations, see chart.animation
  100555. * and the animation parameter under the API methods. The following properties
  100556. * are supported:
  100557. *
  100558. * - `defer`: The animation delay time in milliseconds.
  100559. */
  100560. export interface PlotWaterfallDataLabelsAnimationOptions {
  100561. /**
  100562. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  100563. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  100564. * inherits defer time from the series.animation.defer.
  100565. */
  100566. defer?: number;
  100567. }
  100568. /**
  100569. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  100570. * appearing next to each data point.
  100571. *
  100572. * Since v6.2.0, multiple data labels can be applied to each single point by
  100573. * defining them as an array of configs.
  100574. *
  100575. * In styled mode, the data labels can be styled with the
  100576. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  100577. * example).
  100578. */
  100579. export interface PlotWaterfallDataLabelsOptions {
  100580. /**
  100581. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  100582. * compared to the point. If `right`, the right side of the label should be
  100583. * touching the point. For points with an extent, like columns, the
  100584. * alignments also dictates how to align it inside the box, as given with
  100585. * the inside option. Can be one of `left`, `center` or `right`.
  100586. */
  100587. align?: string;
  100588. /**
  100589. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  100590. * overlap. To make the labels less sensitive for overlapping, the
  100591. * dataLabels.padding can be set to 0.
  100592. */
  100593. allowOverlap?: boolean;
  100594. /**
  100595. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  100596. * animation when a series is displayed for the `dataLabels`. The animation
  100597. * can also be set as a configuration object. Please note that this option
  100598. * only applies to the initial animation. For other animations, see
  100599. * chart.animation and the animation parameter under the API methods. The
  100600. * following properties are supported:
  100601. *
  100602. * - `defer`: The animation delay time in milliseconds.
  100603. */
  100604. animation?: (boolean|PlotWaterfallDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  100605. /**
  100606. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  100607. * for the data label.
  100608. */
  100609. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  100610. /**
  100611. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  100612. * label. Defaults to `undefined`.
  100613. */
  100614. borderColor?: (ColorString|GradientColorObject|PatternObject);
  100615. /**
  100616. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  100617. * the data label.
  100618. */
  100619. borderRadius?: number;
  100620. /**
  100621. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  100622. * the data label.
  100623. */
  100624. borderWidth?: number;
  100625. /**
  100626. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  100627. * Particularly in styled mode, this can be used to give each series' or
  100628. * point's data label unique styling. In addition to this option, a default
  100629. * color class name is added so that we can give the labels a contrast text
  100630. * shadow.
  100631. */
  100632. className?: string;
  100633. /**
  100634. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  100635. * labels. Defaults to `undefined`. For certain series types, like column or
  100636. * map, the data labels can be drawn inside the points. In this case the
  100637. * data label will be drawn with maximum contrast by default. Additionally,
  100638. * it will be given a `text-outline` style with the opposite color, to
  100639. * further increase the contrast. This can be overridden by setting the
  100640. * `text-outline` style to `none` in the `dataLabels.style` option.
  100641. */
  100642. color?: (ColorString|GradientColorObject|PatternObject);
  100643. /**
  100644. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  100645. * are outside the plot area. By default, the data label is moved inside the
  100646. * plot area according to the overflow option.
  100647. */
  100648. crop?: boolean;
  100649. /**
  100650. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  100651. * labels until the initial series animation has finished. Setting to
  100652. * `false` renders the data label immediately. If set to `true` inherits the
  100653. * defer time set in plotOptions.series.animation. If set to a number, a
  100654. * defer time is specified in milliseconds.
  100655. */
  100656. defer?: (boolean|number);
  100657. /**
  100658. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  100659. * labels.
  100660. */
  100661. enabled?: boolean;
  100662. /**
  100663. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  100664. * of which data labels to display. The declarative filter is designed for
  100665. * use when callback functions are not available, like when the chart
  100666. * options require a pure JSON structure or for use with graphical editors.
  100667. * For programmatic control, use the `formatter` instead, and return
  100668. * `undefined` to disable a single data label.
  100669. */
  100670. filter?: DataLabelsFilterOptionsObject;
  100671. /**
  100672. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  100673. * label. Available variables are the same as for `formatter`.
  100674. */
  100675. format?: string;
  100676. /**
  100677. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  100678. * format the data label. Note that if a `format` is defined, the format
  100679. * takes precedence and the formatter is ignored.
  100680. */
  100681. formatter?: DataLabelsFormatterCallbackFunction;
  100682. /**
  100683. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  100684. * columns or map areas, whether to align the data label inside the box or
  100685. * to the actual value point. Defaults to `false` in most cases, `true` in
  100686. * stacked columns.
  100687. */
  100688. inside?: boolean;
  100689. /**
  100690. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  100691. * of null. Works analogously to format. `nullFormat` can be applied only to
  100692. * series which support displaying null points.
  100693. */
  100694. nullFormat?: (boolean|string);
  100695. /**
  100696. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  100697. * that defines formatting for points with the value of null. Works
  100698. * analogously to formatter. `nullPointFormatter` can be applied only to
  100699. * series which support displaying null points.
  100700. */
  100701. nullFormatter?: DataLabelsFormatterCallbackFunction;
  100702. /**
  100703. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  100704. * flow outside the plot area. The default is `"justify"`, which aligns them
  100705. * inside the plot area. For columns and bars, this means it will be moved
  100706. * inside the bar. To display data labels outside the plot area, set `crop`
  100707. * to `false` and `overflow` to `"allow"`.
  100708. */
  100709. overflow?: DataLabelsOverflowValue;
  100710. /**
  100711. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  100712. * the `backgroundColor` is set, this is the padding within the box.
  100713. */
  100714. padding?: number;
  100715. /**
  100716. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  100717. * points. If `center` alignment is not possible, it defaults to `right`.
  100718. */
  100719. position?: AlignValue;
  100720. /**
  100721. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  100722. * that due to a more complex structure, backgrounds, borders and padding
  100723. * will be lost on a rotated data label.
  100724. */
  100725. rotation?: number;
  100726. /**
  100727. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  100728. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  100729. * an object configuration containing `color`, `offsetX`, `offsetY`,
  100730. * `opacity` and `width`.
  100731. */
  100732. shadow?: (boolean|ShadowOptionsObject);
  100733. /**
  100734. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  100735. * the border around the label. Symbols are predefined functions on the
  100736. * Renderer object.
  100737. */
  100738. shape?: string;
  100739. /**
  100740. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  100741. * default `color` setting is `"contrast"`, which is a pseudo color that
  100742. * Highcharts picks up and applies the maximum contrast to the underlying
  100743. * point item, for example the bar in a bar chart.
  100744. *
  100745. * The `textOutline` is a pseudo property that applies an outline of the
  100746. * given width with the given color, which by default is the maximum
  100747. * contrast to the text. So a bright text color will result in a black text
  100748. * outline for maximum readability on a mixed background. In some cases,
  100749. * especially with grayscale text, the text outline doesn't work well, in
  100750. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  100751. * is true, the `textOutline` will not be picked up. In this, case, the same
  100752. * effect can be acheived through the `text-shadow` CSS property.
  100753. *
  100754. * For some series types, where each point has an extent, like for example
  100755. * tree maps, the data label may overflow the point. There are two
  100756. * strategies for handling overflow. By default, the text will wrap to
  100757. * multiple lines. The other strategy is to set `style.textOverflow` to
  100758. * `ellipsis`, which will keep the text on one line plus it will break
  100759. * inside long words.
  100760. */
  100761. style?: CSSObject;
  100762. /**
  100763. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  100764. * should follow marker's shape. Border and background are disabled for a
  100765. * label that follows a path.
  100766. *
  100767. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  100768. * to true will disable this option.
  100769. */
  100770. textPath?: DataLabelsTextPathOptionsObject;
  100771. /**
  100772. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  100773. * the labels.
  100774. */
  100775. useHTML?: boolean;
  100776. /**
  100777. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  100778. * label. Can be one of `top`, `middle` or `bottom`. The default value
  100779. * depends on the data, for instance in a column chart, the label is above
  100780. * positive values and below negative values.
  100781. */
  100782. verticalAlign?: string;
  100783. /**
  100784. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  100785. * label relative to the point in pixels.
  100786. */
  100787. x?: number;
  100788. /**
  100789. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  100790. * label relative to the point in pixels.
  100791. */
  100792. y?: number;
  100793. /**
  100794. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  100795. * The default Z index puts it above the series. Use a Z index of 2 to
  100796. * display it behind the series.
  100797. */
  100798. z?: number;
  100799. }
  100800. /**
  100801. * (Highcharts, Highstock) Options for the series data sorting.
  100802. */
  100803. export interface PlotWaterfallDataSortingOptions {
  100804. /**
  100805. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  100806. * Use xAxis.reversed to change the sorting order.
  100807. */
  100808. enabled?: boolean;
  100809. /**
  100810. * (Highcharts, Highstock) Whether to allow matching points by name in an
  100811. * update. If this option is disabled, points will be matched by order.
  100812. */
  100813. matchByName?: boolean;
  100814. /**
  100815. * (Highcharts, Highstock) Determines what data value should be used to sort
  100816. * by.
  100817. */
  100818. sortKey?: string;
  100819. }
  100820. /**
  100821. * (Highcharts) Style options for the guide box. The guide box has one state by
  100822. * default, the `default` state.
  100823. */
  100824. export interface PlotWaterfallDragDropGuideBoxOptions {
  100825. /**
  100826. * (Highcharts) Style options for the guide box default state.
  100827. */
  100828. default?: DragDropGuideBoxOptionsObject;
  100829. }
  100830. /**
  100831. * (Highcharts) A waterfall chart displays sequentially introduced positive or
  100832. * negative values in cumulative columns.
  100833. *
  100834. * In TypeScript the type option must always be set.
  100835. *
  100836. * Configuration options for the series are given in three levels:
  100837. *
  100838. * 1. Options for all series in a chart are defined in the plotOptions.series
  100839. * object.
  100840. *
  100841. * 2. Options for all `waterfall` series are defined in plotOptions.waterfall.
  100842. *
  100843. * 3. Options for one single series are given in the series instance array. (see
  100844. * online documentation for example)
  100845. */
  100846. export interface PlotWaterfallOptions {
  100847. /**
  100848. * (Highcharts) Accessibility options for a series.
  100849. */
  100850. accessibility?: SeriesAccessibilityOptionsObject;
  100851. /**
  100852. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  100853. * rendered. If `true`, areas which don't correspond to a data point, are
  100854. * rendered as `null` points. If `false`, those areas are skipped.
  100855. */
  100856. allAreas?: boolean;
  100857. /**
  100858. * (Highcharts) Allow this series' points to be selected by clicking on the
  100859. * graphic (columns, point markers, pie slices, map areas etc).
  100860. *
  100861. * The selected points can be handled by point select and unselect events,
  100862. * or collectively by the getSelectedPoints function.
  100863. *
  100864. * And alternative way of selecting points is through dragging.
  100865. */
  100866. allowPointSelect?: boolean;
  100867. /**
  100868. * (Highcharts) Enable or disable the initial animation when a series is
  100869. * displayed. The animation can also be set as a configuration object.
  100870. * Please note that this option only applies to the initial animation of the
  100871. * series itself. For other animations, see chart.animation and the
  100872. * animation parameter under the API methods. The following properties are
  100873. * supported:
  100874. *
  100875. * - `defer`: The animation delay time in milliseconds.
  100876. *
  100877. * - `duration`: The duration of the animation in milliseconds.
  100878. *
  100879. * - `easing`: Can be a string reference to an easing function set on the
  100880. * `Math` object or a function. See the _Custom easing function_ demo below.
  100881. *
  100882. * Due to poor performance, animation is disabled in old IE browsers for
  100883. * several chart types.
  100884. */
  100885. animation?: (boolean|PlotWaterfallAnimationOptions|Partial<AnimationOptionsObject>);
  100886. /**
  100887. * (Highcharts) For some series, there is a limit that shuts down initial
  100888. * animation by default when the total number of points in the chart is too
  100889. * high. For example, for a column chart and its derivatives, animation does
  100890. * not run if there is more than 250 points totally. To disable this cap,
  100891. * set `animationLimit` to `Infinity`.
  100892. */
  100893. animationLimit?: number;
  100894. /**
  100895. * (Highcharts) The color of the border of each waterfall column.
  100896. *
  100897. * In styled mode, the border stroke can be set with the `.highcharts-point`
  100898. * class.
  100899. */
  100900. borderColor?: (ColorString|GradientColorObject|PatternObject);
  100901. /**
  100902. * (Highcharts, Highstock, Gantt) The corner radius of the border
  100903. * surrounding each column or bar.
  100904. */
  100905. borderRadius?: number;
  100906. /**
  100907. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  100908. * column or bar. Defaults to `1` when there is room for a border, but to
  100909. * `0` when the columns are so dense that a border would cover the next
  100910. * column.
  100911. *
  100912. * In styled mode, the stroke width can be set with the `.highcharts-point`
  100913. * rule.
  100914. */
  100915. borderWidth?: number;
  100916. /**
  100917. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  100918. * the category, ignoring null or missing points. When `false`, space will
  100919. * be reserved for null or missing points.
  100920. */
  100921. centerInCategory?: boolean;
  100922. /**
  100923. * (Highcharts) An additional class name to apply to the series' graphical
  100924. * elements. This option does not replace default class names of the
  100925. * graphical element.
  100926. */
  100927. className?: string;
  100928. /**
  100929. * (Highcharts) Disable this option to allow series rendering in the whole
  100930. * plotting area.
  100931. *
  100932. * **Note:** Clipping should be always enabled when chart.zoomType is set
  100933. */
  100934. clip?: boolean;
  100935. /**
  100936. * (Highcharts) The main color of the series. In line type series it applies
  100937. * to the line and the point markers unless otherwise specified. In bar type
  100938. * series it applies to the bars unless a color is specified per point. The
  100939. * default value is pulled from the `options.colors` array.
  100940. *
  100941. * In styled mode, the color can be defined by the colorIndex option. Also,
  100942. * the series color can be set with the `.highcharts-series`,
  100943. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  100944. * `.highcharts-series-{n}` class, or individual classes given by the
  100945. * `className` option.
  100946. */
  100947. color?: (ColorString|GradientColorObject|PatternObject);
  100948. /**
  100949. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  100950. * this number defines which colorAxis the particular series is connected
  100951. * to. It refers to either the axis id or the index of the axis in the
  100952. * colorAxis array, with 0 being the first. Set this option to false to
  100953. * prevent a series from connecting to the default color axis.
  100954. *
  100955. * Since v7.2.0 the option can also be an axis id or an axis index instead
  100956. * of a boolean flag.
  100957. */
  100958. colorAxis?: (boolean|number|string);
  100959. /**
  100960. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  100961. * from the global colors or series-specific plotOptions.column.colors
  100962. * collections, this option determines whether the chart should receive one
  100963. * color per series or one color per point.
  100964. *
  100965. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  100966. * and instead this option gives the points individual color class names on
  100967. * the form `highcharts-color-{n}`.
  100968. */
  100969. colorByPoint?: boolean;
  100970. /**
  100971. * (Highcharts) Styled mode only. A specific color index to use for the
  100972. * series, so its graphic representations are given the class name
  100973. * `highcharts-color-{n}`.
  100974. */
  100975. colorIndex?: number;
  100976. /**
  100977. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  100978. * used to calculate point color if `colorAxis` is used. Requires to set
  100979. * `min` and `max` if some custom point property is used or if approximation
  100980. * for data grouping is set to `'sum'`.
  100981. */
  100982. colorKey?: string;
  100983. /**
  100984. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  100985. * color set to apply instead of the global colors when colorByPoint is
  100986. * true.
  100987. */
  100988. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  100989. /**
  100990. * (Highstock) Compare the values of the series against the first non-null,
  100991. * non- zero value in the visible range. The y axis will show percentage or
  100992. * absolute change depending on whether `compare` is set to `"percent"` or
  100993. * `"value"`. When this is applied to multiple series, it allows comparing
  100994. * the development of the series against each other. Adds a `change` field
  100995. * to every point object.
  100996. */
  100997. compare?: string;
  100998. /**
  100999. * (Highstock) When compare is `percent`, this option dictates whether to
  101000. * use 0 or 100 as the base of comparison.
  101001. */
  101002. compareBase?: (0|100);
  101003. /**
  101004. * (Highstock) Defines if comparison should start from the first point
  101005. * within the visible range or should start from the first point **before**
  101006. * the range.
  101007. *
  101008. * In other words, this flag determines if first point within the visible
  101009. * range will have 0% (`compareStart=true`) or should have been already
  101010. * calculated according to the previous point (`compareStart=false`).
  101011. */
  101012. compareStart?: boolean;
  101013. /**
  101014. * (Gantt) Override Pathfinder connector options for a series. Requires
  101015. * Highcharts Gantt to be loaded.
  101016. */
  101017. connectors?: SeriesConnectorsOptionsObject;
  101018. /**
  101019. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  101020. * rounded to its nearest pixel in order to render sharp on screen. In some
  101021. * cases, when there are a lot of densely packed columns, this leads to
  101022. * visible difference in column widths or distance between columns. In these
  101023. * cases, setting `crisp` to `false` may look better, even though each
  101024. * column is rendered blurry.
  101025. */
  101026. crisp?: boolean;
  101027. /**
  101028. * (Highcharts, Highstock, Gantt) When the series contains less points than
  101029. * the crop threshold, all points are drawn, event if the points fall
  101030. * outside the visible plot area at the current zoom. The advantage of
  101031. * drawing all points (including markers and columns), is that animation is
  101032. * performed on updates. On the other hand, when the series contains more
  101033. * points than the crop threshold, the series data is cropped to only
  101034. * contain points that fall within the plot area. The advantage of cropping
  101035. * away invisible points is to increase performance on large series.
  101036. */
  101037. cropThreshold?: number;
  101038. /**
  101039. * (Highcharts) You can set the cursor to "pointer" if you have click events
  101040. * attached to the series, to signal to the user that the points and lines
  101041. * can be clicked.
  101042. *
  101043. * In styled mode, the series cursor can be set with the same classes as
  101044. * listed under series.color.
  101045. */
  101046. cursor?: (string|CursorValue);
  101047. /**
  101048. * (Highcharts) A reserved subspace to store options and values for
  101049. * customized functionality. Here you can add additional data for your own
  101050. * event callbacks and formatter callbacks.
  101051. */
  101052. custom?: Dictionary<any>;
  101053. /**
  101054. * (Highcharts) A name for the dash style to use for the line connecting the
  101055. * columns of the waterfall series. Possible values: Dash, DashDot, Dot,
  101056. * LongDash, LongDashDot, LongDashDotDot, ShortDash, ShortDashDot,
  101057. * ShortDashDotDot, ShortDot, Solid
  101058. *
  101059. * In styled mode, the stroke dash-array can be set with the
  101060. * `.highcharts-graph` class.
  101061. */
  101062. dashStyle?: DashStyleValue;
  101063. /**
  101064. * (Highstock) Data grouping is the concept of sampling the data values into
  101065. * larger blocks in order to ease readability and increase performance of
  101066. * the JavaScript charts. Highcharts Stock by default applies data grouping
  101067. * when the points become closer than a certain pixel value, determined by
  101068. * the `groupPixelWidth` option.
  101069. *
  101070. * If data grouping is applied, the grouping information of grouped points
  101071. * can be read from the Point.dataGroup. If point options other than the
  101072. * data itself are set, for example `name` or `color` or custom properties,
  101073. * the grouping logic doesn't know how to group it. In this case the options
  101074. * of the first point instance are copied over to the group point. This can
  101075. * be altered through a custom `approximation` callback function.
  101076. */
  101077. dataGrouping?: DataGroupingOptionsObject;
  101078. /**
  101079. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  101080. * labels, appearing next to each data point.
  101081. *
  101082. * Since v6.2.0, multiple data labels can be applied to each single point by
  101083. * defining them as an array of configs.
  101084. *
  101085. * In styled mode, the data labels can be styled with the
  101086. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  101087. * (see example).
  101088. */
  101089. dataLabels?: (PlotWaterfallDataLabelsOptions|Array<PlotWaterfallDataLabelsOptions>);
  101090. /**
  101091. * (Highcharts, Highstock) Options for the series data sorting.
  101092. */
  101093. dataSorting?: (DataSortingOptionsObject|PlotWaterfallDataSortingOptions);
  101094. /**
  101095. * (Highcharts) Depth of the columns in a 3D column chart.
  101096. */
  101097. depth?: number;
  101098. /**
  101099. * (Highcharts) A description of the series to add to the screen reader
  101100. * information about the series.
  101101. */
  101102. description?: string;
  101103. /**
  101104. * (Highcharts) The draggable-points module allows points to be moved around
  101105. * or modified in the chart. In addition to the options mentioned under the
  101106. * `dragDrop` API structure, the module fires three events, point.dragStart,
  101107. * point.drag and point.drop.
  101108. */
  101109. dragDrop?: SeriesDragDropOptionsObject;
  101110. /**
  101111. * (Highcharts) 3D columns only. The color of the edges. Similar to
  101112. * `borderColor`, except it defaults to the same color as the column.
  101113. */
  101114. edgeColor?: ColorString;
  101115. /**
  101116. * (Highcharts) 3D columns only. The width of the colored edges.
  101117. */
  101118. edgeWidth?: number;
  101119. /**
  101120. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  101121. * This includes point tooltips and click events on graphs and points. For
  101122. * large datasets it improves performance.
  101123. */
  101124. enableMouseTracking?: boolean;
  101125. /**
  101126. * (Highcharts) General event handlers for the series items. These event
  101127. * hooks can also be attached to the series at run time using the
  101128. * `Highcharts.addEvent` function.
  101129. */
  101130. events?: SeriesEventsOptionsObject;
  101131. /**
  101132. * (Highcharts) Determines whether the series should look for the nearest
  101133. * point in both dimensions or just the x-dimension when hovering the
  101134. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  101135. * series. If the data has duplicate x-values, it is recommended to set this
  101136. * to `'xy'` to allow hovering over all points.
  101137. *
  101138. * Applies only to series types using nearest neighbor search (not direct
  101139. * hover) for tooltip.
  101140. */
  101141. findNearestPointBy?: OptionsFindNearestPointByValue;
  101142. /**
  101143. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  101144. * chart width or only the zoomed area when zooming in on parts of the X
  101145. * axis. By default, the Y axis adjusts to the min and max of the visible
  101146. * data. Cartesian series only.
  101147. */
  101148. getExtremesFromAll?: boolean;
  101149. /**
  101150. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  101151. * let them render independent of each other. Non-grouped columns will be
  101152. * laid out individually and overlap each other.
  101153. */
  101154. grouping?: boolean;
  101155. /**
  101156. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  101157. * axis units.
  101158. */
  101159. groupPadding?: number;
  101160. /**
  101161. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  101162. */
  101163. groupZPadding?: number;
  101164. /**
  101165. * (Highcharts) When set to `false` will prevent the series data from being
  101166. * included in any form of data export.
  101167. *
  101168. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  101169. * `includeInCSVExport`.
  101170. */
  101171. includeInDataExport?: boolean;
  101172. /**
  101173. * (Highmaps) What property to join the `mapData` to the value data. For
  101174. * example, if joinBy is "code", the mapData items with a specific code is
  101175. * merged into the data with the same code. For maps loaded from GeoJSON,
  101176. * the keys may be held in each point's `properties` object.
  101177. *
  101178. * The joinBy option can also be an array of two values, where the first
  101179. * points to a key in the `mapData`, and the second points to another key in
  101180. * the `data`.
  101181. *
  101182. * When joinBy is `null`, the map items are joined by their position in the
  101183. * array, which performs much better in maps with many data points. This is
  101184. * the recommended option if you are printing more than a thousand data
  101185. * points and have a backend that can preprocess the data into a parallel
  101186. * array of the mapData.
  101187. */
  101188. joinBy?: (string|Array<string>);
  101189. /**
  101190. * (Highcharts) An array specifying which option maps to which key in the
  101191. * data point array. This makes it convenient to work with unstructured data
  101192. * arrays from different sources.
  101193. */
  101194. keys?: Array<string>;
  101195. /**
  101196. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  101197. * series as possible in a natural way, seeking to avoid other series. The
  101198. * goal of this feature is to make the chart more easily readable, like if a
  101199. * human designer placed the labels in the optimal position.
  101200. *
  101201. * The series labels currently work with series types having a `graph` or an
  101202. * `area`.
  101203. */
  101204. label?: SeriesLabelOptionsObject;
  101205. /**
  101206. * (Highstock) The line marks the last price from all points.
  101207. */
  101208. lastPrice?: SeriesLastPriceOptionsObject;
  101209. /**
  101210. * (Highstock) The line marks the last price from visible range of points.
  101211. */
  101212. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  101213. /**
  101214. * (Highcharts) The color of the line that connects columns in a waterfall
  101215. * series.
  101216. *
  101217. * In styled mode, the stroke can be set with the `.highcharts-graph` class.
  101218. */
  101219. lineColor?: (ColorString|GradientColorObject|PatternObject);
  101220. /**
  101221. * (Highcharts) The width of the line connecting waterfall columns.
  101222. */
  101223. lineWidth?: number;
  101224. /**
  101225. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  101226. * Additionally, the value can be ":previous" to link to the previous
  101227. * series. When two series are linked, only the first one appears in the
  101228. * legend. Toggling the visibility of this also toggles the linked series.
  101229. *
  101230. * If master series uses data sorting and linked series does not have its
  101231. * own sorting definition, the linked series will be sorted in the same
  101232. * order as the master one.
  101233. */
  101234. linkedTo?: string;
  101235. /**
  101236. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  101237. * column, translated to the height of a bar in a bar chart. This prevents
  101238. * the columns from becoming too wide when there is a small number of points
  101239. * in the chart.
  101240. */
  101241. maxPointWidth?: number;
  101242. /**
  101243. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  101244. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  101245. * to zero) point, set the minimal point length to a pixel value like 3\. In
  101246. * stacked column charts, minPointLength might not be respected for tightly
  101247. * packed values.
  101248. */
  101249. minPointLength?: number;
  101250. /**
  101251. * (Highstock) Options for the corresponding navigator series if
  101252. * `showInNavigator` is `true` for this series. Available options are the
  101253. * same as any series, documented at plotOptions and series.
  101254. *
  101255. * These options are merged with options in navigator.series, and will take
  101256. * precedence if the same option is defined both places.
  101257. */
  101258. navigatorOptions?: PlotSeriesOptions;
  101259. /**
  101260. * (Highcharts) The color for the parts of the graph or points that are
  101261. * below the threshold. Note that `zones` takes precedence over the negative
  101262. * color. Using `negativeColor` is equivalent to applying a zone with value
  101263. * of 0.
  101264. */
  101265. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  101266. /**
  101267. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  101268. * dataLabels.
  101269. */
  101270. opacity?: number;
  101271. /**
  101272. * (Highcharts) Properties for each single point.
  101273. */
  101274. point?: PlotSeriesPointOptions;
  101275. /**
  101276. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  101277. * individual series. Overrides the chart wide configuration.
  101278. */
  101279. pointDescriptionFormatter?: Function;
  101280. /**
  101281. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  101282. * a series, `pointInterval` defines the interval of the x values. For
  101283. * example, if a series contains one value every decade starting from year
  101284. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  101285. * `pointInterval` is set in milliseconds.
  101286. *
  101287. * It can be also be combined with `pointIntervalUnit` to draw irregular
  101288. * time intervals.
  101289. *
  101290. * Please note that this options applies to the _series data_, not the
  101291. * interval of the axis ticks, which is independent.
  101292. */
  101293. pointInterval?: number;
  101294. /**
  101295. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  101296. * setting the pointInterval to irregular time units, `day`, `month` and
  101297. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  101298. * also takes the DST crossover into consideration when dealing with local
  101299. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  101300. * months, 10 years etc.
  101301. *
  101302. * Please note that this options applies to the _series data_, not the
  101303. * interval of the axis ticks, which is independent.
  101304. */
  101305. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  101306. /**
  101307. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  101308. * axis units.
  101309. */
  101310. pointPadding?: number;
  101311. /**
  101312. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  101313. * `number`.
  101314. *
  101315. * In a column chart, when pointPlacement is `"on"`, the point will not
  101316. * create any padding of the X axis. In a polar column chart this means that
  101317. * the first column points directly north. If the pointPlacement is
  101318. * `"between"`, the columns will be laid out between ticks. This is useful
  101319. * for example for visualising an amount between two points in time or in a
  101320. * certain sector of a polar chart.
  101321. *
  101322. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  101323. * is on the axis value, -0.5 is between this value and the previous, and
  101324. * 0.5 is between this value and the next. Unlike the textual options,
  101325. * numeric point placement options won't affect axis padding.
  101326. *
  101327. * Note that pointPlacement needs a pointRange to work. For column series
  101328. * this is computed, but for line-type series it needs to be set.
  101329. *
  101330. * For the `xrange` series type and gantt charts, if the Y axis is a
  101331. * category axis, the `pointPlacement` applies to the Y axis rather than the
  101332. * (typically datetime) X axis.
  101333. *
  101334. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  101335. */
  101336. pointPlacement?: (number|string);
  101337. /**
  101338. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  101339. * for. This determines the width of the column. On a categorized axis, the
  101340. * range will be 1 by default (one category unit). On linear and datetime
  101341. * axes, the range will be computed as the distance between the two closest
  101342. * data points.
  101343. *
  101344. * The default `null` means it is computed automatically, but this option
  101345. * can be used to override the automatic value.
  101346. *
  101347. * This option is set by default to 1 if data sorting is enabled.
  101348. */
  101349. pointRange?: (number|null);
  101350. /**
  101351. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  101352. * a series, pointStart defines on what value to start. For example, if a
  101353. * series contains one yearly value starting from 1945, set pointStart to
  101354. * 1945.
  101355. */
  101356. pointStart?: number;
  101357. /**
  101358. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  101359. * each column or bar point. When set to `undefined`, the width is
  101360. * calculated from the `pointPadding` and `groupPadding`. The width effects
  101361. * the dimension that is not based on the point value. For column series it
  101362. * is the hoizontal length and for bar series it is the vertical length.
  101363. */
  101364. pointWidth?: number;
  101365. /**
  101366. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  101367. * true, the checkbox next to the series name in the legend will be checked
  101368. * for a selected series.
  101369. */
  101370. selected?: boolean;
  101371. /**
  101372. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  101373. * the shadow can be an object configuration containing `color`, `offsetX`,
  101374. * `offsetY`, `opacity` and `width`.
  101375. */
  101376. shadow?: (boolean|ShadowOptionsObject);
  101377. /**
  101378. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  101379. * allow selecting the series. The state of the checkbox is determined by
  101380. * the `selected` option.
  101381. */
  101382. showCheckbox?: boolean;
  101383. /**
  101384. * (Highcharts) Whether to display this particular series or series type in
  101385. * the legend. Standalone series are shown in legend by default, and linked
  101386. * series are not. Since v7.2.0 it is possible to show series that use
  101387. * colorAxis by setting this option to `true`.
  101388. */
  101389. showInLegend?: boolean;
  101390. /**
  101391. * (Highstock) Whether or not to show the series in the navigator. Takes
  101392. * precedence over navigator.baseSeries if defined.
  101393. */
  101394. showInNavigator?: boolean;
  101395. /**
  101396. * (Highcharts) If set to `true`, the accessibility module will skip past
  101397. * the points in this series for keyboard navigation.
  101398. */
  101399. skipKeyboardNavigation?: boolean;
  101400. /**
  101401. * (Highcharts, Highstock) When this is true, the series will not cause the
  101402. * Y axis to cross the zero plane (or threshold option) unless the data
  101403. * actually crosses the plane.
  101404. *
  101405. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  101406. * make the Y axis show negative values according to the `minPadding`
  101407. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  101408. */
  101409. softThreshold?: boolean;
  101410. /**
  101411. * (Highcharts, Highstock) Whether to stack the values of each series on top
  101412. * of each other. Possible values are `undefined` to disable, `"normal"` to
  101413. * stack by value or `"percent"`.
  101414. *
  101415. * When stacking is enabled, data must be sorted in ascending X order.
  101416. *
  101417. * Some stacking options are related to specific series types. In the
  101418. * streamgraph series type, the stacking option is set to `"stream"`. The
  101419. * second one is `"overlap"`, which only applies to waterfall series.
  101420. */
  101421. stacking?: OptionsStackingValue;
  101422. states?: SeriesStatesOptionsObject;
  101423. /**
  101424. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  101425. * event on a series isn't triggered until the mouse moves over another
  101426. * series, or out of the plot area. When false, the `mouseOut` event on a
  101427. * series is triggered when the mouse leaves the area around the series'
  101428. * graph or markers. This also implies the tooltip when not shared. When
  101429. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  101430. * be hidden when moving the mouse between series. Defaults to true for line
  101431. * and area type series, but to false for columns, pies etc.
  101432. *
  101433. * **Note:** The boost module will force this option because of technical
  101434. * limitations.
  101435. */
  101436. stickyTracking?: boolean;
  101437. /**
  101438. * (Highcharts) The Y axis value to serve as the base for the columns, for
  101439. * distinguishing between values above and below a threshold. If `null`, the
  101440. * columns extend from the padding Y axis minimum.
  101441. */
  101442. threshold?: (number|null);
  101443. /**
  101444. * (Highcharts) A configuration object for the tooltip rendering of each
  101445. * single series. Properties are inherited from tooltip, but only the
  101446. * following properties can be defined on a series level.
  101447. */
  101448. tooltip?: SeriesTooltipOptionsObject;
  101449. /**
  101450. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  101451. * is longer than this, only one dimensional arrays of numbers, or two
  101452. * dimensional arrays with x and y values are allowed. Also, only the first
  101453. * point is tested, and the rest are assumed to be the same format. This
  101454. * saves expensive data checking and indexing in long series. Set it to `0`
  101455. * disable.
  101456. *
  101457. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  101458. * two dimensional arrays are allowed.
  101459. */
  101460. turboThreshold?: number;
  101461. /**
  101462. * (Highcharts) The color used specifically for positive point columns. When
  101463. * not specified, the general series color is used.
  101464. *
  101465. * In styled mode, the waterfall colors can be set with the
  101466. * `.highcharts-point-negative`, `.highcharts-sum` and
  101467. * `.highcharts-intermediate-sum` classes.
  101468. */
  101469. upColor?: (ColorString|GradientColorObject|PatternObject);
  101470. /**
  101471. * (Highcharts) Set the initial visibility of the series.
  101472. */
  101473. visible?: boolean;
  101474. /**
  101475. * (Highmaps) Define the z index of the series.
  101476. */
  101477. zIndex?: number;
  101478. /**
  101479. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  101480. */
  101481. zoneAxis?: string;
  101482. /**
  101483. * (Highcharts, Highstock) An array defining zones within a series. Zones
  101484. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  101485. * the `zoneAxis` option. The zone definitions have to be in ascending order
  101486. * regarding to the value.
  101487. *
  101488. * In styled mode, the color zones are styled with the
  101489. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  101490. * option (view live demo).
  101491. */
  101492. zones?: Array<SeriesZonesOptionsObject>;
  101493. }
  101494. /**
  101495. * (Highstock) Enable or disable the initial animation when a series is
  101496. * displayed. The animation can also be set as a configuration object. Please
  101497. * note that this option only applies to the initial animation of the series
  101498. * itself. For other animations, see chart.animation and the animation parameter
  101499. * under the API methods. The following properties are supported:
  101500. *
  101501. * - `defer`: The animation delay time in milliseconds.
  101502. *
  101503. * - `duration`: The duration of the animation in milliseconds.
  101504. *
  101505. * - `easing`: Can be a string reference to an easing function set on the `Math`
  101506. * object or a function. See the _Custom easing function_ demo below.
  101507. *
  101508. * Due to poor performance, animation is disabled in old IE browsers for several
  101509. * chart types.
  101510. */
  101511. export interface PlotWilliamsrAnimationOptions {
  101512. defer?: number;
  101513. }
  101514. /**
  101515. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  101516. * animation when a series is displayed for the `dataLabels`. The animation can
  101517. * also be set as a configuration object. Please note that this option only
  101518. * applies to the initial animation. For other animations, see chart.animation
  101519. * and the animation parameter under the API methods. The following properties
  101520. * are supported:
  101521. *
  101522. * - `defer`: The animation delay time in milliseconds.
  101523. */
  101524. export interface PlotWilliamsrDataLabelsAnimationOptions {
  101525. /**
  101526. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  101527. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  101528. * inherits defer time from the series.animation.defer.
  101529. */
  101530. defer?: number;
  101531. }
  101532. /**
  101533. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  101534. * appearing next to each data point.
  101535. *
  101536. * Since v6.2.0, multiple data labels can be applied to each single point by
  101537. * defining them as an array of configs.
  101538. *
  101539. * In styled mode, the data labels can be styled with the
  101540. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  101541. * example).
  101542. */
  101543. export interface PlotWilliamsrDataLabelsOptions {
  101544. /**
  101545. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  101546. * compared to the point. If `right`, the right side of the label should be
  101547. * touching the point. For points with an extent, like columns, the
  101548. * alignments also dictates how to align it inside the box, as given with
  101549. * the inside option. Can be one of `left`, `center` or `right`.
  101550. */
  101551. align?: (AlignValue|null);
  101552. /**
  101553. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  101554. * overlap. To make the labels less sensitive for overlapping, the
  101555. * dataLabels.padding can be set to 0.
  101556. */
  101557. allowOverlap?: boolean;
  101558. /**
  101559. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  101560. * animation when a series is displayed for the `dataLabels`. The animation
  101561. * can also be set as a configuration object. Please note that this option
  101562. * only applies to the initial animation. For other animations, see
  101563. * chart.animation and the animation parameter under the API methods. The
  101564. * following properties are supported:
  101565. *
  101566. * - `defer`: The animation delay time in milliseconds.
  101567. */
  101568. animation?: (boolean|PlotWilliamsrDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  101569. /**
  101570. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  101571. * for the data label.
  101572. */
  101573. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  101574. /**
  101575. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  101576. * label. Defaults to `undefined`.
  101577. */
  101578. borderColor?: (ColorString|GradientColorObject|PatternObject);
  101579. /**
  101580. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  101581. * the data label.
  101582. */
  101583. borderRadius?: number;
  101584. /**
  101585. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  101586. * the data label.
  101587. */
  101588. borderWidth?: number;
  101589. /**
  101590. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  101591. * Particularly in styled mode, this can be used to give each series' or
  101592. * point's data label unique styling. In addition to this option, a default
  101593. * color class name is added so that we can give the labels a contrast text
  101594. * shadow.
  101595. */
  101596. className?: string;
  101597. /**
  101598. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  101599. * labels. Defaults to `undefined`. For certain series types, like column or
  101600. * map, the data labels can be drawn inside the points. In this case the
  101601. * data label will be drawn with maximum contrast by default. Additionally,
  101602. * it will be given a `text-outline` style with the opposite color, to
  101603. * further increase the contrast. This can be overridden by setting the
  101604. * `text-outline` style to `none` in the `dataLabels.style` option.
  101605. */
  101606. color?: (ColorString|GradientColorObject|PatternObject);
  101607. /**
  101608. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  101609. * are outside the plot area. By default, the data label is moved inside the
  101610. * plot area according to the overflow option.
  101611. */
  101612. crop?: boolean;
  101613. /**
  101614. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  101615. * labels until the initial series animation has finished. Setting to
  101616. * `false` renders the data label immediately. If set to `true` inherits the
  101617. * defer time set in plotOptions.series.animation. If set to a number, a
  101618. * defer time is specified in milliseconds.
  101619. */
  101620. defer?: (boolean|number);
  101621. /**
  101622. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  101623. * labels.
  101624. */
  101625. enabled?: boolean;
  101626. /**
  101627. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  101628. * of which data labels to display. The declarative filter is designed for
  101629. * use when callback functions are not available, like when the chart
  101630. * options require a pure JSON structure or for use with graphical editors.
  101631. * For programmatic control, use the `formatter` instead, and return
  101632. * `undefined` to disable a single data label.
  101633. */
  101634. filter?: DataLabelsFilterOptionsObject;
  101635. /**
  101636. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  101637. * label. Available variables are the same as for `formatter`.
  101638. */
  101639. format?: string;
  101640. /**
  101641. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  101642. * format the data label. Note that if a `format` is defined, the format
  101643. * takes precedence and the formatter is ignored.
  101644. */
  101645. formatter?: DataLabelsFormatterCallbackFunction;
  101646. /**
  101647. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  101648. * columns or map areas, whether to align the data label inside the box or
  101649. * to the actual value point. Defaults to `false` in most cases, `true` in
  101650. * stacked columns.
  101651. */
  101652. inside?: boolean;
  101653. /**
  101654. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  101655. * of null. Works analogously to format. `nullFormat` can be applied only to
  101656. * series which support displaying null points.
  101657. */
  101658. nullFormat?: (boolean|string);
  101659. /**
  101660. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  101661. * that defines formatting for points with the value of null. Works
  101662. * analogously to formatter. `nullPointFormatter` can be applied only to
  101663. * series which support displaying null points.
  101664. */
  101665. nullFormatter?: DataLabelsFormatterCallbackFunction;
  101666. /**
  101667. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  101668. * flow outside the plot area. The default is `"justify"`, which aligns them
  101669. * inside the plot area. For columns and bars, this means it will be moved
  101670. * inside the bar. To display data labels outside the plot area, set `crop`
  101671. * to `false` and `overflow` to `"allow"`.
  101672. */
  101673. overflow?: DataLabelsOverflowValue;
  101674. /**
  101675. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  101676. * the `backgroundColor` is set, this is the padding within the box.
  101677. */
  101678. padding?: number;
  101679. /**
  101680. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  101681. * points. If `center` alignment is not possible, it defaults to `right`.
  101682. */
  101683. position?: AlignValue;
  101684. /**
  101685. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  101686. * that due to a more complex structure, backgrounds, borders and padding
  101687. * will be lost on a rotated data label.
  101688. */
  101689. rotation?: number;
  101690. /**
  101691. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  101692. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  101693. * an object configuration containing `color`, `offsetX`, `offsetY`,
  101694. * `opacity` and `width`.
  101695. */
  101696. shadow?: (boolean|ShadowOptionsObject);
  101697. /**
  101698. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  101699. * the border around the label. Symbols are predefined functions on the
  101700. * Renderer object.
  101701. */
  101702. shape?: string;
  101703. /**
  101704. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  101705. * default `color` setting is `"contrast"`, which is a pseudo color that
  101706. * Highcharts picks up and applies the maximum contrast to the underlying
  101707. * point item, for example the bar in a bar chart.
  101708. *
  101709. * The `textOutline` is a pseudo property that applies an outline of the
  101710. * given width with the given color, which by default is the maximum
  101711. * contrast to the text. So a bright text color will result in a black text
  101712. * outline for maximum readability on a mixed background. In some cases,
  101713. * especially with grayscale text, the text outline doesn't work well, in
  101714. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  101715. * is true, the `textOutline` will not be picked up. In this, case, the same
  101716. * effect can be acheived through the `text-shadow` CSS property.
  101717. *
  101718. * For some series types, where each point has an extent, like for example
  101719. * tree maps, the data label may overflow the point. There are two
  101720. * strategies for handling overflow. By default, the text will wrap to
  101721. * multiple lines. The other strategy is to set `style.textOverflow` to
  101722. * `ellipsis`, which will keep the text on one line plus it will break
  101723. * inside long words.
  101724. */
  101725. style?: CSSObject;
  101726. /**
  101727. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  101728. * should follow marker's shape. Border and background are disabled for a
  101729. * label that follows a path.
  101730. *
  101731. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  101732. * to true will disable this option.
  101733. */
  101734. textPath?: DataLabelsTextPathOptionsObject;
  101735. /**
  101736. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  101737. * the labels.
  101738. */
  101739. useHTML?: boolean;
  101740. /**
  101741. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  101742. * label. Can be one of `top`, `middle` or `bottom`. The default value
  101743. * depends on the data, for instance in a column chart, the label is above
  101744. * positive values and below negative values.
  101745. */
  101746. verticalAlign?: (VerticalAlignValue|null);
  101747. /**
  101748. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  101749. * label relative to the point in pixels.
  101750. */
  101751. x?: number;
  101752. /**
  101753. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  101754. * label relative to the point in pixels.
  101755. */
  101756. y?: number;
  101757. /**
  101758. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  101759. * The default Z index puts it above the series. Use a Z index of 2 to
  101760. * display it behind the series.
  101761. */
  101762. z?: number;
  101763. }
  101764. /**
  101765. * (Highcharts, Highstock) Options for the series data sorting.
  101766. */
  101767. export interface PlotWilliamsrDataSortingOptions {
  101768. /**
  101769. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  101770. * Use xAxis.reversed to change the sorting order.
  101771. */
  101772. enabled?: boolean;
  101773. /**
  101774. * (Highcharts, Highstock) Whether to allow matching points by name in an
  101775. * update. If this option is disabled, points will be matched by order.
  101776. */
  101777. matchByName?: boolean;
  101778. /**
  101779. * (Highcharts, Highstock) Determines what data value should be used to sort
  101780. * by.
  101781. */
  101782. sortKey?: string;
  101783. }
  101784. /**
  101785. * (Highstock) Williams %R. This series requires the `linkedTo` option to be set
  101786. * and should be loaded after the `stock/indicators/indicators.js`.
  101787. *
  101788. * In TypeScript the type option must always be set.
  101789. *
  101790. * Configuration options for the series are given in three levels:
  101791. *
  101792. * 1. Options for all series in a chart are defined in the plotOptions.series
  101793. * object.
  101794. *
  101795. * 2. Options for all `williamsr` series are defined in plotOptions.williamsr.
  101796. *
  101797. * 3. Options for one single series are given in the series instance array. (see
  101798. * online documentation for example)
  101799. */
  101800. export interface PlotWilliamsrOptions {
  101801. /**
  101802. * (Highstock) Accessibility options for a series.
  101803. */
  101804. accessibility?: SeriesAccessibilityOptionsObject;
  101805. /**
  101806. * (Highstock) Allow this series' points to be selected by clicking on the
  101807. * graphic (columns, point markers, pie slices, map areas etc).
  101808. *
  101809. * The selected points can be handled by point select and unselect events,
  101810. * or collectively by the getSelectedPoints function.
  101811. *
  101812. * And alternative way of selecting points is through dragging.
  101813. */
  101814. allowPointSelect?: boolean;
  101815. /**
  101816. * (Highstock) Enable or disable the initial animation when a series is
  101817. * displayed. The animation can also be set as a configuration object.
  101818. * Please note that this option only applies to the initial animation of the
  101819. * series itself. For other animations, see chart.animation and the
  101820. * animation parameter under the API methods. The following properties are
  101821. * supported:
  101822. *
  101823. * - `defer`: The animation delay time in milliseconds.
  101824. *
  101825. * - `duration`: The duration of the animation in milliseconds.
  101826. *
  101827. * - `easing`: Can be a string reference to an easing function set on the
  101828. * `Math` object or a function. See the _Custom easing function_ demo below.
  101829. *
  101830. * Due to poor performance, animation is disabled in old IE browsers for
  101831. * several chart types.
  101832. */
  101833. animation?: (boolean|PlotWilliamsrAnimationOptions|Partial<AnimationOptionsObject>);
  101834. /**
  101835. * (Highstock) For some series, there is a limit that shuts down initial
  101836. * animation by default when the total number of points in the chart is too
  101837. * high. For example, for a column chart and its derivatives, animation does
  101838. * not run if there is more than 250 points totally. To disable this cap,
  101839. * set `animationLimit` to `Infinity`.
  101840. */
  101841. animationLimit?: number;
  101842. /**
  101843. * (Highstock) Sets the color blending in the boost module.
  101844. */
  101845. boostBlending?: OptionsBoostBlendingValue;
  101846. /**
  101847. * (Highstock) Set the point threshold for when a series should enter boost
  101848. * mode.
  101849. *
  101850. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  101851. * there are 2000 or more points in the series.
  101852. *
  101853. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  101854. * it to 1 will force boosting.
  101855. *
  101856. * Note that the cropThreshold also affects this setting. When zooming in on
  101857. * a series that has fewer points than the `cropThreshold`, all points are
  101858. * rendered although outside the visible plot area, and the `boostThreshold`
  101859. * won't take effect.
  101860. */
  101861. boostThreshold?: number;
  101862. /**
  101863. * (Highmaps) The border color of the map areas.
  101864. *
  101865. * In styled mode, the border stroke is given in the `.highcharts-point`
  101866. * class.
  101867. */
  101868. borderColor?: (ColorString|GradientColorObject|PatternObject);
  101869. /**
  101870. * (Highmaps) The border width of each map area.
  101871. *
  101872. * In styled mode, the border stroke width is given in the
  101873. * `.highcharts-point` class.
  101874. */
  101875. borderWidth?: number;
  101876. /**
  101877. * (Highstock) An additional class name to apply to the series' graphical
  101878. * elements. This option does not replace default class names of the
  101879. * graphical element.
  101880. */
  101881. className?: string;
  101882. /**
  101883. * (Highstock) Disable this option to allow series rendering in the whole
  101884. * plotting area.
  101885. *
  101886. * **Note:** Clipping should be always enabled when chart.zoomType is set
  101887. */
  101888. clip?: boolean;
  101889. /**
  101890. * (Highstock) The main color of the series. In line type series it applies
  101891. * to the line and the point markers unless otherwise specified. In bar type
  101892. * series it applies to the bars unless a color is specified per point. The
  101893. * default value is pulled from the `options.colors` array.
  101894. *
  101895. * In styled mode, the color can be defined by the colorIndex option. Also,
  101896. * the series color can be set with the `.highcharts-series`,
  101897. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  101898. * `.highcharts-series-{n}` class, or individual classes given by the
  101899. * `className` option.
  101900. */
  101901. color?: (ColorString|GradientColorObject|PatternObject);
  101902. /**
  101903. * (Highstock) Styled mode only. A specific color index to use for the
  101904. * series, so its graphic representations are given the class name
  101905. * `highcharts-color-{n}`.
  101906. */
  101907. colorIndex?: number;
  101908. /**
  101909. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  101910. * used to calculate point color if `colorAxis` is used. Requires to set
  101911. * `min` and `max` if some custom point property is used or if approximation
  101912. * for data grouping is set to `'sum'`.
  101913. */
  101914. colorKey?: string;
  101915. /**
  101916. * (Highstock) Compare the values of the series against the first non-null,
  101917. * non- zero value in the visible range. The y axis will show percentage or
  101918. * absolute change depending on whether `compare` is set to `"percent"` or
  101919. * `"value"`. When this is applied to multiple series, it allows comparing
  101920. * the development of the series against each other. Adds a `change` field
  101921. * to every point object.
  101922. */
  101923. compare?: string;
  101924. /**
  101925. * (Highstock) When compare is `percent`, this option dictates whether to
  101926. * use 0 or 100 as the base of comparison.
  101927. */
  101928. compareBase?: (0|100);
  101929. /**
  101930. * (Highstock) Defines if comparison should start from the first point
  101931. * within the visible range or should start from the first point **before**
  101932. * the range.
  101933. *
  101934. * In other words, this flag determines if first point within the visible
  101935. * range will have 0% (`compareStart=true`) or should have been already
  101936. * calculated according to the previous point (`compareStart=false`).
  101937. */
  101938. compareStart?: boolean;
  101939. /**
  101940. * (Highstock) Whether to compare indicator to the main series values or
  101941. * indicator values.
  101942. */
  101943. compareToMain?: boolean;
  101944. /**
  101945. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  101946. * series plot across the extremes.
  101947. */
  101948. connectEnds?: boolean;
  101949. /**
  101950. * (Highcharts, Highstock) Whether to connect a graph line across null
  101951. * points, or render a gap between the two points on either side of the
  101952. * null.
  101953. */
  101954. connectNulls?: boolean;
  101955. /**
  101956. * (Gantt) Override Pathfinder connector options for a series. Requires
  101957. * Highcharts Gantt to be loaded.
  101958. */
  101959. connectors?: SeriesConnectorsOptionsObject;
  101960. /**
  101961. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  101962. * rounded to its nearest pixel in order to render sharp on screen. In some
  101963. * cases, when there are a lot of densely packed columns, this leads to
  101964. * visible difference in column widths or distance between columns. In these
  101965. * cases, setting `crisp` to `false` may look better, even though each
  101966. * column is rendered blurry.
  101967. */
  101968. crisp?: boolean;
  101969. /**
  101970. * (Highcharts, Highstock) When the series contains less points than the
  101971. * crop threshold, all points are drawn, even if the points fall outside the
  101972. * visible plot area at the current zoom. The advantage of drawing all
  101973. * points (including markers and columns), is that animation is performed on
  101974. * updates. On the other hand, when the series contains more points than the
  101975. * crop threshold, the series data is cropped to only contain points that
  101976. * fall within the plot area. The advantage of cropping away invisible
  101977. * points is to increase performance on large series.
  101978. */
  101979. cropThreshold?: number;
  101980. /**
  101981. * (Highstock) You can set the cursor to "pointer" if you have click events
  101982. * attached to the series, to signal to the user that the points and lines
  101983. * can be clicked.
  101984. *
  101985. * In styled mode, the series cursor can be set with the same classes as
  101986. * listed under series.color.
  101987. */
  101988. cursor?: (string|CursorValue);
  101989. /**
  101990. * (Highstock) A reserved subspace to store options and values for
  101991. * customized functionality. Here you can add additional data for your own
  101992. * event callbacks and formatter callbacks.
  101993. */
  101994. custom?: Dictionary<any>;
  101995. /**
  101996. * (Highstock) Name of the dash style to use for the graph, or for some
  101997. * series types the outline of each shape.
  101998. *
  101999. * In styled mode, the stroke dash-array can be set with the same classes as
  102000. * listed under series.color.
  102001. */
  102002. dashStyle?: DashStyleValue;
  102003. /**
  102004. * (Highstock) Data grouping is the concept of sampling the data values into
  102005. * larger blocks in order to ease readability and increase performance of
  102006. * the JavaScript charts. Highcharts Stock by default applies data grouping
  102007. * when the points become closer than a certain pixel value, determined by
  102008. * the `groupPixelWidth` option.
  102009. *
  102010. * If data grouping is applied, the grouping information of grouped points
  102011. * can be read from the Point.dataGroup. If point options other than the
  102012. * data itself are set, for example `name` or `color` or custom properties,
  102013. * the grouping logic doesn't know how to group it. In this case the options
  102014. * of the first point instance are copied over to the group point. This can
  102015. * be altered through a custom `approximation` callback function.
  102016. */
  102017. dataGrouping?: DataGroupingOptionsObject;
  102018. /**
  102019. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  102020. * labels, appearing next to each data point.
  102021. *
  102022. * Since v6.2.0, multiple data labels can be applied to each single point by
  102023. * defining them as an array of configs.
  102024. *
  102025. * In styled mode, the data labels can be styled with the
  102026. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  102027. * (see example).
  102028. */
  102029. dataLabels?: (PlotWilliamsrDataLabelsOptions|Array<PlotWilliamsrDataLabelsOptions>);
  102030. /**
  102031. * (Highcharts, Highstock) Options for the series data sorting.
  102032. */
  102033. dataSorting?: (DataSortingOptionsObject|PlotWilliamsrDataSortingOptions);
  102034. /**
  102035. * (Highstock) A description of the series to add to the screen reader
  102036. * information about the series.
  102037. */
  102038. description?: string;
  102039. /**
  102040. * (Highstock) Enable or disable the mouse tracking for a specific series.
  102041. * This includes point tooltips and click events on graphs and points. For
  102042. * large datasets it improves performance.
  102043. */
  102044. enableMouseTracking?: boolean;
  102045. /**
  102046. * (Highstock) General event handlers for the series items. These event
  102047. * hooks can also be attached to the series at run time using the
  102048. * `Highcharts.addEvent` function.
  102049. */
  102050. events?: SeriesEventsOptionsObject;
  102051. /**
  102052. * (Highstock) Determines whether the series should look for the nearest
  102053. * point in both dimensions or just the x-dimension when hovering the
  102054. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  102055. * series. If the data has duplicate x-values, it is recommended to set this
  102056. * to `'xy'` to allow hovering over all points.
  102057. *
  102058. * Applies only to series types using nearest neighbor search (not direct
  102059. * hover) for tooltip.
  102060. */
  102061. findNearestPointBy?: OptionsFindNearestPointByValue;
  102062. /**
  102063. * (Highstock) Defines when to display a gap in the graph, together with the
  102064. * gapUnit option.
  102065. *
  102066. * In case when `dataGrouping` is enabled, points can be grouped into a
  102067. * larger time span. This can make the grouped points to have a greater
  102068. * distance than the absolute value of `gapSize` property, which will result
  102069. * in disappearing graph completely. To prevent this situation the mentioned
  102070. * distance between grouped points is used instead of previously defined
  102071. * `gapSize`.
  102072. *
  102073. * In practice, this option is most often used to visualize gaps in time
  102074. * series. In a stock chart, intraday data is available for daytime hours,
  102075. * while gaps will appear in nights and weekends.
  102076. */
  102077. gapSize?: number;
  102078. /**
  102079. * (Highstock) Together with gapSize, this option defines where to draw gaps
  102080. * in the graph.
  102081. *
  102082. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  102083. * if the distance between two points is greater than 5 times that of the
  102084. * two closest points, the graph will be broken.
  102085. *
  102086. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  102087. * values, which on a datetime axis is milliseconds. This also applies to
  102088. * the navigator series that inherits gap options from the base series.
  102089. */
  102090. gapUnit?: OptionsGapUnitValue;
  102091. /**
  102092. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  102093. * chart width or only the zoomed area when zooming in on parts of the X
  102094. * axis. By default, the Y axis adjusts to the min and max of the visible
  102095. * data. Cartesian series only.
  102096. */
  102097. getExtremesFromAll?: boolean;
  102098. /**
  102099. * (Highstock) When set to `false` will prevent the series data from being
  102100. * included in any form of data export.
  102101. *
  102102. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  102103. * `includeInCSVExport`.
  102104. */
  102105. includeInDataExport?: boolean;
  102106. /**
  102107. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  102108. * series as possible in a natural way, seeking to avoid other series. The
  102109. * goal of this feature is to make the chart more easily readable, like if a
  102110. * human designer placed the labels in the optimal position.
  102111. *
  102112. * The series labels currently work with series types having a `graph` or an
  102113. * `area`.
  102114. */
  102115. label?: SeriesLabelOptionsObject;
  102116. /**
  102117. * (Highstock) The line marks the last price from all points.
  102118. */
  102119. lastPrice?: SeriesLastPriceOptionsObject;
  102120. /**
  102121. * (Highstock) The line marks the last price from visible range of points.
  102122. */
  102123. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  102124. /**
  102125. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  102126. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  102127. * the ends and bends.
  102128. */
  102129. linecap?: SeriesLinecapValue;
  102130. /**
  102131. * (Highcharts, Highstock) Pixel width of the graph line.
  102132. */
  102133. lineWidth?: number;
  102134. /**
  102135. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  102136. * based on. Required for this indicator.
  102137. */
  102138. linkedTo?: string;
  102139. /**
  102140. * (Highstock) Options for the point markers of line-like series. Properties
  102141. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  102142. * appearance of the markers. Other series types, like column series, don't
  102143. * have markers, but have visual options on the series level instead.
  102144. *
  102145. * In styled mode, the markers can be styled with the `.highcharts-point`,
  102146. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  102147. */
  102148. marker?: PointMarkerOptionsObject;
  102149. /**
  102150. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  102151. * If not set, it will be based on a technical indicator type and default
  102152. * params.
  102153. */
  102154. name?: string;
  102155. /**
  102156. * (Highstock) The color for the parts of the graph or points that are below
  102157. * the threshold. Note that `zones` takes precedence over the negative
  102158. * color. Using `negativeColor` is equivalent to applying a zone with value
  102159. * of 0.
  102160. */
  102161. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  102162. /**
  102163. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  102164. * dataLabels.
  102165. */
  102166. opacity?: number;
  102167. /**
  102168. * (Highstock) Paramters used in calculation of Williams %R series points.
  102169. */
  102170. params?: PlotWilliamsrParamsOptions;
  102171. /**
  102172. * (Highstock) Properties for each single point.
  102173. */
  102174. point?: PlotSeriesPointOptions;
  102175. /**
  102176. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  102177. * individual series. Overrides the chart wide configuration.
  102178. */
  102179. pointDescriptionFormatter?: Function;
  102180. /**
  102181. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  102182. * true, the checkbox next to the series name in the legend will be checked
  102183. * for a selected series.
  102184. */
  102185. selected?: boolean;
  102186. /**
  102187. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  102188. * the shadow can be an object configuration containing `color`, `offsetX`,
  102189. * `offsetY`, `opacity` and `width`.
  102190. */
  102191. shadow?: (boolean|ShadowOptionsObject);
  102192. /**
  102193. * (Highstock) If true, a checkbox is displayed next to the legend item to
  102194. * allow selecting the series. The state of the checkbox is determined by
  102195. * the `selected` option.
  102196. */
  102197. showCheckbox?: boolean;
  102198. /**
  102199. * (Highstock) Whether to display this particular series or series type in
  102200. * the legend. Standalone series are shown in legend by default, and linked
  102201. * series are not. Since v7.2.0 it is possible to show series that use
  102202. * colorAxis by setting this option to `true`.
  102203. */
  102204. showInLegend?: boolean;
  102205. /**
  102206. * (Highstock) If set to `true`, the accessibility module will skip past the
  102207. * points in this series for keyboard navigation.
  102208. */
  102209. skipKeyboardNavigation?: boolean;
  102210. /**
  102211. * (Highcharts, Highstock) When this is true, the series will not cause the
  102212. * Y axis to cross the zero plane (or threshold option) unless the data
  102213. * actually crosses the plane.
  102214. *
  102215. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  102216. * make the Y axis show negative values according to the `minPadding`
  102217. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  102218. */
  102219. softThreshold?: boolean;
  102220. states?: SeriesStatesOptionsObject;
  102221. /**
  102222. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  102223. * values are `left`, `center` and `right`.
  102224. */
  102225. step?: OptionsStepValue;
  102226. /**
  102227. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  102228. * event on a series isn't triggered until the mouse moves over another
  102229. * series, or out of the plot area. When false, the `mouseOut` event on a
  102230. * series is triggered when the mouse leaves the area around the series'
  102231. * graph or markers. This also implies the tooltip when not shared. When
  102232. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  102233. * be hidden when moving the mouse between series. Defaults to true for line
  102234. * and area type series, but to false for columns, pies etc.
  102235. *
  102236. * **Note:** The boost module will force this option because of technical
  102237. * limitations.
  102238. */
  102239. stickyTracking?: boolean;
  102240. /**
  102241. * (Highcharts, Highstock) The threshold, also called zero level or base
  102242. * level. For line type series this is only used in conjunction with
  102243. * negativeColor.
  102244. */
  102245. threshold?: (number|null);
  102246. /**
  102247. * (Highstock) A configuration object for the tooltip rendering of each
  102248. * single series. Properties are inherited from tooltip, but only the
  102249. * following properties can be defined on a series level.
  102250. */
  102251. tooltip?: SeriesTooltipOptionsObject;
  102252. /**
  102253. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  102254. * is longer than this, only one dimensional arrays of numbers, or two
  102255. * dimensional arrays with x and y values are allowed. Also, only the first
  102256. * point is tested, and the rest are assumed to be the same format. This
  102257. * saves expensive data checking and indexing in long series. Set it to `0`
  102258. * disable.
  102259. *
  102260. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  102261. * two dimensional arrays are allowed.
  102262. */
  102263. turboThreshold?: number;
  102264. /**
  102265. * (Highstock) Set the initial visibility of the series.
  102266. */
  102267. visible?: boolean;
  102268. /**
  102269. * (Highmaps) Define the z index of the series.
  102270. */
  102271. zIndex?: number;
  102272. /**
  102273. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  102274. */
  102275. zoneAxis?: string;
  102276. /**
  102277. * (Highcharts, Highstock) An array defining zones within a series. Zones
  102278. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  102279. * the `zoneAxis` option. The zone definitions have to be in ascending order
  102280. * regarding to the value.
  102281. *
  102282. * In styled mode, the color zones are styled with the
  102283. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  102284. * option (view live demo).
  102285. */
  102286. zones?: Array<SeriesZonesOptionsObject>;
  102287. }
  102288. /**
  102289. * (Highstock) Paramters used in calculation of Williams %R series points.
  102290. */
  102291. export interface PlotWilliamsrParamsOptions {
  102292. index?: string;
  102293. /**
  102294. * (Highstock) Period for Williams %R oscillator
  102295. */
  102296. period?: number;
  102297. }
  102298. /**
  102299. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  102300. * is displayed. The animation can also be set as a configuration object. Please
  102301. * note that this option only applies to the initial animation of the series
  102302. * itself. For other animations, see chart.animation and the animation parameter
  102303. * under the API methods. The following properties are supported:
  102304. *
  102305. * - `defer`: The animation delay time in milliseconds.
  102306. *
  102307. * - `duration`: The duration of the animation in milliseconds.
  102308. *
  102309. * - `easing`: Can be a string reference to an easing function set on the `Math`
  102310. * object or a function. See the _Custom easing function_ demo below.
  102311. *
  102312. * Due to poor performance, animation is disabled in old IE browsers for several
  102313. * chart types.
  102314. */
  102315. export interface PlotWindbarbAnimationOptions {
  102316. defer?: number;
  102317. }
  102318. /**
  102319. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  102320. * animation when a series is displayed for the `dataLabels`. The animation can
  102321. * also be set as a configuration object. Please note that this option only
  102322. * applies to the initial animation. For other animations, see chart.animation
  102323. * and the animation parameter under the API methods. The following properties
  102324. * are supported:
  102325. *
  102326. * - `defer`: The animation delay time in milliseconds.
  102327. */
  102328. export interface PlotWindbarbDataLabelsAnimationOptions {
  102329. /**
  102330. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  102331. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  102332. * inherits defer time from the series.animation.defer.
  102333. */
  102334. defer?: number;
  102335. }
  102336. /**
  102337. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  102338. * appearing next to each data point.
  102339. *
  102340. * Since v6.2.0, multiple data labels can be applied to each single point by
  102341. * defining them as an array of configs.
  102342. *
  102343. * In styled mode, the data labels can be styled with the
  102344. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  102345. * example).
  102346. */
  102347. export interface PlotWindbarbDataLabelsOptions {
  102348. /**
  102349. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  102350. * compared to the point. If `right`, the right side of the label should be
  102351. * touching the point. For points with an extent, like columns, the
  102352. * alignments also dictates how to align it inside the box, as given with
  102353. * the inside option. Can be one of `left`, `center` or `right`.
  102354. */
  102355. align?: string;
  102356. /**
  102357. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  102358. * overlap. To make the labels less sensitive for overlapping, the
  102359. * dataLabels.padding can be set to 0.
  102360. */
  102361. allowOverlap?: boolean;
  102362. /**
  102363. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  102364. * animation when a series is displayed for the `dataLabels`. The animation
  102365. * can also be set as a configuration object. Please note that this option
  102366. * only applies to the initial animation. For other animations, see
  102367. * chart.animation and the animation parameter under the API methods. The
  102368. * following properties are supported:
  102369. *
  102370. * - `defer`: The animation delay time in milliseconds.
  102371. */
  102372. animation?: (boolean|PlotWindbarbDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  102373. /**
  102374. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  102375. * for the data label.
  102376. */
  102377. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  102378. /**
  102379. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  102380. * label. Defaults to `undefined`.
  102381. */
  102382. borderColor?: (ColorString|GradientColorObject|PatternObject);
  102383. /**
  102384. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  102385. * the data label.
  102386. */
  102387. borderRadius?: number;
  102388. /**
  102389. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  102390. * the data label.
  102391. */
  102392. borderWidth?: number;
  102393. /**
  102394. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  102395. * Particularly in styled mode, this can be used to give each series' or
  102396. * point's data label unique styling. In addition to this option, a default
  102397. * color class name is added so that we can give the labels a contrast text
  102398. * shadow.
  102399. */
  102400. className?: string;
  102401. /**
  102402. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  102403. * labels. Defaults to `undefined`. For certain series types, like column or
  102404. * map, the data labels can be drawn inside the points. In this case the
  102405. * data label will be drawn with maximum contrast by default. Additionally,
  102406. * it will be given a `text-outline` style with the opposite color, to
  102407. * further increase the contrast. This can be overridden by setting the
  102408. * `text-outline` style to `none` in the `dataLabels.style` option.
  102409. */
  102410. color?: (ColorString|GradientColorObject|PatternObject);
  102411. /**
  102412. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  102413. * are outside the plot area. By default, the data label is moved inside the
  102414. * plot area according to the overflow option.
  102415. */
  102416. crop?: boolean;
  102417. /**
  102418. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  102419. * labels until the initial series animation has finished. Setting to
  102420. * `false` renders the data label immediately. If set to `true` inherits the
  102421. * defer time set in plotOptions.series.animation. If set to a number, a
  102422. * defer time is specified in milliseconds.
  102423. */
  102424. defer?: (boolean|number);
  102425. /**
  102426. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  102427. * labels.
  102428. */
  102429. enabled?: boolean;
  102430. /**
  102431. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  102432. * of which data labels to display. The declarative filter is designed for
  102433. * use when callback functions are not available, like when the chart
  102434. * options require a pure JSON structure or for use with graphical editors.
  102435. * For programmatic control, use the `formatter` instead, and return
  102436. * `undefined` to disable a single data label.
  102437. */
  102438. filter?: DataLabelsFilterOptionsObject;
  102439. /**
  102440. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  102441. * label. Available variables are the same as for `formatter`.
  102442. */
  102443. format?: string;
  102444. /**
  102445. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  102446. * format the data label. Note that if a `format` is defined, the format
  102447. * takes precedence and the formatter is ignored.
  102448. */
  102449. formatter?: DataLabelsFormatterCallbackFunction;
  102450. /**
  102451. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  102452. * columns or map areas, whether to align the data label inside the box or
  102453. * to the actual value point. Defaults to `false` in most cases, `true` in
  102454. * stacked columns.
  102455. */
  102456. inside?: boolean;
  102457. /**
  102458. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  102459. * of null. Works analogously to format. `nullFormat` can be applied only to
  102460. * series which support displaying null points.
  102461. */
  102462. nullFormat?: (boolean|string);
  102463. /**
  102464. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  102465. * that defines formatting for points with the value of null. Works
  102466. * analogously to formatter. `nullPointFormatter` can be applied only to
  102467. * series which support displaying null points.
  102468. */
  102469. nullFormatter?: DataLabelsFormatterCallbackFunction;
  102470. /**
  102471. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  102472. * flow outside the plot area. The default is `"justify"`, which aligns them
  102473. * inside the plot area. For columns and bars, this means it will be moved
  102474. * inside the bar. To display data labels outside the plot area, set `crop`
  102475. * to `false` and `overflow` to `"allow"`.
  102476. */
  102477. overflow?: DataLabelsOverflowValue;
  102478. /**
  102479. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  102480. * the `backgroundColor` is set, this is the padding within the box.
  102481. */
  102482. padding?: number;
  102483. /**
  102484. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  102485. * points. If `center` alignment is not possible, it defaults to `right`.
  102486. */
  102487. position?: AlignValue;
  102488. /**
  102489. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  102490. * that due to a more complex structure, backgrounds, borders and padding
  102491. * will be lost on a rotated data label.
  102492. */
  102493. rotation?: number;
  102494. /**
  102495. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  102496. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  102497. * an object configuration containing `color`, `offsetX`, `offsetY`,
  102498. * `opacity` and `width`.
  102499. */
  102500. shadow?: (boolean|ShadowOptionsObject);
  102501. /**
  102502. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  102503. * the border around the label. Symbols are predefined functions on the
  102504. * Renderer object.
  102505. */
  102506. shape?: string;
  102507. /**
  102508. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  102509. * default `color` setting is `"contrast"`, which is a pseudo color that
  102510. * Highcharts picks up and applies the maximum contrast to the underlying
  102511. * point item, for example the bar in a bar chart.
  102512. *
  102513. * The `textOutline` is a pseudo property that applies an outline of the
  102514. * given width with the given color, which by default is the maximum
  102515. * contrast to the text. So a bright text color will result in a black text
  102516. * outline for maximum readability on a mixed background. In some cases,
  102517. * especially with grayscale text, the text outline doesn't work well, in
  102518. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  102519. * is true, the `textOutline` will not be picked up. In this, case, the same
  102520. * effect can be acheived through the `text-shadow` CSS property.
  102521. *
  102522. * For some series types, where each point has an extent, like for example
  102523. * tree maps, the data label may overflow the point. There are two
  102524. * strategies for handling overflow. By default, the text will wrap to
  102525. * multiple lines. The other strategy is to set `style.textOverflow` to
  102526. * `ellipsis`, which will keep the text on one line plus it will break
  102527. * inside long words.
  102528. */
  102529. style?: CSSObject;
  102530. /**
  102531. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  102532. * should follow marker's shape. Border and background are disabled for a
  102533. * label that follows a path.
  102534. *
  102535. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  102536. * to true will disable this option.
  102537. */
  102538. textPath?: DataLabelsTextPathOptionsObject;
  102539. /**
  102540. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  102541. * the labels.
  102542. */
  102543. useHTML?: boolean;
  102544. /**
  102545. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  102546. * label. Can be one of `top`, `middle` or `bottom`. The default value
  102547. * depends on the data, for instance in a column chart, the label is above
  102548. * positive values and below negative values.
  102549. */
  102550. verticalAlign?: string;
  102551. /**
  102552. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  102553. * label relative to the point in pixels.
  102554. */
  102555. x?: number;
  102556. /**
  102557. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  102558. * label relative to the point in pixels.
  102559. */
  102560. y?: number;
  102561. /**
  102562. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  102563. * The default Z index puts it above the series. Use a Z index of 2 to
  102564. * display it behind the series.
  102565. */
  102566. z?: number;
  102567. }
  102568. /**
  102569. * (Highcharts, Highstock) Options for the series data sorting.
  102570. */
  102571. export interface PlotWindbarbDataSortingOptions {
  102572. /**
  102573. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  102574. * Use xAxis.reversed to change the sorting order.
  102575. */
  102576. enabled?: boolean;
  102577. /**
  102578. * (Highcharts, Highstock) Whether to allow matching points by name in an
  102579. * update. If this option is disabled, points will be matched by order.
  102580. */
  102581. matchByName?: boolean;
  102582. /**
  102583. * (Highcharts, Highstock) Determines what data value should be used to sort
  102584. * by.
  102585. */
  102586. sortKey?: string;
  102587. }
  102588. /**
  102589. * (Highcharts, Highstock) Wind barbs are a convenient way to represent wind
  102590. * speed and direction in one graphical form. Wind direction is given by the
  102591. * stem direction, and wind speed by the number and shape of barbs.
  102592. *
  102593. * In TypeScript the type option must always be set.
  102594. *
  102595. * Configuration options for the series are given in three levels:
  102596. *
  102597. * 1. Options for all series in a chart are defined in the plotOptions.series
  102598. * object.
  102599. *
  102600. * 2. Options for all `windbarb` series are defined in plotOptions.windbarb.
  102601. *
  102602. * 3. Options for one single series are given in the series instance array. (see
  102603. * online documentation for example)
  102604. */
  102605. export interface PlotWindbarbOptions {
  102606. /**
  102607. * (Highcharts, Highstock) Accessibility options for a series.
  102608. */
  102609. accessibility?: SeriesAccessibilityOptionsObject;
  102610. /**
  102611. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  102612. * rendered. If `true`, areas which don't correspond to a data point, are
  102613. * rendered as `null` points. If `false`, those areas are skipped.
  102614. */
  102615. allAreas?: boolean;
  102616. /**
  102617. * (Highcharts, Highstock) Allow this series' points to be selected by
  102618. * clicking on the graphic (columns, point markers, pie slices, map areas
  102619. * etc).
  102620. *
  102621. * The selected points can be handled by point select and unselect events,
  102622. * or collectively by the getSelectedPoints function.
  102623. *
  102624. * And alternative way of selecting points is through dragging.
  102625. */
  102626. allowPointSelect?: boolean;
  102627. /**
  102628. * (Highcharts, Highstock) Enable or disable the initial animation when a
  102629. * series is displayed. The animation can also be set as a configuration
  102630. * object. Please note that this option only applies to the initial
  102631. * animation of the series itself. For other animations, see chart.animation
  102632. * and the animation parameter under the API methods. The following
  102633. * properties are supported:
  102634. *
  102635. * - `defer`: The animation delay time in milliseconds.
  102636. *
  102637. * - `duration`: The duration of the animation in milliseconds.
  102638. *
  102639. * - `easing`: Can be a string reference to an easing function set on the
  102640. * `Math` object or a function. See the _Custom easing function_ demo below.
  102641. *
  102642. * Due to poor performance, animation is disabled in old IE browsers for
  102643. * several chart types.
  102644. */
  102645. animation?: (boolean|PlotWindbarbAnimationOptions|Partial<AnimationOptionsObject>);
  102646. /**
  102647. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  102648. * initial animation by default when the total number of points in the chart
  102649. * is too high. For example, for a column chart and its derivatives,
  102650. * animation does not run if there is more than 250 points totally. To
  102651. * disable this cap, set `animationLimit` to `Infinity`.
  102652. */
  102653. animationLimit?: number;
  102654. /**
  102655. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  102656. * column or bar.
  102657. *
  102658. * In styled mode, the border stroke can be set with the `.highcharts-point`
  102659. * rule.
  102660. */
  102661. borderColor?: (ColorString|GradientColorObject|PatternObject);
  102662. /**
  102663. * (Highcharts, Highstock, Gantt) The corner radius of the border
  102664. * surrounding each column or bar.
  102665. */
  102666. borderRadius?: number;
  102667. /**
  102668. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  102669. * column or bar. Defaults to `1` when there is room for a border, but to
  102670. * `0` when the columns are so dense that a border would cover the next
  102671. * column.
  102672. *
  102673. * In styled mode, the stroke width can be set with the `.highcharts-point`
  102674. * rule.
  102675. */
  102676. borderWidth?: number;
  102677. /**
  102678. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  102679. * the category, ignoring null or missing points. When `false`, space will
  102680. * be reserved for null or missing points.
  102681. */
  102682. centerInCategory?: boolean;
  102683. /**
  102684. * (Highcharts, Highstock) An additional class name to apply to the series'
  102685. * graphical elements. This option does not replace default class names of
  102686. * the graphical element.
  102687. */
  102688. className?: string;
  102689. /**
  102690. * (Highcharts, Highstock) Disable this option to allow series rendering in
  102691. * the whole plotting area.
  102692. *
  102693. * **Note:** Clipping should be always enabled when chart.zoomType is set
  102694. */
  102695. clip?: boolean;
  102696. /**
  102697. * (Highcharts, Highstock) The main color of the series. In line type series
  102698. * it applies to the line and the point markers unless otherwise specified.
  102699. * In bar type series it applies to the bars unless a color is specified per
  102700. * point. The default value is pulled from the `options.colors` array.
  102701. *
  102702. * In styled mode, the color can be defined by the colorIndex option. Also,
  102703. * the series color can be set with the `.highcharts-series`,
  102704. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  102705. * `.highcharts-series-{n}` class, or individual classes given by the
  102706. * `className` option.
  102707. */
  102708. color?: (ColorString|GradientColorObject|PatternObject);
  102709. /**
  102710. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  102711. * this number defines which colorAxis the particular series is connected
  102712. * to. It refers to either the axis id or the index of the axis in the
  102713. * colorAxis array, with 0 being the first. Set this option to false to
  102714. * prevent a series from connecting to the default color axis.
  102715. *
  102716. * Since v7.2.0 the option can also be an axis id or an axis index instead
  102717. * of a boolean flag.
  102718. */
  102719. colorAxis?: (boolean|number|string);
  102720. /**
  102721. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  102722. * from the global colors or series-specific plotOptions.column.colors
  102723. * collections, this option determines whether the chart should receive one
  102724. * color per series or one color per point.
  102725. *
  102726. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  102727. * and instead this option gives the points individual color class names on
  102728. * the form `highcharts-color-{n}`.
  102729. */
  102730. colorByPoint?: boolean;
  102731. /**
  102732. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  102733. * for the series, so its graphic representations are given the class name
  102734. * `highcharts-color-{n}`.
  102735. */
  102736. colorIndex?: number;
  102737. /**
  102738. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  102739. * used to calculate point color if `colorAxis` is used. Requires to set
  102740. * `min` and `max` if some custom point property is used or if approximation
  102741. * for data grouping is set to `'sum'`.
  102742. */
  102743. colorKey?: string;
  102744. /**
  102745. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  102746. * color set to apply instead of the global colors when colorByPoint is
  102747. * true.
  102748. */
  102749. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  102750. /**
  102751. * (Highstock) Compare the values of the series against the first non-null,
  102752. * non- zero value in the visible range. The y axis will show percentage or
  102753. * absolute change depending on whether `compare` is set to `"percent"` or
  102754. * `"value"`. When this is applied to multiple series, it allows comparing
  102755. * the development of the series against each other. Adds a `change` field
  102756. * to every point object.
  102757. */
  102758. compare?: string;
  102759. /**
  102760. * (Highstock) When compare is `percent`, this option dictates whether to
  102761. * use 0 or 100 as the base of comparison.
  102762. */
  102763. compareBase?: (0|100);
  102764. /**
  102765. * (Highstock) Defines if comparison should start from the first point
  102766. * within the visible range or should start from the first point **before**
  102767. * the range.
  102768. *
  102769. * In other words, this flag determines if first point within the visible
  102770. * range will have 0% (`compareStart=true`) or should have been already
  102771. * calculated according to the previous point (`compareStart=false`).
  102772. */
  102773. compareStart?: boolean;
  102774. /**
  102775. * (Gantt) Override Pathfinder connector options for a series. Requires
  102776. * Highcharts Gantt to be loaded.
  102777. */
  102778. connectors?: SeriesConnectorsOptionsObject;
  102779. /**
  102780. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  102781. * rounded to its nearest pixel in order to render sharp on screen. In some
  102782. * cases, when there are a lot of densely packed columns, this leads to
  102783. * visible difference in column widths or distance between columns. In these
  102784. * cases, setting `crisp` to `false` may look better, even though each
  102785. * column is rendered blurry.
  102786. */
  102787. crisp?: boolean;
  102788. /**
  102789. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  102790. * click events attached to the series, to signal to the user that the
  102791. * points and lines can be clicked.
  102792. *
  102793. * In styled mode, the series cursor can be set with the same classes as
  102794. * listed under series.color.
  102795. */
  102796. cursor?: (string|CursorValue);
  102797. /**
  102798. * (Highcharts, Highstock) A reserved subspace to store options and values
  102799. * for customized functionality. Here you can add additional data for your
  102800. * own event callbacks and formatter callbacks.
  102801. */
  102802. custom?: Dictionary<any>;
  102803. /**
  102804. * (Highcharts, Highstock) Data grouping options for the wind barbs. In
  102805. * Highcharts, this requires the `modules/datagrouping.js` module to be
  102806. * loaded. In Highcharts Stock, data grouping is included.
  102807. */
  102808. dataGrouping?: DataGroupingOptionsObject;
  102809. /**
  102810. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  102811. * labels, appearing next to each data point.
  102812. *
  102813. * Since v6.2.0, multiple data labels can be applied to each single point by
  102814. * defining them as an array of configs.
  102815. *
  102816. * In styled mode, the data labels can be styled with the
  102817. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  102818. * (see example).
  102819. */
  102820. dataLabels?: (PlotWindbarbDataLabelsOptions|Array<PlotWindbarbDataLabelsOptions>);
  102821. /**
  102822. * (Highcharts, Highstock) Options for the series data sorting.
  102823. */
  102824. dataSorting?: (DataSortingOptionsObject|PlotWindbarbDataSortingOptions);
  102825. /**
  102826. * (Highcharts) Depth of the columns in a 3D column chart.
  102827. */
  102828. depth?: number;
  102829. /**
  102830. * (Highcharts, Highstock) A description of the series to add to the screen
  102831. * reader information about the series.
  102832. */
  102833. description?: string;
  102834. /**
  102835. * (Highcharts) 3D columns only. The color of the edges. Similar to
  102836. * `borderColor`, except it defaults to the same color as the column.
  102837. */
  102838. edgeColor?: ColorString;
  102839. /**
  102840. * (Highcharts) 3D columns only. The width of the colored edges.
  102841. */
  102842. edgeWidth?: number;
  102843. /**
  102844. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  102845. * specific series. This includes point tooltips and click events on graphs
  102846. * and points. For large datasets it improves performance.
  102847. */
  102848. enableMouseTracking?: boolean;
  102849. /**
  102850. * (Highcharts, Highstock) General event handlers for the series items.
  102851. * These event hooks can also be attached to the series at run time using
  102852. * the `Highcharts.addEvent` function.
  102853. */
  102854. events?: SeriesEventsOptionsObject;
  102855. /**
  102856. * (Highcharts, Highstock) Determines whether the series should look for the
  102857. * nearest point in both dimensions or just the x-dimension when hovering
  102858. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  102859. * other series. If the data has duplicate x-values, it is recommended to
  102860. * set this to `'xy'` to allow hovering over all points.
  102861. *
  102862. * Applies only to series types using nearest neighbor search (not direct
  102863. * hover) for tooltip.
  102864. */
  102865. findNearestPointBy?: OptionsFindNearestPointByValue;
  102866. /**
  102867. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  102868. * chart width or only the zoomed area when zooming in on parts of the X
  102869. * axis. By default, the Y axis adjusts to the min and max of the visible
  102870. * data. Cartesian series only.
  102871. */
  102872. getExtremesFromAll?: boolean;
  102873. /**
  102874. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  102875. * let them render independent of each other. Non-grouped columns will be
  102876. * laid out individually and overlap each other.
  102877. */
  102878. grouping?: boolean;
  102879. /**
  102880. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  102881. * axis units.
  102882. */
  102883. groupPadding?: number;
  102884. /**
  102885. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  102886. */
  102887. groupZPadding?: number;
  102888. /**
  102889. * (Highcharts, Highstock) When set to `false` will prevent the series data
  102890. * from being included in any form of data export.
  102891. *
  102892. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  102893. * `includeInCSVExport`.
  102894. */
  102895. includeInDataExport?: boolean;
  102896. /**
  102897. * (Highmaps) What property to join the `mapData` to the value data. For
  102898. * example, if joinBy is "code", the mapData items with a specific code is
  102899. * merged into the data with the same code. For maps loaded from GeoJSON,
  102900. * the keys may be held in each point's `properties` object.
  102901. *
  102902. * The joinBy option can also be an array of two values, where the first
  102903. * points to a key in the `mapData`, and the second points to another key in
  102904. * the `data`.
  102905. *
  102906. * When joinBy is `null`, the map items are joined by their position in the
  102907. * array, which performs much better in maps with many data points. This is
  102908. * the recommended option if you are printing more than a thousand data
  102909. * points and have a backend that can preprocess the data into a parallel
  102910. * array of the mapData.
  102911. */
  102912. joinBy?: (string|Array<string>);
  102913. /**
  102914. * (Highcharts, Highstock) An array specifying which option maps to which
  102915. * key in the data point array. This makes it convenient to work with
  102916. * unstructured data arrays from different sources.
  102917. */
  102918. keys?: Array<string>;
  102919. /**
  102920. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  102921. * series as possible in a natural way, seeking to avoid other series. The
  102922. * goal of this feature is to make the chart more easily readable, like if a
  102923. * human designer placed the labels in the optimal position.
  102924. *
  102925. * The series labels currently work with series types having a `graph` or an
  102926. * `area`.
  102927. */
  102928. label?: SeriesLabelOptionsObject;
  102929. /**
  102930. * (Highstock) The line marks the last price from all points.
  102931. */
  102932. lastPrice?: SeriesLastPriceOptionsObject;
  102933. /**
  102934. * (Highstock) The line marks the last price from visible range of points.
  102935. */
  102936. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  102937. /**
  102938. * (Highcharts, Highstock) The line width of the wind barb symbols.
  102939. */
  102940. lineWidth?: number;
  102941. /**
  102942. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  102943. * Additionally, the value can be ":previous" to link to the previous
  102944. * series. When two series are linked, only the first one appears in the
  102945. * legend. Toggling the visibility of this also toggles the linked series.
  102946. *
  102947. * If master series uses data sorting and linked series does not have its
  102948. * own sorting definition, the linked series will be sorted in the same
  102949. * order as the master one.
  102950. */
  102951. linkedTo?: string;
  102952. /**
  102953. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  102954. * column, translated to the height of a bar in a bar chart. This prevents
  102955. * the columns from becoming too wide when there is a small number of points
  102956. * in the chart.
  102957. */
  102958. maxPointWidth?: number;
  102959. /**
  102960. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  102961. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  102962. * to zero) point, set the minimal point length to a pixel value like 3\. In
  102963. * stacked column charts, minPointLength might not be respected for tightly
  102964. * packed values.
  102965. */
  102966. minPointLength?: number;
  102967. /**
  102968. * (Highstock) Options for the corresponding navigator series if
  102969. * `showInNavigator` is `true` for this series. Available options are the
  102970. * same as any series, documented at plotOptions and series.
  102971. *
  102972. * These options are merged with options in navigator.series, and will take
  102973. * precedence if the same option is defined both places.
  102974. */
  102975. navigatorOptions?: PlotSeriesOptions;
  102976. /**
  102977. * (Highcharts, Highstock) The color for the parts of the graph or points
  102978. * that are below the threshold. Note that `zones` takes precedence over the
  102979. * negative color. Using `negativeColor` is equivalent to applying a zone
  102980. * with value of 0.
  102981. */
  102982. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  102983. /**
  102984. * (Highcharts, Highstock) The id of another series in the chart that the
  102985. * wind barbs are projected on. When `null`, the wind symbols are drawn on
  102986. * the X axis, but offset up or down by the `yOffset` setting.
  102987. */
  102988. onSeries?: (string|null);
  102989. /**
  102990. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  102991. * and dataLabels.
  102992. */
  102993. opacity?: number;
  102994. /**
  102995. * (Highcharts, Highstock) Properties for each single point.
  102996. */
  102997. point?: PlotSeriesPointOptions;
  102998. /**
  102999. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  103000. * but for an individual series. Overrides the chart wide configuration.
  103001. */
  103002. pointDescriptionFormatter?: Function;
  103003. /**
  103004. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  103005. * a series, `pointInterval` defines the interval of the x values. For
  103006. * example, if a series contains one value every decade starting from year
  103007. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  103008. * `pointInterval` is set in milliseconds.
  103009. *
  103010. * It can be also be combined with `pointIntervalUnit` to draw irregular
  103011. * time intervals.
  103012. *
  103013. * Please note that this options applies to the _series data_, not the
  103014. * interval of the axis ticks, which is independent.
  103015. */
  103016. pointInterval?: number;
  103017. /**
  103018. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  103019. * setting the pointInterval to irregular time units, `day`, `month` and
  103020. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  103021. * also takes the DST crossover into consideration when dealing with local
  103022. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  103023. * months, 10 years etc.
  103024. *
  103025. * Please note that this options applies to the _series data_, not the
  103026. * interval of the axis ticks, which is independent.
  103027. */
  103028. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  103029. /**
  103030. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  103031. * axis units.
  103032. */
  103033. pointPadding?: number;
  103034. /**
  103035. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  103036. * `number`.
  103037. *
  103038. * In a column chart, when pointPlacement is `"on"`, the point will not
  103039. * create any padding of the X axis. In a polar column chart this means that
  103040. * the first column points directly north. If the pointPlacement is
  103041. * `"between"`, the columns will be laid out between ticks. This is useful
  103042. * for example for visualising an amount between two points in time or in a
  103043. * certain sector of a polar chart.
  103044. *
  103045. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  103046. * is on the axis value, -0.5 is between this value and the previous, and
  103047. * 0.5 is between this value and the next. Unlike the textual options,
  103048. * numeric point placement options won't affect axis padding.
  103049. *
  103050. * Note that pointPlacement needs a pointRange to work. For column series
  103051. * this is computed, but for line-type series it needs to be set.
  103052. *
  103053. * For the `xrange` series type and gantt charts, if the Y axis is a
  103054. * category axis, the `pointPlacement` applies to the Y axis rather than the
  103055. * (typically datetime) X axis.
  103056. *
  103057. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  103058. */
  103059. pointPlacement?: (number|string);
  103060. /**
  103061. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  103062. * for. This determines the width of the column. On a categorized axis, the
  103063. * range will be 1 by default (one category unit). On linear and datetime
  103064. * axes, the range will be computed as the distance between the two closest
  103065. * data points.
  103066. *
  103067. * The default `null` means it is computed automatically, but this option
  103068. * can be used to override the automatic value.
  103069. *
  103070. * This option is set by default to 1 if data sorting is enabled.
  103071. */
  103072. pointRange?: (number|null);
  103073. /**
  103074. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  103075. * a series, pointStart defines on what value to start. For example, if a
  103076. * series contains one yearly value starting from 1945, set pointStart to
  103077. * 1945.
  103078. */
  103079. pointStart?: number;
  103080. /**
  103081. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  103082. * each column or bar point. When set to `undefined`, the width is
  103083. * calculated from the `pointPadding` and `groupPadding`. The width effects
  103084. * the dimension that is not based on the point value. For column series it
  103085. * is the hoizontal length and for bar series it is the vertical length.
  103086. */
  103087. pointWidth?: number;
  103088. /**
  103089. * (Highcharts, Highstock) Whether to select the series initially. If
  103090. * `showCheckbox` is true, the checkbox next to the series name in the
  103091. * legend will be checked for a selected series.
  103092. */
  103093. selected?: boolean;
  103094. /**
  103095. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  103096. * legend item to allow selecting the series. The state of the checkbox is
  103097. * determined by the `selected` option.
  103098. */
  103099. showCheckbox?: boolean;
  103100. /**
  103101. * (Highcharts, Highstock) Whether to display this particular series or
  103102. * series type in the legend. Standalone series are shown in legend by
  103103. * default, and linked series are not. Since v7.2.0 it is possible to show
  103104. * series that use colorAxis by setting this option to `true`.
  103105. */
  103106. showInLegend?: boolean;
  103107. /**
  103108. * (Highstock) Whether or not to show the series in the navigator. Takes
  103109. * precedence over navigator.baseSeries if defined.
  103110. */
  103111. showInNavigator?: boolean;
  103112. /**
  103113. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  103114. * skip past the points in this series for keyboard navigation.
  103115. */
  103116. skipKeyboardNavigation?: boolean;
  103117. /**
  103118. * (Highcharts, Highstock) When this is true, the series will not cause the
  103119. * Y axis to cross the zero plane (or threshold option) unless the data
  103120. * actually crosses the plane.
  103121. *
  103122. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  103123. * make the Y axis show negative values according to the `minPadding`
  103124. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  103125. */
  103126. softThreshold?: boolean;
  103127. states?: SeriesStatesOptionsObject;
  103128. /**
  103129. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  103130. * `mouseOut` event on a series isn't triggered until the mouse moves over
  103131. * another series, or out of the plot area. When false, the `mouseOut` event
  103132. * on a series is triggered when the mouse leaves the area around the
  103133. * series' graph or markers. This also implies the tooltip when not shared.
  103134. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  103135. * will be hidden when moving the mouse between series. Defaults to true for
  103136. * line and area type series, but to false for columns, pies etc.
  103137. *
  103138. * **Note:** The boost module will force this option because of technical
  103139. * limitations.
  103140. */
  103141. stickyTracking?: boolean;
  103142. /**
  103143. * (Highcharts) The Y axis value to serve as the base for the columns, for
  103144. * distinguishing between values above and below a threshold. If `null`, the
  103145. * columns extend from the padding Y axis minimum.
  103146. */
  103147. threshold?: (number|null);
  103148. /**
  103149. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  103150. * of each single series. Properties are inherited from tooltip, but only
  103151. * the following properties can be defined on a series level.
  103152. */
  103153. tooltip?: SeriesTooltipOptionsObject;
  103154. /**
  103155. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  103156. * is longer than this, only one dimensional arrays of numbers, or two
  103157. * dimensional arrays with x and y values are allowed. Also, only the first
  103158. * point is tested, and the rest are assumed to be the same format. This
  103159. * saves expensive data checking and indexing in long series. Set it to `0`
  103160. * disable.
  103161. *
  103162. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  103163. * two dimensional arrays are allowed.
  103164. */
  103165. turboThreshold?: number;
  103166. /**
  103167. * (Highcharts, Highstock) Pixel length of the stems.
  103168. */
  103169. vectorLength?: number;
  103170. /**
  103171. * (Highcharts, Highstock) Set the initial visibility of the series.
  103172. */
  103173. visible?: boolean;
  103174. /**
  103175. * (Highcharts, Highstock) Horizontal offset from the cartesian position, in
  103176. * pixels. When the chart is inverted, this option allows translation like
  103177. * yOffset in non inverted charts.
  103178. */
  103179. xOffset?: number;
  103180. /**
  103181. * (Highcharts, Highstock) Vertical offset from the cartesian position, in
  103182. * pixels. The default value makes sure the symbols don't overlap the X axis
  103183. * when `onSeries` is `null`, and that they don't overlap the linked series
  103184. * when `onSeries` is given.
  103185. */
  103186. yOffset?: number;
  103187. /**
  103188. * (Highmaps) Define the z index of the series.
  103189. */
  103190. zIndex?: number;
  103191. /**
  103192. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  103193. */
  103194. zoneAxis?: string;
  103195. /**
  103196. * (Highcharts, Highstock) An array defining zones within a series. Zones
  103197. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  103198. * the `zoneAxis` option. The zone definitions have to be in ascending order
  103199. * regarding to the value.
  103200. *
  103201. * In styled mode, the color zones are styled with the
  103202. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  103203. * option (view live demo).
  103204. */
  103205. zones?: Array<SeriesZonesOptionsObject>;
  103206. }
  103207. /**
  103208. * (Highstock) Enable or disable the initial animation when a series is
  103209. * displayed. The animation can also be set as a configuration object. Please
  103210. * note that this option only applies to the initial animation of the series
  103211. * itself. For other animations, see chart.animation and the animation parameter
  103212. * under the API methods. The following properties are supported:
  103213. *
  103214. * - `defer`: The animation delay time in milliseconds.
  103215. *
  103216. * - `duration`: The duration of the animation in milliseconds.
  103217. *
  103218. * - `easing`: Can be a string reference to an easing function set on the `Math`
  103219. * object or a function. See the _Custom easing function_ demo below.
  103220. *
  103221. * Due to poor performance, animation is disabled in old IE browsers for several
  103222. * chart types.
  103223. */
  103224. export interface PlotWmaAnimationOptions {
  103225. defer?: number;
  103226. }
  103227. /**
  103228. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  103229. * animation when a series is displayed for the `dataLabels`. The animation can
  103230. * also be set as a configuration object. Please note that this option only
  103231. * applies to the initial animation. For other animations, see chart.animation
  103232. * and the animation parameter under the API methods. The following properties
  103233. * are supported:
  103234. *
  103235. * - `defer`: The animation delay time in milliseconds.
  103236. */
  103237. export interface PlotWmaDataLabelsAnimationOptions {
  103238. /**
  103239. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  103240. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  103241. * inherits defer time from the series.animation.defer.
  103242. */
  103243. defer?: number;
  103244. }
  103245. /**
  103246. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  103247. * appearing next to each data point.
  103248. *
  103249. * Since v6.2.0, multiple data labels can be applied to each single point by
  103250. * defining them as an array of configs.
  103251. *
  103252. * In styled mode, the data labels can be styled with the
  103253. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  103254. * example).
  103255. */
  103256. export interface PlotWmaDataLabelsOptions {
  103257. /**
  103258. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  103259. * compared to the point. If `right`, the right side of the label should be
  103260. * touching the point. For points with an extent, like columns, the
  103261. * alignments also dictates how to align it inside the box, as given with
  103262. * the inside option. Can be one of `left`, `center` or `right`.
  103263. */
  103264. align?: (AlignValue|null);
  103265. /**
  103266. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  103267. * overlap. To make the labels less sensitive for overlapping, the
  103268. * dataLabels.padding can be set to 0.
  103269. */
  103270. allowOverlap?: boolean;
  103271. /**
  103272. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  103273. * animation when a series is displayed for the `dataLabels`. The animation
  103274. * can also be set as a configuration object. Please note that this option
  103275. * only applies to the initial animation. For other animations, see
  103276. * chart.animation and the animation parameter under the API methods. The
  103277. * following properties are supported:
  103278. *
  103279. * - `defer`: The animation delay time in milliseconds.
  103280. */
  103281. animation?: (boolean|PlotWmaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  103282. /**
  103283. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  103284. * for the data label.
  103285. */
  103286. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  103287. /**
  103288. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  103289. * label. Defaults to `undefined`.
  103290. */
  103291. borderColor?: (ColorString|GradientColorObject|PatternObject);
  103292. /**
  103293. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  103294. * the data label.
  103295. */
  103296. borderRadius?: number;
  103297. /**
  103298. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  103299. * the data label.
  103300. */
  103301. borderWidth?: number;
  103302. /**
  103303. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  103304. * Particularly in styled mode, this can be used to give each series' or
  103305. * point's data label unique styling. In addition to this option, a default
  103306. * color class name is added so that we can give the labels a contrast text
  103307. * shadow.
  103308. */
  103309. className?: string;
  103310. /**
  103311. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  103312. * labels. Defaults to `undefined`. For certain series types, like column or
  103313. * map, the data labels can be drawn inside the points. In this case the
  103314. * data label will be drawn with maximum contrast by default. Additionally,
  103315. * it will be given a `text-outline` style with the opposite color, to
  103316. * further increase the contrast. This can be overridden by setting the
  103317. * `text-outline` style to `none` in the `dataLabels.style` option.
  103318. */
  103319. color?: (ColorString|GradientColorObject|PatternObject);
  103320. /**
  103321. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  103322. * are outside the plot area. By default, the data label is moved inside the
  103323. * plot area according to the overflow option.
  103324. */
  103325. crop?: boolean;
  103326. /**
  103327. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  103328. * labels until the initial series animation has finished. Setting to
  103329. * `false` renders the data label immediately. If set to `true` inherits the
  103330. * defer time set in plotOptions.series.animation. If set to a number, a
  103331. * defer time is specified in milliseconds.
  103332. */
  103333. defer?: (boolean|number);
  103334. /**
  103335. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  103336. * labels.
  103337. */
  103338. enabled?: boolean;
  103339. /**
  103340. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  103341. * of which data labels to display. The declarative filter is designed for
  103342. * use when callback functions are not available, like when the chart
  103343. * options require a pure JSON structure or for use with graphical editors.
  103344. * For programmatic control, use the `formatter` instead, and return
  103345. * `undefined` to disable a single data label.
  103346. */
  103347. filter?: DataLabelsFilterOptionsObject;
  103348. /**
  103349. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  103350. * label. Available variables are the same as for `formatter`.
  103351. */
  103352. format?: string;
  103353. /**
  103354. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  103355. * format the data label. Note that if a `format` is defined, the format
  103356. * takes precedence and the formatter is ignored.
  103357. */
  103358. formatter?: DataLabelsFormatterCallbackFunction;
  103359. /**
  103360. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  103361. * columns or map areas, whether to align the data label inside the box or
  103362. * to the actual value point. Defaults to `false` in most cases, `true` in
  103363. * stacked columns.
  103364. */
  103365. inside?: boolean;
  103366. /**
  103367. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  103368. * of null. Works analogously to format. `nullFormat` can be applied only to
  103369. * series which support displaying null points.
  103370. */
  103371. nullFormat?: (boolean|string);
  103372. /**
  103373. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  103374. * that defines formatting for points with the value of null. Works
  103375. * analogously to formatter. `nullPointFormatter` can be applied only to
  103376. * series which support displaying null points.
  103377. */
  103378. nullFormatter?: DataLabelsFormatterCallbackFunction;
  103379. /**
  103380. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  103381. * flow outside the plot area. The default is `"justify"`, which aligns them
  103382. * inside the plot area. For columns and bars, this means it will be moved
  103383. * inside the bar. To display data labels outside the plot area, set `crop`
  103384. * to `false` and `overflow` to `"allow"`.
  103385. */
  103386. overflow?: DataLabelsOverflowValue;
  103387. /**
  103388. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  103389. * the `backgroundColor` is set, this is the padding within the box.
  103390. */
  103391. padding?: number;
  103392. /**
  103393. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  103394. * points. If `center` alignment is not possible, it defaults to `right`.
  103395. */
  103396. position?: AlignValue;
  103397. /**
  103398. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  103399. * that due to a more complex structure, backgrounds, borders and padding
  103400. * will be lost on a rotated data label.
  103401. */
  103402. rotation?: number;
  103403. /**
  103404. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  103405. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  103406. * an object configuration containing `color`, `offsetX`, `offsetY`,
  103407. * `opacity` and `width`.
  103408. */
  103409. shadow?: (boolean|ShadowOptionsObject);
  103410. /**
  103411. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  103412. * the border around the label. Symbols are predefined functions on the
  103413. * Renderer object.
  103414. */
  103415. shape?: string;
  103416. /**
  103417. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  103418. * default `color` setting is `"contrast"`, which is a pseudo color that
  103419. * Highcharts picks up and applies the maximum contrast to the underlying
  103420. * point item, for example the bar in a bar chart.
  103421. *
  103422. * The `textOutline` is a pseudo property that applies an outline of the
  103423. * given width with the given color, which by default is the maximum
  103424. * contrast to the text. So a bright text color will result in a black text
  103425. * outline for maximum readability on a mixed background. In some cases,
  103426. * especially with grayscale text, the text outline doesn't work well, in
  103427. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  103428. * is true, the `textOutline` will not be picked up. In this, case, the same
  103429. * effect can be acheived through the `text-shadow` CSS property.
  103430. *
  103431. * For some series types, where each point has an extent, like for example
  103432. * tree maps, the data label may overflow the point. There are two
  103433. * strategies for handling overflow. By default, the text will wrap to
  103434. * multiple lines. The other strategy is to set `style.textOverflow` to
  103435. * `ellipsis`, which will keep the text on one line plus it will break
  103436. * inside long words.
  103437. */
  103438. style?: CSSObject;
  103439. /**
  103440. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  103441. * should follow marker's shape. Border and background are disabled for a
  103442. * label that follows a path.
  103443. *
  103444. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  103445. * to true will disable this option.
  103446. */
  103447. textPath?: DataLabelsTextPathOptionsObject;
  103448. /**
  103449. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  103450. * the labels.
  103451. */
  103452. useHTML?: boolean;
  103453. /**
  103454. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  103455. * label. Can be one of `top`, `middle` or `bottom`. The default value
  103456. * depends on the data, for instance in a column chart, the label is above
  103457. * positive values and below negative values.
  103458. */
  103459. verticalAlign?: (VerticalAlignValue|null);
  103460. /**
  103461. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  103462. * label relative to the point in pixels.
  103463. */
  103464. x?: number;
  103465. /**
  103466. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  103467. * label relative to the point in pixels.
  103468. */
  103469. y?: number;
  103470. /**
  103471. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  103472. * The default Z index puts it above the series. Use a Z index of 2 to
  103473. * display it behind the series.
  103474. */
  103475. z?: number;
  103476. }
  103477. /**
  103478. * (Highcharts, Highstock) Options for the series data sorting.
  103479. */
  103480. export interface PlotWmaDataSortingOptions {
  103481. /**
  103482. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  103483. * Use xAxis.reversed to change the sorting order.
  103484. */
  103485. enabled?: boolean;
  103486. /**
  103487. * (Highcharts, Highstock) Whether to allow matching points by name in an
  103488. * update. If this option is disabled, points will be matched by order.
  103489. */
  103490. matchByName?: boolean;
  103491. /**
  103492. * (Highcharts, Highstock) Determines what data value should be used to sort
  103493. * by.
  103494. */
  103495. sortKey?: string;
  103496. }
  103497. /**
  103498. * (Highstock) Weighted moving average indicator (WMA). This series requires
  103499. * `linkedTo` option to be set.
  103500. *
  103501. * In TypeScript the type option must always be set.
  103502. *
  103503. * Configuration options for the series are given in three levels:
  103504. *
  103505. * 1. Options for all series in a chart are defined in the plotOptions.series
  103506. * object.
  103507. *
  103508. * 2. Options for all `wma` series are defined in plotOptions.wma.
  103509. *
  103510. * 3. Options for one single series are given in the series instance array. (see
  103511. * online documentation for example)
  103512. */
  103513. export interface PlotWmaOptions {
  103514. /**
  103515. * (Highstock) Accessibility options for a series.
  103516. */
  103517. accessibility?: SeriesAccessibilityOptionsObject;
  103518. /**
  103519. * (Highstock) Allow this series' points to be selected by clicking on the
  103520. * graphic (columns, point markers, pie slices, map areas etc).
  103521. *
  103522. * The selected points can be handled by point select and unselect events,
  103523. * or collectively by the getSelectedPoints function.
  103524. *
  103525. * And alternative way of selecting points is through dragging.
  103526. */
  103527. allowPointSelect?: boolean;
  103528. /**
  103529. * (Highstock) Enable or disable the initial animation when a series is
  103530. * displayed. The animation can also be set as a configuration object.
  103531. * Please note that this option only applies to the initial animation of the
  103532. * series itself. For other animations, see chart.animation and the
  103533. * animation parameter under the API methods. The following properties are
  103534. * supported:
  103535. *
  103536. * - `defer`: The animation delay time in milliseconds.
  103537. *
  103538. * - `duration`: The duration of the animation in milliseconds.
  103539. *
  103540. * - `easing`: Can be a string reference to an easing function set on the
  103541. * `Math` object or a function. See the _Custom easing function_ demo below.
  103542. *
  103543. * Due to poor performance, animation is disabled in old IE browsers for
  103544. * several chart types.
  103545. */
  103546. animation?: (boolean|PlotWmaAnimationOptions|Partial<AnimationOptionsObject>);
  103547. /**
  103548. * (Highstock) For some series, there is a limit that shuts down initial
  103549. * animation by default when the total number of points in the chart is too
  103550. * high. For example, for a column chart and its derivatives, animation does
  103551. * not run if there is more than 250 points totally. To disable this cap,
  103552. * set `animationLimit` to `Infinity`.
  103553. */
  103554. animationLimit?: number;
  103555. /**
  103556. * (Highstock) Sets the color blending in the boost module.
  103557. */
  103558. boostBlending?: OptionsBoostBlendingValue;
  103559. /**
  103560. * (Highstock) Set the point threshold for when a series should enter boost
  103561. * mode.
  103562. *
  103563. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  103564. * there are 2000 or more points in the series.
  103565. *
  103566. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  103567. * it to 1 will force boosting.
  103568. *
  103569. * Note that the cropThreshold also affects this setting. When zooming in on
  103570. * a series that has fewer points than the `cropThreshold`, all points are
  103571. * rendered although outside the visible plot area, and the `boostThreshold`
  103572. * won't take effect.
  103573. */
  103574. boostThreshold?: number;
  103575. /**
  103576. * (Highmaps) The border color of the map areas.
  103577. *
  103578. * In styled mode, the border stroke is given in the `.highcharts-point`
  103579. * class.
  103580. */
  103581. borderColor?: (ColorString|GradientColorObject|PatternObject);
  103582. /**
  103583. * (Highmaps) The border width of each map area.
  103584. *
  103585. * In styled mode, the border stroke width is given in the
  103586. * `.highcharts-point` class.
  103587. */
  103588. borderWidth?: number;
  103589. /**
  103590. * (Highstock) An additional class name to apply to the series' graphical
  103591. * elements. This option does not replace default class names of the
  103592. * graphical element.
  103593. */
  103594. className?: string;
  103595. /**
  103596. * (Highstock) Disable this option to allow series rendering in the whole
  103597. * plotting area.
  103598. *
  103599. * **Note:** Clipping should be always enabled when chart.zoomType is set
  103600. */
  103601. clip?: boolean;
  103602. /**
  103603. * (Highstock) The main color of the series. In line type series it applies
  103604. * to the line and the point markers unless otherwise specified. In bar type
  103605. * series it applies to the bars unless a color is specified per point. The
  103606. * default value is pulled from the `options.colors` array.
  103607. *
  103608. * In styled mode, the color can be defined by the colorIndex option. Also,
  103609. * the series color can be set with the `.highcharts-series`,
  103610. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  103611. * `.highcharts-series-{n}` class, or individual classes given by the
  103612. * `className` option.
  103613. */
  103614. color?: (ColorString|GradientColorObject|PatternObject);
  103615. /**
  103616. * (Highstock) Styled mode only. A specific color index to use for the
  103617. * series, so its graphic representations are given the class name
  103618. * `highcharts-color-{n}`.
  103619. */
  103620. colorIndex?: number;
  103621. /**
  103622. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  103623. * used to calculate point color if `colorAxis` is used. Requires to set
  103624. * `min` and `max` if some custom point property is used or if approximation
  103625. * for data grouping is set to `'sum'`.
  103626. */
  103627. colorKey?: string;
  103628. /**
  103629. * (Highstock) Compare the values of the series against the first non-null,
  103630. * non- zero value in the visible range. The y axis will show percentage or
  103631. * absolute change depending on whether `compare` is set to `"percent"` or
  103632. * `"value"`. When this is applied to multiple series, it allows comparing
  103633. * the development of the series against each other. Adds a `change` field
  103634. * to every point object.
  103635. */
  103636. compare?: string;
  103637. /**
  103638. * (Highstock) When compare is `percent`, this option dictates whether to
  103639. * use 0 or 100 as the base of comparison.
  103640. */
  103641. compareBase?: (0|100);
  103642. /**
  103643. * (Highstock) Defines if comparison should start from the first point
  103644. * within the visible range or should start from the first point **before**
  103645. * the range.
  103646. *
  103647. * In other words, this flag determines if first point within the visible
  103648. * range will have 0% (`compareStart=true`) or should have been already
  103649. * calculated according to the previous point (`compareStart=false`).
  103650. */
  103651. compareStart?: boolean;
  103652. /**
  103653. * (Highstock) Whether to compare indicator to the main series values or
  103654. * indicator values.
  103655. */
  103656. compareToMain?: boolean;
  103657. /**
  103658. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  103659. * series plot across the extremes.
  103660. */
  103661. connectEnds?: boolean;
  103662. /**
  103663. * (Highcharts, Highstock) Whether to connect a graph line across null
  103664. * points, or render a gap between the two points on either side of the
  103665. * null.
  103666. */
  103667. connectNulls?: boolean;
  103668. /**
  103669. * (Gantt) Override Pathfinder connector options for a series. Requires
  103670. * Highcharts Gantt to be loaded.
  103671. */
  103672. connectors?: SeriesConnectorsOptionsObject;
  103673. /**
  103674. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  103675. * rounded to its nearest pixel in order to render sharp on screen. In some
  103676. * cases, when there are a lot of densely packed columns, this leads to
  103677. * visible difference in column widths or distance between columns. In these
  103678. * cases, setting `crisp` to `false` may look better, even though each
  103679. * column is rendered blurry.
  103680. */
  103681. crisp?: boolean;
  103682. /**
  103683. * (Highcharts, Highstock) When the series contains less points than the
  103684. * crop threshold, all points are drawn, even if the points fall outside the
  103685. * visible plot area at the current zoom. The advantage of drawing all
  103686. * points (including markers and columns), is that animation is performed on
  103687. * updates. On the other hand, when the series contains more points than the
  103688. * crop threshold, the series data is cropped to only contain points that
  103689. * fall within the plot area. The advantage of cropping away invisible
  103690. * points is to increase performance on large series.
  103691. */
  103692. cropThreshold?: number;
  103693. /**
  103694. * (Highstock) You can set the cursor to "pointer" if you have click events
  103695. * attached to the series, to signal to the user that the points and lines
  103696. * can be clicked.
  103697. *
  103698. * In styled mode, the series cursor can be set with the same classes as
  103699. * listed under series.color.
  103700. */
  103701. cursor?: (string|CursorValue);
  103702. /**
  103703. * (Highstock) A reserved subspace to store options and values for
  103704. * customized functionality. Here you can add additional data for your own
  103705. * event callbacks and formatter callbacks.
  103706. */
  103707. custom?: Dictionary<any>;
  103708. /**
  103709. * (Highstock) Name of the dash style to use for the graph, or for some
  103710. * series types the outline of each shape.
  103711. *
  103712. * In styled mode, the stroke dash-array can be set with the same classes as
  103713. * listed under series.color.
  103714. */
  103715. dashStyle?: DashStyleValue;
  103716. /**
  103717. * (Highstock) Data grouping is the concept of sampling the data values into
  103718. * larger blocks in order to ease readability and increase performance of
  103719. * the JavaScript charts. Highcharts Stock by default applies data grouping
  103720. * when the points become closer than a certain pixel value, determined by
  103721. * the `groupPixelWidth` option.
  103722. *
  103723. * If data grouping is applied, the grouping information of grouped points
  103724. * can be read from the Point.dataGroup. If point options other than the
  103725. * data itself are set, for example `name` or `color` or custom properties,
  103726. * the grouping logic doesn't know how to group it. In this case the options
  103727. * of the first point instance are copied over to the group point. This can
  103728. * be altered through a custom `approximation` callback function.
  103729. */
  103730. dataGrouping?: DataGroupingOptionsObject;
  103731. /**
  103732. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  103733. * labels, appearing next to each data point.
  103734. *
  103735. * Since v6.2.0, multiple data labels can be applied to each single point by
  103736. * defining them as an array of configs.
  103737. *
  103738. * In styled mode, the data labels can be styled with the
  103739. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  103740. * (see example).
  103741. */
  103742. dataLabels?: (PlotWmaDataLabelsOptions|Array<PlotWmaDataLabelsOptions>);
  103743. /**
  103744. * (Highcharts, Highstock) Options for the series data sorting.
  103745. */
  103746. dataSorting?: (DataSortingOptionsObject|PlotWmaDataSortingOptions);
  103747. /**
  103748. * (Highstock) A description of the series to add to the screen reader
  103749. * information about the series.
  103750. */
  103751. description?: string;
  103752. /**
  103753. * (Highstock) Enable or disable the mouse tracking for a specific series.
  103754. * This includes point tooltips and click events on graphs and points. For
  103755. * large datasets it improves performance.
  103756. */
  103757. enableMouseTracking?: boolean;
  103758. /**
  103759. * (Highstock) General event handlers for the series items. These event
  103760. * hooks can also be attached to the series at run time using the
  103761. * `Highcharts.addEvent` function.
  103762. */
  103763. events?: SeriesEventsOptionsObject;
  103764. /**
  103765. * (Highstock) Determines whether the series should look for the nearest
  103766. * point in both dimensions or just the x-dimension when hovering the
  103767. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  103768. * series. If the data has duplicate x-values, it is recommended to set this
  103769. * to `'xy'` to allow hovering over all points.
  103770. *
  103771. * Applies only to series types using nearest neighbor search (not direct
  103772. * hover) for tooltip.
  103773. */
  103774. findNearestPointBy?: OptionsFindNearestPointByValue;
  103775. /**
  103776. * (Highstock) Defines when to display a gap in the graph, together with the
  103777. * gapUnit option.
  103778. *
  103779. * In case when `dataGrouping` is enabled, points can be grouped into a
  103780. * larger time span. This can make the grouped points to have a greater
  103781. * distance than the absolute value of `gapSize` property, which will result
  103782. * in disappearing graph completely. To prevent this situation the mentioned
  103783. * distance between grouped points is used instead of previously defined
  103784. * `gapSize`.
  103785. *
  103786. * In practice, this option is most often used to visualize gaps in time
  103787. * series. In a stock chart, intraday data is available for daytime hours,
  103788. * while gaps will appear in nights and weekends.
  103789. */
  103790. gapSize?: number;
  103791. /**
  103792. * (Highstock) Together with gapSize, this option defines where to draw gaps
  103793. * in the graph.
  103794. *
  103795. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  103796. * if the distance between two points is greater than 5 times that of the
  103797. * two closest points, the graph will be broken.
  103798. *
  103799. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  103800. * values, which on a datetime axis is milliseconds. This also applies to
  103801. * the navigator series that inherits gap options from the base series.
  103802. */
  103803. gapUnit?: OptionsGapUnitValue;
  103804. /**
  103805. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  103806. * chart width or only the zoomed area when zooming in on parts of the X
  103807. * axis. By default, the Y axis adjusts to the min and max of the visible
  103808. * data. Cartesian series only.
  103809. */
  103810. getExtremesFromAll?: boolean;
  103811. /**
  103812. * (Highstock) When set to `false` will prevent the series data from being
  103813. * included in any form of data export.
  103814. *
  103815. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  103816. * `includeInCSVExport`.
  103817. */
  103818. includeInDataExport?: boolean;
  103819. /**
  103820. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  103821. * series as possible in a natural way, seeking to avoid other series. The
  103822. * goal of this feature is to make the chart more easily readable, like if a
  103823. * human designer placed the labels in the optimal position.
  103824. *
  103825. * The series labels currently work with series types having a `graph` or an
  103826. * `area`.
  103827. */
  103828. label?: SeriesLabelOptionsObject;
  103829. /**
  103830. * (Highstock) The line marks the last price from all points.
  103831. */
  103832. lastPrice?: SeriesLastPriceOptionsObject;
  103833. /**
  103834. * (Highstock) The line marks the last price from visible range of points.
  103835. */
  103836. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  103837. /**
  103838. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  103839. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  103840. * the ends and bends.
  103841. */
  103842. linecap?: SeriesLinecapValue;
  103843. /**
  103844. * (Highcharts, Highstock) Pixel width of the graph line.
  103845. */
  103846. lineWidth?: number;
  103847. /**
  103848. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  103849. * based on. Required for this indicator.
  103850. */
  103851. linkedTo?: string;
  103852. /**
  103853. * (Highstock) Options for the point markers of line-like series. Properties
  103854. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  103855. * appearance of the markers. Other series types, like column series, don't
  103856. * have markers, but have visual options on the series level instead.
  103857. *
  103858. * In styled mode, the markers can be styled with the `.highcharts-point`,
  103859. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  103860. */
  103861. marker?: PointMarkerOptionsObject;
  103862. /**
  103863. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  103864. * If not set, it will be based on a technical indicator type and default
  103865. * params.
  103866. */
  103867. name?: string;
  103868. /**
  103869. * (Highstock) The color for the parts of the graph or points that are below
  103870. * the threshold. Note that `zones` takes precedence over the negative
  103871. * color. Using `negativeColor` is equivalent to applying a zone with value
  103872. * of 0.
  103873. */
  103874. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  103875. /**
  103876. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  103877. * dataLabels.
  103878. */
  103879. opacity?: number;
  103880. /**
  103881. * (Highstock) Paramters used in calculation of regression series' points.
  103882. */
  103883. params?: PlotWmaParamsOptions;
  103884. /**
  103885. * (Highstock) Properties for each single point.
  103886. */
  103887. point?: PlotSeriesPointOptions;
  103888. /**
  103889. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  103890. * individual series. Overrides the chart wide configuration.
  103891. */
  103892. pointDescriptionFormatter?: Function;
  103893. /**
  103894. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  103895. * true, the checkbox next to the series name in the legend will be checked
  103896. * for a selected series.
  103897. */
  103898. selected?: boolean;
  103899. /**
  103900. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  103901. * the shadow can be an object configuration containing `color`, `offsetX`,
  103902. * `offsetY`, `opacity` and `width`.
  103903. */
  103904. shadow?: (boolean|ShadowOptionsObject);
  103905. /**
  103906. * (Highstock) If true, a checkbox is displayed next to the legend item to
  103907. * allow selecting the series. The state of the checkbox is determined by
  103908. * the `selected` option.
  103909. */
  103910. showCheckbox?: boolean;
  103911. /**
  103912. * (Highstock) Whether to display this particular series or series type in
  103913. * the legend. Standalone series are shown in legend by default, and linked
  103914. * series are not. Since v7.2.0 it is possible to show series that use
  103915. * colorAxis by setting this option to `true`.
  103916. */
  103917. showInLegend?: boolean;
  103918. /**
  103919. * (Highstock) If set to `true`, the accessibility module will skip past the
  103920. * points in this series for keyboard navigation.
  103921. */
  103922. skipKeyboardNavigation?: boolean;
  103923. /**
  103924. * (Highcharts, Highstock) When this is true, the series will not cause the
  103925. * Y axis to cross the zero plane (or threshold option) unless the data
  103926. * actually crosses the plane.
  103927. *
  103928. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  103929. * make the Y axis show negative values according to the `minPadding`
  103930. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  103931. */
  103932. softThreshold?: boolean;
  103933. states?: SeriesStatesOptionsObject;
  103934. /**
  103935. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  103936. * values are `left`, `center` and `right`.
  103937. */
  103938. step?: OptionsStepValue;
  103939. /**
  103940. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  103941. * event on a series isn't triggered until the mouse moves over another
  103942. * series, or out of the plot area. When false, the `mouseOut` event on a
  103943. * series is triggered when the mouse leaves the area around the series'
  103944. * graph or markers. This also implies the tooltip when not shared. When
  103945. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  103946. * be hidden when moving the mouse between series. Defaults to true for line
  103947. * and area type series, but to false for columns, pies etc.
  103948. *
  103949. * **Note:** The boost module will force this option because of technical
  103950. * limitations.
  103951. */
  103952. stickyTracking?: boolean;
  103953. /**
  103954. * (Highcharts, Highstock) The threshold, also called zero level or base
  103955. * level. For line type series this is only used in conjunction with
  103956. * negativeColor.
  103957. */
  103958. threshold?: (number|null);
  103959. /**
  103960. * (Highstock) A configuration object for the tooltip rendering of each
  103961. * single series. Properties are inherited from tooltip, but only the
  103962. * following properties can be defined on a series level.
  103963. */
  103964. tooltip?: SeriesTooltipOptionsObject;
  103965. /**
  103966. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  103967. * is longer than this, only one dimensional arrays of numbers, or two
  103968. * dimensional arrays with x and y values are allowed. Also, only the first
  103969. * point is tested, and the rest are assumed to be the same format. This
  103970. * saves expensive data checking and indexing in long series. Set it to `0`
  103971. * disable.
  103972. *
  103973. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  103974. * two dimensional arrays are allowed.
  103975. */
  103976. turboThreshold?: number;
  103977. /**
  103978. * (Highstock) Set the initial visibility of the series.
  103979. */
  103980. visible?: boolean;
  103981. /**
  103982. * (Highmaps) Define the z index of the series.
  103983. */
  103984. zIndex?: number;
  103985. /**
  103986. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  103987. */
  103988. zoneAxis?: string;
  103989. /**
  103990. * (Highcharts, Highstock) An array defining zones within a series. Zones
  103991. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  103992. * the `zoneAxis` option. The zone definitions have to be in ascending order
  103993. * regarding to the value.
  103994. *
  103995. * In styled mode, the color zones are styled with the
  103996. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  103997. * option (view live demo).
  103998. */
  103999. zones?: Array<SeriesZonesOptionsObject>;
  104000. }
  104001. /**
  104002. * (Highstock) Paramters used in calculation of regression series' points.
  104003. */
  104004. export interface PlotWmaParamsOptions {
  104005. /**
  104006. * (Highstock) The point index which indicator calculations will base. For
  104007. * example using OHLC data, index=2 means the indicator will be calculated
  104008. * using Low values.
  104009. */
  104010. index?: number;
  104011. /**
  104012. * (Highstock) The base period for indicator calculations. This is the
  104013. * number of data points which are taken into account for the indicator
  104014. * calculations.
  104015. */
  104016. period?: number;
  104017. }
  104018. /**
  104019. * (Highcharts) Enable or disable the initial animation when a series is
  104020. * displayed. The animation can also be set as a configuration object. Please
  104021. * note that this option only applies to the initial animation of the series
  104022. * itself. For other animations, see chart.animation and the animation parameter
  104023. * under the API methods. The following properties are supported:
  104024. *
  104025. * - `defer`: The animation delay time in milliseconds.
  104026. *
  104027. * - `duration`: The duration of the animation in milliseconds.
  104028. *
  104029. * - `easing`: Can be a string reference to an easing function set on the `Math`
  104030. * object or a function. See the _Custom easing function_ demo below.
  104031. *
  104032. * Due to poor performance, animation is disabled in old IE browsers for several
  104033. * chart types.
  104034. */
  104035. export interface PlotWordcloudAnimationOptions {
  104036. defer?: number;
  104037. }
  104038. /**
  104039. * (Highcharts) A word cloud is a visualization of a set of words, where the
  104040. * size and placement of a word is determined by how it is weighted.
  104041. *
  104042. * In TypeScript the type option must always be set.
  104043. *
  104044. * Configuration options for the series are given in three levels:
  104045. *
  104046. * 1. Options for all series in a chart are defined in the plotOptions.series
  104047. * object.
  104048. *
  104049. * 2. Options for all `wordcloud` series are defined in plotOptions.wordcloud.
  104050. *
  104051. * 3. Options for one single series are given in the series instance array. (see
  104052. * online documentation for example)
  104053. */
  104054. export interface PlotWordcloudOptions {
  104055. /**
  104056. * (Highcharts) Accessibility options for a series.
  104057. */
  104058. accessibility?: SeriesAccessibilityOptionsObject;
  104059. /**
  104060. * (Highcharts) If there is no space for a word on the playing field, then
  104061. * this option will allow the playing field to be extended to fit the word.
  104062. * If false then the word will be dropped from the visualization.
  104063. *
  104064. * NB! This option is currently not decided to be published in the API, and
  104065. * is therefore marked as private.
  104066. */
  104067. allowExtendPlayingField?: boolean;
  104068. /**
  104069. * (Highcharts) Allow this series' points to be selected by clicking on the
  104070. * graphic (columns, point markers, pie slices, map areas etc).
  104071. *
  104072. * The selected points can be handled by point select and unselect events,
  104073. * or collectively by the getSelectedPoints function.
  104074. *
  104075. * And alternative way of selecting points is through dragging.
  104076. */
  104077. allowPointSelect?: boolean;
  104078. /**
  104079. * (Highcharts) Enable or disable the initial animation when a series is
  104080. * displayed. The animation can also be set as a configuration object.
  104081. * Please note that this option only applies to the initial animation of the
  104082. * series itself. For other animations, see chart.animation and the
  104083. * animation parameter under the API methods. The following properties are
  104084. * supported:
  104085. *
  104086. * - `defer`: The animation delay time in milliseconds.
  104087. *
  104088. * - `duration`: The duration of the animation in milliseconds.
  104089. *
  104090. * - `easing`: Can be a string reference to an easing function set on the
  104091. * `Math` object or a function. See the _Custom easing function_ demo below.
  104092. *
  104093. * Due to poor performance, animation is disabled in old IE browsers for
  104094. * several chart types.
  104095. */
  104096. animation?: (boolean|PlotWordcloudAnimationOptions|Partial<AnimationOptionsObject>);
  104097. /**
  104098. * (Highcharts) For some series, there is a limit that shuts down initial
  104099. * animation by default when the total number of points in the chart is too
  104100. * high. For example, for a column chart and its derivatives, animation does
  104101. * not run if there is more than 250 points totally. To disable this cap,
  104102. * set `animationLimit` to `Infinity`.
  104103. */
  104104. animationLimit?: number;
  104105. /**
  104106. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  104107. * column or bar.
  104108. *
  104109. * In styled mode, the border stroke can be set with the `.highcharts-point`
  104110. * rule.
  104111. */
  104112. borderColor?: (ColorString|GradientColorObject|PatternObject);
  104113. /**
  104114. * (Highcharts, Highstock, Gantt) The corner radius of the border
  104115. * surrounding each column or bar.
  104116. */
  104117. borderRadius?: number;
  104118. /**
  104119. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  104120. * column or bar. Defaults to `1` when there is room for a border, but to
  104121. * `0` when the columns are so dense that a border would cover the next
  104122. * column.
  104123. *
  104124. * In styled mode, the stroke width can be set with the `.highcharts-point`
  104125. * rule.
  104126. */
  104127. borderWidth?: number;
  104128. /**
  104129. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  104130. * the category, ignoring null or missing points. When `false`, space will
  104131. * be reserved for null or missing points.
  104132. */
  104133. centerInCategory?: boolean;
  104134. /**
  104135. * (Highcharts) An additional class name to apply to the series' graphical
  104136. * elements. This option does not replace default class names of the
  104137. * graphical element.
  104138. */
  104139. className?: string;
  104140. clip?: boolean;
  104141. /**
  104142. * (Highcharts) The main color of the series. In line type series it applies
  104143. * to the line and the point markers unless otherwise specified. In bar type
  104144. * series it applies to the bars unless a color is specified per point. The
  104145. * default value is pulled from the `options.colors` array.
  104146. *
  104147. * In styled mode, the color can be defined by the colorIndex option. Also,
  104148. * the series color can be set with the `.highcharts-series`,
  104149. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  104150. * `.highcharts-series-{n}` class, or individual classes given by the
  104151. * `className` option.
  104152. */
  104153. color?: (ColorString|GradientColorObject|PatternObject);
  104154. /**
  104155. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  104156. * from the global colors or series-specific plotOptions.column.colors
  104157. * collections, this option determines whether the chart should receive one
  104158. * color per series or one color per point.
  104159. *
  104160. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  104161. * and instead this option gives the points individual color class names on
  104162. * the form `highcharts-color-{n}`.
  104163. */
  104164. colorByPoint?: boolean;
  104165. /**
  104166. * (Highcharts) Styled mode only. A specific color index to use for the
  104167. * series, so its graphic representations are given the class name
  104168. * `highcharts-color-{n}`.
  104169. */
  104170. colorIndex?: number;
  104171. /**
  104172. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  104173. * used to calculate point color if `colorAxis` is used. Requires to set
  104174. * `min` and `max` if some custom point property is used or if approximation
  104175. * for data grouping is set to `'sum'`.
  104176. */
  104177. colorKey?: string;
  104178. /**
  104179. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  104180. * color set to apply instead of the global colors when colorByPoint is
  104181. * true.
  104182. */
  104183. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  104184. /**
  104185. * (Highstock) Defines if comparison should start from the first point
  104186. * within the visible range or should start from the first point **before**
  104187. * the range.
  104188. *
  104189. * In other words, this flag determines if first point within the visible
  104190. * range will have 0% (`compareStart=true`) or should have been already
  104191. * calculated according to the previous point (`compareStart=false`).
  104192. */
  104193. compareStart?: boolean;
  104194. /**
  104195. * (Gantt) Override Pathfinder connector options for a series. Requires
  104196. * Highcharts Gantt to be loaded.
  104197. */
  104198. connectors?: SeriesConnectorsOptionsObject;
  104199. /**
  104200. * (Highcharts, Highstock, Gantt) When the series contains less points than
  104201. * the crop threshold, all points are drawn, event if the points fall
  104202. * outside the visible plot area at the current zoom. The advantage of
  104203. * drawing all points (including markers and columns), is that animation is
  104204. * performed on updates. On the other hand, when the series contains more
  104205. * points than the crop threshold, the series data is cropped to only
  104206. * contain points that fall within the plot area. The advantage of cropping
  104207. * away invisible points is to increase performance on large series.
  104208. */
  104209. cropThreshold?: number;
  104210. /**
  104211. * (Highcharts) You can set the cursor to "pointer" if you have click events
  104212. * attached to the series, to signal to the user that the points and lines
  104213. * can be clicked.
  104214. *
  104215. * In styled mode, the series cursor can be set with the same classes as
  104216. * listed under series.color.
  104217. */
  104218. cursor?: (string|CursorValue);
  104219. /**
  104220. * (Highcharts) A reserved subspace to store options and values for
  104221. * customized functionality. Here you can add additional data for your own
  104222. * event callbacks and formatter callbacks.
  104223. */
  104224. custom?: Dictionary<any>;
  104225. /**
  104226. * (Highcharts) Name of the dash style to use for the graph, or for some
  104227. * series types the outline of each shape.
  104228. *
  104229. * In styled mode, the stroke dash-array can be set with the same classes as
  104230. * listed under series.color.
  104231. */
  104232. dashStyle?: DashStyleValue;
  104233. /**
  104234. * (Highcharts) A description of the series to add to the screen reader
  104235. * information about the series.
  104236. */
  104237. description?: string;
  104238. /**
  104239. * (Highcharts) 3D columns only. The width of the colored edges.
  104240. */
  104241. edgeWidth?: number;
  104242. /**
  104243. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  104244. * This includes point tooltips and click events on graphs and points. For
  104245. * large datasets it improves performance.
  104246. */
  104247. enableMouseTracking?: boolean;
  104248. /**
  104249. * (Highcharts) General event handlers for the series items. These event
  104250. * hooks can also be attached to the series at run time using the
  104251. * `Highcharts.addEvent` function.
  104252. */
  104253. events?: SeriesEventsOptionsObject;
  104254. /**
  104255. * (Highcharts) When set to `false` will prevent the series data from being
  104256. * included in any form of data export.
  104257. *
  104258. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  104259. * `includeInCSVExport`.
  104260. */
  104261. includeInDataExport?: boolean;
  104262. /**
  104263. * (Highcharts) An array specifying which option maps to which key in the
  104264. * data point array. This makes it convenient to work with unstructured data
  104265. * arrays from different sources.
  104266. */
  104267. keys?: Array<string>;
  104268. /**
  104269. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  104270. * series as possible in a natural way, seeking to avoid other series. The
  104271. * goal of this feature is to make the chart more easily readable, like if a
  104272. * human designer placed the labels in the optimal position.
  104273. *
  104274. * The series labels currently work with series types having a `graph` or an
  104275. * `area`.
  104276. */
  104277. label?: SeriesLabelOptionsObject;
  104278. /**
  104279. * (Highstock) The line marks the last price from all points.
  104280. */
  104281. lastPrice?: SeriesLastPriceOptionsObject;
  104282. /**
  104283. * (Highstock) The line marks the last price from visible range of points.
  104284. */
  104285. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  104286. /**
  104287. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  104288. * Additionally, the value can be ":previous" to link to the previous
  104289. * series. When two series are linked, only the first one appears in the
  104290. * legend. Toggling the visibility of this also toggles the linked series.
  104291. *
  104292. * If master series uses data sorting and linked series does not have its
  104293. * own sorting definition, the linked series will be sorted in the same
  104294. * order as the master one.
  104295. */
  104296. linkedTo?: string;
  104297. /**
  104298. * (Highcharts) The word with the largest weight will have a font size equal
  104299. * to this value. The font size of a word is the ratio between its weight
  104300. * and the largest occuring weight, multiplied with the value of
  104301. * maxFontSize.
  104302. */
  104303. maxFontSize?: number;
  104304. /**
  104305. * (Highcharts) A threshold determining the minimum font size that can be
  104306. * applied to a word.
  104307. */
  104308. minFontSize?: number;
  104309. /**
  104310. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  104311. * dataLabels.
  104312. */
  104313. opacity?: number;
  104314. /**
  104315. * (Highcharts) This option decides which algorithm is used for placement,
  104316. * and rotation of a word. The choice of algorith is therefore a crucial
  104317. * part of the resulting layout of the wordcloud. It is possible for users
  104318. * to add their own custom placement strategies for use in word cloud. Read
  104319. * more about it in our documentation
  104320. */
  104321. placementStrategy?: string;
  104322. /**
  104323. * (Highcharts) Properties for each single point.
  104324. */
  104325. point?: PlotSeriesPointOptions;
  104326. /**
  104327. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  104328. * individual series. Overrides the chart wide configuration.
  104329. */
  104330. pointDescriptionFormatter?: Function;
  104331. /**
  104332. * (Highcharts) Rotation options for the words in the wordcloud.
  104333. */
  104334. rotation?: PlotWordcloudRotationOptions;
  104335. /**
  104336. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  104337. * true, the checkbox next to the series name in the legend will be checked
  104338. * for a selected series.
  104339. */
  104340. selected?: boolean;
  104341. /**
  104342. * (Highcharts) Whether to display this particular series or series type in
  104343. * the legend. Standalone series are shown in legend by default, and linked
  104344. * series are not. Since v7.2.0 it is possible to show series that use
  104345. * colorAxis by setting this option to `true`.
  104346. */
  104347. showInLegend?: boolean;
  104348. /**
  104349. * (Highcharts) If set to `true`, the accessibility module will skip past
  104350. * the points in this series for keyboard navigation.
  104351. */
  104352. skipKeyboardNavigation?: boolean;
  104353. /**
  104354. * (Highcharts) Spiral used for placing a word after the initial position
  104355. * experienced a collision with either another word or the borders. It is
  104356. * possible for users to add their own custom spiralling algorithms for use
  104357. * in word cloud. Read more about it in our documentation
  104358. */
  104359. spiral?: string;
  104360. states?: SeriesStatesOptionsObject;
  104361. /**
  104362. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  104363. * event on a series isn't triggered until the mouse moves over another
  104364. * series, or out of the plot area. When false, the `mouseOut` event on a
  104365. * series is triggered when the mouse leaves the area around the series'
  104366. * graph or markers. This also implies the tooltip when not shared. When
  104367. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  104368. * be hidden when moving the mouse between series. Defaults to true for line
  104369. * and area type series, but to false for columns, pies etc.
  104370. *
  104371. * **Note:** The boost module will force this option because of technical
  104372. * limitations.
  104373. */
  104374. stickyTracking?: boolean;
  104375. /**
  104376. * (Highcharts) CSS styles for the words.
  104377. */
  104378. style?: CSSObject;
  104379. /**
  104380. * (Highcharts) A configuration object for the tooltip rendering of each
  104381. * single series. Properties are inherited from tooltip, but only the
  104382. * following properties can be defined on a series level.
  104383. */
  104384. tooltip?: SeriesTooltipOptionsObject;
  104385. /**
  104386. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  104387. * is longer than this, only one dimensional arrays of numbers, or two
  104388. * dimensional arrays with x and y values are allowed. Also, only the first
  104389. * point is tested, and the rest are assumed to be the same format. This
  104390. * saves expensive data checking and indexing in long series. Set it to `0`
  104391. * disable.
  104392. *
  104393. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  104394. * two dimensional arrays are allowed.
  104395. */
  104396. turboThreshold?: number;
  104397. /**
  104398. * (Highcharts) Set the initial visibility of the series.
  104399. */
  104400. visible?: boolean;
  104401. /**
  104402. * (Highmaps) Define the z index of the series.
  104403. */
  104404. zIndex?: number;
  104405. }
  104406. /**
  104407. * (Highcharts) Rotation options for the words in the wordcloud.
  104408. */
  104409. export interface PlotWordcloudRotationOptions {
  104410. /**
  104411. * (Highcharts) The smallest degree of rotation for a word.
  104412. */
  104413. from?: number;
  104414. /**
  104415. * (Highcharts) The number of possible orientations for a word, within the
  104416. * range of `rotation.from` and `rotation.to`. Must be a number larger than
  104417. * 0.
  104418. */
  104419. orientations?: number;
  104420. /**
  104421. * (Highcharts) The largest degree of rotation for a word.
  104422. */
  104423. to?: number;
  104424. }
  104425. /**
  104426. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  104427. * series is displayed. The animation can also be set as a configuration object.
  104428. * Please note that this option only applies to the initial animation of the
  104429. * series itself. For other animations, see chart.animation and the animation
  104430. * parameter under the API methods. The following properties are supported:
  104431. *
  104432. * - `defer`: The animation delay time in milliseconds.
  104433. *
  104434. * - `duration`: The duration of the animation in milliseconds.
  104435. *
  104436. * - `easing`: Can be a string reference to an easing function set on the `Math`
  104437. * object or a function. See the _Custom easing function_ demo below.
  104438. *
  104439. * Due to poor performance, animation is disabled in old IE browsers for several
  104440. * chart types.
  104441. */
  104442. export interface PlotXrangeAnimationOptions {
  104443. defer?: number;
  104444. }
  104445. /**
  104446. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  104447. * animation when a series is displayed for the `dataLabels`. The animation can
  104448. * also be set as a configuration object. Please note that this option only
  104449. * applies to the initial animation. For other animations, see chart.animation
  104450. * and the animation parameter under the API methods. The following properties
  104451. * are supported:
  104452. *
  104453. * - `defer`: The animation delay time in milliseconds.
  104454. */
  104455. export interface PlotXrangeDataLabelsAnimationOptions {
  104456. /**
  104457. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  104458. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  104459. * inherits defer time from the series.animation.defer.
  104460. */
  104461. defer?: number;
  104462. }
  104463. /**
  104464. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  104465. * appearing next to each data point.
  104466. *
  104467. * Since v6.2.0, multiple data labels can be applied to each single point by
  104468. * defining them as an array of configs.
  104469. *
  104470. * In styled mode, the data labels can be styled with the
  104471. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  104472. * example).
  104473. */
  104474. export interface PlotXrangeDataLabelsOptions {
  104475. /**
  104476. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  104477. * compared to the point. If `right`, the right side of the label should be
  104478. * touching the point. For points with an extent, like columns, the
  104479. * alignments also dictates how to align it inside the box, as given with
  104480. * the inside option. Can be one of `left`, `center` or `right`.
  104481. */
  104482. align?: string;
  104483. /**
  104484. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  104485. * overlap. To make the labels less sensitive for overlapping, the
  104486. * dataLabels.padding can be set to 0.
  104487. */
  104488. allowOverlap?: boolean;
  104489. /**
  104490. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  104491. * animation when a series is displayed for the `dataLabels`. The animation
  104492. * can also be set as a configuration object. Please note that this option
  104493. * only applies to the initial animation. For other animations, see
  104494. * chart.animation and the animation parameter under the API methods. The
  104495. * following properties are supported:
  104496. *
  104497. * - `defer`: The animation delay time in milliseconds.
  104498. */
  104499. animation?: (boolean|PlotXrangeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  104500. /**
  104501. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  104502. * for the data label.
  104503. */
  104504. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  104505. /**
  104506. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  104507. * label. Defaults to `undefined`.
  104508. */
  104509. borderColor?: (ColorString|GradientColorObject|PatternObject);
  104510. /**
  104511. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  104512. * the data label.
  104513. */
  104514. borderRadius?: number;
  104515. /**
  104516. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  104517. * the data label.
  104518. */
  104519. borderWidth?: number;
  104520. /**
  104521. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  104522. * Particularly in styled mode, this can be used to give each series' or
  104523. * point's data label unique styling. In addition to this option, a default
  104524. * color class name is added so that we can give the labels a contrast text
  104525. * shadow.
  104526. */
  104527. className?: string;
  104528. /**
  104529. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  104530. * labels. Defaults to `undefined`. For certain series types, like column or
  104531. * map, the data labels can be drawn inside the points. In this case the
  104532. * data label will be drawn with maximum contrast by default. Additionally,
  104533. * it will be given a `text-outline` style with the opposite color, to
  104534. * further increase the contrast. This can be overridden by setting the
  104535. * `text-outline` style to `none` in the `dataLabels.style` option.
  104536. */
  104537. color?: (ColorString|GradientColorObject|PatternObject);
  104538. /**
  104539. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  104540. * are outside the plot area. By default, the data label is moved inside the
  104541. * plot area according to the overflow option.
  104542. */
  104543. crop?: boolean;
  104544. /**
  104545. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  104546. * labels until the initial series animation has finished. Setting to
  104547. * `false` renders the data label immediately. If set to `true` inherits the
  104548. * defer time set in plotOptions.series.animation. If set to a number, a
  104549. * defer time is specified in milliseconds.
  104550. */
  104551. defer?: (boolean|number);
  104552. /**
  104553. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  104554. * labels.
  104555. */
  104556. enabled?: boolean;
  104557. /**
  104558. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  104559. * of which data labels to display. The declarative filter is designed for
  104560. * use when callback functions are not available, like when the chart
  104561. * options require a pure JSON structure or for use with graphical editors.
  104562. * For programmatic control, use the `formatter` instead, and return
  104563. * `undefined` to disable a single data label.
  104564. */
  104565. filter?: DataLabelsFilterOptionsObject;
  104566. /**
  104567. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  104568. * label. Available variables are the same as for `formatter`.
  104569. */
  104570. format?: string;
  104571. /**
  104572. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  104573. * format the data label. Note that if a `format` is defined, the format
  104574. * takes precedence and the formatter is ignored.
  104575. */
  104576. formatter?: DataLabelsFormatterCallbackFunction;
  104577. /**
  104578. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  104579. * columns or map areas, whether to align the data label inside the box or
  104580. * to the actual value point. Defaults to `false` in most cases, `true` in
  104581. * stacked columns.
  104582. */
  104583. inside?: boolean;
  104584. /**
  104585. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  104586. * of null. Works analogously to format. `nullFormat` can be applied only to
  104587. * series which support displaying null points.
  104588. */
  104589. nullFormat?: (boolean|string);
  104590. /**
  104591. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  104592. * that defines formatting for points with the value of null. Works
  104593. * analogously to formatter. `nullPointFormatter` can be applied only to
  104594. * series which support displaying null points.
  104595. */
  104596. nullFormatter?: DataLabelsFormatterCallbackFunction;
  104597. /**
  104598. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  104599. * flow outside the plot area. The default is `"justify"`, which aligns them
  104600. * inside the plot area. For columns and bars, this means it will be moved
  104601. * inside the bar. To display data labels outside the plot area, set `crop`
  104602. * to `false` and `overflow` to `"allow"`.
  104603. */
  104604. overflow?: DataLabelsOverflowValue;
  104605. /**
  104606. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  104607. * the `backgroundColor` is set, this is the padding within the box.
  104608. */
  104609. padding?: number;
  104610. /**
  104611. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  104612. * points. If `center` alignment is not possible, it defaults to `right`.
  104613. */
  104614. position?: AlignValue;
  104615. /**
  104616. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  104617. * that due to a more complex structure, backgrounds, borders and padding
  104618. * will be lost on a rotated data label.
  104619. */
  104620. rotation?: number;
  104621. /**
  104622. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  104623. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  104624. * an object configuration containing `color`, `offsetX`, `offsetY`,
  104625. * `opacity` and `width`.
  104626. */
  104627. shadow?: (boolean|ShadowOptionsObject);
  104628. /**
  104629. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  104630. * the border around the label. Symbols are predefined functions on the
  104631. * Renderer object.
  104632. */
  104633. shape?: string;
  104634. /**
  104635. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  104636. * default `color` setting is `"contrast"`, which is a pseudo color that
  104637. * Highcharts picks up and applies the maximum contrast to the underlying
  104638. * point item, for example the bar in a bar chart.
  104639. *
  104640. * The `textOutline` is a pseudo property that applies an outline of the
  104641. * given width with the given color, which by default is the maximum
  104642. * contrast to the text. So a bright text color will result in a black text
  104643. * outline for maximum readability on a mixed background. In some cases,
  104644. * especially with grayscale text, the text outline doesn't work well, in
  104645. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  104646. * is true, the `textOutline` will not be picked up. In this, case, the same
  104647. * effect can be acheived through the `text-shadow` CSS property.
  104648. *
  104649. * For some series types, where each point has an extent, like for example
  104650. * tree maps, the data label may overflow the point. There are two
  104651. * strategies for handling overflow. By default, the text will wrap to
  104652. * multiple lines. The other strategy is to set `style.textOverflow` to
  104653. * `ellipsis`, which will keep the text on one line plus it will break
  104654. * inside long words.
  104655. */
  104656. style?: CSSObject;
  104657. /**
  104658. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  104659. * should follow marker's shape. Border and background are disabled for a
  104660. * label that follows a path.
  104661. *
  104662. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  104663. * to true will disable this option.
  104664. */
  104665. textPath?: DataLabelsTextPathOptionsObject;
  104666. /**
  104667. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  104668. * the labels.
  104669. */
  104670. useHTML?: boolean;
  104671. /**
  104672. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  104673. * label. Can be one of `top`, `middle` or `bottom`. The default value
  104674. * depends on the data, for instance in a column chart, the label is above
  104675. * positive values and below negative values.
  104676. */
  104677. verticalAlign?: string;
  104678. /**
  104679. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  104680. * label relative to the point in pixels.
  104681. */
  104682. x?: number;
  104683. /**
  104684. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  104685. * label relative to the point in pixels.
  104686. */
  104687. y?: number;
  104688. /**
  104689. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  104690. * The default Z index puts it above the series. Use a Z index of 2 to
  104691. * display it behind the series.
  104692. */
  104693. z?: number;
  104694. }
  104695. /**
  104696. * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide box
  104697. * has one state by default, the `default` state.
  104698. */
  104699. export interface PlotXrangeDragDropGuideBoxOptions {
  104700. /**
  104701. * (Highcharts, Highstock, Gantt) Style options for the guide box default
  104702. * state.
  104703. */
  104704. default?: DragDropGuideBoxOptionsObject;
  104705. }
  104706. /**
  104707. * (Highcharts, Highstock, Gantt) The X-range series displays ranges on the X
  104708. * axis, typically time intervals with a start and end date.
  104709. *
  104710. * In TypeScript the type option must always be set.
  104711. *
  104712. * Configuration options for the series are given in three levels:
  104713. *
  104714. * 1. Options for all series in a chart are defined in the plotOptions.series
  104715. * object.
  104716. *
  104717. * 2. Options for all `xrange` series are defined in plotOptions.xrange.
  104718. *
  104719. * 3. Options for one single series are given in the series instance array. (see
  104720. * online documentation for example)
  104721. */
  104722. export interface PlotXrangeOptions {
  104723. /**
  104724. * (Highcharts, Highstock, Gantt) Accessibility options for a series.
  104725. */
  104726. accessibility?: SeriesAccessibilityOptionsObject;
  104727. /**
  104728. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  104729. * rendered. If `true`, areas which don't correspond to a data point, are
  104730. * rendered as `null` points. If `false`, those areas are skipped.
  104731. */
  104732. allAreas?: boolean;
  104733. /**
  104734. * (Highcharts, Highstock, Gantt) Allow this series' points to be selected
  104735. * by clicking on the graphic (columns, point markers, pie slices, map areas
  104736. * etc).
  104737. *
  104738. * The selected points can be handled by point select and unselect events,
  104739. * or collectively by the getSelectedPoints function.
  104740. *
  104741. * And alternative way of selecting points is through dragging.
  104742. */
  104743. allowPointSelect?: boolean;
  104744. /**
  104745. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation
  104746. * when a series is displayed. The animation can also be set as a
  104747. * configuration object. Please note that this option only applies to the
  104748. * initial animation of the series itself. For other animations, see
  104749. * chart.animation and the animation parameter under the API methods. The
  104750. * following properties are supported:
  104751. *
  104752. * - `defer`: The animation delay time in milliseconds.
  104753. *
  104754. * - `duration`: The duration of the animation in milliseconds.
  104755. *
  104756. * - `easing`: Can be a string reference to an easing function set on the
  104757. * `Math` object or a function. See the _Custom easing function_ demo below.
  104758. *
  104759. * Due to poor performance, animation is disabled in old IE browsers for
  104760. * several chart types.
  104761. */
  104762. animation?: (boolean|PlotXrangeAnimationOptions|Partial<AnimationOptionsObject>);
  104763. /**
  104764. * (Highcharts, Highstock, Gantt) For some series, there is a limit that
  104765. * shuts down initial animation by default when the total number of points
  104766. * in the chart is too high. For example, for a column chart and its
  104767. * derivatives, animation does not run if there is more than 250 points
  104768. * totally. To disable this cap, set `animationLimit` to `Infinity`.
  104769. */
  104770. animationLimit?: number;
  104771. /**
  104772. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  104773. * column or bar.
  104774. *
  104775. * In styled mode, the border stroke can be set with the `.highcharts-point`
  104776. * rule.
  104777. */
  104778. borderColor?: (ColorString|GradientColorObject|PatternObject);
  104779. /**
  104780. * (Highcharts, Highstock, Gantt) The corner radius of the border
  104781. * surrounding each column or bar.
  104782. */
  104783. borderRadius?: number;
  104784. /**
  104785. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  104786. * column or bar. Defaults to `1` when there is room for a border, but to
  104787. * `0` when the columns are so dense that a border would cover the next
  104788. * column.
  104789. *
  104790. * In styled mode, the stroke width can be set with the `.highcharts-point`
  104791. * rule.
  104792. */
  104793. borderWidth?: number;
  104794. /**
  104795. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  104796. * the category, ignoring null or missing points. When `false`, space will
  104797. * be reserved for null or missing points.
  104798. */
  104799. centerInCategory?: boolean;
  104800. /**
  104801. * (Highcharts, Highstock, Gantt) An additional class name to apply to the
  104802. * series' graphical elements. This option does not replace default class
  104803. * names of the graphical element.
  104804. */
  104805. className?: string;
  104806. /**
  104807. * (Highcharts, Highstock, Gantt) Disable this option to allow series
  104808. * rendering in the whole plotting area.
  104809. *
  104810. * **Note:** Clipping should be always enabled when chart.zoomType is set
  104811. */
  104812. clip?: boolean;
  104813. /**
  104814. * (Highcharts, Highstock, Gantt) The main color of the series. In line type
  104815. * series it applies to the line and the point markers unless otherwise
  104816. * specified. In bar type series it applies to the bars unless a color is
  104817. * specified per point. The default value is pulled from the
  104818. * `options.colors` array.
  104819. *
  104820. * In styled mode, the color can be defined by the colorIndex option. Also,
  104821. * the series color can be set with the `.highcharts-series`,
  104822. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  104823. * `.highcharts-series-{n}` class, or individual classes given by the
  104824. * `className` option.
  104825. */
  104826. color?: (ColorString|GradientColorObject|PatternObject);
  104827. /**
  104828. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  104829. * this number defines which colorAxis the particular series is connected
  104830. * to. It refers to either the axis id or the index of the axis in the
  104831. * colorAxis array, with 0 being the first. Set this option to false to
  104832. * prevent a series from connecting to the default color axis.
  104833. *
  104834. * Since v7.2.0 the option can also be an axis id or an axis index instead
  104835. * of a boolean flag.
  104836. */
  104837. colorAxis?: (boolean|number|string);
  104838. /**
  104839. * (Highcharts, Highstock, Gantt) In an X-range series, this option makes
  104840. * all points of the same Y-axis category the same color.
  104841. */
  104842. colorByPoint?: boolean;
  104843. /**
  104844. * (Highcharts, Highstock, Gantt) Styled mode only. A specific color index
  104845. * to use for the series, so its graphic representations are given the class
  104846. * name `highcharts-color-{n}`.
  104847. */
  104848. colorIndex?: number;
  104849. /**
  104850. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  104851. * used to calculate point color if `colorAxis` is used. Requires to set
  104852. * `min` and `max` if some custom point property is used or if approximation
  104853. * for data grouping is set to `'sum'`.
  104854. */
  104855. colorKey?: string;
  104856. /**
  104857. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  104858. * color set to apply instead of the global colors when colorByPoint is
  104859. * true.
  104860. */
  104861. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  104862. /**
  104863. * (Highstock) Compare the values of the series against the first non-null,
  104864. * non- zero value in the visible range. The y axis will show percentage or
  104865. * absolute change depending on whether `compare` is set to `"percent"` or
  104866. * `"value"`. When this is applied to multiple series, it allows comparing
  104867. * the development of the series against each other. Adds a `change` field
  104868. * to every point object.
  104869. */
  104870. compare?: string;
  104871. /**
  104872. * (Highstock) When compare is `percent`, this option dictates whether to
  104873. * use 0 or 100 as the base of comparison.
  104874. */
  104875. compareBase?: (0|100);
  104876. /**
  104877. * (Highstock) Defines if comparison should start from the first point
  104878. * within the visible range or should start from the first point **before**
  104879. * the range.
  104880. *
  104881. * In other words, this flag determines if first point within the visible
  104882. * range will have 0% (`compareStart=true`) or should have been already
  104883. * calculated according to the previous point (`compareStart=false`).
  104884. */
  104885. compareStart?: boolean;
  104886. /**
  104887. * (Gantt) Override Pathfinder connector options for a series. Requires
  104888. * Highcharts Gantt to be loaded.
  104889. */
  104890. connectors?: SeriesConnectorsOptionsObject;
  104891. /**
  104892. * (Highcharts, Highstock, Gantt) You can set the cursor to "pointer" if you
  104893. * have click events attached to the series, to signal to the user that the
  104894. * points and lines can be clicked.
  104895. *
  104896. * In styled mode, the series cursor can be set with the same classes as
  104897. * listed under series.color.
  104898. */
  104899. cursor?: (string|CursorValue);
  104900. /**
  104901. * (Highcharts, Highstock, Gantt) A reserved subspace to store options and
  104902. * values for customized functionality. Here you can add additional data for
  104903. * your own event callbacks and formatter callbacks.
  104904. */
  104905. custom?: Dictionary<any>;
  104906. /**
  104907. * (Highcharts, Highstock, Gantt) Name of the dash style to use for the
  104908. * graph, or for some series types the outline of each shape.
  104909. *
  104910. * In styled mode, the stroke dash-array can be set with the same classes as
  104911. * listed under series.color.
  104912. */
  104913. dashStyle?: DashStyleValue;
  104914. /**
  104915. * (Highstock) Data grouping is the concept of sampling the data values into
  104916. * larger blocks in order to ease readability and increase performance of
  104917. * the JavaScript charts. Highcharts Stock by default applies data grouping
  104918. * when the points become closer than a certain pixel value, determined by
  104919. * the `groupPixelWidth` option.
  104920. *
  104921. * If data grouping is applied, the grouping information of grouped points
  104922. * can be read from the Point.dataGroup. If point options other than the
  104923. * data itself are set, for example `name` or `color` or custom properties,
  104924. * the grouping logic doesn't know how to group it. In this case the options
  104925. * of the first point instance are copied over to the group point. This can
  104926. * be altered through a custom `approximation` callback function.
  104927. */
  104928. dataGrouping?: DataGroupingOptionsObject;
  104929. /**
  104930. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  104931. * labels, appearing next to each data point.
  104932. *
  104933. * Since v6.2.0, multiple data labels can be applied to each single point by
  104934. * defining them as an array of configs.
  104935. *
  104936. * In styled mode, the data labels can be styled with the
  104937. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  104938. * (see example).
  104939. */
  104940. dataLabels?: (PlotXrangeDataLabelsOptions|Array<PlotXrangeDataLabelsOptions>);
  104941. /**
  104942. * (Highcharts, Highstock, Gantt) A description of the series to add to the
  104943. * screen reader information about the series.
  104944. */
  104945. description?: string;
  104946. /**
  104947. * (Highcharts, Highstock, Gantt) The draggable-points module allows points
  104948. * to be moved around or modified in the chart. In addition to the options
  104949. * mentioned under the `dragDrop` API structure, the module fires three
  104950. * events, point.dragStart, point.drag and point.drop.
  104951. */
  104952. dragDrop?: SeriesDragDropOptionsObject;
  104953. /**
  104954. * (Highcharts, Highstock, Gantt) Enable or disable the mouse tracking for a
  104955. * specific series. This includes point tooltips and click events on graphs
  104956. * and points. For large datasets it improves performance.
  104957. */
  104958. enableMouseTracking?: boolean;
  104959. /**
  104960. * (Highcharts, Highstock, Gantt) General event handlers for the series
  104961. * items. These event hooks can also be attached to the series at run time
  104962. * using the `Highcharts.addEvent` function.
  104963. */
  104964. events?: SeriesEventsOptionsObject;
  104965. /**
  104966. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  104967. * let them render independent of each other. Non-grouped columns will be
  104968. * laid out individually and overlap each other.
  104969. */
  104970. grouping?: boolean;
  104971. /**
  104972. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  104973. * axis units.
  104974. */
  104975. groupPadding?: number;
  104976. /**
  104977. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  104978. */
  104979. groupZPadding?: number;
  104980. /**
  104981. * (Highcharts, Highstock, Gantt) When set to `false` will prevent the
  104982. * series data from being included in any form of data export.
  104983. *
  104984. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  104985. * `includeInCSVExport`.
  104986. */
  104987. includeInDataExport?: boolean;
  104988. /**
  104989. * (Highmaps) What property to join the `mapData` to the value data. For
  104990. * example, if joinBy is "code", the mapData items with a specific code is
  104991. * merged into the data with the same code. For maps loaded from GeoJSON,
  104992. * the keys may be held in each point's `properties` object.
  104993. *
  104994. * The joinBy option can also be an array of two values, where the first
  104995. * points to a key in the `mapData`, and the second points to another key in
  104996. * the `data`.
  104997. *
  104998. * When joinBy is `null`, the map items are joined by their position in the
  104999. * array, which performs much better in maps with many data points. This is
  105000. * the recommended option if you are printing more than a thousand data
  105001. * points and have a backend that can preprocess the data into a parallel
  105002. * array of the mapData.
  105003. */
  105004. joinBy?: (string|Array<string>);
  105005. /**
  105006. * (Highcharts, Highstock, Gantt) An array specifying which option maps to
  105007. * which key in the data point array. This makes it convenient to work with
  105008. * unstructured data arrays from different sources.
  105009. */
  105010. keys?: Array<string>;
  105011. /**
  105012. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  105013. * series as possible in a natural way, seeking to avoid other series. The
  105014. * goal of this feature is to make the chart more easily readable, like if a
  105015. * human designer placed the labels in the optimal position.
  105016. *
  105017. * The series labels currently work with series types having a `graph` or an
  105018. * `area`.
  105019. */
  105020. label?: SeriesLabelOptionsObject;
  105021. /**
  105022. * (Highstock) The line marks the last price from all points.
  105023. */
  105024. lastPrice?: SeriesLastPriceOptionsObject;
  105025. /**
  105026. * (Highstock) The line marks the last price from visible range of points.
  105027. */
  105028. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  105029. /**
  105030. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  105031. * Additionally, the value can be ":previous" to link to the previous
  105032. * series. When two series are linked, only the first one appears in the
  105033. * legend. Toggling the visibility of this also toggles the linked series.
  105034. *
  105035. * If master series uses data sorting and linked series does not have its
  105036. * own sorting definition, the linked series will be sorted in the same
  105037. * order as the master one.
  105038. */
  105039. linkedTo?: string;
  105040. /**
  105041. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  105042. * column, translated to the height of a bar in a bar chart. This prevents
  105043. * the columns from becoming too wide when there is a small number of points
  105044. * in the chart.
  105045. */
  105046. maxPointWidth?: number;
  105047. /**
  105048. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  105049. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  105050. * to zero) point, set the minimal point length to a pixel value like 3\. In
  105051. * stacked column charts, minPointLength might not be respected for tightly
  105052. * packed values.
  105053. */
  105054. minPointLength?: number;
  105055. /**
  105056. * (Highstock) Options for the corresponding navigator series if
  105057. * `showInNavigator` is `true` for this series. Available options are the
  105058. * same as any series, documented at plotOptions and series.
  105059. *
  105060. * These options are merged with options in navigator.series, and will take
  105061. * precedence if the same option is defined both places.
  105062. */
  105063. navigatorOptions?: PlotSeriesOptions;
  105064. /**
  105065. * (Highcharts, Highstock, Gantt) Opacity of a series parts: line, fill
  105066. * (e.g. area) and dataLabels.
  105067. */
  105068. opacity?: number;
  105069. /**
  105070. * (Highcharts, Highstock, Gantt) A partial fill for each point, typically
  105071. * used to visualize how much of a task is performed. The partial fill
  105072. * object can be set either on series or point level.
  105073. */
  105074. partialFill?: PlotXrangePartialFillOptions;
  105075. /**
  105076. * (Highcharts, Highstock, Gantt) Properties for each single point.
  105077. */
  105078. point?: PlotSeriesPointOptions;
  105079. /**
  105080. * (Highcharts, Highstock, Gantt) Same as
  105081. * accessibility.pointDescriptionFormatter, but for an individual series.
  105082. * Overrides the chart wide configuration.
  105083. */
  105084. pointDescriptionFormatter?: Function;
  105085. /**
  105086. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  105087. * axis units.
  105088. */
  105089. pointPadding?: number;
  105090. pointRange?: number;
  105091. /**
  105092. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  105093. * each column or bar point. When set to `undefined`, the width is
  105094. * calculated from the `pointPadding` and `groupPadding`. The width effects
  105095. * the dimension that is not based on the point value. For column series it
  105096. * is the hoizontal length and for bar series it is the vertical length.
  105097. */
  105098. pointWidth?: number;
  105099. /**
  105100. * (Highcharts, Highstock, Gantt) Whether to select the series initially. If
  105101. * `showCheckbox` is true, the checkbox next to the series name in the
  105102. * legend will be checked for a selected series.
  105103. */
  105104. selected?: boolean;
  105105. /**
  105106. * (Highcharts, Highstock, Gantt) Whether to apply a drop shadow to the
  105107. * graph line. Since 2.3 the shadow can be an object configuration
  105108. * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  105109. */
  105110. shadow?: (boolean|ShadowOptionsObject);
  105111. /**
  105112. * (Highcharts, Highstock, Gantt) If true, a checkbox is displayed next to
  105113. * the legend item to allow selecting the series. The state of the checkbox
  105114. * is determined by the `selected` option.
  105115. */
  105116. showCheckbox?: boolean;
  105117. /**
  105118. * (Highcharts, Highstock, Gantt) Whether to display this particular series
  105119. * or series type in the legend. Standalone series are shown in legend by
  105120. * default, and linked series are not. Since v7.2.0 it is possible to show
  105121. * series that use colorAxis by setting this option to `true`.
  105122. */
  105123. showInLegend?: boolean;
  105124. /**
  105125. * (Highstock) Whether or not to show the series in the navigator. Takes
  105126. * precedence over navigator.baseSeries if defined.
  105127. */
  105128. showInNavigator?: boolean;
  105129. /**
  105130. * (Highcharts, Highstock, Gantt) If set to `true`, the accessibility module
  105131. * will skip past the points in this series for keyboard navigation.
  105132. */
  105133. skipKeyboardNavigation?: boolean;
  105134. states?: SeriesStatesOptionsObject;
  105135. /**
  105136. * (Highcharts, Highstock, Gantt) Sticky tracking of mouse events. When
  105137. * true, the `mouseOut` event on a series isn't triggered until the mouse
  105138. * moves over another series, or out of the plot area. When false, the
  105139. * `mouseOut` event on a series is triggered when the mouse leaves the area
  105140. * around the series' graph or markers. This also implies the tooltip when
  105141. * not shared. When `stickyTracking` is false and `tooltip.shared` is false,
  105142. * the tooltip will be hidden when moving the mouse between series. Defaults
  105143. * to true for line and area type series, but to false for columns, pies
  105144. * etc.
  105145. *
  105146. * **Note:** The boost module will force this option because of technical
  105147. * limitations.
  105148. */
  105149. stickyTracking?: boolean;
  105150. /**
  105151. * (Highcharts, Highstock, Gantt) A configuration object for the tooltip
  105152. * rendering of each single series. Properties are inherited from tooltip,
  105153. * but only the following properties can be defined on a series level.
  105154. */
  105155. tooltip?: SeriesTooltipOptionsObject;
  105156. /**
  105157. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  105158. * is longer than this, only one dimensional arrays of numbers, or two
  105159. * dimensional arrays with x and y values are allowed. Also, only the first
  105160. * point is tested, and the rest are assumed to be the same format. This
  105161. * saves expensive data checking and indexing in long series. Set it to `0`
  105162. * disable.
  105163. *
  105164. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  105165. * two dimensional arrays are allowed.
  105166. */
  105167. turboThreshold?: number;
  105168. /**
  105169. * (Highcharts, Highstock, Gantt) Set the initial visibility of the series.
  105170. */
  105171. visible?: boolean;
  105172. /**
  105173. * (Highmaps) Define the z index of the series.
  105174. */
  105175. zIndex?: number;
  105176. /**
  105177. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  105178. */
  105179. zoneAxis?: string;
  105180. /**
  105181. * (Highcharts, Highstock) An array defining zones within a series. Zones
  105182. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  105183. * the `zoneAxis` option. The zone definitions have to be in ascending order
  105184. * regarding to the value.
  105185. *
  105186. * In styled mode, the color zones are styled with the
  105187. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  105188. * option (view live demo).
  105189. */
  105190. zones?: Array<SeriesZonesOptionsObject>;
  105191. }
  105192. /**
  105193. * (Highcharts, Highstock, Gantt) A partial fill for each point, typically used
  105194. * to visualize how much of a task is performed. The partial fill object can be
  105195. * set either on series or point level.
  105196. */
  105197. export interface PlotXrangePartialFillOptions {
  105198. /**
  105199. * (Highcharts, Highstock, Gantt) The fill color to be used for partial
  105200. * fills. Defaults to a darker shade of the point color.
  105201. */
  105202. fill?: (ColorString|GradientColorObject|PatternObject);
  105203. }
  105204. /**
  105205. * (Highstock) Enable or disable the initial animation when a series is
  105206. * displayed. The animation can also be set as a configuration object. Please
  105207. * note that this option only applies to the initial animation of the series
  105208. * itself. For other animations, see chart.animation and the animation parameter
  105209. * under the API methods. The following properties are supported:
  105210. *
  105211. * - `defer`: The animation delay time in milliseconds.
  105212. *
  105213. * - `duration`: The duration of the animation in milliseconds.
  105214. *
  105215. * - `easing`: Can be a string reference to an easing function set on the `Math`
  105216. * object or a function. See the _Custom easing function_ demo below.
  105217. *
  105218. * Due to poor performance, animation is disabled in old IE browsers for several
  105219. * chart types.
  105220. */
  105221. export interface PlotZigzagAnimationOptions {
  105222. defer?: number;
  105223. }
  105224. /**
  105225. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  105226. * animation when a series is displayed for the `dataLabels`. The animation can
  105227. * also be set as a configuration object. Please note that this option only
  105228. * applies to the initial animation. For other animations, see chart.animation
  105229. * and the animation parameter under the API methods. The following properties
  105230. * are supported:
  105231. *
  105232. * - `defer`: The animation delay time in milliseconds.
  105233. */
  105234. export interface PlotZigzagDataLabelsAnimationOptions {
  105235. /**
  105236. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  105237. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  105238. * inherits defer time from the series.animation.defer.
  105239. */
  105240. defer?: number;
  105241. }
  105242. /**
  105243. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  105244. * appearing next to each data point.
  105245. *
  105246. * Since v6.2.0, multiple data labels can be applied to each single point by
  105247. * defining them as an array of configs.
  105248. *
  105249. * In styled mode, the data labels can be styled with the
  105250. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  105251. * example).
  105252. */
  105253. export interface PlotZigzagDataLabelsOptions {
  105254. /**
  105255. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  105256. * compared to the point. If `right`, the right side of the label should be
  105257. * touching the point. For points with an extent, like columns, the
  105258. * alignments also dictates how to align it inside the box, as given with
  105259. * the inside option. Can be one of `left`, `center` or `right`.
  105260. */
  105261. align?: (AlignValue|null);
  105262. /**
  105263. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  105264. * overlap. To make the labels less sensitive for overlapping, the
  105265. * dataLabels.padding can be set to 0.
  105266. */
  105267. allowOverlap?: boolean;
  105268. /**
  105269. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  105270. * animation when a series is displayed for the `dataLabels`. The animation
  105271. * can also be set as a configuration object. Please note that this option
  105272. * only applies to the initial animation. For other animations, see
  105273. * chart.animation and the animation parameter under the API methods. The
  105274. * following properties are supported:
  105275. *
  105276. * - `defer`: The animation delay time in milliseconds.
  105277. */
  105278. animation?: (boolean|PlotZigzagDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  105279. /**
  105280. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  105281. * for the data label.
  105282. */
  105283. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  105284. /**
  105285. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  105286. * label. Defaults to `undefined`.
  105287. */
  105288. borderColor?: (ColorString|GradientColorObject|PatternObject);
  105289. /**
  105290. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  105291. * the data label.
  105292. */
  105293. borderRadius?: number;
  105294. /**
  105295. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  105296. * the data label.
  105297. */
  105298. borderWidth?: number;
  105299. /**
  105300. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  105301. * Particularly in styled mode, this can be used to give each series' or
  105302. * point's data label unique styling. In addition to this option, a default
  105303. * color class name is added so that we can give the labels a contrast text
  105304. * shadow.
  105305. */
  105306. className?: string;
  105307. /**
  105308. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  105309. * labels. Defaults to `undefined`. For certain series types, like column or
  105310. * map, the data labels can be drawn inside the points. In this case the
  105311. * data label will be drawn with maximum contrast by default. Additionally,
  105312. * it will be given a `text-outline` style with the opposite color, to
  105313. * further increase the contrast. This can be overridden by setting the
  105314. * `text-outline` style to `none` in the `dataLabels.style` option.
  105315. */
  105316. color?: (ColorString|GradientColorObject|PatternObject);
  105317. /**
  105318. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  105319. * are outside the plot area. By default, the data label is moved inside the
  105320. * plot area according to the overflow option.
  105321. */
  105322. crop?: boolean;
  105323. /**
  105324. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  105325. * labels until the initial series animation has finished. Setting to
  105326. * `false` renders the data label immediately. If set to `true` inherits the
  105327. * defer time set in plotOptions.series.animation. If set to a number, a
  105328. * defer time is specified in milliseconds.
  105329. */
  105330. defer?: (boolean|number);
  105331. /**
  105332. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  105333. * labels.
  105334. */
  105335. enabled?: boolean;
  105336. /**
  105337. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  105338. * of which data labels to display. The declarative filter is designed for
  105339. * use when callback functions are not available, like when the chart
  105340. * options require a pure JSON structure or for use with graphical editors.
  105341. * For programmatic control, use the `formatter` instead, and return
  105342. * `undefined` to disable a single data label.
  105343. */
  105344. filter?: DataLabelsFilterOptionsObject;
  105345. /**
  105346. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  105347. * label. Available variables are the same as for `formatter`.
  105348. */
  105349. format?: string;
  105350. /**
  105351. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  105352. * format the data label. Note that if a `format` is defined, the format
  105353. * takes precedence and the formatter is ignored.
  105354. */
  105355. formatter?: DataLabelsFormatterCallbackFunction;
  105356. /**
  105357. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  105358. * columns or map areas, whether to align the data label inside the box or
  105359. * to the actual value point. Defaults to `false` in most cases, `true` in
  105360. * stacked columns.
  105361. */
  105362. inside?: boolean;
  105363. /**
  105364. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  105365. * of null. Works analogously to format. `nullFormat` can be applied only to
  105366. * series which support displaying null points.
  105367. */
  105368. nullFormat?: (boolean|string);
  105369. /**
  105370. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  105371. * that defines formatting for points with the value of null. Works
  105372. * analogously to formatter. `nullPointFormatter` can be applied only to
  105373. * series which support displaying null points.
  105374. */
  105375. nullFormatter?: DataLabelsFormatterCallbackFunction;
  105376. /**
  105377. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  105378. * flow outside the plot area. The default is `"justify"`, which aligns them
  105379. * inside the plot area. For columns and bars, this means it will be moved
  105380. * inside the bar. To display data labels outside the plot area, set `crop`
  105381. * to `false` and `overflow` to `"allow"`.
  105382. */
  105383. overflow?: DataLabelsOverflowValue;
  105384. /**
  105385. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  105386. * the `backgroundColor` is set, this is the padding within the box.
  105387. */
  105388. padding?: number;
  105389. /**
  105390. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  105391. * points. If `center` alignment is not possible, it defaults to `right`.
  105392. */
  105393. position?: AlignValue;
  105394. /**
  105395. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  105396. * that due to a more complex structure, backgrounds, borders and padding
  105397. * will be lost on a rotated data label.
  105398. */
  105399. rotation?: number;
  105400. /**
  105401. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  105402. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  105403. * an object configuration containing `color`, `offsetX`, `offsetY`,
  105404. * `opacity` and `width`.
  105405. */
  105406. shadow?: (boolean|ShadowOptionsObject);
  105407. /**
  105408. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  105409. * the border around the label. Symbols are predefined functions on the
  105410. * Renderer object.
  105411. */
  105412. shape?: string;
  105413. /**
  105414. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  105415. * default `color` setting is `"contrast"`, which is a pseudo color that
  105416. * Highcharts picks up and applies the maximum contrast to the underlying
  105417. * point item, for example the bar in a bar chart.
  105418. *
  105419. * The `textOutline` is a pseudo property that applies an outline of the
  105420. * given width with the given color, which by default is the maximum
  105421. * contrast to the text. So a bright text color will result in a black text
  105422. * outline for maximum readability on a mixed background. In some cases,
  105423. * especially with grayscale text, the text outline doesn't work well, in
  105424. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  105425. * is true, the `textOutline` will not be picked up. In this, case, the same
  105426. * effect can be acheived through the `text-shadow` CSS property.
  105427. *
  105428. * For some series types, where each point has an extent, like for example
  105429. * tree maps, the data label may overflow the point. There are two
  105430. * strategies for handling overflow. By default, the text will wrap to
  105431. * multiple lines. The other strategy is to set `style.textOverflow` to
  105432. * `ellipsis`, which will keep the text on one line plus it will break
  105433. * inside long words.
  105434. */
  105435. style?: CSSObject;
  105436. /**
  105437. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  105438. * should follow marker's shape. Border and background are disabled for a
  105439. * label that follows a path.
  105440. *
  105441. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  105442. * to true will disable this option.
  105443. */
  105444. textPath?: DataLabelsTextPathOptionsObject;
  105445. /**
  105446. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  105447. * the labels.
  105448. */
  105449. useHTML?: boolean;
  105450. /**
  105451. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  105452. * label. Can be one of `top`, `middle` or `bottom`. The default value
  105453. * depends on the data, for instance in a column chart, the label is above
  105454. * positive values and below negative values.
  105455. */
  105456. verticalAlign?: (VerticalAlignValue|null);
  105457. /**
  105458. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  105459. * label relative to the point in pixels.
  105460. */
  105461. x?: number;
  105462. /**
  105463. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  105464. * label relative to the point in pixels.
  105465. */
  105466. y?: number;
  105467. /**
  105468. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  105469. * The default Z index puts it above the series. Use a Z index of 2 to
  105470. * display it behind the series.
  105471. */
  105472. z?: number;
  105473. }
  105474. /**
  105475. * (Highcharts, Highstock) Options for the series data sorting.
  105476. */
  105477. export interface PlotZigzagDataSortingOptions {
  105478. /**
  105479. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  105480. * Use xAxis.reversed to change the sorting order.
  105481. */
  105482. enabled?: boolean;
  105483. /**
  105484. * (Highcharts, Highstock) Whether to allow matching points by name in an
  105485. * update. If this option is disabled, points will be matched by order.
  105486. */
  105487. matchByName?: boolean;
  105488. /**
  105489. * (Highcharts, Highstock) Determines what data value should be used to sort
  105490. * by.
  105491. */
  105492. sortKey?: string;
  105493. }
  105494. /**
  105495. * (Highstock) Zig Zag indicator.
  105496. *
  105497. * This series requires `linkedTo` option to be set.
  105498. *
  105499. * In TypeScript the type option must always be set.
  105500. *
  105501. * Configuration options for the series are given in three levels:
  105502. *
  105503. * 1. Options for all series in a chart are defined in the plotOptions.series
  105504. * object.
  105505. *
  105506. * 2. Options for all `zigzag` series are defined in plotOptions.zigzag.
  105507. *
  105508. * 3. Options for one single series are given in the series instance array. (see
  105509. * online documentation for example)
  105510. */
  105511. export interface PlotZigzagOptions {
  105512. /**
  105513. * (Highstock) Accessibility options for a series.
  105514. */
  105515. accessibility?: SeriesAccessibilityOptionsObject;
  105516. /**
  105517. * (Highstock) Allow this series' points to be selected by clicking on the
  105518. * graphic (columns, point markers, pie slices, map areas etc).
  105519. *
  105520. * The selected points can be handled by point select and unselect events,
  105521. * or collectively by the getSelectedPoints function.
  105522. *
  105523. * And alternative way of selecting points is through dragging.
  105524. */
  105525. allowPointSelect?: boolean;
  105526. /**
  105527. * (Highstock) Enable or disable the initial animation when a series is
  105528. * displayed. The animation can also be set as a configuration object.
  105529. * Please note that this option only applies to the initial animation of the
  105530. * series itself. For other animations, see chart.animation and the
  105531. * animation parameter under the API methods. The following properties are
  105532. * supported:
  105533. *
  105534. * - `defer`: The animation delay time in milliseconds.
  105535. *
  105536. * - `duration`: The duration of the animation in milliseconds.
  105537. *
  105538. * - `easing`: Can be a string reference to an easing function set on the
  105539. * `Math` object or a function. See the _Custom easing function_ demo below.
  105540. *
  105541. * Due to poor performance, animation is disabled in old IE browsers for
  105542. * several chart types.
  105543. */
  105544. animation?: (boolean|PlotZigzagAnimationOptions|Partial<AnimationOptionsObject>);
  105545. /**
  105546. * (Highstock) For some series, there is a limit that shuts down initial
  105547. * animation by default when the total number of points in the chart is too
  105548. * high. For example, for a column chart and its derivatives, animation does
  105549. * not run if there is more than 250 points totally. To disable this cap,
  105550. * set `animationLimit` to `Infinity`.
  105551. */
  105552. animationLimit?: number;
  105553. /**
  105554. * (Highstock) Sets the color blending in the boost module.
  105555. */
  105556. boostBlending?: OptionsBoostBlendingValue;
  105557. /**
  105558. * (Highstock) Set the point threshold for when a series should enter boost
  105559. * mode.
  105560. *
  105561. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  105562. * there are 2000 or more points in the series.
  105563. *
  105564. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  105565. * it to 1 will force boosting.
  105566. *
  105567. * Note that the cropThreshold also affects this setting. When zooming in on
  105568. * a series that has fewer points than the `cropThreshold`, all points are
  105569. * rendered although outside the visible plot area, and the `boostThreshold`
  105570. * won't take effect.
  105571. */
  105572. boostThreshold?: number;
  105573. /**
  105574. * (Highmaps) The border color of the map areas.
  105575. *
  105576. * In styled mode, the border stroke is given in the `.highcharts-point`
  105577. * class.
  105578. */
  105579. borderColor?: (ColorString|GradientColorObject|PatternObject);
  105580. /**
  105581. * (Highmaps) The border width of each map area.
  105582. *
  105583. * In styled mode, the border stroke width is given in the
  105584. * `.highcharts-point` class.
  105585. */
  105586. borderWidth?: number;
  105587. /**
  105588. * (Highstock) An additional class name to apply to the series' graphical
  105589. * elements. This option does not replace default class names of the
  105590. * graphical element.
  105591. */
  105592. className?: string;
  105593. /**
  105594. * (Highstock) Disable this option to allow series rendering in the whole
  105595. * plotting area.
  105596. *
  105597. * **Note:** Clipping should be always enabled when chart.zoomType is set
  105598. */
  105599. clip?: boolean;
  105600. /**
  105601. * (Highstock) The main color of the series. In line type series it applies
  105602. * to the line and the point markers unless otherwise specified. In bar type
  105603. * series it applies to the bars unless a color is specified per point. The
  105604. * default value is pulled from the `options.colors` array.
  105605. *
  105606. * In styled mode, the color can be defined by the colorIndex option. Also,
  105607. * the series color can be set with the `.highcharts-series`,
  105608. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  105609. * `.highcharts-series-{n}` class, or individual classes given by the
  105610. * `className` option.
  105611. */
  105612. color?: (ColorString|GradientColorObject|PatternObject);
  105613. /**
  105614. * (Highstock) Styled mode only. A specific color index to use for the
  105615. * series, so its graphic representations are given the class name
  105616. * `highcharts-color-{n}`.
  105617. */
  105618. colorIndex?: number;
  105619. /**
  105620. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  105621. * used to calculate point color if `colorAxis` is used. Requires to set
  105622. * `min` and `max` if some custom point property is used or if approximation
  105623. * for data grouping is set to `'sum'`.
  105624. */
  105625. colorKey?: string;
  105626. /**
  105627. * (Highstock) Compare the values of the series against the first non-null,
  105628. * non- zero value in the visible range. The y axis will show percentage or
  105629. * absolute change depending on whether `compare` is set to `"percent"` or
  105630. * `"value"`. When this is applied to multiple series, it allows comparing
  105631. * the development of the series against each other. Adds a `change` field
  105632. * to every point object.
  105633. */
  105634. compare?: string;
  105635. /**
  105636. * (Highstock) When compare is `percent`, this option dictates whether to
  105637. * use 0 or 100 as the base of comparison.
  105638. */
  105639. compareBase?: (0|100);
  105640. /**
  105641. * (Highstock) Defines if comparison should start from the first point
  105642. * within the visible range or should start from the first point **before**
  105643. * the range.
  105644. *
  105645. * In other words, this flag determines if first point within the visible
  105646. * range will have 0% (`compareStart=true`) or should have been already
  105647. * calculated according to the previous point (`compareStart=false`).
  105648. */
  105649. compareStart?: boolean;
  105650. /**
  105651. * (Highstock) Whether to compare indicator to the main series values or
  105652. * indicator values.
  105653. */
  105654. compareToMain?: boolean;
  105655. /**
  105656. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  105657. * series plot across the extremes.
  105658. */
  105659. connectEnds?: boolean;
  105660. /**
  105661. * (Highcharts, Highstock) Whether to connect a graph line across null
  105662. * points, or render a gap between the two points on either side of the
  105663. * null.
  105664. */
  105665. connectNulls?: boolean;
  105666. /**
  105667. * (Gantt) Override Pathfinder connector options for a series. Requires
  105668. * Highcharts Gantt to be loaded.
  105669. */
  105670. connectors?: SeriesConnectorsOptionsObject;
  105671. /**
  105672. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  105673. * rounded to its nearest pixel in order to render sharp on screen. In some
  105674. * cases, when there are a lot of densely packed columns, this leads to
  105675. * visible difference in column widths or distance between columns. In these
  105676. * cases, setting `crisp` to `false` may look better, even though each
  105677. * column is rendered blurry.
  105678. */
  105679. crisp?: boolean;
  105680. /**
  105681. * (Highcharts, Highstock) When the series contains less points than the
  105682. * crop threshold, all points are drawn, even if the points fall outside the
  105683. * visible plot area at the current zoom. The advantage of drawing all
  105684. * points (including markers and columns), is that animation is performed on
  105685. * updates. On the other hand, when the series contains more points than the
  105686. * crop threshold, the series data is cropped to only contain points that
  105687. * fall within the plot area. The advantage of cropping away invisible
  105688. * points is to increase performance on large series.
  105689. */
  105690. cropThreshold?: number;
  105691. /**
  105692. * (Highstock) You can set the cursor to "pointer" if you have click events
  105693. * attached to the series, to signal to the user that the points and lines
  105694. * can be clicked.
  105695. *
  105696. * In styled mode, the series cursor can be set with the same classes as
  105697. * listed under series.color.
  105698. */
  105699. cursor?: (string|CursorValue);
  105700. /**
  105701. * (Highstock) A reserved subspace to store options and values for
  105702. * customized functionality. Here you can add additional data for your own
  105703. * event callbacks and formatter callbacks.
  105704. */
  105705. custom?: Dictionary<any>;
  105706. /**
  105707. * (Highstock) Name of the dash style to use for the graph, or for some
  105708. * series types the outline of each shape.
  105709. *
  105710. * In styled mode, the stroke dash-array can be set with the same classes as
  105711. * listed under series.color.
  105712. */
  105713. dashStyle?: DashStyleValue;
  105714. /**
  105715. * (Highstock) Data grouping is the concept of sampling the data values into
  105716. * larger blocks in order to ease readability and increase performance of
  105717. * the JavaScript charts. Highcharts Stock by default applies data grouping
  105718. * when the points become closer than a certain pixel value, determined by
  105719. * the `groupPixelWidth` option.
  105720. *
  105721. * If data grouping is applied, the grouping information of grouped points
  105722. * can be read from the Point.dataGroup. If point options other than the
  105723. * data itself are set, for example `name` or `color` or custom properties,
  105724. * the grouping logic doesn't know how to group it. In this case the options
  105725. * of the first point instance are copied over to the group point. This can
  105726. * be altered through a custom `approximation` callback function.
  105727. */
  105728. dataGrouping?: DataGroupingOptionsObject;
  105729. /**
  105730. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  105731. * labels, appearing next to each data point.
  105732. *
  105733. * Since v6.2.0, multiple data labels can be applied to each single point by
  105734. * defining them as an array of configs.
  105735. *
  105736. * In styled mode, the data labels can be styled with the
  105737. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  105738. * (see example).
  105739. */
  105740. dataLabels?: (PlotZigzagDataLabelsOptions|Array<PlotZigzagDataLabelsOptions>);
  105741. /**
  105742. * (Highcharts, Highstock) Options for the series data sorting.
  105743. */
  105744. dataSorting?: (DataSortingOptionsObject|PlotZigzagDataSortingOptions);
  105745. /**
  105746. * (Highstock) A description of the series to add to the screen reader
  105747. * information about the series.
  105748. */
  105749. description?: string;
  105750. /**
  105751. * (Highstock) Enable or disable the mouse tracking for a specific series.
  105752. * This includes point tooltips and click events on graphs and points. For
  105753. * large datasets it improves performance.
  105754. */
  105755. enableMouseTracking?: boolean;
  105756. /**
  105757. * (Highstock) General event handlers for the series items. These event
  105758. * hooks can also be attached to the series at run time using the
  105759. * `Highcharts.addEvent` function.
  105760. */
  105761. events?: SeriesEventsOptionsObject;
  105762. /**
  105763. * (Highstock) Determines whether the series should look for the nearest
  105764. * point in both dimensions or just the x-dimension when hovering the
  105765. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  105766. * series. If the data has duplicate x-values, it is recommended to set this
  105767. * to `'xy'` to allow hovering over all points.
  105768. *
  105769. * Applies only to series types using nearest neighbor search (not direct
  105770. * hover) for tooltip.
  105771. */
  105772. findNearestPointBy?: OptionsFindNearestPointByValue;
  105773. /**
  105774. * (Highstock) Defines when to display a gap in the graph, together with the
  105775. * gapUnit option.
  105776. *
  105777. * In case when `dataGrouping` is enabled, points can be grouped into a
  105778. * larger time span. This can make the grouped points to have a greater
  105779. * distance than the absolute value of `gapSize` property, which will result
  105780. * in disappearing graph completely. To prevent this situation the mentioned
  105781. * distance between grouped points is used instead of previously defined
  105782. * `gapSize`.
  105783. *
  105784. * In practice, this option is most often used to visualize gaps in time
  105785. * series. In a stock chart, intraday data is available for daytime hours,
  105786. * while gaps will appear in nights and weekends.
  105787. */
  105788. gapSize?: number;
  105789. /**
  105790. * (Highstock) Together with gapSize, this option defines where to draw gaps
  105791. * in the graph.
  105792. *
  105793. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  105794. * if the distance between two points is greater than 5 times that of the
  105795. * two closest points, the graph will be broken.
  105796. *
  105797. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  105798. * values, which on a datetime axis is milliseconds. This also applies to
  105799. * the navigator series that inherits gap options from the base series.
  105800. */
  105801. gapUnit?: OptionsGapUnitValue;
  105802. /**
  105803. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  105804. * chart width or only the zoomed area when zooming in on parts of the X
  105805. * axis. By default, the Y axis adjusts to the min and max of the visible
  105806. * data. Cartesian series only.
  105807. */
  105808. getExtremesFromAll?: boolean;
  105809. /**
  105810. * (Highstock) When set to `false` will prevent the series data from being
  105811. * included in any form of data export.
  105812. *
  105813. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  105814. * `includeInCSVExport`.
  105815. */
  105816. includeInDataExport?: boolean;
  105817. /**
  105818. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  105819. * series as possible in a natural way, seeking to avoid other series. The
  105820. * goal of this feature is to make the chart more easily readable, like if a
  105821. * human designer placed the labels in the optimal position.
  105822. *
  105823. * The series labels currently work with series types having a `graph` or an
  105824. * `area`.
  105825. */
  105826. label?: SeriesLabelOptionsObject;
  105827. /**
  105828. * (Highstock) The line marks the last price from all points.
  105829. */
  105830. lastPrice?: SeriesLastPriceOptionsObject;
  105831. /**
  105832. * (Highstock) The line marks the last price from visible range of points.
  105833. */
  105834. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  105835. /**
  105836. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  105837. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  105838. * the ends and bends.
  105839. */
  105840. linecap?: SeriesLinecapValue;
  105841. /**
  105842. * (Highcharts, Highstock) Pixel width of the graph line.
  105843. */
  105844. lineWidth?: number;
  105845. /**
  105846. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  105847. * based on. Required for this indicator.
  105848. */
  105849. linkedTo?: string;
  105850. /**
  105851. * (Highstock) Options for the point markers of line-like series. Properties
  105852. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  105853. * appearance of the markers. Other series types, like column series, don't
  105854. * have markers, but have visual options on the series level instead.
  105855. *
  105856. * In styled mode, the markers can be styled with the `.highcharts-point`,
  105857. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  105858. */
  105859. marker?: PointMarkerOptionsObject;
  105860. /**
  105861. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  105862. * If not set, it will be based on a technical indicator type and default
  105863. * params.
  105864. */
  105865. name?: string;
  105866. /**
  105867. * (Highstock) The color for the parts of the graph or points that are below
  105868. * the threshold. Note that `zones` takes precedence over the negative
  105869. * color. Using `negativeColor` is equivalent to applying a zone with value
  105870. * of 0.
  105871. */
  105872. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  105873. /**
  105874. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  105875. * dataLabels.
  105876. */
  105877. opacity?: number;
  105878. /**
  105879. * (Highstock) Paramters used in calculation of regression series' points.
  105880. */
  105881. params?: PlotZigzagParamsOptions;
  105882. /**
  105883. * (Highstock) Properties for each single point.
  105884. */
  105885. point?: PlotSeriesPointOptions;
  105886. /**
  105887. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  105888. * individual series. Overrides the chart wide configuration.
  105889. */
  105890. pointDescriptionFormatter?: Function;
  105891. /**
  105892. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  105893. * true, the checkbox next to the series name in the legend will be checked
  105894. * for a selected series.
  105895. */
  105896. selected?: boolean;
  105897. /**
  105898. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  105899. * the shadow can be an object configuration containing `color`, `offsetX`,
  105900. * `offsetY`, `opacity` and `width`.
  105901. */
  105902. shadow?: (boolean|ShadowOptionsObject);
  105903. /**
  105904. * (Highstock) If true, a checkbox is displayed next to the legend item to
  105905. * allow selecting the series. The state of the checkbox is determined by
  105906. * the `selected` option.
  105907. */
  105908. showCheckbox?: boolean;
  105909. /**
  105910. * (Highstock) Whether to display this particular series or series type in
  105911. * the legend. Standalone series are shown in legend by default, and linked
  105912. * series are not. Since v7.2.0 it is possible to show series that use
  105913. * colorAxis by setting this option to `true`.
  105914. */
  105915. showInLegend?: boolean;
  105916. /**
  105917. * (Highstock) If set to `true`, the accessibility module will skip past the
  105918. * points in this series for keyboard navigation.
  105919. */
  105920. skipKeyboardNavigation?: boolean;
  105921. /**
  105922. * (Highcharts, Highstock) When this is true, the series will not cause the
  105923. * Y axis to cross the zero plane (or threshold option) unless the data
  105924. * actually crosses the plane.
  105925. *
  105926. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  105927. * make the Y axis show negative values according to the `minPadding`
  105928. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  105929. */
  105930. softThreshold?: boolean;
  105931. states?: SeriesStatesOptionsObject;
  105932. /**
  105933. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  105934. * values are `left`, `center` and `right`.
  105935. */
  105936. step?: OptionsStepValue;
  105937. /**
  105938. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  105939. * event on a series isn't triggered until the mouse moves over another
  105940. * series, or out of the plot area. When false, the `mouseOut` event on a
  105941. * series is triggered when the mouse leaves the area around the series'
  105942. * graph or markers. This also implies the tooltip when not shared. When
  105943. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  105944. * be hidden when moving the mouse between series. Defaults to true for line
  105945. * and area type series, but to false for columns, pies etc.
  105946. *
  105947. * **Note:** The boost module will force this option because of technical
  105948. * limitations.
  105949. */
  105950. stickyTracking?: boolean;
  105951. /**
  105952. * (Highcharts, Highstock) The threshold, also called zero level or base
  105953. * level. For line type series this is only used in conjunction with
  105954. * negativeColor.
  105955. */
  105956. threshold?: (number|null);
  105957. /**
  105958. * (Highstock) A configuration object for the tooltip rendering of each
  105959. * single series. Properties are inherited from tooltip, but only the
  105960. * following properties can be defined on a series level.
  105961. */
  105962. tooltip?: SeriesTooltipOptionsObject;
  105963. /**
  105964. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  105965. * is longer than this, only one dimensional arrays of numbers, or two
  105966. * dimensional arrays with x and y values are allowed. Also, only the first
  105967. * point is tested, and the rest are assumed to be the same format. This
  105968. * saves expensive data checking and indexing in long series. Set it to `0`
  105969. * disable.
  105970. *
  105971. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  105972. * two dimensional arrays are allowed.
  105973. */
  105974. turboThreshold?: number;
  105975. /**
  105976. * (Highstock) Set the initial visibility of the series.
  105977. */
  105978. visible?: boolean;
  105979. /**
  105980. * (Highmaps) Define the z index of the series.
  105981. */
  105982. zIndex?: number;
  105983. /**
  105984. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  105985. */
  105986. zoneAxis?: string;
  105987. /**
  105988. * (Highcharts, Highstock) An array defining zones within a series. Zones
  105989. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  105990. * the `zoneAxis` option. The zone definitions have to be in ascending order
  105991. * regarding to the value.
  105992. *
  105993. * In styled mode, the color zones are styled with the
  105994. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  105995. * option (view live demo).
  105996. */
  105997. zones?: Array<SeriesZonesOptionsObject>;
  105998. }
  105999. /**
  106000. * (Highstock) Paramters used in calculation of regression series' points.
  106001. */
  106002. export interface PlotZigzagParamsOptions {
  106003. /**
  106004. * (Highstock) The threshold for the value change.
  106005. *
  106006. * For example deviation=1 means the indicator will ignore all price
  106007. * movements less than 1%.
  106008. */
  106009. deviation?: number;
  106010. /**
  106011. * (Highstock) The point index which indicator calculations will base - high
  106012. * value.
  106013. *
  106014. * For example using OHLC data, index=1 means the indicator will be
  106015. * calculated using High values.
  106016. */
  106017. highIndex?: number;
  106018. index?: string;
  106019. /**
  106020. * (Highstock) The point index which indicator calculations will base - low
  106021. * value.
  106022. *
  106023. * For example using OHLC data, index=2 means the indicator will be
  106024. * calculated using Low values.
  106025. */
  106026. lowIndex?: number;
  106027. period?: string;
  106028. }
  106029. /**
  106030. * (Highcharts, Highstock, Gantt) Accessibility options for a data point.
  106031. */
  106032. export interface PointAccessibilityOptionsObject {
  106033. /**
  106034. * (Highcharts, Highstock, Gantt) Provide a description of the data point,
  106035. * announced to screen readers.
  106036. */
  106037. description?: string;
  106038. /**
  106039. * (Highcharts, Highstock, Gantt) Set to false to disable accessibility
  106040. * functionality for a specific point. The point will not be included in
  106041. * keyboard navigation, and will not be exposed to assistive technology.
  106042. */
  106043. enabled?: boolean;
  106044. }
  106045. /**
  106046. * Common information for a click event on a series point.
  106047. */
  106048. export interface PointClickEventObject extends PointerEventObject {
  106049. /**
  106050. * Clicked point.
  106051. */
  106052. point: Point;
  106053. }
  106054. /**
  106055. * Contains information about a points new values.
  106056. */
  106057. export interface PointDragDropObject {
  106058. /**
  106059. * New values.
  106060. */
  106061. newValues: Dictionary<number>;
  106062. /**
  106063. * Updated point.
  106064. */
  106065. point: Point;
  106066. }
  106067. /**
  106068. * Contains common information for a drag event on series points.
  106069. */
  106070. export interface PointDragEventObject {
  106071. /**
  106072. * New points during drag.
  106073. */
  106074. newPoints: Dictionary<PointDragDropObject>;
  106075. /**
  106076. * Original data.
  106077. */
  106078. origin: DragDropPositionObject;
  106079. /**
  106080. * Prevent default drag action.
  106081. */
  106082. preventDefault: Function;
  106083. /**
  106084. * Target point that caused the event.
  106085. */
  106086. target: Point;
  106087. /**
  106088. * Event type.
  106089. */
  106090. type: "drag";
  106091. }
  106092. /**
  106093. * Contains common information for a drag event on series point.
  106094. */
  106095. export interface PointDragStartEventObject extends MouseEvent {
  106096. /**
  106097. * Data property being dragged.
  106098. */
  106099. updateProp?: string;
  106100. }
  106101. /**
  106102. * Contains common information for a drop event on series points.
  106103. */
  106104. export interface PointDropEventObject {
  106105. /**
  106106. * New point after drag if only a single one.
  106107. */
  106108. newPoint?: PointDragDropObject;
  106109. /**
  106110. * New point id after drag if only a single one.
  106111. */
  106112. newPointId?: string;
  106113. /**
  106114. * New points after drop.
  106115. */
  106116. newPoints: Dictionary<PointDragDropObject>;
  106117. /**
  106118. * Number of new points.
  106119. */
  106120. numNewPoints: number;
  106121. /**
  106122. * Original data.
  106123. */
  106124. origin: DragDropPositionObject;
  106125. /**
  106126. * Prevent default drop action.
  106127. */
  106128. preventDefault: Function;
  106129. /**
  106130. * Target point that caused the event.
  106131. */
  106132. target: Point;
  106133. /**
  106134. * Event type.
  106135. */
  106136. type: "drop";
  106137. }
  106138. /**
  106139. * One position in relation to an axis.
  106140. */
  106141. export interface PointerAxisCoordinateObject {
  106142. /**
  106143. * Related axis.
  106144. */
  106145. axis: Axis;
  106146. /**
  106147. * Axis value.
  106148. */
  106149. value: number;
  106150. }
  106151. /**
  106152. * Positions in terms of axis values.
  106153. */
  106154. export interface PointerAxisCoordinatesObject {
  106155. /**
  106156. * Positions on the x-axis.
  106157. */
  106158. xAxis: Array<PointerAxisCoordinateObject>;
  106159. /**
  106160. * Positions on the y-axis.
  106161. */
  106162. yAxis: Array<PointerAxisCoordinateObject>;
  106163. }
  106164. /**
  106165. * Pointer coordinates.
  106166. */
  106167. export interface PointerCoordinatesObject {
  106168. chartX: number;
  106169. chartY: number;
  106170. }
  106171. /**
  106172. * A native browser mouse or touch event, extended with position information
  106173. * relative to the Chart.container.
  106174. */
  106175. export interface PointerEventObject extends PointerEvent {
  106176. /**
  106177. * The X coordinate of the pointer interaction relative to the chart.
  106178. */
  106179. chartX: number;
  106180. /**
  106181. * The Y coordinate of the pointer interaction relative to the chart.
  106182. */
  106183. chartY: number;
  106184. }
  106185. /**
  106186. * (Highcharts, Highstock, Gantt) The individual point events.
  106187. */
  106188. export interface PointEventsOptionsObject {
  106189. /**
  106190. * (Highcharts, Highstock, Gantt) Fires when a point is clicked. One
  106191. * parameter, `event`, is passed to the function, containing common event
  106192. * information.
  106193. *
  106194. * If the `series.allowPointSelect` option is true, the default action for
  106195. * the point's click event is to toggle the point's select state. Returning
  106196. * `false` cancels this action.
  106197. */
  106198. click?: PointClickCallbackFunction;
  106199. /**
  106200. * (Highcharts, Highstock, Gantt) Callback that fires while dragging a
  106201. * point. The mouse event is passed in as parameter. The original data can
  106202. * be accessed from `e.origin`, and the new point values can be accessed
  106203. * from `e.newPoints`. If there is only a single point being updated, it can
  106204. * be accessed from `e.newPoint` for simplicity, and its ID can be accessed
  106205. * from `e.newPointId`. The `this` context is the point being dragged. To
  106206. * stop the default drag action, return false. See drag and drop options.
  106207. */
  106208. drag?: PointDragCallbackFunction;
  106209. /**
  106210. * (Highcharts, Highstock, Gantt) Callback that fires when starting to drag
  106211. * a point. The mouse event object is passed in as an argument. If a drag
  106212. * handle is used, `e.updateProp` is set to the data property being dragged.
  106213. * The `this` context is the point. See drag and drop options.
  106214. */
  106215. dragStart?: PointDragStartCallbackFunction;
  106216. /**
  106217. * (Highcharts, Highstock, Gantt) Callback that fires when the point is
  106218. * dropped. The parameters passed are the same as for drag. To stop the
  106219. * default drop action, return false. See drag and drop options.
  106220. */
  106221. drop?: PointDropCallbackFunction;
  106222. /**
  106223. * (Highcharts) Fires when the legend item belonging to the pie point
  106224. * (slice) is clicked. The `this` keyword refers to the point itself. One
  106225. * parameter, `event`, is passed to the function, containing common event
  106226. * information. The default action is to toggle the visibility of the point.
  106227. * This can be prevented by calling `event.preventDefault()`.
  106228. */
  106229. legendItemClick?: PointLegendItemClickCallbackFunction;
  106230. /**
  106231. * (Highcharts, Highstock, Gantt) Fires when the mouse leaves the area close
  106232. * to the point. One parameter, `event`, is passed to the function,
  106233. * containing common event information.
  106234. */
  106235. mouseOut?: PointMouseOutCallbackFunction;
  106236. /**
  106237. * (Highcharts, Highstock, Gantt) Fires when the mouse enters the area close
  106238. * to the point. One parameter, `event`, is passed to the function,
  106239. * containing common event information.
  106240. */
  106241. mouseOver?: PointMouseOverCallbackFunction;
  106242. /**
  106243. * (Highcharts, Highstock, Gantt) Fires when the point is removed using the
  106244. * `.remove()` method. One parameter, `event`, is passed to the function.
  106245. * Returning `false` cancels the operation.
  106246. */
  106247. remove?: PointRemoveCallbackFunction;
  106248. /**
  106249. * Fires when the point is selected either programmatically or following a
  106250. * click on the point. One parameter, `event`, is passed to the function.
  106251. * Returning `false` cancels the operation.
  106252. */
  106253. select?: PointSelectCallbackFunction;
  106254. /**
  106255. * Fires when the point is unselected either programmatically or following a
  106256. * click on the point. One parameter, `event`, is passed to the function.
  106257. * Returning `false` cancels the operation.
  106258. */
  106259. unselect?: PointUnselectCallbackFunction;
  106260. /**
  106261. * (Highcharts, Highstock, Gantt) Fires when the point is updated
  106262. * programmatically through the `.update()` method. One parameter, `event`,
  106263. * is passed to the function. The new point options can be accessed through
  106264. * `event.options`. Returning `false` cancels the operation.
  106265. */
  106266. update?: PointUpdateCallbackFunction;
  106267. }
  106268. /**
  106269. * Information about the select/unselect event.
  106270. */
  106271. export interface PointInteractionEventObject extends Event {
  106272. accumulate: boolean;
  106273. }
  106274. /**
  106275. * Configuration hash for the data label and tooltip formatters.
  106276. */
  106277. export interface PointLabelObject {
  106278. /**
  106279. * The point's current color.
  106280. */
  106281. color?: (ColorString|GradientColorObject|PatternObject);
  106282. /**
  106283. * The point's current color index, used in styled mode instead of `color`.
  106284. * The color index is inserted in class names used for styling.
  106285. */
  106286. colorIndex: number;
  106287. /**
  106288. * The name of the related point.
  106289. */
  106290. key?: string;
  106291. /**
  106292. * The percentage for related points in a stacked series or pies.
  106293. */
  106294. percentage: number;
  106295. /**
  106296. * The related point. The point name, if defined, is available through
  106297. * `this.point.name`.
  106298. */
  106299. point: Point;
  106300. /**
  106301. * The related series. The series name is available through
  106302. * `this.series.name`.
  106303. */
  106304. series: Series;
  106305. /**
  106306. * The total of values in either a stack for stacked series, or a pie in a
  106307. * pie series.
  106308. */
  106309. total?: number;
  106310. /**
  106311. * For categorized axes this property holds the category name for the point.
  106312. * For other axes it holds the X value.
  106313. */
  106314. x?: (number|string);
  106315. /**
  106316. * The y value of the point.
  106317. */
  106318. y?: number;
  106319. }
  106320. /**
  106321. * Information about the legend click event.
  106322. */
  106323. export interface PointLegendItemClickEventObject {
  106324. /**
  106325. * Related browser event.
  106326. */
  106327. browserEvent: PointerEvent;
  106328. /**
  106329. * Prevent the default action of toggle the visibility of the point.
  106330. */
  106331. preventDefault: Function;
  106332. /**
  106333. * Related point.
  106334. */
  106335. target: Point;
  106336. /**
  106337. * Event type.
  106338. */
  106339. type: "legendItemClick";
  106340. }
  106341. /**
  106342. * (Highcharts, Highstock) Options for the point markers of line-like series.
  106343. */
  106344. export interface PointMarkerOptionsObject {
  106345. /**
  106346. * (Highcharts, Highstock, Highmaps) Animation for the marker as it moves
  106347. * between values. Set to `false` to disable animation. Defaults to `{
  106348. * duration: 50 }`.
  106349. */
  106350. animation?: (boolean|Partial<AnimationOptionsObject>);
  106351. /**
  106352. * (Highcharts, Highstock, Highmaps) The color of the marker.
  106353. */
  106354. color?: (ColorString|GradientColorObject|PatternObject);
  106355. /**
  106356. * (Highcharts, Highstock) Enable or disable the point marker. If
  106357. * `undefined`, the markers are hidden when the data is dense, and shown for
  106358. * more widespread data points.
  106359. */
  106360. enabled?: boolean;
  106361. /**
  106362. * (Highcharts, Highstock) The threshold for how dense the point markers
  106363. * should be before they are hidden, given that `enabled` is not defined.
  106364. * The number indicates the horizontal distance between the two closest
  106365. * points in the series, as multiples of the `marker.radius`. In other
  106366. * words, the default value of 2 means points are hidden if overlapping
  106367. * horizontally.
  106368. */
  106369. enabledThreshold?: number;
  106370. /**
  106371. * (Highcharts, Highstock) The fill color of the point marker. When
  106372. * `undefined`, the series' or point's color is used.
  106373. */
  106374. fillColor?: (ColorString|GradientColorObject|PatternObject);
  106375. /**
  106376. * (Highcharts) The fill opacity of the bubble markers.
  106377. */
  106378. fillOpacity?: number;
  106379. /**
  106380. * (Highcharts, Highstock) Image markers only. Set the image width
  106381. * explicitly. When using this option, a `width` must also be set.
  106382. */
  106383. height?: number;
  106384. /**
  106385. * (Highcharts, Highstock) The color of the point marker's outline. When
  106386. * `undefined`, the series' or point's color is used.
  106387. */
  106388. lineColor?: (string|ColorString|GradientColorObject|PatternObject);
  106389. /**
  106390. * (Highcharts, Highstock) The width of the point marker's outline.
  106391. */
  106392. lineWidth?: number;
  106393. /**
  106394. * (Highcharts, Highstock) The radius of the point marker.
  106395. */
  106396. radius?: number;
  106397. /**
  106398. * (Highcharts, Highstock) States for a single point marker.
  106399. */
  106400. states?: PointStatesOptionsObject;
  106401. /**
  106402. * (Highcharts, Highstock) A predefined shape or symbol for the marker. When
  106403. * undefined, the symbol is pulled from options.symbols. Other possible
  106404. * values are `'circle'`, `'square'`,`'diamond'`, `'triangle'` and
  106405. * `'triangle-down'`.
  106406. *
  106407. * Additionally, the URL to a graphic can be given on this form:
  106408. * `'url(graphic.png)'`. Note that for the image to be applied to exported
  106409. * charts, its URL needs to be accessible by the export server.
  106410. *
  106411. * Custom callbacks for symbol path generation can also be added to
  106412. * `Highcharts.SVGRenderer.prototype.symbols`. The callback is then used by
  106413. * its method name, as shown in the demo.
  106414. */
  106415. symbol?: (string|SymbolKeyValue);
  106416. /**
  106417. * (Highcharts, Highstock) Image markers only. Set the image width
  106418. * explicitly. When using this option, a `height` must also be set.
  106419. */
  106420. width?: number;
  106421. }
  106422. /**
  106423. * The generic point options for all series.
  106424. *
  106425. * In TypeScript you have to extend `PointOptionsObject` with an additional
  106426. * declaration to allow custom data options: (see online documentation for
  106427. * example)
  106428. */
  106429. export interface PointOptionsObject {
  106430. /**
  106431. * (Highcharts) Accessibility options for a data point.
  106432. */
  106433. accessibility?: PointAccessibilityOptionsObject;
  106434. /**
  106435. * (Highcharts, Highstock) The color of the border surrounding the column or
  106436. * bar.
  106437. *
  106438. * In styled mode, the border stroke can be set with the `.highcharts-point`
  106439. * rule.
  106440. */
  106441. borderColor?: (ColorString|GradientColorObject|PatternObject);
  106442. /**
  106443. * (Highcharts, Highstock) The width of the border surrounding the column or
  106444. * bar.
  106445. *
  106446. * In styled mode, the stroke width can be set with the `.highcharts-point`
  106447. * rule.
  106448. */
  106449. borderWidth?: number;
  106450. /**
  106451. * (Highcharts) The dash style of the box.
  106452. */
  106453. boxDashStyle?: DashStyleValue;
  106454. /**
  106455. * (Highcharts, Gantt) An additional, individual class name for the data
  106456. * point's graphic representation.
  106457. */
  106458. className?: string;
  106459. /**
  106460. * (Highstock) The closing value of each data point.
  106461. */
  106462. close?: number;
  106463. /**
  106464. * (Highcharts, Highstock, Gantt) Individual color for the point. By default
  106465. * the color is pulled from the global `colors` array.
  106466. *
  106467. * In styled mode, the `color` option doesn't take effect. Instead, use
  106468. * `colorIndex`.
  106469. */
  106470. color?: (ColorString|GradientColorObject|PatternObject);
  106471. /**
  106472. * (Highcharts, Gantt) A specific color index to use for the point, so its
  106473. * graphic representations are given the class name `highcharts-color-{n}`.
  106474. * In styled mode this will change the color of the graphic. In non-styled
  106475. * mode, the color by is set by the `fill` attribute, so the change in class
  106476. * name won't have a visual effect by default.
  106477. */
  106478. colorIndex?: number;
  106479. /**
  106480. * (Highcharts) Serves a purpose only if a `colorAxis` object is defined in
  106481. * the chart options. This value will decide which color the point gets from
  106482. * the scale of the colorAxis.
  106483. */
  106484. colorValue?: number;
  106485. /**
  106486. * (Highcharts, Highstock) Color of the line that connects the dumbbell
  106487. * point's values. By default it is the series' color.
  106488. */
  106489. connectorColor?: string;
  106490. /**
  106491. * (Highcharts, Highstock) Pixel width of the line that connects the
  106492. * dumbbell point's values.
  106493. */
  106494. connectorWidth?: number;
  106495. /**
  106496. * (Highcharts) A reserved subspace to store options and values for
  106497. * customized functionality. Here you can add additional data for your own
  106498. * event callbacks and formatter callbacks.
  106499. */
  106500. custom?: Dictionary<any>;
  106501. /**
  106502. * (Highcharts) A name for the dash style to use for the column or bar.
  106503. * Overrides dashStyle on the series.
  106504. *
  106505. * In styled mode, the stroke dash-array can be set with the same classes as
  106506. * listed under data.color.
  106507. */
  106508. dashStyle?: DashStyleValue;
  106509. /**
  106510. * (Highcharts, Highstock, Gantt) Individual data label for each point. The
  106511. * options are the same as the ones for plotOptions.series.dataLabels.
  106512. */
  106513. dataLabels?: (DataLabelsOptions|SeriesNetworkgraphDataLabelsOptionsObject|SeriesPackedBubbleDataLabelsOptionsObject|SeriesPieDataLabelsOptionsObject|SeriesSunburstDataLabelsOptionsObject|
  106514. Array<DataLabelsOptions>|Array<SeriesNetworkgraphDataLabelsOptionsObject>|Array<SeriesPackedBubbleDataLabelsOptionsObject>|Array<SeriesSunburstDataLabelsOptionsObject>);
  106515. /**
  106516. * (Highcharts) A description of the point to add to the screen reader
  106517. * information about the point.
  106518. */
  106519. description?: string;
  106520. /**
  106521. * (Highcharts, Highstock) The wind direction in degrees, where 0 is north
  106522. * (pointing towards south).
  106523. */
  106524. direction?: number;
  106525. /**
  106526. * (Highcharts) Point specific options for the draggable-points module.
  106527. * Overrides options on `series.dragDrop`.
  106528. */
  106529. dragDrop?: SeriesLineDataDragDropOptions;
  106530. /**
  106531. * (Highcharts) The `id` of a series in the drilldown.series array to use
  106532. * for a drilldown for this point.
  106533. */
  106534. drilldown?: string;
  106535. /**
  106536. * (Highcharts, Highstock, Gantt) The individual point events.
  106537. */
  106538. events?: PointEventsOptionsObject;
  106539. /**
  106540. * (Highstock) The fill color of an individual flag. By default it inherits
  106541. * from the series color.
  106542. */
  106543. fillColor?: (ColorString|GradientColorObject|PatternObject);
  106544. /**
  106545. * (Highcharts) The node that the link runs from.
  106546. */
  106547. from?: string;
  106548. /**
  106549. * (Highcharts, Highstock) The high or maximum value for each data point.
  106550. */
  106551. high?: number;
  106552. /**
  106553. * (Highcharts, Highstock, Gantt) An id for the point. This can be used
  106554. * after render time to get a pointer to the point object through
  106555. * `chart.get()`.
  106556. */
  106557. id?: string;
  106558. /**
  106559. * (Highcharts) The inner radius of an individual point in a solid gauge.
  106560. * Can be given as a number (pixels) or percentage string.
  106561. */
  106562. innerRadius?: (number|string);
  106563. /**
  106564. * (Highcharts) When this property is true, the points acts as a summary
  106565. * column for the values added or substracted since the last intermediate
  106566. * sum, or since the start of the series. The `y` value is ignored.
  106567. */
  106568. isIntermediateSum?: boolean;
  106569. /**
  106570. * (Highcharts) When this property is true, the point display the total sum
  106571. * across the entire series. The `y` value is ignored.
  106572. */
  106573. isSum?: boolean;
  106574. /**
  106575. * (Highcharts) The label of event.
  106576. */
  106577. label?: string;
  106578. /**
  106579. * (Highcharts) The rank for this point's data label in case of collision.
  106580. * If two data labels are about to overlap, only the one with the highest
  106581. * `labelrank` will be drawn.
  106582. */
  106583. labelrank?: number;
  106584. /**
  106585. * (Highcharts) The sequential index of the data point in the legend.
  106586. */
  106587. legendIndex?: number;
  106588. /**
  106589. * (Highcharts, Highstock) The length of the vector. The rendered length
  106590. * will relate to the `vectorLength` setting.
  106591. */
  106592. length?: number;
  106593. /**
  106594. * (Highcharts, Highstock) The low or minimum value for each data point.
  106595. */
  106596. low?: number;
  106597. /**
  106598. * (Highcharts, Highstock) Color of the start markers in a dumbbell graph.
  106599. */
  106600. lowColor?: (ColorString|GradientColorObject|PatternObject);
  106601. /**
  106602. * (Highcharts, Highstock) Options for the point markers of line-like
  106603. * series.
  106604. */
  106605. marker?: PointMarkerOptionsObject;
  106606. /**
  106607. * (Highcharts) The median for each data point. This is drawn as a line
  106608. * through the middle area of the box.
  106609. */
  106610. median?: number;
  106611. /**
  106612. * (Highcharts) The dash style of the median.
  106613. */
  106614. medianDashStyle?: DashStyleValue;
  106615. /**
  106616. * (Highcharts) The name of the point as shown in the legend, tooltip,
  106617. * dataLabels, etc.
  106618. */
  106619. name?: (number|string);
  106620. /**
  106621. * (Highstock) The opening value of each data point.
  106622. */
  106623. open?: number;
  106624. /**
  106625. * (Highcharts) Only for treemap. Use this option to build a tree structure.
  106626. * The value should be the id of the point which is the parent. If no points
  106627. * has a matching id, or this option is undefined, then the parent will be
  106628. * set to the root.
  106629. */
  106630. parent?: string;
  106631. /**
  106632. * (Highcharts, Highmaps) Point padding for a single point.
  106633. */
  106634. pointPadding?: number;
  106635. /**
  106636. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  106637. * the column or bar. Overrides pointWidth on the series. The width effects
  106638. * the dimension that is not based on the point value.
  106639. */
  106640. pointWidth?: number;
  106641. /**
  106642. * (Highcharts) The lower quartile for each data point. This is the bottom
  106643. * of the box.
  106644. */
  106645. q1?: number;
  106646. /**
  106647. * (Highcharts) The higher quartile for each data point. This is the top of
  106648. * the box.
  106649. */
  106650. q3?: number;
  106651. /**
  106652. * (Highcharts) The outer radius of an individual point in a solid gauge.
  106653. * Can be given as a number (pixels) or percentage string.
  106654. */
  106655. radius?: (number|string);
  106656. /**
  106657. * (Highcharts, Highstock, Gantt) Whether the data point is selected
  106658. * initially.
  106659. */
  106660. selected?: boolean;
  106661. /**
  106662. * (Highcharts) The set or sets the options will be applied to. If a single
  106663. * entry is defined, then it will create a new set. If more than one entry
  106664. * is defined, then it will define the overlap between the sets in the
  106665. * array.
  106666. */
  106667. sets?: Array<string>;
  106668. /**
  106669. * (Highcharts) Whether to display a slice offset from the center.
  106670. */
  106671. sliced?: boolean;
  106672. /**
  106673. * (Highcharts) The dash style of the stem.
  106674. */
  106675. stemDashStyle?: DashStyleValue;
  106676. /**
  106677. * (Highcharts) The target value of a point.
  106678. */
  106679. target?: number;
  106680. /**
  106681. * (Highcharts) Individual target options for each point.
  106682. */
  106683. targetOptions?: SeriesBulletDataTargetOptions;
  106684. /**
  106685. * (Highstock) The longer text to be shown in the flag's tooltip.
  106686. */
  106687. text?: string;
  106688. /**
  106689. * (Highstock) The short text to be shown on the flag.
  106690. */
  106691. title?: string;
  106692. /**
  106693. * (Highcharts) The node that the link runs to.
  106694. */
  106695. to?: string;
  106696. /**
  106697. * (Highcharts, Highstock) The wind speed in meters per second.
  106698. */
  106699. value?: (number|null);
  106700. /**
  106701. * (Highcharts) The weighting of a word. The weight decides the relative
  106702. * size of a word compared to the rest of the collection.
  106703. */
  106704. weight?: number;
  106705. /**
  106706. * (Highcharts) The dash style of the whiskers.
  106707. */
  106708. whiskerDashStyle?: DashStyleValue;
  106709. /**
  106710. * (Highcharts, Highstock) The x value of the point. For datetime axes, the
  106711. * X value is the timestamp in milliseconds since 1970.
  106712. */
  106713. x?: number;
  106714. /**
  106715. * (Highcharts, Highstock) The y value of the point.
  106716. */
  106717. y?: (number|null);
  106718. /**
  106719. * (Highcharts) The relative width for each column. On a category axis, the
  106720. * widths are distributed so they sum up to the X axis length. On linear and
  106721. * datetime axes, the columns will be laid out from the X value and Z units
  106722. * along the axis.
  106723. */
  106724. z?: (number|null);
  106725. }
  106726. /**
  106727. * (Highcharts, Highstock) The hover state for a single point marker.
  106728. */
  106729. export interface PointStatesHoverOptionsObject {
  106730. /**
  106731. * (Highcharts, Highstock) Animation when hovering over the marker.
  106732. */
  106733. animation?: (boolean|Partial<AnimationOptionsObject>);
  106734. /**
  106735. * (Highcharts, Highstock) Enable or disable the point marker.
  106736. */
  106737. enabled?: boolean;
  106738. /**
  106739. * (Highcharts, Highstock) The fill color of the marker in hover state. When
  106740. * `undefined`, the series' or point's fillColor for normal state is used.
  106741. */
  106742. fillColor?: (ColorString|GradientColorObject|PatternObject);
  106743. /**
  106744. * (Highcharts, Highmaps) Set the marker's fixed height on hover state.
  106745. */
  106746. height?: (number|undefined);
  106747. /**
  106748. * (Highcharts, Highstock) The number of pixels to increase the height of
  106749. * the hovered point.
  106750. */
  106751. heightPlus?: (number|undefined);
  106752. /**
  106753. * (Highcharts, Highstock) The color of the point marker's outline. When
  106754. * `undefined`, the series' or point's lineColor for normal state is used.
  106755. */
  106756. lineColor?: (ColorString|GradientColorObject|PatternObject);
  106757. /**
  106758. * (Highcharts, Highstock) The width of the point marker's outline. When
  106759. * `undefined`, the series' or point's lineWidth for normal state is used.
  106760. */
  106761. lineWidth?: number;
  106762. /**
  106763. * (Highcharts, Highstock) The additional line width for a hovered point.
  106764. */
  106765. lineWidthPlus?: (number|undefined);
  106766. /**
  106767. * (Highcharts, Highstock) The radius of the point marker. In hover state,
  106768. * it defaults to the normal state's radius + 2 as per the radiusPlus
  106769. * option.
  106770. */
  106771. radius?: number;
  106772. /**
  106773. * (Highcharts, Highstock) The number of pixels to increase the radius of
  106774. * the hovered point.
  106775. */
  106776. radiusPlus?: number;
  106777. /**
  106778. * (Highcharts, Highmaps) Set the marker's fixed width on hover state.
  106779. */
  106780. width?: (number|undefined);
  106781. /**
  106782. * (Highcharts, Highstock) The number of pixels to increase the width of the
  106783. * hovered point.
  106784. */
  106785. widthPlus?: (number|undefined);
  106786. }
  106787. /**
  106788. * (Highcharts) The opposite state of a hover for a single point node. Applied
  106789. * to all not connected nodes to the hovered one.
  106790. */
  106791. export interface PointStatesInactiveOptionsObject {
  106792. /**
  106793. * (Highcharts) Animation when not hovering over the node.
  106794. */
  106795. animation?: (boolean|Partial<AnimationOptionsObject>);
  106796. /**
  106797. * (Highcharts) Opacity of inactive markers.
  106798. */
  106799. opacity?: number;
  106800. }
  106801. /**
  106802. * (Highcharts, Highstock) The normal state of a single point marker. Currently
  106803. * only used for setting animation when returning to normal state from hover.
  106804. */
  106805. export interface PointStatesNormalOptionsObject {
  106806. /**
  106807. * (Highcharts, Highstock) Animation when returning to normal state after
  106808. * hovering.
  106809. */
  106810. animation?: (boolean|Partial<AnimationOptionsObject>);
  106811. }
  106812. /**
  106813. * (Highcharts, Highstock) States for a single point marker.
  106814. */
  106815. export interface PointStatesOptionsObject {
  106816. /**
  106817. * (Highcharts, Highstock) The hover state for a single point marker.
  106818. */
  106819. hover?: PointStatesHoverOptionsObject;
  106820. /**
  106821. * (Highcharts) The opposite state of a hover for a single point node.
  106822. * Applied to all not connected nodes to the hovered one.
  106823. */
  106824. inactive?: PointStatesInactiveOptionsObject;
  106825. /**
  106826. * (Highcharts, Highstock) The normal state of a single point marker.
  106827. * Currently only used for setting animation when returning to normal state
  106828. * from hover.
  106829. */
  106830. normal?: PointStatesNormalOptionsObject;
  106831. /**
  106832. * (Highcharts, Highstock) The appearance of the point marker when selected.
  106833. * In order to allow a point to be selected, set the
  106834. * `series.allowPointSelect` option to true.
  106835. */
  106836. select?: PointStatesSelectOptionsObject;
  106837. }
  106838. /**
  106839. * (Highcharts, Highstock) The appearance of the point marker when selected. In
  106840. * order to allow a point to be selected, set the `series.allowPointSelect`
  106841. * option to true.
  106842. */
  106843. export interface PointStatesSelectOptionsObject {
  106844. /**
  106845. * (Highcharts, Highstock) Enable or disable visible feedback for selection.
  106846. */
  106847. enabled?: boolean;
  106848. /**
  106849. * (Highcharts, Highstock) The fill color of the point marker.
  106850. */
  106851. fillColor?: (ColorString|GradientColorObject|PatternObject);
  106852. /**
  106853. * (Highcharts, Highmaps) Set the marker's fixed height on select state.
  106854. */
  106855. height?: (number|undefined);
  106856. /**
  106857. * (Highcharts, Highstock) The number of pixels to increase the height of
  106858. * the hovered point.
  106859. */
  106860. heightPlus?: (number|undefined);
  106861. /**
  106862. * (Highcharts, Highstock) The color of the point marker's outline. When
  106863. * `undefined`, the series' or point's color is used.
  106864. */
  106865. lineColor?: (ColorString|GradientColorObject|PatternObject);
  106866. /**
  106867. * (Highcharts, Highstock) The width of the point marker's outline.
  106868. */
  106869. lineWidth?: number;
  106870. /**
  106871. * (Highcharts, Highstock) The radius of the point marker. In hover state,
  106872. * it defaults to the normal state's radius + 2.
  106873. */
  106874. radius?: number;
  106875. /**
  106876. * (Highcharts, Highmaps) Set the marker's fixed width on select state.
  106877. */
  106878. width?: (number|undefined);
  106879. /**
  106880. * (Highcharts, Highstock) The number of pixels to increase the width of the
  106881. * hovered point.
  106882. */
  106883. widthPlus?: (number|undefined);
  106884. }
  106885. /**
  106886. * Information about the update event.
  106887. */
  106888. export interface PointUpdateEventObject extends Event {
  106889. /**
  106890. * Options data of the update event.
  106891. */
  106892. options: PointOptionsType;
  106893. }
  106894. /**
  106895. * An object containing `x` and `y` properties for the position of an element.
  106896. */
  106897. export interface PositionObject {
  106898. /**
  106899. * X position of the element.
  106900. */
  106901. x: number;
  106902. /**
  106903. * Y position of the element.
  106904. */
  106905. y: number;
  106906. }
  106907. /**
  106908. * Defines the center position and the radius for a gradient.
  106909. */
  106910. export interface RadialGradientColorObject {
  106911. /**
  106912. * Center horizontal position relative to the shape. Float ranges 0-1.
  106913. */
  106914. cx: number;
  106915. /**
  106916. * Center vertical position relative to the shape. Float ranges 0-1.
  106917. */
  106918. cy: number;
  106919. /**
  106920. * Radius relative to the shape. Float ranges 0-1.
  106921. */
  106922. r: number;
  106923. }
  106924. /**
  106925. * Describes a range.
  106926. */
  106927. export interface RangeObject {
  106928. /**
  106929. * Maximum number of the range.
  106930. */
  106931. max: number;
  106932. /**
  106933. * Minimum number of the range.
  106934. */
  106935. min: number;
  106936. }
  106937. /**
  106938. * (Highstock, Gantt) Positioning for the button row.
  106939. */
  106940. export interface RangeSelectorButtonPositionOptions {
  106941. /**
  106942. * (Highstock, Gantt) The alignment of the input box. Allowed properties are
  106943. * `left`, `center`, `right`.
  106944. */
  106945. align?: AlignValue;
  106946. /**
  106947. * (Highstock, Gantt) X offset of the button row.
  106948. */
  106949. x?: number;
  106950. /**
  106951. * (Highstock, Gantt) Y offset of the button row.
  106952. */
  106953. y?: number;
  106954. }
  106955. export interface RangeSelectorButtonsEventsOptions {
  106956. /**
  106957. * (Highstock, Gantt) Fires when clicking on the rangeSelector button. One
  106958. * parameter, event, is passed to the function, containing common event
  106959. * information. (see online documentation for example)
  106960. *
  106961. * Return false to stop default button's click action.
  106962. */
  106963. click?: RangeSelectorClickCallbackFunction;
  106964. }
  106965. /**
  106966. * (Highstock, Gantt) An array of configuration objects for the buttons.
  106967. *
  106968. * Defaults to: (see online documentation for example)
  106969. */
  106970. export interface RangeSelectorButtonsOptions {
  106971. /**
  106972. * (Highstock, Gantt) How many units of the defined type the button should
  106973. * span. If `type` is "month" and `count` is 3, the button spans three
  106974. * months.
  106975. */
  106976. count?: number;
  106977. /**
  106978. * (Highstock) A custom data grouping object for each button.
  106979. */
  106980. dataGrouping?: DataGroupingOptionsObject;
  106981. events?: RangeSelectorButtonsEventsOptions;
  106982. /**
  106983. * (Highstock, Gantt) Additional range (in milliseconds) added to the end of
  106984. * the calculated time span.
  106985. */
  106986. offsetMax?: number;
  106987. /**
  106988. * (Highstock, Gantt) Additional range (in milliseconds) added to the start
  106989. * of the calculated time span.
  106990. */
  106991. offsetMin?: number;
  106992. /**
  106993. * (Highstock, Gantt) When buttons apply dataGrouping on a series, by
  106994. * default zooming in/out will deselect buttons and unset dataGrouping.
  106995. * Enable this option to keep buttons selected when extremes change.
  106996. */
  106997. preserveDataGrouping?: boolean;
  106998. /**
  106999. * (Highstock, Gantt) The text for the button itself.
  107000. */
  107001. text?: string;
  107002. /**
  107003. * (Highstock, Gantt) Explanation for the button, shown as a tooltip on
  107004. * hover, and used by assistive technology.
  107005. */
  107006. title?: string;
  107007. /**
  107008. * (Highstock, Gantt) Defined the time span for the button. Can be one of
  107009. * `millisecond`, `second`, `minute`, `hour`, `day`, `week`, `month`,
  107010. * `year`, `ytd`, and `all`.
  107011. */
  107012. type?: RangeSelectorButtonTypeValue;
  107013. }
  107014. /**
  107015. * (Highstock, Gantt) Positioning for the input boxes. Allowed properties are
  107016. * `align`, `x` and `y`.
  107017. */
  107018. export interface RangeSelectorInputPositionOptions {
  107019. /**
  107020. * (Highstock, Gantt) The alignment of the input box. Allowed properties are
  107021. * `left`, `center`, `right`.
  107022. */
  107023. align?: AlignValue;
  107024. /**
  107025. * (Highstock, Gantt) X offset of the input row.
  107026. */
  107027. x?: number;
  107028. /**
  107029. * (Highstock, Gantt) Y offset of the input row.
  107030. */
  107031. y?: number;
  107032. }
  107033. /**
  107034. * (Highstock, Gantt) The range selector is a tool for selecting ranges to
  107035. * display within the chart. It provides buttons to select preconfigured ranges
  107036. * in the chart, like 1 day, 1 week, 1 month etc. It also provides input boxes
  107037. * where min and max dates can be manually input.
  107038. */
  107039. export interface RangeSelectorOptions {
  107040. /**
  107041. * (Highstock, Gantt) Whether to enable all buttons from the start. By
  107042. * default buttons are only enabled if the corresponding time range exists
  107043. * on the X axis, but enabling all buttons allows for dynamically loading
  107044. * different time ranges.
  107045. */
  107046. allButtonsEnabled?: boolean;
  107047. /**
  107048. * (Highstock, Gantt) Positioning for the button row.
  107049. */
  107050. buttonPosition?: RangeSelectorButtonPositionOptions;
  107051. /**
  107052. * (Highstock, Gantt) An array of configuration objects for the buttons.
  107053. *
  107054. * Defaults to: (see online documentation for example)
  107055. */
  107056. buttons?: Array<RangeSelectorButtonsOptions>;
  107057. /**
  107058. * (Highstock, Gantt) The space in pixels between the buttons in the range
  107059. * selector.
  107060. */
  107061. buttonSpacing?: number;
  107062. /**
  107063. * (Highstock, Gantt) A collection of attributes for the buttons. The object
  107064. * takes SVG attributes like `fill`, `stroke`, `stroke-width`, as well as
  107065. * `style`, a collection of CSS properties for the text.
  107066. *
  107067. * The object can also be extended with states, so you can set
  107068. * presentational options for `hover`, `select` or `disabled` button states.
  107069. *
  107070. * CSS styles for the text label.
  107071. *
  107072. * In styled mode, the buttons are styled by the
  107073. * `.highcharts-range-selector-buttons .highcharts-button` rule with its
  107074. * different states.
  107075. */
  107076. buttonTheme?: SVGAttributes;
  107077. /**
  107078. * (Highstock, Gantt) Whether to collapse the range selector buttons into a
  107079. * dropdown when there is not enough room to show everything in a single
  107080. * row, instead of dividing the range selector into multiple rows. Can be
  107081. * one of the following:
  107082. *
  107083. * - `always`: Always collapse
  107084. *
  107085. * - `responsive`: Only collapse when there is not enough room
  107086. *
  107087. * - `never`: Never collapse
  107088. */
  107089. dropdown?: OptionsDropdownValue;
  107090. /**
  107091. * (Highstock, Gantt) Enable or disable the range selector. Default to
  107092. * `true` for stock charts, using the `stockChart` factory.
  107093. */
  107094. enabled?: (boolean|undefined);
  107095. /**
  107096. * (Highstock, Gantt) When the rangeselector is floating, the plot area does
  107097. * not reserve space for it. This opens for positioning anywhere on the
  107098. * chart.
  107099. */
  107100. floating?: boolean;
  107101. /**
  107102. * (Highstock, Gantt) The border color of the date input boxes.
  107103. */
  107104. inputBoxBorderColor?: ColorString;
  107105. /**
  107106. * (Highstock, Gantt) The pixel height of the date input boxes.
  107107. */
  107108. inputBoxHeight?: number;
  107109. /**
  107110. * (Highstock, Gantt) The pixel width of the date input boxes. When
  107111. * `undefined`, the width is fitted to the rendered content.
  107112. */
  107113. inputBoxWidth?: (number|undefined);
  107114. /**
  107115. * (Highstock, Gantt) The date format in the input boxes when not selected
  107116. * for editing. Defaults to `%b %e, %Y`.
  107117. *
  107118. * This is used to determine which type of input to show, `datetime-local`,
  107119. * `date` or `time` and falling back to `text` when the browser does not
  107120. * support the input type or the format contains milliseconds.
  107121. */
  107122. inputDateFormat?: string;
  107123. /**
  107124. * (Highstock, Gantt) A custom callback function to parse values entered in
  107125. * the input boxes and return a valid JavaScript time as milliseconds since
  107126. * 1970. The first argument passed is a value to parse, second is a boolean
  107127. * indicating use of the UTC time.
  107128. *
  107129. * This will only get called for inputs of type `text`. Since v8.2.3, the
  107130. * input type is dynamically determined based on the granularity of the
  107131. * `inputDateFormat` and the browser support.
  107132. */
  107133. inputDateParser?: RangeSelectorParseCallbackFunction;
  107134. /**
  107135. * (Highstock, Gantt) The date format in the input boxes when they are
  107136. * selected for editing. This must be a format that is recognized by
  107137. * JavaScript Date.parse.
  107138. *
  107139. * This will only be used for inputs of type `text`. Since v8.2.3, the input
  107140. * type is dynamically determined based on the granularity of the
  107141. * `inputDateFormat` and the browser support.
  107142. */
  107143. inputEditDateFormat?: string;
  107144. /**
  107145. * (Highstock, Gantt) Enable or disable the date input boxes.
  107146. */
  107147. inputEnabled?: boolean;
  107148. /**
  107149. * (Highstock, Gantt) Positioning for the input boxes. Allowed properties
  107150. * are `align`, `x` and `y`.
  107151. */
  107152. inputPosition?: RangeSelectorInputPositionOptions;
  107153. /**
  107154. * (Highstock, Gantt) The space in pixels between the labels and the date
  107155. * input boxes in the range selector.
  107156. */
  107157. inputSpacing?: number;
  107158. /**
  107159. * (Highstock, Gantt) CSS for the HTML inputs in the range selector.
  107160. *
  107161. * In styled mode, the inputs are styled by the `.highcharts-range-input
  107162. * text` rule in SVG mode, and `input.highcharts-range-selector` when
  107163. * active.
  107164. */
  107165. inputStyle?: CSSObject;
  107166. /**
  107167. * (Highstock, Gantt) CSS styles for the labels - the Zoom, From and To
  107168. * texts.
  107169. *
  107170. * In styled mode, the labels are styled by the `.highcharts-range-label`
  107171. * class.
  107172. */
  107173. labelStyle?: CSSObject;
  107174. /**
  107175. * (Highstock, Gantt) The index of the button to appear pre-selected.
  107176. */
  107177. selected?: number;
  107178. /**
  107179. * (Highstock, Gantt) The vertical alignment of the rangeselector box.
  107180. * Allowed properties are `top`, `middle`, `bottom`.
  107181. */
  107182. verticalAlign?: VerticalAlignValue;
  107183. /**
  107184. * (Highstock, Gantt) The x offset of the range selector relative to its
  107185. * horizontal alignment within `chart.spacingLeft` and `chart.spacingRight`.
  107186. */
  107187. x?: number;
  107188. /**
  107189. * (Highstock, Gantt) The y offset of the range selector relative to its
  107190. * horizontal alignment within `chart.spacingLeft` and `chart.spacingRight`.
  107191. */
  107192. y?: number;
  107193. }
  107194. /**
  107195. * A rectangle.
  107196. */
  107197. export interface RectangleObject {
  107198. /**
  107199. * Height of the rectangle.
  107200. */
  107201. height: number;
  107202. /**
  107203. * Width of the rectangle.
  107204. */
  107205. width: number;
  107206. /**
  107207. * Horizontal position of the rectangle.
  107208. */
  107209. x: number;
  107210. /**
  107211. * Vertical position of the rectangle.
  107212. */
  107213. y: number;
  107214. }
  107215. /**
  107216. * (Highcharts, Highstock, Highmaps, Gantt) Allows setting a set of rules to
  107217. * apply for different screen or chart sizes. Each rule specifies additional
  107218. * chart options.
  107219. */
  107220. export interface ResponsiveOptions {
  107221. /**
  107222. * (Highcharts, Highstock, Highmaps, Gantt) A set of rules for responsive
  107223. * settings. The rules are executed from the top down.
  107224. */
  107225. rules?: Array<ResponsiveRulesOptions>;
  107226. }
  107227. /**
  107228. * (Highcharts, Highstock, Highmaps, Gantt) Under which conditions the rule
  107229. * applies.
  107230. */
  107231. export interface ResponsiveRulesConditionOptions {
  107232. /**
  107233. * (Highcharts, Highstock, Highmaps, Gantt) A callback function to gain
  107234. * complete control on when the responsive rule applies. Return `true` if it
  107235. * applies. This opens for checking against other metrics than the chart
  107236. * size, for example the document size or other elements.
  107237. */
  107238. callback?: ResponsiveCallbackFunction;
  107239. /**
  107240. * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
  107241. * the chart height is less than this.
  107242. */
  107243. maxHeight?: number;
  107244. /**
  107245. * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
  107246. * the chart width is less than this.
  107247. */
  107248. maxWidth?: number;
  107249. /**
  107250. * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
  107251. * the chart height is greater than this.
  107252. */
  107253. minHeight?: number;
  107254. /**
  107255. * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
  107256. * the chart width is greater than this.
  107257. */
  107258. minWidth?: number;
  107259. }
  107260. /**
  107261. * (Highcharts, Highstock, Highmaps, Gantt) A set of rules for responsive
  107262. * settings. The rules are executed from the top down.
  107263. */
  107264. export interface ResponsiveRulesOptions {
  107265. /**
  107266. * (Highcharts, Highstock, Highmaps, Gantt) A full set of chart options to
  107267. * apply as overrides to the general chart options. The chart options are
  107268. * applied when the given rule is active.
  107269. *
  107270. * A special case is configuration objects that take arrays, for example
  107271. * xAxis, yAxis or series. For these collections, an `id` option is used to
  107272. * map the new option set to an existing object. If an existing object of
  107273. * the same id is not found, the item of the same indexupdated. So for
  107274. * example, setting `chartOptions` with two series items without an `id`,
  107275. * will cause the existing chart's two series to be updated with respective
  107276. * options.
  107277. */
  107278. chartOptions?: Options;
  107279. /**
  107280. * (Highcharts, Highstock, Highmaps, Gantt) Under which conditions the rule
  107281. * applies.
  107282. */
  107283. condition?: ResponsiveRulesConditionOptions;
  107284. }
  107285. /**
  107286. * (Highcharts) A node in a sankey diagram.
  107287. */
  107288. export interface SankeyNodeObject extends Point {
  107289. /**
  107290. * The color of the auto generated node.
  107291. */
  107292. color: (ColorString|GradientColorObject|PatternObject);
  107293. /**
  107294. * The color index of the auto generated node, especially for use in styled
  107295. * mode.
  107296. */
  107297. colorIndex: number;
  107298. /**
  107299. * An optional column index of where to place the node. The default
  107300. * behaviour is to place it next to the preceding node.
  107301. */
  107302. column: number;
  107303. /**
  107304. * The id of the auto-generated node, refering to the `from` or `to` setting
  107305. * of the link.
  107306. */
  107307. id: string;
  107308. /**
  107309. * (Highcharts) The name to display for the node in data labels and
  107310. * tooltips. Use this when the name is different from the `id`. Where the id
  107311. * must be unique for each node, this is not necessary for the name.
  107312. */
  107313. name: string;
  107314. /**
  107315. * The vertical offset of a node in terms of weight. Positive values shift
  107316. * the node downwards, negative shift it upwards.
  107317. */
  107318. offset: number;
  107319. }
  107320. /**
  107321. * (Highstock, Gantt) The scrollbar is a means of panning over the X axis of a
  107322. * stock chart. Scrollbars can also be applied to other types of axes.
  107323. *
  107324. * Another approach to scrollable charts is the chart.scrollablePlotArea option
  107325. * that is especially suitable for simpler cartesian charts on mobile.
  107326. *
  107327. * In styled mode, all the presentational options for the scrollbar are replaced
  107328. * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
  107329. * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
  107330. * `.highcharts-scrollbar-track`.
  107331. */
  107332. export interface ScrollbarOptions {
  107333. /**
  107334. * (Highstock, Gantt) The background color of the scrollbar itself.
  107335. */
  107336. barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  107337. /**
  107338. * (Highstock, Gantt) The color of the scrollbar's border.
  107339. */
  107340. barBorderColor?: (ColorString|GradientColorObject|PatternObject);
  107341. /**
  107342. * (Highstock, Gantt) The border rounding radius of the bar.
  107343. */
  107344. barBorderRadius?: number;
  107345. /**
  107346. * (Highstock, Gantt) The width of the bar's border.
  107347. */
  107348. barBorderWidth?: number;
  107349. /**
  107350. * (Highstock, Gantt) The color of the small arrow inside the scrollbar
  107351. * buttons.
  107352. */
  107353. buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
  107354. /**
  107355. * (Highstock, Gantt) The color of scrollbar buttons.
  107356. */
  107357. buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  107358. /**
  107359. * (Highstock, Gantt) The color of the border of the scrollbar buttons.
  107360. */
  107361. buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
  107362. /**
  107363. * (Highstock, Gantt) The corner radius of the scrollbar buttons.
  107364. */
  107365. buttonBorderRadius?: number;
  107366. /**
  107367. * (Highstock, Gantt) The border width of the scrollbar buttons.
  107368. */
  107369. buttonBorderWidth?: number;
  107370. /**
  107371. * (Highstock, Gantt) Enable or disable the scrollbar.
  107372. */
  107373. enabled?: boolean;
  107374. /**
  107375. * (Highstock, Gantt) The height of the scrollbar. The height also applies
  107376. * to the width of the scroll arrows so that they are always squares.
  107377. * Defaults to 20 for touch devices and 14 for mouse devices.
  107378. */
  107379. height?: number;
  107380. /**
  107381. * (Highstock, Gantt) Whether to redraw the main chart as the scrollbar or
  107382. * the navigator zoomed window is moved. Defaults to `true` for modern
  107383. * browsers and `false` for legacy IE browsers as well as mobile devices.
  107384. */
  107385. liveRedraw?: boolean;
  107386. /**
  107387. * (Highstock, Gantt) The margin between the scrollbar and its axis when the
  107388. * scrollbar is applied directly to an axis.
  107389. */
  107390. margin?: number;
  107391. /**
  107392. * (Highstock, Gantt) The minimum width of the scrollbar.
  107393. */
  107394. minWidth?: number;
  107395. /**
  107396. * (Highstock, Gantt) The color of the small rifles in the middle of the
  107397. * scrollbar.
  107398. */
  107399. rifleColor?: (ColorString|GradientColorObject|PatternObject);
  107400. /**
  107401. * (Highstock, Gantt) Whether to show or hide the scrollbar when the
  107402. * scrolled content is zoomed out to it full extent.
  107403. */
  107404. showFull?: boolean;
  107405. /**
  107406. * (Highstock, Gantt) The color of the track background.
  107407. */
  107408. trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  107409. /**
  107410. * (Highstock, Gantt) The color of the border of the scrollbar track.
  107411. */
  107412. trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
  107413. /**
  107414. * (Highstock, Gantt) The corner radius of the border of the scrollbar
  107415. * track.
  107416. */
  107417. trackBorderRadius?: number;
  107418. /**
  107419. * (Highstock, Gantt) The width of the border of the scrollbar track.
  107420. */
  107421. trackBorderWidth?: number;
  107422. /**
  107423. * (Highstock, Gantt) The z index of the scrollbar group.
  107424. */
  107425. zIndex?: number;
  107426. }
  107427. /**
  107428. * Axis-specific data of a selection.
  107429. */
  107430. export interface SelectDataObject {
  107431. axis: Axis;
  107432. max: number;
  107433. min: number;
  107434. }
  107435. /**
  107436. * Object for select events.
  107437. */
  107438. export interface SelectEventObject {
  107439. originalEvent: Event;
  107440. xAxis: Array<SelectDataObject>;
  107441. yAxis: Array<SelectDataObject>;
  107442. }
  107443. /**
  107444. * (Highstock) An Acceleration bands indicator. If the type option is not
  107445. * specified, it is inherited from chart.type.
  107446. *
  107447. * In TypeScript the type option must always be set.
  107448. *
  107449. * Configuration options for the series are given in three levels:
  107450. *
  107451. * 1. Options for all series in a chart are defined in the plotOptions.series
  107452. * object.
  107453. *
  107454. * 2. Options for all `abands` series are defined in plotOptions.abands.
  107455. *
  107456. * 3. Options for one single series are given in the series instance array. (see
  107457. * online documentation for example)
  107458. *
  107459. * You have to extend the `SeriesAbandsOptions` via an interface to allow custom
  107460. * properties: ``` declare interface SeriesAbandsOptions { customProperty:
  107461. * string; }
  107462. *
  107463. */
  107464. export interface SeriesAbandsOptions extends PlotAbandsOptions, SeriesOptions {
  107465. /**
  107466. * Not available
  107467. */
  107468. dataParser?: undefined;
  107469. /**
  107470. * Not available
  107471. */
  107472. dataURL?: undefined;
  107473. /**
  107474. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  107475. * TypeScript non-optional and might be `undefined` in series objects from
  107476. * unknown sources.
  107477. */
  107478. type: "abands";
  107479. }
  107480. /**
  107481. * (Highstock) Keyboard navigation for a series
  107482. */
  107483. export interface SeriesAccessibilityKeyboardNavigationOptionsObject {
  107484. /**
  107485. * (Highstock) Enable/disable keyboard navigation support for a specific
  107486. * series.
  107487. */
  107488. enabled?: boolean;
  107489. }
  107490. /**
  107491. * (Highstock) Accessibility options for a series.
  107492. */
  107493. export interface SeriesAccessibilityOptionsObject {
  107494. /**
  107495. * (Highstock) Provide a description of the series, announced to screen
  107496. * readers.
  107497. */
  107498. description?: string;
  107499. /**
  107500. * (Highstock) Enable/disable accessibility functionality for a specific
  107501. * series.
  107502. */
  107503. enabled?: boolean;
  107504. /**
  107505. * (Highstock) Expose only the series element to screen readers, not its
  107506. * points.
  107507. */
  107508. exposeAsGroupOnly?: boolean;
  107509. /**
  107510. * (Highstock) Keyboard navigation for a series
  107511. */
  107512. keyboardNavigation?: SeriesAccessibilityKeyboardNavigationOptionsObject;
  107513. /**
  107514. * (Highstock) Formatter function to use instead of the default for point
  107515. * descriptions. Same as `accessibility.point.descriptionFormatter`, but for
  107516. * a single series.
  107517. */
  107518. pointDescriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
  107519. }
  107520. /**
  107521. * (Highstock) A `AD` series. If the type option is not specified, it is
  107522. * inherited from chart.type.
  107523. *
  107524. * In TypeScript the type option must always be set.
  107525. *
  107526. * Configuration options for the series are given in three levels:
  107527. *
  107528. * 1. Options for all series in a chart are defined in the plotOptions.series
  107529. * object.
  107530. *
  107531. * 2. Options for all `ad` series are defined in plotOptions.ad.
  107532. *
  107533. * 3. Options for one single series are given in the series instance array. (see
  107534. * online documentation for example)
  107535. *
  107536. * You have to extend the `SeriesAdOptions` via an interface to allow custom
  107537. * properties: ``` declare interface SeriesAdOptions { customProperty: string; }
  107538. *
  107539. */
  107540. export interface SeriesAdOptions extends PlotAdOptions, SeriesOptions {
  107541. /**
  107542. * Not available
  107543. */
  107544. dataParser?: undefined;
  107545. /**
  107546. * Not available
  107547. */
  107548. dataURL?: undefined;
  107549. /**
  107550. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  107551. * TypeScript non-optional and might be `undefined` in series objects from
  107552. * unknown sources.
  107553. */
  107554. type: "ad";
  107555. }
  107556. /**
  107557. * Event information regarding completed animation of a series.
  107558. */
  107559. export interface SeriesAfterAnimateEventObject {
  107560. /**
  107561. * Animated series.
  107562. */
  107563. target: Series;
  107564. /**
  107565. * Event type.
  107566. */
  107567. type: "afterAnimate";
  107568. }
  107569. /**
  107570. * (Highstock) An `AO` series. If the type option is not specified, it is
  107571. * inherited from chart.type.
  107572. *
  107573. * In TypeScript the type option must always be set.
  107574. *
  107575. * Configuration options for the series are given in three levels:
  107576. *
  107577. * 1. Options for all series in a chart are defined in the plotOptions.series
  107578. * object.
  107579. *
  107580. * 2. Options for all `ao` series are defined in plotOptions.ao.
  107581. *
  107582. * 3. Options for one single series are given in the series instance array. (see
  107583. * online documentation for example)
  107584. *
  107585. * You have to extend the `SeriesAoOptions` via an interface to allow custom
  107586. * properties: ``` declare interface SeriesAoOptions { customProperty: string; }
  107587. *
  107588. */
  107589. export interface SeriesAoOptions extends PlotAoOptions, SeriesOptions {
  107590. /**
  107591. * Not available
  107592. */
  107593. dataParser?: undefined;
  107594. /**
  107595. * Not available
  107596. */
  107597. dataURL?: undefined;
  107598. /**
  107599. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  107600. * TypeScript non-optional and might be `undefined` in series objects from
  107601. * unknown sources.
  107602. */
  107603. type: "ao";
  107604. }
  107605. /**
  107606. * (Highstock) An `Absolute Price Oscillator` series. If the type option is not
  107607. * specified, it is inherited from chart.type.
  107608. *
  107609. * In TypeScript the type option must always be set.
  107610. *
  107611. * Configuration options for the series are given in three levels:
  107612. *
  107613. * 1. Options for all series in a chart are defined in the plotOptions.series
  107614. * object.
  107615. *
  107616. * 2. Options for all `apo` series are defined in plotOptions.apo.
  107617. *
  107618. * 3. Options for one single series are given in the series instance array. (see
  107619. * online documentation for example)
  107620. *
  107621. * You have to extend the `SeriesApoOptions` via an interface to allow custom
  107622. * properties: ``` declare interface SeriesApoOptions { customProperty: string;
  107623. * }
  107624. *
  107625. */
  107626. export interface SeriesApoOptions extends PlotApoOptions, SeriesOptions {
  107627. /**
  107628. * Not available
  107629. */
  107630. dataParser?: undefined;
  107631. /**
  107632. * Not available
  107633. */
  107634. dataURL?: undefined;
  107635. /**
  107636. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  107637. * TypeScript non-optional and might be `undefined` in series objects from
  107638. * unknown sources.
  107639. */
  107640. type: "apo";
  107641. }
  107642. /**
  107643. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  107644. * series is displayed for the `dataLabels`. The animation can also be set as a
  107645. * configuration object. Please note that this option only applies to the
  107646. * initial animation. For other animations, see chart.animation and the
  107647. * animation parameter under the API methods. The following properties are
  107648. * supported:
  107649. *
  107650. * - `defer`: The animation delay time in milliseconds.
  107651. */
  107652. export interface SeriesAreaDataDataLabelsAnimationOptions {
  107653. /**
  107654. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  107655. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  107656. * time from the series.animation.defer.
  107657. */
  107658. defer?: number;
  107659. }
  107660. /**
  107661. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  107662. * one state by default, the `default` state.
  107663. */
  107664. export interface SeriesAreaDataDragDropGuideBoxOptions {
  107665. /**
  107666. * (Highcharts, Highstock) Style options for the guide box default state.
  107667. */
  107668. default?: DragDropGuideBoxOptionsObject;
  107669. }
  107670. /**
  107671. * (Highcharts, Highstock) A `area` series. If the type option is not specified,
  107672. * it is inherited from chart.type.
  107673. *
  107674. * In TypeScript the type option must always be set.
  107675. *
  107676. * Configuration options for the series are given in three levels:
  107677. *
  107678. * 1. Options for all series in a chart are defined in the plotOptions.series
  107679. * object.
  107680. *
  107681. * 2. Options for all `area` series are defined in plotOptions.area.
  107682. *
  107683. * 3. Options for one single series are given in the series instance array. (see
  107684. * online documentation for example)
  107685. *
  107686. * You have to extend the `SeriesAreaOptions` via an interface to allow custom
  107687. * properties: ``` declare interface SeriesAreaOptions { customProperty: string;
  107688. * }
  107689. *
  107690. */
  107691. export interface SeriesAreaOptions extends PlotAreaOptions, SeriesOptions {
  107692. /**
  107693. * (Highcharts, Highstock) An array of data points for the series. For the
  107694. * `area` series type, points can be given in the following ways:
  107695. *
  107696. * 1. An array of numerical values. In this case, the numerical values will
  107697. * be interpreted as `y` options. The `x` values will be automatically
  107698. * calculated, either starting at 0 and incremented by 1, or from
  107699. * `pointStart` * and `pointInterval` given in the series options. If the
  107700. * axis has categories, these will be used. Example: (see online
  107701. * documentation for example)
  107702. *
  107703. * 2. An array of arrays with 2 values. In this case, the values correspond
  107704. * to `x,y`. If the first value is a string, it is applied as the name of
  107705. * the point, and the `x` value is inferred. (see online documentation for
  107706. * example)
  107707. *
  107708. * 3. An array of objects with named values. The following snippet shows
  107709. * only a few settings, see the complete options set below. If the total
  107710. * number of data points exceeds the series' turboThreshold, this option is
  107711. * not available. (see online documentation for example)
  107712. */
  107713. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  107714. /**
  107715. * Not available
  107716. */
  107717. dataParser?: undefined;
  107718. /**
  107719. * Not available
  107720. */
  107721. dataURL?: undefined;
  107722. /**
  107723. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  107724. * TypeScript non-optional and might be `undefined` in series objects from
  107725. * unknown sources.
  107726. */
  107727. type: "area";
  107728. /**
  107729. * Not available
  107730. */
  107731. useOhlcData?: undefined;
  107732. }
  107733. /**
  107734. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  107735. * is displayed for the `dataLabels`. The animation can also be set as a
  107736. * configuration object. Please note that this option only applies to the
  107737. * initial animation. For other animations, see chart.animation and the
  107738. * animation parameter under the API methods. The following properties are
  107739. * supported:
  107740. *
  107741. * - `defer`: The animation delay time in milliseconds.
  107742. */
  107743. export interface SeriesArearangeDataDataLabelsAnimationOptions {
  107744. /**
  107745. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  107746. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  107747. * from the series.animation.defer.
  107748. */
  107749. defer?: number;
  107750. }
  107751. /**
  107752. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  107753. * one state by default, the `default` state.
  107754. */
  107755. export interface SeriesArearangeDataDragDropGuideBoxOptions {
  107756. /**
  107757. * (Highcharts, Highstock) Style options for the guide box default state.
  107758. */
  107759. default?: DragDropGuideBoxOptionsObject;
  107760. }
  107761. /**
  107762. * (Highcharts, Highstock) Extended data labels for range series types. Range
  107763. * series data labels use no `x` and `y` options. Instead, they have `xLow`,
  107764. * `xHigh`, `yLow` and `yHigh` options to allow the higher and lower data label
  107765. * sets individually.
  107766. */
  107767. export interface SeriesAreaRangeDataLabelsOptionsObject {
  107768. /**
  107769. * (Highcharts, Highstock) The alignment of the data label compared to the
  107770. * point. If `right`, the right side of the label should be touching the
  107771. * point. For points with an extent, like columns, the alignments also
  107772. * dictates how to align it inside the box, as given with the inside option.
  107773. * Can be one of `left`, `center` or `right`.
  107774. */
  107775. align?: string;
  107776. /**
  107777. * (Highcharts, Highstock) Whether to allow data labels to overlap. To make
  107778. * the labels less sensitive for overlapping, the dataLabels.padding can be
  107779. * set to 0.
  107780. */
  107781. allowOverlap?: boolean;
  107782. /**
  107783. * (Highcharts, Highstock) Enable or disable the initial animation when a
  107784. * series is displayed for the `dataLabels`. The animation can also be set
  107785. * as a configuration object. Please note that this option only applies to
  107786. * the initial animation. For other animations, see chart.animation and the
  107787. * animation parameter under the API methods. The following properties are
  107788. * supported:
  107789. *
  107790. * - `defer`: The animation delay time in milliseconds.
  107791. */
  107792. animation?: (boolean|PlotArearangeDataLabelsAnimationOptions|PlotAreasplinerangeDataLabelsAnimationOptions|PlotColumnrangeDataLabelsAnimationOptions|PlotDumbbellDataLabelsAnimationOptions|
  107793. PlotLollipopDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  107794. /**
  107795. * (Highcharts, Highstock) The background color or gradient for the data
  107796. * label.
  107797. */
  107798. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  107799. /**
  107800. * (Highcharts, Highstock) The border color for the data label. Defaults to
  107801. * `undefined`.
  107802. */
  107803. borderColor?: (ColorString|GradientColorObject|PatternObject);
  107804. /**
  107805. * (Highcharts, Highstock) The border radius in pixels for the data label.
  107806. */
  107807. borderRadius?: number;
  107808. /**
  107809. * (Highcharts, Highstock) The border width in pixels for the data label.
  107810. */
  107811. borderWidth?: number;
  107812. /**
  107813. * (Highcharts, Highstock) A class name for the data label. Particularly in
  107814. * styled mode, this can be used to give each series' or point's data label
  107815. * unique styling. In addition to this option, a default color class name is
  107816. * added so that we can give the labels a contrast text shadow.
  107817. */
  107818. className?: string;
  107819. /**
  107820. * (Highcharts, Highstock) The text color for the data labels. Defaults to
  107821. * `undefined`. For certain series types, like column or map, the data
  107822. * labels can be drawn inside the points. In this case the data label will
  107823. * be drawn with maximum contrast by default. Additionally, it will be given
  107824. * a `text-outline` style with the opposite color, to further increase the
  107825. * contrast. This can be overridden by setting the `text-outline` style to
  107826. * `none` in the `dataLabels.style` option.
  107827. */
  107828. color?: (ColorString|GradientColorObject|PatternObject);
  107829. /**
  107830. * (Highcharts, Highstock) Whether to hide data labels that are outside the
  107831. * plot area. By default, the data label is moved inside the plot area
  107832. * according to the overflow option.
  107833. */
  107834. crop?: boolean;
  107835. /**
  107836. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  107837. * labels until the initial series animation has finished. Setting to
  107838. * `false` renders the data label immediately. If set to `true` inherits the
  107839. * defer time set in plotOptions.series.animation. If set to a number, a
  107840. * defer time is specified in milliseconds.
  107841. */
  107842. defer?: (boolean|number);
  107843. /**
  107844. * (Highcharts, Highstock) Enable or disable the data labels.
  107845. */
  107846. enabled?: boolean;
  107847. /**
  107848. * (Highcharts, Highstock) A declarative filter to control of which data
  107849. * labels to display. The declarative filter is designed for use when
  107850. * callback functions are not available, like when the chart options require
  107851. * a pure JSON structure or for use with graphical editors. For programmatic
  107852. * control, use the `formatter` instead, and return `undefined` to disable a
  107853. * single data label.
  107854. */
  107855. filter?: DataLabelsFilterOptionsObject;
  107856. /**
  107857. * (Highcharts, Highstock) A format string for the data label. Available
  107858. * variables are the same as for `formatter`.
  107859. */
  107860. format?: string;
  107861. /**
  107862. * (Highcharts, Highstock) Callback JavaScript function to format the data
  107863. * label. Note that if a `format` is defined, the format takes precedence
  107864. * and the formatter is ignored.
  107865. */
  107866. formatter?: DataLabelsFormatterCallbackFunction;
  107867. /**
  107868. * (Highcharts, Highstock) For points with an extent, like columns or map
  107869. * areas, whether to align the data label inside the box or to the actual
  107870. * value point. Defaults to `false` in most cases, `true` in stacked
  107871. * columns.
  107872. */
  107873. inside?: boolean;
  107874. /**
  107875. * (Highcharts, Highstock) Format for points with the value of null. Works
  107876. * analogously to format. `nullFormat` can be applied only to series which
  107877. * support displaying null points.
  107878. */
  107879. nullFormat?: (boolean|string);
  107880. /**
  107881. * (Highcharts, Highstock) Callback JavaScript function that defines
  107882. * formatting for points with the value of null. Works analogously to
  107883. * formatter. `nullPointFormatter` can be applied only to series which
  107884. * support displaying null points.
  107885. */
  107886. nullFormatter?: DataLabelsFormatterCallbackFunction;
  107887. /**
  107888. * (Highcharts, Highstock) How to handle data labels that flow outside the
  107889. * plot area. The default is `"justify"`, which aligns them inside the plot
  107890. * area. For columns and bars, this means it will be moved inside the bar.
  107891. * To display data labels outside the plot area, set `crop` to `false` and
  107892. * `overflow` to `"allow"`.
  107893. */
  107894. overflow?: DataLabelsOverflowValue;
  107895. /**
  107896. * (Highcharts, Highstock) When either the `borderWidth` or the
  107897. * `backgroundColor` is set, this is the padding within the box.
  107898. */
  107899. padding?: number;
  107900. /**
  107901. * (Highcharts, Highstock) Aligns data labels relative to points. If
  107902. * `center` alignment is not possible, it defaults to `right`.
  107903. */
  107904. position?: AlignValue;
  107905. /**
  107906. * (Highcharts, Highstock) Text rotation in degrees. Note that due to a more
  107907. * complex structure, backgrounds, borders and padding will be lost on a
  107908. * rotated data label.
  107909. */
  107910. rotation?: number;
  107911. /**
  107912. * (Highcharts, Highstock) The shadow of the box. Works best with
  107913. * `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be an object
  107914. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  107915. * `width`.
  107916. */
  107917. shadow?: (boolean|ShadowOptionsObject);
  107918. /**
  107919. * (Highcharts, Highstock) The name of a symbol to use for the border around
  107920. * the label. Symbols are predefined functions on the Renderer object.
  107921. */
  107922. shape?: string;
  107923. /**
  107924. * (Highcharts, Highstock) Styles for the label. The default `color` setting
  107925. * is `"contrast"`, which is a pseudo color that Highcharts picks up and
  107926. * applies the maximum contrast to the underlying point item, for example
  107927. * the bar in a bar chart.
  107928. *
  107929. * The `textOutline` is a pseudo property that applies an outline of the
  107930. * given width with the given color, which by default is the maximum
  107931. * contrast to the text. So a bright text color will result in a black text
  107932. * outline for maximum readability on a mixed background. In some cases,
  107933. * especially with grayscale text, the text outline doesn't work well, in
  107934. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  107935. * is true, the `textOutline` will not be picked up. In this, case, the same
  107936. * effect can be acheived through the `text-shadow` CSS property.
  107937. *
  107938. * For some series types, where each point has an extent, like for example
  107939. * tree maps, the data label may overflow the point. There are two
  107940. * strategies for handling overflow. By default, the text will wrap to
  107941. * multiple lines. The other strategy is to set `style.textOverflow` to
  107942. * `ellipsis`, which will keep the text on one line plus it will break
  107943. * inside long words.
  107944. */
  107945. style?: CSSObject;
  107946. /**
  107947. * (Highcharts, Highstock) Options for a label text which should follow
  107948. * marker's shape. Border and background are disabled for a label that
  107949. * follows a path.
  107950. *
  107951. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  107952. * to true will disable this option.
  107953. */
  107954. textPath?: DataLabelsTextPathOptionsObject;
  107955. /**
  107956. * (Highcharts, Highstock) Whether to use HTML to render the labels.
  107957. */
  107958. useHTML?: boolean;
  107959. /**
  107960. * (Highcharts, Highstock) The vertical alignment of a data label. Can be
  107961. * one of `top`, `middle` or `bottom`. The default value depends on the
  107962. * data, for instance in a column chart, the label is above positive values
  107963. * and below negative values.
  107964. */
  107965. verticalAlign?: string;
  107966. /**
  107967. * (Highcharts, Highstock) The x position offset of the label relative to
  107968. * the point in pixels.
  107969. */
  107970. x?: number;
  107971. /**
  107972. * (Highcharts, Highstock) X offset of the higher data labels relative to
  107973. * the point value.
  107974. */
  107975. xHigh?: number;
  107976. /**
  107977. * (Highcharts, Highstock) X offset of the lower data labels relative to the
  107978. * point value.
  107979. */
  107980. xLow?: number;
  107981. /**
  107982. * (Highcharts, Highstock) The y position offset of the label relative to
  107983. * the point in pixels.
  107984. */
  107985. y?: number;
  107986. /**
  107987. * (Highcharts, Highstock) Y offset of the higher data labels relative to
  107988. * the point value.
  107989. */
  107990. yHigh?: number;
  107991. /**
  107992. * (Highcharts, Highstock) Y offset of the lower data labels relative to the
  107993. * point value.
  107994. */
  107995. yLow?: number;
  107996. /**
  107997. * (Highcharts, Highstock) The Z index of the data labels. The default Z
  107998. * index puts it above the series. Use a Z index of 2 to display it behind
  107999. * the series.
  108000. */
  108001. z?: number;
  108002. }
  108003. /**
  108004. * (Highcharts, Highstock) A `arearange` series. If the type option is not
  108005. * specified, it is inherited from chart.type.
  108006. *
  108007. * In TypeScript the type option must always be set.
  108008. *
  108009. * Configuration options for the series are given in three levels:
  108010. *
  108011. * 1. Options for all series in a chart are defined in the plotOptions.series
  108012. * object.
  108013. *
  108014. * 2. Options for all `arearange` series are defined in plotOptions.arearange.
  108015. *
  108016. * 3. Options for one single series are given in the series instance array. (see
  108017. * online documentation for example)
  108018. *
  108019. * You have to extend the `SeriesArearangeOptions` via an interface to allow
  108020. * custom properties: ``` declare interface SeriesArearangeOptions {
  108021. * customProperty: string; }
  108022. *
  108023. */
  108024. export interface SeriesArearangeOptions extends PlotArearangeOptions, SeriesOptions {
  108025. /**
  108026. * (Highcharts, Highstock) An array of data points for the series. For the
  108027. * `arearange` series type, points can be given in the following ways:
  108028. *
  108029. * 1. An array of arrays with 3 or 2 values. In this case, the values
  108030. * correspond to `x,low,high`. If the first value is a string, it is applied
  108031. * as the name of the point, and the `x` value is inferred. The `x` value
  108032. * can also be omitted, in which case the inner arrays should be of length
  108033. * 2\. Then the `x` value is automatically calculated, either starting at 0
  108034. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  108035. * the series options. (see online documentation for example)
  108036. *
  108037. * 2. An array of objects with named values. The following snippet shows
  108038. * only a few settings, see the complete options set below. If the total
  108039. * number of data points exceeds the series' turboThreshold, this option is
  108040. * not available. (see online documentation for example)
  108041. */
  108042. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  108043. /**
  108044. * Not available
  108045. */
  108046. dataParser?: undefined;
  108047. /**
  108048. * Not available
  108049. */
  108050. dataURL?: undefined;
  108051. /**
  108052. * Not available
  108053. */
  108054. stack?: undefined;
  108055. /**
  108056. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108057. * TypeScript non-optional and might be `undefined` in series objects from
  108058. * unknown sources.
  108059. */
  108060. type: "arearange";
  108061. }
  108062. /**
  108063. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  108064. * series is displayed for the `dataLabels`. The animation can also be set as a
  108065. * configuration object. Please note that this option only applies to the
  108066. * initial animation. For other animations, see chart.animation and the
  108067. * animation parameter under the API methods. The following properties are
  108068. * supported:
  108069. *
  108070. * - `defer`: The animation delay time in milliseconds.
  108071. */
  108072. export interface SeriesAreasplineDataDataLabelsAnimationOptions {
  108073. /**
  108074. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  108075. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  108076. * time from the series.animation.defer.
  108077. */
  108078. defer?: number;
  108079. }
  108080. /**
  108081. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  108082. * one state by default, the `default` state.
  108083. */
  108084. export interface SeriesAreasplineDataDragDropGuideBoxOptions {
  108085. /**
  108086. * (Highcharts, Highstock) Style options for the guide box default state.
  108087. */
  108088. default?: DragDropGuideBoxOptionsObject;
  108089. }
  108090. /**
  108091. * (Highcharts, Highstock) A `areaspline` series. If the type option is not
  108092. * specified, it is inherited from chart.type.
  108093. *
  108094. * In TypeScript the type option must always be set.
  108095. *
  108096. * Configuration options for the series are given in three levels:
  108097. *
  108098. * 1. Options for all series in a chart are defined in the plotOptions.series
  108099. * object.
  108100. *
  108101. * 2. Options for all `areaspline` series are defined in plotOptions.areaspline.
  108102. *
  108103. * 3. Options for one single series are given in the series instance array. (see
  108104. * online documentation for example)
  108105. *
  108106. * You have to extend the `SeriesAreasplineOptions` via an interface to allow
  108107. * custom properties: ``` declare interface SeriesAreasplineOptions {
  108108. * customProperty: string; }
  108109. *
  108110. */
  108111. export interface SeriesAreasplineOptions extends PlotAreasplineOptions, SeriesOptions {
  108112. /**
  108113. * (Highcharts, Highstock) An array of data points for the series. For the
  108114. * `areaspline` series type, points can be given in the following ways:
  108115. *
  108116. * 1. An array of numerical values. In this case, the numerical values will
  108117. * be interpreted as `y` options. The `x` values will be automatically
  108118. * calculated, either starting at 0 and incremented by 1, or from
  108119. * `pointStart` and `pointInterval` given in the series options. If the axis
  108120. * has categories, these will be used. Example: (see online documentation
  108121. * for example)
  108122. *
  108123. * 2. An array of arrays with 2 values. In this case, the values correspond
  108124. * to `x,y`. If the first value is a string, it is applied as the name of
  108125. * the point, and the `x` value is inferred. (see online documentation for
  108126. * example)
  108127. *
  108128. * 3. An array of objects with named values. The following snippet shows
  108129. * only a few settings, see the complete options set below. If the total
  108130. * number of data points exceeds the series' turboThreshold, this option is
  108131. * not available. (see online documentation for example)
  108132. */
  108133. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  108134. /**
  108135. * Not available
  108136. */
  108137. dataParser?: undefined;
  108138. /**
  108139. * Not available
  108140. */
  108141. dataURL?: undefined;
  108142. /**
  108143. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108144. * TypeScript non-optional and might be `undefined` in series objects from
  108145. * unknown sources.
  108146. */
  108147. type: "areaspline";
  108148. }
  108149. /**
  108150. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  108151. * is displayed for the `dataLabels`. The animation can also be set as a
  108152. * configuration object. Please note that this option only applies to the
  108153. * initial animation. For other animations, see chart.animation and the
  108154. * animation parameter under the API methods. The following properties are
  108155. * supported:
  108156. *
  108157. * - `defer`: The animation delay time in milliseconds.
  108158. */
  108159. export interface SeriesAreasplinerangeDataDataLabelsAnimationOptions {
  108160. /**
  108161. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  108162. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  108163. * from the series.animation.defer.
  108164. */
  108165. defer?: number;
  108166. }
  108167. /**
  108168. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  108169. * one state by default, the `default` state.
  108170. */
  108171. export interface SeriesAreasplinerangeDataDragDropGuideBoxOptions {
  108172. /**
  108173. * (Highcharts, Highstock) Style options for the guide box default state.
  108174. */
  108175. default?: DragDropGuideBoxOptionsObject;
  108176. }
  108177. /**
  108178. * (Highcharts, Highstock) A `areasplinerange` series. If the type option is not
  108179. * specified, it is inherited from chart.type.
  108180. *
  108181. * In TypeScript the type option must always be set.
  108182. *
  108183. * Configuration options for the series are given in three levels:
  108184. *
  108185. * 1. Options for all series in a chart are defined in the plotOptions.series
  108186. * object.
  108187. *
  108188. * 2. Options for all `areasplinerange` series are defined in
  108189. * plotOptions.areasplinerange.
  108190. *
  108191. * 3. Options for one single series are given in the series instance array. (see
  108192. * online documentation for example)
  108193. *
  108194. * You have to extend the `SeriesAreasplinerangeOptions` via an interface to
  108195. * allow custom properties: ``` declare interface SeriesAreasplinerangeOptions {
  108196. * customProperty: string; }
  108197. *
  108198. */
  108199. export interface SeriesAreasplinerangeOptions extends PlotAreasplinerangeOptions, SeriesOptions {
  108200. /**
  108201. * (Highcharts, Highstock) An array of data points for the series. For the
  108202. * `areasplinerange` series type, points can be given in the following ways:
  108203. *
  108204. * 1. An array of arrays with 3 or 2 values. In this case, the values
  108205. * correspond to `x,low,high`. If the first value is a string, it is applied
  108206. * as the name of the point, and the `x` value is inferred. The `x` value
  108207. * can also be omitted, in which case the inner arrays should be of length
  108208. * 2\. Then the `x` value is automatically calculated, either starting at 0
  108209. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  108210. * the series options. (see online documentation for example)
  108211. *
  108212. * 2. An array of objects with named values. The following snippet shows
  108213. * only a few settings, see the complete options set below. If the total
  108214. * number of data points exceeds the series' turboThreshold, this option is
  108215. * not available. (see online documentation for example)
  108216. */
  108217. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  108218. /**
  108219. * Not available
  108220. */
  108221. dataParser?: undefined;
  108222. /**
  108223. * Not available
  108224. */
  108225. dataURL?: undefined;
  108226. /**
  108227. * Not available
  108228. */
  108229. stack?: undefined;
  108230. /**
  108231. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108232. * TypeScript non-optional and might be `undefined` in series objects from
  108233. * unknown sources.
  108234. */
  108235. type: "areasplinerange";
  108236. }
  108237. /**
  108238. * (Highstock) A Aroon indicator. If the type option is not specified, it is
  108239. * inherited from chart.type.
  108240. *
  108241. * In TypeScript the type option must always be set.
  108242. *
  108243. * Configuration options for the series are given in three levels:
  108244. *
  108245. * 1. Options for all series in a chart are defined in the plotOptions.series
  108246. * object.
  108247. *
  108248. * 2. Options for all `aroon` series are defined in plotOptions.aroon.
  108249. *
  108250. * 3. Options for one single series are given in the series instance array. (see
  108251. * online documentation for example)
  108252. *
  108253. * You have to extend the `SeriesAroonOptions` via an interface to allow custom
  108254. * properties: ``` declare interface SeriesAroonOptions { customProperty:
  108255. * string; }
  108256. *
  108257. */
  108258. export interface SeriesAroonOptions extends PlotAroonOptions, SeriesOptions {
  108259. /**
  108260. * Not available
  108261. */
  108262. dataParser?: undefined;
  108263. /**
  108264. * Not available
  108265. */
  108266. dataURL?: undefined;
  108267. /**
  108268. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108269. * TypeScript non-optional and might be `undefined` in series objects from
  108270. * unknown sources.
  108271. */
  108272. type: "aroon";
  108273. }
  108274. /**
  108275. * (Highstock) An `Aroon Oscillator` series. If the type option is not
  108276. * specified, it is inherited from chart.type.
  108277. *
  108278. * In TypeScript the type option must always be set.
  108279. *
  108280. * Configuration options for the series are given in three levels:
  108281. *
  108282. * 1. Options for all series in a chart are defined in the plotOptions.series
  108283. * object.
  108284. *
  108285. * 2. Options for all `aroonoscillator` series are defined in
  108286. * plotOptions.aroonoscillator.
  108287. *
  108288. * 3. Options for one single series are given in the series instance array. (see
  108289. * online documentation for example)
  108290. *
  108291. * You have to extend the `SeriesAroonoscillatorOptions` via an interface to
  108292. * allow custom properties: ``` declare interface SeriesAroonoscillatorOptions {
  108293. * customProperty: string; }
  108294. *
  108295. */
  108296. export interface SeriesAroonoscillatorOptions extends PlotAroonoscillatorOptions, SeriesOptions {
  108297. /**
  108298. * Not available
  108299. */
  108300. aroonDown?: undefined;
  108301. /**
  108302. * Not available
  108303. */
  108304. dataParser?: undefined;
  108305. /**
  108306. * Not available
  108307. */
  108308. dataURL?: undefined;
  108309. /**
  108310. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108311. * TypeScript non-optional and might be `undefined` in series objects from
  108312. * unknown sources.
  108313. */
  108314. type: "aroonoscillator";
  108315. }
  108316. /**
  108317. * (Highstock) A `ATR` series. If the type option is not specified, it is
  108318. * inherited from chart.type.
  108319. *
  108320. * In TypeScript the type option must always be set.
  108321. *
  108322. * Configuration options for the series are given in three levels:
  108323. *
  108324. * 1. Options for all series in a chart are defined in the plotOptions.series
  108325. * object.
  108326. *
  108327. * 2. Options for all `atr` series are defined in plotOptions.atr.
  108328. *
  108329. * 3. Options for one single series are given in the series instance array. (see
  108330. * online documentation for example)
  108331. *
  108332. * You have to extend the `SeriesAtrOptions` via an interface to allow custom
  108333. * properties: ``` declare interface SeriesAtrOptions { customProperty: string;
  108334. * }
  108335. *
  108336. */
  108337. export interface SeriesAtrOptions extends PlotAtrOptions, SeriesOptions {
  108338. /**
  108339. * Not available
  108340. */
  108341. dataParser?: undefined;
  108342. /**
  108343. * Not available
  108344. */
  108345. dataURL?: undefined;
  108346. /**
  108347. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108348. * TypeScript non-optional and might be `undefined` in series objects from
  108349. * unknown sources.
  108350. */
  108351. type: "atr";
  108352. }
  108353. /**
  108354. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  108355. * series is displayed for the `dataLabels`. The animation can also be set as a
  108356. * configuration object. Please note that this option only applies to the
  108357. * initial animation. For other animations, see chart.animation and the
  108358. * animation parameter under the API methods. The following properties are
  108359. * supported:
  108360. *
  108361. * - `defer`: The animation delay time in milliseconds.
  108362. */
  108363. export interface SeriesBarDataDataLabelsAnimationOptions {
  108364. /**
  108365. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  108366. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  108367. * time from the series.animation.defer.
  108368. */
  108369. defer?: number;
  108370. }
  108371. /**
  108372. * (Highcharts) Style options for the guide box. The guide box has one state by
  108373. * default, the `default` state.
  108374. */
  108375. export interface SeriesBarDataDragDropGuideBoxOptions {
  108376. /**
  108377. * (Highcharts) Style options for the guide box default state.
  108378. */
  108379. default?: DragDropGuideBoxOptionsObject;
  108380. }
  108381. /**
  108382. * (Highcharts) A `bar` series. If the type option is not specified, it is
  108383. * inherited from chart.type.
  108384. *
  108385. * In TypeScript the type option must always be set.
  108386. *
  108387. * Configuration options for the series are given in three levels:
  108388. *
  108389. * 1. Options for all series in a chart are defined in the plotOptions.series
  108390. * object.
  108391. *
  108392. * 2. Options for all `bar` series are defined in plotOptions.bar.
  108393. *
  108394. * 3. Options for one single series are given in the series instance array. (see
  108395. * online documentation for example)
  108396. *
  108397. * You have to extend the `SeriesBarOptions` via an interface to allow custom
  108398. * properties: ``` declare interface SeriesBarOptions { customProperty: string;
  108399. * }
  108400. *
  108401. */
  108402. export interface SeriesBarOptions extends PlotBarOptions, SeriesOptions {
  108403. /**
  108404. * (Highcharts) An array of data points for the series. For the `bar` series
  108405. * type, points can be given in the following ways:
  108406. *
  108407. * 1. An array of numerical values. In this case, the numerical values will
  108408. * be interpreted as `y` options. The `x` values will be automatically
  108409. * calculated, either starting at 0 and incremented by 1, or from
  108410. * `pointStart` and `pointInterval` given in the series options. If the axis
  108411. * has categories, these will be used. Example: (see online documentation
  108412. * for example)
  108413. *
  108414. * 2. An array of arrays with 2 values. In this case, the values correspond
  108415. * to `x,y`. If the first value is a string, it is applied as the name of
  108416. * the point, and the `x` value is inferred. (see online documentation for
  108417. * example)
  108418. *
  108419. * 3. An array of objects with named values. The following snippet shows
  108420. * only a few settings, see the complete options set below. If the total
  108421. * number of data points exceeds the series' turboThreshold, this option is
  108422. * not available. (see online documentation for example)
  108423. */
  108424. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  108425. /**
  108426. * Not available
  108427. */
  108428. dataParser?: undefined;
  108429. /**
  108430. * Not available
  108431. */
  108432. dataURL?: undefined;
  108433. /**
  108434. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108435. * TypeScript non-optional and might be `undefined` in series objects from
  108436. * unknown sources.
  108437. */
  108438. type: "bar";
  108439. }
  108440. /**
  108441. * (Highstock) A bollinger bands indicator. If the type option is not specified,
  108442. * it is inherited from chart.type.
  108443. *
  108444. * In TypeScript the type option must always be set.
  108445. *
  108446. * Configuration options for the series are given in three levels:
  108447. *
  108448. * 1. Options for all series in a chart are defined in the plotOptions.series
  108449. * object.
  108450. *
  108451. * 2. Options for all `bb` series are defined in plotOptions.bb.
  108452. *
  108453. * 3. Options for one single series are given in the series instance array. (see
  108454. * online documentation for example)
  108455. *
  108456. * You have to extend the `SeriesBbOptions` via an interface to allow custom
  108457. * properties: ``` declare interface SeriesBbOptions { customProperty: string; }
  108458. *
  108459. */
  108460. export interface SeriesBbOptions extends PlotBbOptions, SeriesOptions {
  108461. /**
  108462. * Not available
  108463. */
  108464. dataParser?: undefined;
  108465. /**
  108466. * Not available
  108467. */
  108468. dataURL?: undefined;
  108469. /**
  108470. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108471. * TypeScript non-optional and might be `undefined` in series objects from
  108472. * unknown sources.
  108473. */
  108474. type: "bb";
  108475. }
  108476. /**
  108477. * (Highcharts) A `bellcurve` series. If the type option is not specified, it is
  108478. * inherited from chart.type.
  108479. *
  108480. * For options that apply to multiple series, it is recommended to add them to
  108481. * the plotOptions.series options structure. To apply to all series of this
  108482. * specific type, apply it to plotOptions.bellcurve.
  108483. *
  108484. * In TypeScript the type option must always be set.
  108485. *
  108486. * Configuration options for the series are given in three levels:
  108487. *
  108488. * 1. Options for all series in a chart are defined in the plotOptions.series
  108489. * object.
  108490. *
  108491. * 2. Options for all `bellcurve` series are defined in plotOptions.bellcurve.
  108492. *
  108493. * 3. Options for one single series are given in the series instance array. (see
  108494. * online documentation for example)
  108495. *
  108496. * You have to extend the `SeriesBellcurveOptions` via an interface to allow
  108497. * custom properties: ``` declare interface SeriesBellcurveOptions {
  108498. * customProperty: string; }
  108499. *
  108500. */
  108501. export interface SeriesBellcurveOptions extends PlotBellcurveOptions, SeriesOptions {
  108502. /**
  108503. * (Highcharts) An integer identifying the index to use for the base series,
  108504. * or a string representing the id of the series.
  108505. */
  108506. baseSeries?: (number|string);
  108507. /**
  108508. * Not available
  108509. */
  108510. data?: undefined;
  108511. /**
  108512. * Not available
  108513. */
  108514. dataParser?: undefined;
  108515. /**
  108516. * Not available
  108517. */
  108518. dataURL?: undefined;
  108519. /**
  108520. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108521. * TypeScript non-optional and might be `undefined` in series objects from
  108522. * unknown sources.
  108523. */
  108524. type: "bellcurve";
  108525. }
  108526. /**
  108527. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  108528. * series is displayed for the `dataLabels`. The animation can also be set as a
  108529. * configuration object. Please note that this option only applies to the
  108530. * initial animation. For other animations, see chart.animation and the
  108531. * animation parameter under the API methods. The following properties are
  108532. * supported:
  108533. *
  108534. * - `defer`: The animation delay time in milliseconds.
  108535. */
  108536. export interface SeriesBoxplotDataDataLabelsAnimationOptions {
  108537. /**
  108538. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  108539. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  108540. * time from the series.animation.defer.
  108541. */
  108542. defer?: number;
  108543. }
  108544. /**
  108545. * (Highcharts) Style options for the guide box. The guide box has one state by
  108546. * default, the `default` state.
  108547. */
  108548. export interface SeriesBoxplotDataDragDropGuideBoxOptions {
  108549. /**
  108550. * (Highcharts) Style options for the guide box default state.
  108551. */
  108552. default?: DragDropGuideBoxOptionsObject;
  108553. }
  108554. /**
  108555. * (Highcharts) A `boxplot` series. If the type option is not specified, it is
  108556. * inherited from chart.type.
  108557. *
  108558. * In TypeScript the type option must always be set.
  108559. *
  108560. * Configuration options for the series are given in three levels:
  108561. *
  108562. * 1. Options for all series in a chart are defined in the plotOptions.series
  108563. * object.
  108564. *
  108565. * 2. Options for all `boxplot` series are defined in plotOptions.boxplot.
  108566. *
  108567. * 3. Options for one single series are given in the series instance array. (see
  108568. * online documentation for example)
  108569. *
  108570. * You have to extend the `SeriesBoxplotOptions` via an interface to allow
  108571. * custom properties: ``` declare interface SeriesBoxplotOptions {
  108572. * customProperty: string; }
  108573. *
  108574. */
  108575. export interface SeriesBoxplotOptions extends PlotBoxplotOptions, SeriesOptions {
  108576. /**
  108577. * (Highcharts) An array of data points for the series. For the `boxplot`
  108578. * series type, points can be given in the following ways:
  108579. *
  108580. * 1. An array of arrays with 6 or 5 values. In this case, the values
  108581. * correspond to `x,low,q1,median,q3,high`. If the first value is a string,
  108582. * it is applied as the name of the point, and the `x` value is inferred.
  108583. * The `x` value can also be omitted, in which case the inner arrays should
  108584. * be of length 5. Then the `x` value is automatically calculated, either
  108585. * starting at 0 and incremented by 1, or from `pointStart` and
  108586. * `pointInterval` given in the series options. (see online documentation
  108587. * for example)
  108588. *
  108589. * 2. An array of objects with named values. The following snippet shows
  108590. * only a few settings, see the complete options set below. If the total
  108591. * number of data points exceeds the series' turboThreshold, this option is
  108592. * not available. (see online documentation for example)
  108593. */
  108594. data?: Array<([(number|string), number, number, number, number]|[(number|string), number, number, number, number, number]|PointOptionsObject)>;
  108595. /**
  108596. * Not available
  108597. */
  108598. dataParser?: undefined;
  108599. /**
  108600. * Not available
  108601. */
  108602. dataURL?: undefined;
  108603. /**
  108604. * Not available
  108605. */
  108606. stack?: undefined;
  108607. /**
  108608. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108609. * TypeScript non-optional and might be `undefined` in series objects from
  108610. * unknown sources.
  108611. */
  108612. type: "boxplot";
  108613. }
  108614. /**
  108615. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  108616. * series is displayed for the `dataLabels`. The animation can also be set as a
  108617. * configuration object. Please note that this option only applies to the
  108618. * initial animation. For other animations, see chart.animation and the
  108619. * animation parameter under the API methods. The following properties are
  108620. * supported:
  108621. *
  108622. * - `defer`: The animation delay time in milliseconds.
  108623. */
  108624. export interface SeriesBubbleDataDataLabelsAnimationOptions {
  108625. /**
  108626. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  108627. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  108628. * time from the series.animation.defer.
  108629. */
  108630. defer?: number;
  108631. }
  108632. /**
  108633. * (Highcharts) Style options for the guide box. The guide box has one state by
  108634. * default, the `default` state.
  108635. */
  108636. export interface SeriesBubbleDataDragDropGuideBoxOptions {
  108637. /**
  108638. * (Highcharts) Style options for the guide box default state.
  108639. */
  108640. default?: DragDropGuideBoxOptionsObject;
  108641. }
  108642. /**
  108643. * (Highcharts, Highstock) A `bubble` series. If the type option is not
  108644. * specified, it is inherited from chart.type.
  108645. *
  108646. * In TypeScript the type option must always be set.
  108647. *
  108648. * Configuration options for the series are given in three levels:
  108649. *
  108650. * 1. Options for all series in a chart are defined in the plotOptions.series
  108651. * object.
  108652. *
  108653. * 2. Options for all `bubble` series are defined in plotOptions.bubble.
  108654. *
  108655. * 3. Options for one single series are given in the series instance array. (see
  108656. * online documentation for example)
  108657. *
  108658. * You have to extend the `SeriesBubbleOptions` via an interface to allow custom
  108659. * properties: ``` declare interface SeriesBubbleOptions { customProperty:
  108660. * string; }
  108661. *
  108662. */
  108663. export interface SeriesBubbleOptions extends PlotBubbleOptions, SeriesOptions {
  108664. /**
  108665. * (Highcharts) An array of data points for the series. For the `bubble`
  108666. * series type, points can be given in the following ways:
  108667. *
  108668. * 1. An array of arrays with 3 or 2 values. In this case, the values
  108669. * correspond to `x,y,z`. If the first value is a string, it is applied as
  108670. * the name of the point, and the `x` value is inferred. The `x` value can
  108671. * also be omitted, in which case the inner arrays should be of length 2\.
  108672. * Then the `x` value is automatically calculated, either starting at 0 and
  108673. * incremented by 1, or from `pointStart` and `pointInterval` given in the
  108674. * series options. (see online documentation for example)
  108675. *
  108676. * 2. An array of objects with named values. The following snippet shows
  108677. * only a few settings, see the complete options set below. If the total
  108678. * number of data points exceeds the series' turboThreshold, this option is
  108679. * not available. (see online documentation for example)
  108680. */
  108681. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  108682. /**
  108683. * Not available
  108684. */
  108685. dataParser?: undefined;
  108686. /**
  108687. * Not available
  108688. */
  108689. dataURL?: undefined;
  108690. /**
  108691. * Not available
  108692. */
  108693. stack?: undefined;
  108694. /**
  108695. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108696. * TypeScript non-optional and might be `undefined` in series objects from
  108697. * unknown sources.
  108698. */
  108699. type: "bubble";
  108700. }
  108701. /**
  108702. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  108703. * series is displayed for the `dataLabels`. The animation can also be set as a
  108704. * configuration object. Please note that this option only applies to the
  108705. * initial animation. For other animations, see chart.animation and the
  108706. * animation parameter under the API methods. The following properties are
  108707. * supported:
  108708. *
  108709. * - `defer`: The animation delay time in milliseconds.
  108710. */
  108711. export interface SeriesBulletDataDataLabelsAnimationOptions {
  108712. /**
  108713. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  108714. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  108715. * time from the series.animation.defer.
  108716. */
  108717. defer?: number;
  108718. }
  108719. /**
  108720. * (Highcharts) Style options for the guide box. The guide box has one state by
  108721. * default, the `default` state.
  108722. */
  108723. export interface SeriesBulletDataDragDropGuideBoxOptions {
  108724. /**
  108725. * (Highcharts) Style options for the guide box default state.
  108726. */
  108727. default?: DragDropGuideBoxOptionsObject;
  108728. }
  108729. /**
  108730. * (Highcharts) Individual target options for each point.
  108731. */
  108732. export interface SeriesBulletDataTargetOptions {
  108733. /**
  108734. * (Highcharts) The border color of the rectangle representing the target.
  108735. * When not set, the point's border color is used.
  108736. *
  108737. * In styled mode, use class `highcharts-bullet-target` instead.
  108738. */
  108739. borderColor?: ColorString;
  108740. /**
  108741. * (Highcharts) The border width of the rectangle representing the target.
  108742. *
  108743. * In styled mode, use class `highcharts-bullet-target` instead.
  108744. */
  108745. borderWidth?: number;
  108746. /**
  108747. * (Highcharts) The color of the rectangle representing the target. When not
  108748. * set, point's color (if set in point's options - `color`) or zone of the
  108749. * target value (if `zones` or `negativeColor` are set) or the same color as
  108750. * the point has is used.
  108751. *
  108752. * In styled mode, use class `highcharts-bullet-target` instead.
  108753. */
  108754. color?: (ColorString|GradientColorObject|PatternObject);
  108755. /**
  108756. * (Highcharts) The height of the rectangle representing the target.
  108757. */
  108758. height?: number;
  108759. /**
  108760. * (Highcharts) The width of the rectangle representing the target. Could be
  108761. * set as a pixel value or as a percentage of a column width.
  108762. */
  108763. width?: (number|string);
  108764. }
  108765. /**
  108766. * (Highcharts) A `bullet` series. If the type option is not specified, it is
  108767. * inherited from chart.type.
  108768. *
  108769. * In TypeScript the type option must always be set.
  108770. *
  108771. * Configuration options for the series are given in three levels:
  108772. *
  108773. * 1. Options for all series in a chart are defined in the plotOptions.series
  108774. * object.
  108775. *
  108776. * 2. Options for all `bullet` series are defined in plotOptions.bullet.
  108777. *
  108778. * 3. Options for one single series are given in the series instance array. (see
  108779. * online documentation for example)
  108780. *
  108781. * You have to extend the `SeriesBulletOptions` via an interface to allow custom
  108782. * properties: ``` declare interface SeriesBulletOptions { customProperty:
  108783. * string; }
  108784. *
  108785. */
  108786. export interface SeriesBulletOptions extends PlotBulletOptions, SeriesOptions {
  108787. /**
  108788. * (Highcharts) An array of data points for the series. For the `bullet`
  108789. * series type, points can be given in the following ways:
  108790. *
  108791. * 1. An array of arrays with 3 or 2 values. In this case, the values
  108792. * correspond to `x,y,target`. If the first value is a string, it is applied
  108793. * as the name of the point, and the `x` value is inferred. The `x` value
  108794. * can also be omitted, in which case the inner arrays should be of length
  108795. * 2\. Then the `x` value is automatically calculated, either starting at 0
  108796. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  108797. * the series options. (see online documentation for example)
  108798. *
  108799. * 2. An array of objects with named values. The following snippet shows
  108800. * only a few settings, see the complete options set below. If the total
  108801. * number of data points exceeds the series' turboThreshold, this option is
  108802. * not available. (see online documentation for example)
  108803. */
  108804. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  108805. /**
  108806. * Not available
  108807. */
  108808. dataParser?: undefined;
  108809. /**
  108810. * Not available
  108811. */
  108812. dataURL?: undefined;
  108813. /**
  108814. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108815. * TypeScript non-optional and might be `undefined` in series objects from
  108816. * unknown sources.
  108817. */
  108818. type: "bullet";
  108819. }
  108820. /**
  108821. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  108822. * is displayed for the `dataLabels`. The animation can also be set as a
  108823. * configuration object. Please note that this option only applies to the
  108824. * initial animation. For other animations, see chart.animation and the
  108825. * animation parameter under the API methods. The following properties are
  108826. * supported:
  108827. *
  108828. * - `defer`: The animation delay time in milliseconds.
  108829. */
  108830. export interface SeriesCandlestickDataDataLabelsAnimationOptions {
  108831. /**
  108832. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  108833. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  108834. * from the series.animation.defer.
  108835. */
  108836. defer?: number;
  108837. }
  108838. /**
  108839. * (Highstock) Style options for the guide box. The guide box has one state by
  108840. * default, the `default` state.
  108841. */
  108842. export interface SeriesCandlestickDataDragDropGuideBoxOptions {
  108843. /**
  108844. * (Highstock) Style options for the guide box default state.
  108845. */
  108846. default?: DragDropGuideBoxOptionsObject;
  108847. }
  108848. /**
  108849. * (Highstock) A `candlestick` series. If the type option is not specified, it
  108850. * is inherited from chart.type.
  108851. *
  108852. * In TypeScript the type option must always be set.
  108853. *
  108854. * Configuration options for the series are given in three levels:
  108855. *
  108856. * 1. Options for all series in a chart are defined in the plotOptions.series
  108857. * object.
  108858. *
  108859. * 2. Options for all `candlestick` series are defined in
  108860. * plotOptions.candlestick.
  108861. *
  108862. * 3. Options for one single series are given in the series instance array. (see
  108863. * online documentation for example)
  108864. *
  108865. * You have to extend the `SeriesCandlestickOptions` via an interface to allow
  108866. * custom properties: ``` declare interface SeriesCandlestickOptions {
  108867. * customProperty: string; }
  108868. *
  108869. */
  108870. export interface SeriesCandlestickOptions extends PlotCandlestickOptions, SeriesOptions {
  108871. /**
  108872. * (Highstock) An array of data points for the series. For the `candlestick`
  108873. * series type, points can be given in the following ways:
  108874. *
  108875. * 1. An array of arrays with 5 or 4 values. In this case, the values
  108876. * correspond to `x,open,high,low,close`. If the first value is a string, it
  108877. * is applied as the name of the point, and the `x` value is inferred. The
  108878. * `x` value can also be omitted, in which case the inner arrays should be
  108879. * of length 4. Then the `x` value is automatically calculated, either
  108880. * starting at 0 and incremented by 1, or from `pointStart` and
  108881. * `pointInterval` given in the series options. (see online documentation
  108882. * for example)
  108883. *
  108884. * 2. An array of objects with named values. The following snippet shows
  108885. * only a few settings, see the complete options set below. If the total
  108886. * number of data points exceeds the series' turboThreshold, this option is
  108887. * not available. (see online documentation for example)
  108888. */
  108889. data?: Array<([(number|string), number, number, number]|[(number|string), number, number, number, number]|PointOptionsObject)>;
  108890. /**
  108891. * Not available
  108892. */
  108893. dataParser?: undefined;
  108894. /**
  108895. * Not available
  108896. */
  108897. dataURL?: undefined;
  108898. /**
  108899. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108900. * TypeScript non-optional and might be `undefined` in series objects from
  108901. * unknown sources.
  108902. */
  108903. type: "candlestick";
  108904. }
  108905. /**
  108906. * (Highstock) A `CCI` series. If the type option is not specified, it is
  108907. * inherited from chart.type.
  108908. *
  108909. * In TypeScript the type option must always be set.
  108910. *
  108911. * Configuration options for the series are given in three levels:
  108912. *
  108913. * 1. Options for all series in a chart are defined in the plotOptions.series
  108914. * object.
  108915. *
  108916. * 2. Options for all `cci` series are defined in plotOptions.cci.
  108917. *
  108918. * 3. Options for one single series are given in the series instance array. (see
  108919. * online documentation for example)
  108920. *
  108921. * You have to extend the `SeriesCciOptions` via an interface to allow custom
  108922. * properties: ``` declare interface SeriesCciOptions { customProperty: string;
  108923. * }
  108924. *
  108925. */
  108926. export interface SeriesCciOptions extends PlotCciOptions, SeriesOptions {
  108927. /**
  108928. * Not available
  108929. */
  108930. dataParser?: undefined;
  108931. /**
  108932. * Not available
  108933. */
  108934. dataURL?: undefined;
  108935. /**
  108936. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108937. * TypeScript non-optional and might be `undefined` in series objects from
  108938. * unknown sources.
  108939. */
  108940. type: "cci";
  108941. }
  108942. /**
  108943. * (Highstock) A `Chaikin Oscillator` series. If the type option is not
  108944. * specified, it is inherited from chart.type.
  108945. *
  108946. * In TypeScript the type option must always be set.
  108947. *
  108948. * Configuration options for the series are given in three levels:
  108949. *
  108950. * 1. Options for all series in a chart are defined in the plotOptions.series
  108951. * object.
  108952. *
  108953. * 2. Options for all `chaikin` series are defined in plotOptions.chaikin.
  108954. *
  108955. * 3. Options for one single series are given in the series instance array. (see
  108956. * online documentation for example)
  108957. *
  108958. * You have to extend the `SeriesChaikinOptions` via an interface to allow
  108959. * custom properties: ``` declare interface SeriesChaikinOptions {
  108960. * customProperty: string; }
  108961. *
  108962. */
  108963. export interface SeriesChaikinOptions extends PlotChaikinOptions, SeriesOptions {
  108964. /**
  108965. * Not available
  108966. */
  108967. dataParser?: undefined;
  108968. /**
  108969. * Not available
  108970. */
  108971. dataURL?: undefined;
  108972. /**
  108973. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108974. * TypeScript non-optional and might be `undefined` in series objects from
  108975. * unknown sources.
  108976. */
  108977. type: "chaikin";
  108978. }
  108979. /**
  108980. * Event information regarding check of a series box.
  108981. */
  108982. export interface SeriesCheckboxClickEventObject {
  108983. /**
  108984. * Whether the box has been checked.
  108985. */
  108986. checked: boolean;
  108987. /**
  108988. * Related series.
  108989. */
  108990. item: Series;
  108991. /**
  108992. * Related series.
  108993. */
  108994. target: Series;
  108995. /**
  108996. * Event type.
  108997. */
  108998. type: "checkboxClick";
  108999. }
  109000. /**
  109001. * Common information for a click event on a series.
  109002. */
  109003. export interface SeriesClickEventObject extends Event {
  109004. /**
  109005. * Nearest point on the graph.
  109006. */
  109007. point: Point;
  109008. }
  109009. /**
  109010. * (Highstock) A `CMF` series. If the type option is not specified, it is
  109011. * inherited from chart.type.
  109012. *
  109013. * In TypeScript the type option must always be set.
  109014. *
  109015. * Configuration options for the series are given in three levels:
  109016. *
  109017. * 1. Options for all series in a chart are defined in the plotOptions.series
  109018. * object.
  109019. *
  109020. * 2. Options for all `cmf` series are defined in plotOptions.cmf.
  109021. *
  109022. * 3. Options for one single series are given in the series instance array. (see
  109023. * online documentation for example)
  109024. *
  109025. * You have to extend the `SeriesCmfOptions` via an interface to allow custom
  109026. * properties: ``` declare interface SeriesCmfOptions { customProperty: string;
  109027. * }
  109028. *
  109029. */
  109030. export interface SeriesCmfOptions extends PlotCmfOptions, SeriesOptions {
  109031. /**
  109032. * Not available
  109033. */
  109034. dataParser?: undefined;
  109035. /**
  109036. * Not available
  109037. */
  109038. dataURL?: undefined;
  109039. /**
  109040. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109041. * TypeScript non-optional and might be `undefined` in series objects from
  109042. * unknown sources.
  109043. */
  109044. type: "cmf";
  109045. }
  109046. /**
  109047. * (Highstock) A `CMO` series. If the type option is not specified, it is
  109048. * inherited from chart.type.
  109049. *
  109050. * In TypeScript the type option must always be set.
  109051. *
  109052. * Configuration options for the series are given in three levels:
  109053. *
  109054. * 1. Options for all series in a chart are defined in the plotOptions.series
  109055. * object.
  109056. *
  109057. * 2. Options for all `cmo` series are defined in plotOptions.cmo.
  109058. *
  109059. * 3. Options for one single series are given in the series instance array. (see
  109060. * online documentation for example)
  109061. *
  109062. * You have to extend the `SeriesCmoOptions` via an interface to allow custom
  109063. * properties: ``` declare interface SeriesCmoOptions { customProperty: string;
  109064. * }
  109065. *
  109066. */
  109067. export interface SeriesCmoOptions extends PlotCmoOptions, SeriesOptions {
  109068. /**
  109069. * Not available
  109070. */
  109071. dataParser?: undefined;
  109072. /**
  109073. * Not available
  109074. */
  109075. dataURL?: undefined;
  109076. /**
  109077. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109078. * TypeScript non-optional and might be `undefined` in series objects from
  109079. * unknown sources.
  109080. */
  109081. type: "cmo";
  109082. }
  109083. /**
  109084. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  109085. * series is displayed for the `dataLabels`. The animation can also be set as a
  109086. * configuration object. Please note that this option only applies to the
  109087. * initial animation. For other animations, see chart.animation and the
  109088. * animation parameter under the API methods. The following properties are
  109089. * supported:
  109090. *
  109091. * - `defer`: The animation delay time in milliseconds.
  109092. */
  109093. export interface SeriesColumnDataDataLabelsAnimationOptions {
  109094. /**
  109095. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  109096. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  109097. * time from the series.animation.defer.
  109098. */
  109099. defer?: number;
  109100. }
  109101. /**
  109102. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  109103. * one state by default, the `default` state.
  109104. */
  109105. export interface SeriesColumnDataDragDropGuideBoxOptions {
  109106. /**
  109107. * (Highcharts, Highstock) Style options for the guide box default state.
  109108. */
  109109. default?: DragDropGuideBoxOptionsObject;
  109110. }
  109111. /**
  109112. * (Highcharts, Highstock) A `column` series. If the type option is not
  109113. * specified, it is inherited from chart.type.
  109114. *
  109115. * In TypeScript the type option must always be set.
  109116. *
  109117. * Configuration options for the series are given in three levels:
  109118. *
  109119. * 1. Options for all series in a chart are defined in the plotOptions.series
  109120. * object.
  109121. *
  109122. * 2. Options for all `column` series are defined in plotOptions.column.
  109123. *
  109124. * 3. Options for one single series are given in the series instance array. (see
  109125. * online documentation for example)
  109126. *
  109127. * You have to extend the `SeriesColumnOptions` via an interface to allow custom
  109128. * properties: ``` declare interface SeriesColumnOptions { customProperty:
  109129. * string; }
  109130. *
  109131. */
  109132. export interface SeriesColumnOptions extends PlotColumnOptions, SeriesOptions {
  109133. /**
  109134. * (Highcharts, Highstock) An array of data points for the series. For the
  109135. * `column` series type, points can be given in the following ways:
  109136. *
  109137. * 1. An array of numerical values. In this case, the numerical values will
  109138. * be interpreted as `y` options. The `x` values will be automatically
  109139. * calculated, either starting at 0 and incremented by 1, or from
  109140. * `pointStart` and `pointInterval` given in the series options. If the axis
  109141. * has categories, these will be used. Example: (see online documentation
  109142. * for example)
  109143. *
  109144. * 2. An array of arrays with 2 values. In this case, the values correspond
  109145. * to `x,y`. If the first value is a string, it is applied as the name of
  109146. * the point, and the `x` value is inferred. (see online documentation for
  109147. * example)
  109148. *
  109149. * 3. An array of objects with named values. The following snippet shows
  109150. * only a few settings, see the complete options set below. If the total
  109151. * number of data points exceeds the series' turboThreshold, this option is
  109152. * not available. (see online documentation for example)
  109153. */
  109154. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  109155. /**
  109156. * Not available
  109157. */
  109158. dataParser?: undefined;
  109159. /**
  109160. * Not available
  109161. */
  109162. dataURL?: undefined;
  109163. /**
  109164. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109165. * TypeScript non-optional and might be `undefined` in series objects from
  109166. * unknown sources.
  109167. */
  109168. type: "column";
  109169. }
  109170. /**
  109171. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  109172. * series is displayed for the `dataLabels`. The animation can also be set as a
  109173. * configuration object. Please note that this option only applies to the
  109174. * initial animation. For other animations, see chart.animation and the
  109175. * animation parameter under the API methods. The following properties are
  109176. * supported:
  109177. *
  109178. * - `defer`: The animation delay time in milliseconds.
  109179. */
  109180. export interface SeriesColumnpyramidDataDataLabelsAnimationOptions {
  109181. /**
  109182. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  109183. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  109184. * time from the series.animation.defer.
  109185. */
  109186. defer?: number;
  109187. }
  109188. /**
  109189. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  109190. * one state by default, the `default` state.
  109191. */
  109192. export interface SeriesColumnpyramidDataDragDropGuideBoxOptions {
  109193. /**
  109194. * (Highcharts, Highstock) Style options for the guide box default state.
  109195. */
  109196. default?: DragDropGuideBoxOptionsObject;
  109197. }
  109198. /**
  109199. * (Highcharts, Highstock) A `columnpyramid` series. If the type option is not
  109200. * specified, it is inherited from chart.type.
  109201. *
  109202. * In TypeScript the type option must always be set.
  109203. *
  109204. * Configuration options for the series are given in three levels:
  109205. *
  109206. * 1. Options for all series in a chart are defined in the plotOptions.series
  109207. * object.
  109208. *
  109209. * 2. Options for all `columnpyramid` series are defined in
  109210. * plotOptions.columnpyramid.
  109211. *
  109212. * 3. Options for one single series are given in the series instance array. (see
  109213. * online documentation for example)
  109214. *
  109215. * You have to extend the `SeriesColumnpyramidOptions` via an interface to allow
  109216. * custom properties: ``` declare interface SeriesColumnpyramidOptions {
  109217. * customProperty: string; }
  109218. *
  109219. */
  109220. export interface SeriesColumnpyramidOptions extends PlotColumnpyramidOptions, SeriesOptions {
  109221. /**
  109222. * (Highcharts, Highstock) An array of data points for the series. For the
  109223. * `columnpyramid` series type, points can be given in the following ways:
  109224. *
  109225. * 1. An array of numerical values. In this case, the numerical values will
  109226. * be interpreted as `y` options. The `x` values will be automatically
  109227. * calculated, either starting at 0 and incremented by 1, or from
  109228. * `pointStart` and `pointInterval` given in the series options. If the axis
  109229. * has categories, these will be used. Example: (see online documentation
  109230. * for example)
  109231. *
  109232. * 2. An array of arrays with 2 values. In this case, the values correspond
  109233. * to `x,y`. If the first value is a string, it is applied as the name of
  109234. * the point, and the `x` value is inferred. (see online documentation for
  109235. * example)
  109236. *
  109237. * 3. An array of objects with named values. The objects are point
  109238. * configuration objects as seen below. If the total number of data points
  109239. * exceeds the series' turboThreshold, this option is not available. (see
  109240. * online documentation for example)
  109241. */
  109242. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  109243. /**
  109244. * Not available
  109245. */
  109246. dataParser?: undefined;
  109247. /**
  109248. * Not available
  109249. */
  109250. dataURL?: undefined;
  109251. /**
  109252. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109253. * TypeScript non-optional and might be `undefined` in series objects from
  109254. * unknown sources.
  109255. */
  109256. type: "columnpyramid";
  109257. }
  109258. /**
  109259. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  109260. * is displayed for the `dataLabels`. The animation can also be set as a
  109261. * configuration object. Please note that this option only applies to the
  109262. * initial animation. For other animations, see chart.animation and the
  109263. * animation parameter under the API methods. The following properties are
  109264. * supported:
  109265. *
  109266. * - `defer`: The animation delay time in milliseconds.
  109267. */
  109268. export interface SeriesColumnrangeDataDataLabelsAnimationOptions {
  109269. /**
  109270. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  109271. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  109272. * from the series.animation.defer.
  109273. */
  109274. defer?: number;
  109275. }
  109276. /**
  109277. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  109278. * one state by default, the `default` state.
  109279. */
  109280. export interface SeriesColumnrangeDataDragDropGuideBoxOptions {
  109281. /**
  109282. * (Highcharts, Highstock) Style options for the guide box default state.
  109283. */
  109284. default?: DragDropGuideBoxOptionsObject;
  109285. }
  109286. /**
  109287. * (Highcharts, Highstock) A `columnrange` series. If the type option is not
  109288. * specified, it is inherited from chart.type.
  109289. *
  109290. * In TypeScript the type option must always be set.
  109291. *
  109292. * Configuration options for the series are given in three levels:
  109293. *
  109294. * 1. Options for all series in a chart are defined in the plotOptions.series
  109295. * object.
  109296. *
  109297. * 2. Options for all `columnrange` series are defined in
  109298. * plotOptions.columnrange.
  109299. *
  109300. * 3. Options for one single series are given in the series instance array. (see
  109301. * online documentation for example)
  109302. *
  109303. * You have to extend the `SeriesColumnrangeOptions` via an interface to allow
  109304. * custom properties: ``` declare interface SeriesColumnrangeOptions {
  109305. * customProperty: string; }
  109306. *
  109307. */
  109308. export interface SeriesColumnrangeOptions extends PlotColumnrangeOptions, SeriesOptions {
  109309. /**
  109310. * (Highcharts, Highstock) An array of data points for the series. For the
  109311. * `columnrange` series type, points can be given in the following ways:
  109312. *
  109313. * 1. An array of arrays with 3 or 2 values. In this case, the values
  109314. * correspond to `x,low,high`. If the first value is a string, it is applied
  109315. * as the name of the point, and the `x` value is inferred. The `x` value
  109316. * can also be omitted, in which case the inner arrays should be of length
  109317. * 2\. Then the `x` value is automatically calculated, either starting at 0
  109318. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  109319. * the series options. (see online documentation for example)
  109320. *
  109321. * 2. An array of objects with named values. The following snippet shows
  109322. * only a few settings, see the complete options set below. If the total
  109323. * number of data points exceeds the series' turboThreshold, this option is
  109324. * not available. (see online documentation for example)
  109325. */
  109326. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  109327. /**
  109328. * Not available
  109329. */
  109330. dataParser?: undefined;
  109331. /**
  109332. * Not available
  109333. */
  109334. dataURL?: undefined;
  109335. /**
  109336. * Not available
  109337. */
  109338. stack?: undefined;
  109339. /**
  109340. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109341. * TypeScript non-optional and might be `undefined` in series objects from
  109342. * unknown sources.
  109343. */
  109344. type: "columnrange";
  109345. }
  109346. /**
  109347. * (Gantt) Override Pathfinder connector options for a series. Requires
  109348. * Highcharts Gantt to be loaded.
  109349. */
  109350. export interface SeriesConnectorsOptionsObject {
  109351. animation?: ConnectorsAnimationOptionsObject;
  109352. /**
  109353. * (Gantt) Set the default dash style for this chart's connecting lines.
  109354. */
  109355. dashStyle?: string;
  109356. /**
  109357. * (Gantt) Marker options specific to the end markers for this chart's
  109358. * Pathfinder connectors. Overrides the generic marker options.
  109359. */
  109360. endMarker?: ConnectorsEndMarkerOptions;
  109361. /**
  109362. * (Gantt) Set the default color for this chart's Pathfinder connecting
  109363. * lines. Defaults to the color of the point being connected.
  109364. */
  109365. lineColor?: ColorString;
  109366. /**
  109367. * (Gantt) Set the default pixel width for this chart's Pathfinder
  109368. * connecting lines.
  109369. */
  109370. lineWidth?: number;
  109371. /**
  109372. * (Gantt) Marker options for this chart's Pathfinder connectors. Note that
  109373. * this option is overridden by the `startMarker` and `endMarker` options.
  109374. */
  109375. marker?: ConnectorsMarkerOptions;
  109376. /**
  109377. * (Gantt) Marker options specific to the start markers for this chart's
  109378. * Pathfinder connectors. Overrides the generic marker options.
  109379. */
  109380. startMarker?: ConnectorsStartMarkerOptions;
  109381. /**
  109382. * (Gantt) Set the default pathfinder algorithm to use for this chart. It is
  109383. * possible to define your own algorithms by adding them to the
  109384. * Highcharts.Pathfinder.prototype.algorithms object before the chart has
  109385. * been created.
  109386. *
  109387. * The default algorithms are as follows:
  109388. *
  109389. * `straight`: Draws a straight line between the connecting points. Does not
  109390. * avoid other points when drawing.
  109391. *
  109392. * `simpleConnect`: Finds a path between the points using right angles only.
  109393. * Takes only starting/ending points into account, and will not avoid other
  109394. * points.
  109395. *
  109396. * `fastAvoid`: Finds a path between the points using right angles only.
  109397. * Will attempt to avoid other points, but its focus is performance over
  109398. * accuracy. Works well with less dense datasets.
  109399. *
  109400. * Default value: `straight` is used as default for most series types, while
  109401. * `simpleConnect` is used as default for Gantt series, to show dependencies
  109402. * between points.
  109403. */
  109404. type?: (string|PathfinderTypeValue);
  109405. }
  109406. /**
  109407. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  109408. * series is displayed for the `dataLabels`. The animation can also be set as a
  109409. * configuration object. Please note that this option only applies to the
  109410. * initial animation. For other animations, see chart.animation and the
  109411. * animation parameter under the API methods. The following properties are
  109412. * supported:
  109413. *
  109414. * - `defer`: The animation delay time in milliseconds.
  109415. */
  109416. export interface SeriesCylinderDataDataLabelsAnimationOptions {
  109417. /**
  109418. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  109419. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  109420. * time from the series.animation.defer.
  109421. */
  109422. defer?: number;
  109423. }
  109424. /**
  109425. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  109426. * one state by default, the `default` state.
  109427. */
  109428. export interface SeriesCylinderDataDragDropGuideBoxOptions {
  109429. /**
  109430. * (Highcharts, Highstock) Style options for the guide box default state.
  109431. */
  109432. default?: DragDropGuideBoxOptionsObject;
  109433. }
  109434. /**
  109435. * (Highcharts) A `cylinder` series. If the type option is not specified, it is
  109436. * inherited from chart.type.
  109437. *
  109438. * In TypeScript the type option must always be set.
  109439. *
  109440. * Configuration options for the series are given in three levels:
  109441. *
  109442. * 1. Options for all series in a chart are defined in the plotOptions.series
  109443. * object.
  109444. *
  109445. * 2. Options for all `cylinder` series are defined in plotOptions.cylinder.
  109446. *
  109447. * 3. Options for one single series are given in the series instance array. (see
  109448. * online documentation for example)
  109449. *
  109450. * You have to extend the `SeriesCylinderOptions` via an interface to allow
  109451. * custom properties: ``` declare interface SeriesCylinderOptions {
  109452. * customProperty: string; }
  109453. *
  109454. */
  109455. export interface SeriesCylinderOptions extends PlotCylinderOptions, SeriesOptions {
  109456. /**
  109457. * (Highcharts, Highstock) An array of data points for the series. For the
  109458. * `cylinder` series type, points can be given in the following ways:
  109459. *
  109460. * 1. An array of numerical values. In this case, the numerical values will
  109461. * be interpreted as `y` options. The `x` values will be automatically
  109462. * calculated, either starting at 0 and incremented by 1, or from
  109463. * `pointStart` and `pointInterval` given in the series options. If the axis
  109464. * has categories, these will be used. Example: (see online documentation
  109465. * for example)
  109466. *
  109467. * 2. An array of arrays with 2 values. In this case, the values correspond
  109468. * to `x,y`. If the first value is a string, it is applied as the name of
  109469. * the point, and the `x` value is inferred. (see online documentation for
  109470. * example)
  109471. *
  109472. * 3. An array of objects with named values. The following snippet shows
  109473. * only a few settings, see the complete options set below. If the total
  109474. * number of data points exceeds the series' turboThreshold, this option is
  109475. * not available. (see online documentation for example)
  109476. */
  109477. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  109478. /**
  109479. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109480. * TypeScript non-optional and might be `undefined` in series objects from
  109481. * unknown sources.
  109482. */
  109483. type: "cylinder";
  109484. }
  109485. /**
  109486. * (Highstock) A `DEMA` series. If the type option is not specified, it is
  109487. * inherited from chart.type.
  109488. *
  109489. * In TypeScript the type option must always be set.
  109490. *
  109491. * Configuration options for the series are given in three levels:
  109492. *
  109493. * 1. Options for all series in a chart are defined in the plotOptions.series
  109494. * object.
  109495. *
  109496. * 2. Options for all `dema` series are defined in plotOptions.dema.
  109497. *
  109498. * 3. Options for one single series are given in the series instance array. (see
  109499. * online documentation for example)
  109500. *
  109501. * You have to extend the `SeriesDemaOptions` via an interface to allow custom
  109502. * properties: ``` declare interface SeriesDemaOptions { customProperty: string;
  109503. * }
  109504. *
  109505. */
  109506. export interface SeriesDemaOptions extends PlotDemaOptions, SeriesOptions {
  109507. /**
  109508. * Not available
  109509. */
  109510. dataParser?: undefined;
  109511. /**
  109512. * Not available
  109513. */
  109514. dataURL?: undefined;
  109515. /**
  109516. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109517. * TypeScript non-optional and might be `undefined` in series objects from
  109518. * unknown sources.
  109519. */
  109520. type: "dema";
  109521. }
  109522. /**
  109523. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  109524. * animation when a series is displayed for the `dataLabels`. The animation can
  109525. * also be set as a configuration object. Please note that this option only
  109526. * applies to the initial animation. For other animations, see chart.animation
  109527. * and the animation parameter under the API methods. The following properties
  109528. * are supported:
  109529. *
  109530. * - `defer`: The animation delay time in milliseconds.
  109531. */
  109532. export interface SeriesDependencywheelNodesDataLabelsAnimationOptions {
  109533. /**
  109534. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  109535. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  109536. * inherits defer time from the series.animation.defer.
  109537. */
  109538. defer?: number;
  109539. }
  109540. /**
  109541. * (Highcharts) A `dependencywheel` series. If the type option is not specified,
  109542. * it is inherited from chart.type.
  109543. *
  109544. * In TypeScript the type option must always be set.
  109545. *
  109546. * Configuration options for the series are given in three levels:
  109547. *
  109548. * 1. Options for all series in a chart are defined in the plotOptions.series
  109549. * object.
  109550. *
  109551. * 2. Options for all `dependencywheel` series are defined in
  109552. * plotOptions.dependencywheel.
  109553. *
  109554. * 3. Options for one single series are given in the series instance array. (see
  109555. * online documentation for example)
  109556. *
  109557. * You have to extend the `SeriesDependencywheelOptions` via an interface to
  109558. * allow custom properties: ``` declare interface SeriesDependencywheelOptions {
  109559. * customProperty: string; }
  109560. *
  109561. */
  109562. export interface SeriesDependencywheelOptions extends PlotDependencywheelOptions, SeriesOptions {
  109563. /**
  109564. * (Highcharts) An array of data points for the series. For the
  109565. * `dependencywheel` series type, points can be given in the following way:
  109566. *
  109567. * An array of objects with named values. The following snippet shows only a
  109568. * few settings, see the complete options set below. If the total number of
  109569. * data points exceeds the series' turboThreshold, this option is not
  109570. * available. (see online documentation for example)
  109571. */
  109572. data?: Array<SeriesSankeyPointOptionsObject>;
  109573. /**
  109574. * (Highcharts) A collection of options for the individual nodes. The nodes
  109575. * in a dependency diagram are auto-generated instances of
  109576. * `Highcharts.Point`, but options can be applied here and linked by the
  109577. * `id`.
  109578. */
  109579. nodes?: Array<SeriesSankeyNodesOptionsObject>;
  109580. /**
  109581. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109582. * TypeScript non-optional and might be `undefined` in series objects from
  109583. * unknown sources.
  109584. */
  109585. type: "dependencywheel";
  109586. }
  109587. /**
  109588. * (Highstock) The Disparity Index indicator series. If the type option is not
  109589. * specified, it is inherited from chart.type.
  109590. *
  109591. * In TypeScript the type option must always be set.
  109592. *
  109593. * Configuration options for the series are given in three levels:
  109594. *
  109595. * 1. Options for all series in a chart are defined in the plotOptions.series
  109596. * object.
  109597. *
  109598. * 2. Options for all `disparityindex` series are defined in
  109599. * plotOptions.disparityindex.
  109600. *
  109601. * 3. Options for one single series are given in the series instance array. (see
  109602. * online documentation for example)
  109603. *
  109604. * You have to extend the `SeriesDisparityindexOptions` via an interface to
  109605. * allow custom properties: ``` declare interface SeriesDisparityindexOptions {
  109606. * customProperty: string; }
  109607. *
  109608. */
  109609. export interface SeriesDisparityindexOptions extends PlotDisparityindexOptions, SeriesOptions {
  109610. /**
  109611. * Not available
  109612. */
  109613. dataParser?: undefined;
  109614. /**
  109615. * Not available
  109616. */
  109617. dataURL?: undefined;
  109618. /**
  109619. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109620. * TypeScript non-optional and might be `undefined` in series objects from
  109621. * unknown sources.
  109622. */
  109623. type: "disparityindex";
  109624. }
  109625. /**
  109626. * (Highstock) The Directional Movement Index (DMI) indicator series. If the
  109627. * type option is not specified, it is inherited from chart.type.
  109628. *
  109629. * In TypeScript the type option must always be set.
  109630. *
  109631. * Configuration options for the series are given in three levels:
  109632. *
  109633. * 1. Options for all series in a chart are defined in the plotOptions.series
  109634. * object.
  109635. *
  109636. * 2. Options for all `dmi` series are defined in plotOptions.dmi.
  109637. *
  109638. * 3. Options for one single series are given in the series instance array. (see
  109639. * online documentation for example)
  109640. *
  109641. * You have to extend the `SeriesDmiOptions` via an interface to allow custom
  109642. * properties: ``` declare interface SeriesDmiOptions { customProperty: string;
  109643. * }
  109644. *
  109645. */
  109646. export interface SeriesDmiOptions extends PlotDmiOptions, SeriesOptions {
  109647. /**
  109648. * Not available
  109649. */
  109650. dataParser?: undefined;
  109651. /**
  109652. * Not available
  109653. */
  109654. dataURL?: undefined;
  109655. /**
  109656. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109657. * TypeScript non-optional and might be `undefined` in series objects from
  109658. * unknown sources.
  109659. */
  109660. type: "dmi";
  109661. }
  109662. /**
  109663. * (Highstock) A Detrended Price Oscillator. If the type option is not
  109664. * specified, it is inherited from chart.type.
  109665. *
  109666. * In TypeScript the type option must always be set.
  109667. *
  109668. * Configuration options for the series are given in three levels:
  109669. *
  109670. * 1. Options for all series in a chart are defined in the plotOptions.series
  109671. * object.
  109672. *
  109673. * 2. Options for all `dpo` series are defined in plotOptions.dpo.
  109674. *
  109675. * 3. Options for one single series are given in the series instance array. (see
  109676. * online documentation for example)
  109677. *
  109678. * You have to extend the `SeriesDpoOptions` via an interface to allow custom
  109679. * properties: ``` declare interface SeriesDpoOptions { customProperty: string;
  109680. * }
  109681. *
  109682. */
  109683. export interface SeriesDpoOptions extends PlotDpoOptions, SeriesOptions {
  109684. /**
  109685. * Not available
  109686. */
  109687. dataParser?: undefined;
  109688. /**
  109689. * Not available
  109690. */
  109691. dataURL?: undefined;
  109692. /**
  109693. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109694. * TypeScript non-optional and might be `undefined` in series objects from
  109695. * unknown sources.
  109696. */
  109697. type: "dpo";
  109698. }
  109699. /**
  109700. * (Highcharts, Highstock, Gantt) The draggable-points module allows points to
  109701. * be moved around or modified in the chart. In addition to the options
  109702. * mentioned under the `dragDrop` API structure, the module fires three events,
  109703. * point.dragStart, point.drag and point.drop.
  109704. */
  109705. export interface SeriesDragDropOptionsObject {
  109706. /**
  109707. * (Highstock) Allow close value to be dragged individually.
  109708. */
  109709. draggableClose?: boolean;
  109710. /**
  109711. * (Gantt) Allow end value to be dragged individually.
  109712. */
  109713. draggableEnd?: boolean;
  109714. /**
  109715. * (Highstock) Allow high value to be dragged individually.
  109716. */
  109717. draggableHigh?: boolean;
  109718. /**
  109719. * (Highstock) Allow low value to be dragged individually.
  109720. */
  109721. draggableLow?: boolean;
  109722. /**
  109723. * (Highstock) Allow open value to be dragged individually.
  109724. */
  109725. draggableOpen?: boolean;
  109726. /**
  109727. * (Highcharts, Highstock) Allow Q1 value to be dragged individually.
  109728. */
  109729. draggableQ1?: boolean;
  109730. /**
  109731. * (Highcharts, Highstock) Allow Q3 value to be dragged individually.
  109732. */
  109733. draggableQ3?: boolean;
  109734. /**
  109735. * (Gantt) Allow start value to be dragged individually.
  109736. */
  109737. draggableStart?: boolean;
  109738. /**
  109739. * (Highcharts) Allow target value to be dragged individually.
  109740. */
  109741. draggableTarget?: boolean;
  109742. /**
  109743. * (Highcharts, Highstock, Gantt) Enable dragging in the X dimension.
  109744. */
  109745. draggableX?: boolean;
  109746. /**
  109747. * (Highcharts, Highstock, Gantt) Allow x value to be dragged individually.
  109748. */
  109749. draggableX1?: boolean;
  109750. /**
  109751. * (Highcharts, Highstock, Gantt) Allow x2 value to be dragged individually.
  109752. */
  109753. draggableX2?: boolean;
  109754. /**
  109755. * (Highcharts, Highstock, Gantt) Enable dragging in the Y dimension. Note
  109756. * that this is not supported for TreeGrid axes (the default axis type in
  109757. * Gantt charts).
  109758. */
  109759. draggableY?: boolean;
  109760. /**
  109761. * (Highcharts, Highstock, Gantt) Options for the drag handles.
  109762. */
  109763. dragHandle?: DragDropHandleOptionsObject;
  109764. /**
  109765. * (Highcharts, Highstock, Gantt) Set the maximum X value the points can be
  109766. * moved to.
  109767. */
  109768. dragMaxX?: number;
  109769. /**
  109770. * (Highcharts, Highstock, Gantt) Set the maximum Y value the points can be
  109771. * moved to.
  109772. */
  109773. dragMaxY?: number;
  109774. /**
  109775. * (Highcharts, Highstock, Gantt) Set the minimum X value the points can be
  109776. * moved to.
  109777. */
  109778. dragMinX?: number;
  109779. /**
  109780. * (Highcharts, Highstock, Gantt) Set the minimum Y value the points can be
  109781. * moved to.
  109782. */
  109783. dragMinY?: number;
  109784. /**
  109785. * (Highcharts, Highstock, Gantt) The X precision value to drag to for this
  109786. * series. Set to 0 to disable. By default this is disabled, except for
  109787. * category axes, where the default is 1.
  109788. */
  109789. dragPrecisionX?: number;
  109790. /**
  109791. * (Highcharts, Highstock, Gantt) The Y precision value to drag to for this
  109792. * series. Set to 0 to disable. By default this is disabled, except for
  109793. * category axes, where the default is 1.
  109794. */
  109795. dragPrecisionY?: number;
  109796. /**
  109797. * (Highcharts, Highstock, Gantt) The amount of pixels to drag the pointer
  109798. * before it counts as a drag operation. This prevents drag/drop to fire
  109799. * when just clicking or selecting points.
  109800. */
  109801. dragSensitivity?: number;
  109802. /**
  109803. * (Highcharts, Highstock, Gantt) Group the points by a property. Points
  109804. * with the same property value will be grouped together when moving.
  109805. */
  109806. groupBy?: string;
  109807. /**
  109808. * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide
  109809. * box has one state by default, the `default` state.
  109810. */
  109811. guideBox?: (PlotAreaDragDropGuideBoxOptions|PlotArearangeDragDropGuideBoxOptions|PlotAreasplineDragDropGuideBoxOptions|PlotAreasplinerangeDragDropGuideBoxOptions|PlotBarDragDropGuideBoxOptions|
  109812. PlotBoxplotDragDropGuideBoxOptions|PlotBubbleDragDropGuideBoxOptions|PlotBulletDragDropGuideBoxOptions|PlotCandlestickDragDropGuideBoxOptions|PlotColumnDragDropGuideBoxOptions|
  109813. PlotColumnpyramidDragDropGuideBoxOptions|PlotColumnrangeDragDropGuideBoxOptions|PlotDumbbellDragDropGuideBoxOptions|PlotErrorbarDragDropGuideBoxOptions|PlotFlagsDragDropGuideBoxOptions|
  109814. PlotFunnel3dDragDropGuideBoxOptions|PlotGanttDragDropGuideBoxOptions|PlotHeatmapDragDropGuideBoxOptions|PlotLineDragDropGuideBoxOptions|PlotLollipopDragDropGuideBoxOptions|
  109815. PlotMapbubbleDragDropGuideBoxOptions|PlotMapDragDropGuideBoxOptions|PlotMaplineDragDropGuideBoxOptions|PlotMappointDragDropGuideBoxOptions|PlotOhlcDragDropGuideBoxOptions|
  109816. PlotPolygonDragDropGuideBoxOptions|PlotPyramid3dDragDropGuideBoxOptions|PlotScatterDragDropGuideBoxOptions|PlotSeriesDragDropGuideBoxOptions|PlotSplineDragDropGuideBoxOptions|
  109817. PlotStreamgraphDragDropGuideBoxOptions|PlotTilemapDragDropGuideBoxOptions|PlotTimelineDragDropGuideBoxOptions|PlotVariwideDragDropGuideBoxOptions|PlotWaterfallDragDropGuideBoxOptions|
  109818. PlotXrangeDragDropGuideBoxOptions|Dictionary<DragDropGuideBoxOptionsObject>);
  109819. /**
  109820. * (Highcharts, Highstock, Gantt) Update points as they are dragged. If
  109821. * false, a guide box is drawn to illustrate the new point size.
  109822. */
  109823. liveRedraw?: boolean;
  109824. }
  109825. /**
  109826. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  109827. * is displayed for the `dataLabels`. The animation can also be set as a
  109828. * configuration object. Please note that this option only applies to the
  109829. * initial animation. For other animations, see chart.animation and the
  109830. * animation parameter under the API methods. The following properties are
  109831. * supported:
  109832. *
  109833. * - `defer`: The animation delay time in milliseconds.
  109834. */
  109835. export interface SeriesDumbbellDataDataLabelsAnimationOptions {
  109836. /**
  109837. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  109838. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  109839. * from the series.animation.defer.
  109840. */
  109841. defer?: number;
  109842. }
  109843. /**
  109844. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  109845. * one state by default, the `default` state.
  109846. */
  109847. export interface SeriesDumbbellDataDragDropGuideBoxOptions {
  109848. /**
  109849. * (Highcharts, Highstock) Style options for the guide box default state.
  109850. */
  109851. default?: DragDropGuideBoxOptionsObject;
  109852. }
  109853. /**
  109854. * (Highcharts, Highstock) The `dumbbell` series. If the type option is not
  109855. * specified, it is inherited from chart.type.
  109856. *
  109857. * In TypeScript the type option must always be set.
  109858. *
  109859. * Configuration options for the series are given in three levels:
  109860. *
  109861. * 1. Options for all series in a chart are defined in the plotOptions.series
  109862. * object.
  109863. *
  109864. * 2. Options for all `dumbbell` series are defined in plotOptions.dumbbell.
  109865. *
  109866. * 3. Options for one single series are given in the series instance array. (see
  109867. * online documentation for example)
  109868. *
  109869. * You have to extend the `SeriesDumbbellOptions` via an interface to allow
  109870. * custom properties: ``` declare interface SeriesDumbbellOptions {
  109871. * customProperty: string; }
  109872. *
  109873. */
  109874. export interface SeriesDumbbellOptions extends PlotDumbbellOptions, SeriesOptions {
  109875. /**
  109876. * (Highcharts, Highstock) An array of data points for the series. For the
  109877. * `dumbbell` series type, points can be given in the following ways:
  109878. *
  109879. * 1. An array of arrays with 3 or 2 values. In this case, the values
  109880. * correspond to `x,low,high`. If the first value is a string, it is applied
  109881. * as the name of the point, and the `x` value is inferred. The `x` value
  109882. * can also be omitted, in which case the inner arrays should be of length
  109883. * 2\. Then the `x` value is automatically calculated, either starting at 0
  109884. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  109885. * the series options. (see online documentation for example)
  109886. *
  109887. * 2. An array of objects with named values. The following snippet shows
  109888. * only a few settings, see the complete options set below. If the total
  109889. * number of data points exceeds the series' turboThreshold, this option is
  109890. * not available. (see online documentation for example)
  109891. */
  109892. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  109893. /**
  109894. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109895. * TypeScript non-optional and might be `undefined` in series objects from
  109896. * unknown sources.
  109897. */
  109898. type: "dumbbell";
  109899. }
  109900. /**
  109901. * (Highstock) A `EMA` series. If the type option is not specified, it is
  109902. * inherited from chart.type.
  109903. *
  109904. * In TypeScript the type option must always be set.
  109905. *
  109906. * Configuration options for the series are given in three levels:
  109907. *
  109908. * 1. Options for all series in a chart are defined in the plotOptions.series
  109909. * object.
  109910. *
  109911. * 2. Options for all `ema` series are defined in plotOptions.ema.
  109912. *
  109913. * 3. Options for one single series are given in the series instance array. (see
  109914. * online documentation for example)
  109915. *
  109916. * You have to extend the `SeriesEmaOptions` via an interface to allow custom
  109917. * properties: ``` declare interface SeriesEmaOptions { customProperty: string;
  109918. * }
  109919. *
  109920. */
  109921. export interface SeriesEmaOptions extends PlotEmaOptions, SeriesOptions {
  109922. /**
  109923. * Not available
  109924. */
  109925. dataParser?: undefined;
  109926. /**
  109927. * Not available
  109928. */
  109929. dataURL?: undefined;
  109930. /**
  109931. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109932. * TypeScript non-optional and might be `undefined` in series objects from
  109933. * unknown sources.
  109934. */
  109935. type: "ema";
  109936. }
  109937. /**
  109938. * (Highcharts) Style options for the guide box. The guide box has one state by
  109939. * default, the `default` state.
  109940. */
  109941. export interface SeriesErrorbarDataDragDropGuideBoxOptions {
  109942. /**
  109943. * (Highcharts) Style options for the guide box default state.
  109944. */
  109945. default?: DragDropGuideBoxOptionsObject;
  109946. }
  109947. /**
  109948. * (Highcharts) A `errorbar` series. If the type option is not specified, it is
  109949. * inherited from chart.type.
  109950. *
  109951. * In TypeScript the type option must always be set.
  109952. *
  109953. * Configuration options for the series are given in three levels:
  109954. *
  109955. * 1. Options for all series in a chart are defined in the plotOptions.series
  109956. * object.
  109957. *
  109958. * 2. Options for all `errorbar` series are defined in plotOptions.errorbar.
  109959. *
  109960. * 3. Options for one single series are given in the series instance array. (see
  109961. * online documentation for example)
  109962. *
  109963. * You have to extend the `SeriesErrorbarOptions` via an interface to allow
  109964. * custom properties: ``` declare interface SeriesErrorbarOptions {
  109965. * customProperty: string; }
  109966. *
  109967. */
  109968. export interface SeriesErrorbarOptions extends PlotErrorbarOptions, SeriesOptions {
  109969. /**
  109970. * (Highcharts) An array of data points for the series. For the `errorbar`
  109971. * series type, points can be given in the following ways:
  109972. *
  109973. * 1. An array of arrays with 3 or 2 values. In this case, the values
  109974. * correspond to `x,low,high`. If the first value is a string, it is applied
  109975. * as the name of the point, and the `x` value is inferred. The `x` value
  109976. * can also be omitted, in which case the inner arrays should be of length
  109977. * 2\. Then the `x` value is automatically calculated, either starting at 0
  109978. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  109979. * the series options. (see online documentation for example)
  109980. *
  109981. * 2. An array of objects with named values. The following snippet shows
  109982. * only a few settings, see the complete options set below. If the total
  109983. * number of data points exceeds the series' turboThreshold, this option is
  109984. * not available. (see online documentation for example)
  109985. */
  109986. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  109987. /**
  109988. * Not available
  109989. */
  109990. dataParser?: undefined;
  109991. /**
  109992. * Not available
  109993. */
  109994. dataURL?: undefined;
  109995. /**
  109996. * Not available
  109997. */
  109998. stack?: undefined;
  109999. /**
  110000. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110001. * TypeScript non-optional and might be `undefined` in series objects from
  110002. * unknown sources.
  110003. */
  110004. type: "errorbar";
  110005. }
  110006. /**
  110007. * (Highstock) General event handlers for the series items. These event hooks
  110008. * can also be attached to the series at run time using the
  110009. * `Highcharts.addEvent` function.
  110010. */
  110011. export interface SeriesEventsOptionsObject {
  110012. /**
  110013. * (Highcharts, Highstock, Gantt) Fires after the series has finished its
  110014. * initial animation, or in case animation is disabled, immediately as the
  110015. * series is displayed.
  110016. */
  110017. afterAnimate?: SeriesAfterAnimateCallbackFunction;
  110018. /**
  110019. * (Highstock) Fires when the checkbox next to the series' name in the
  110020. * legend is clicked. One parameter, `event`, is passed to the function. The
  110021. * state of the checkbox is found by `event.checked`. The checked item is
  110022. * found by `event.item`. Return `false` to prevent the default action which
  110023. * is to toggle the select state of the series.
  110024. */
  110025. checkboxClick?: (Function|SeriesCheckboxClickCallbackFunction);
  110026. /**
  110027. * (Highstock) Fires when the series is clicked. One parameter, `event`, is
  110028. * passed to the function, containing common event information.
  110029. * Additionally, `event.point` holds a pointer to the nearest point on the
  110030. * graph.
  110031. */
  110032. click?: SeriesClickCallbackFunction;
  110033. /**
  110034. * (Highstock) Fires when the series is hidden after chart generation time,
  110035. * either by clicking the legend item or by calling `.hide()`.
  110036. */
  110037. hide?: SeriesHideCallbackFunction;
  110038. /**
  110039. * (Highstock) Fires when the legend item belonging to the series is
  110040. * clicked. One parameter, `event`, is passed to the function. The default
  110041. * action is to toggle the visibility of the series. This can be prevented
  110042. * by returning `false` or calling `event.preventDefault()`.
  110043. */
  110044. legendItemClick?: SeriesLegendItemClickCallbackFunction;
  110045. /**
  110046. * (Highstock) Fires when the mouse leaves the graph. One parameter,
  110047. * `event`, is passed to the function, containing common event information.
  110048. * If the stickyTracking option is true, `mouseOut` doesn't happen before
  110049. * the mouse enters another graph or leaves the plot area.
  110050. */
  110051. mouseOut?: SeriesMouseOutCallbackFunction;
  110052. /**
  110053. * (Highstock) Fires when the mouse enters the graph. One parameter,
  110054. * `event`, is passed to the function, containing common event information.
  110055. */
  110056. mouseOver?: SeriesMouseOverCallbackFunction;
  110057. /**
  110058. * (Highcharts) Fires on a request for change of root node for the tree,
  110059. * before the update is made. An event object is passed to the function,
  110060. * containing additional properties `newRootId`, `previousRootId`, `redraw`
  110061. * and `trigger`.
  110062. */
  110063. setRootNode?: Function;
  110064. /**
  110065. * (Highstock) Fires when the series is shown after chart generation time,
  110066. * either by clicking the legend item or by calling `.show()`.
  110067. */
  110068. show?: SeriesShowCallbackFunction;
  110069. }
  110070. /**
  110071. * (Highstock) Style options for the guide box. The guide box has one state by
  110072. * default, the `default` state.
  110073. */
  110074. export interface SeriesFlagsDataDragDropGuideBoxOptions {
  110075. /**
  110076. * (Highstock) Style options for the guide box default state.
  110077. */
  110078. default?: DragDropGuideBoxOptionsObject;
  110079. }
  110080. /**
  110081. * (Highstock) A `flags` series. If the type option is not specified, it is
  110082. * inherited from chart.type.
  110083. *
  110084. * In TypeScript the type option must always be set.
  110085. *
  110086. * Configuration options for the series are given in three levels:
  110087. *
  110088. * 1. Options for all series in a chart are defined in the plotOptions.series
  110089. * object.
  110090. *
  110091. * 2. Options for all `flags` series are defined in plotOptions.flags.
  110092. *
  110093. * 3. Options for one single series are given in the series instance array. (see
  110094. * online documentation for example)
  110095. *
  110096. * You have to extend the `SeriesFlagsOptions` via an interface to allow custom
  110097. * properties: ``` declare interface SeriesFlagsOptions { customProperty:
  110098. * string; }
  110099. *
  110100. */
  110101. export interface SeriesFlagsOptions extends PlotFlagsOptions, SeriesOptions {
  110102. /**
  110103. * Not available
  110104. */
  110105. borderRadius?: undefined;
  110106. /**
  110107. * Not available
  110108. */
  110109. colorByPoint?: undefined;
  110110. /**
  110111. * (Highstock) An array of data points for the series. For the `flags`
  110112. * series type, points can be given in the following ways:
  110113. *
  110114. * 1. An array of objects with named values. The following snippet shows
  110115. * only a few settings, see the complete options set below. If the total
  110116. * number of data points exceeds the series' turboThreshold, this option is
  110117. * not available. (see online documentation for example)
  110118. */
  110119. data?: Array<PointOptionsObject>;
  110120. /**
  110121. * Not available
  110122. */
  110123. dataParser?: undefined;
  110124. /**
  110125. * Not available
  110126. */
  110127. dataURL?: undefined;
  110128. /**
  110129. * Not available
  110130. */
  110131. pointPadding?: undefined;
  110132. /**
  110133. * Not available
  110134. */
  110135. pointWidth?: undefined;
  110136. /**
  110137. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110138. * TypeScript non-optional and might be `undefined` in series objects from
  110139. * unknown sources.
  110140. */
  110141. type: "flags";
  110142. /**
  110143. * Not available
  110144. */
  110145. useOhlcData?: undefined;
  110146. }
  110147. /**
  110148. * (Highcharts) A `funnel3d` series. If the type option is not specified, it is
  110149. * inherited from chart.type.
  110150. *
  110151. * In TypeScript the type option must always be set.
  110152. *
  110153. * Configuration options for the series are given in three levels:
  110154. *
  110155. * 1. Options for all series in a chart are defined in the plotOptions.series
  110156. * object.
  110157. *
  110158. * 2. Options for all `funnel3d` series are defined in plotOptions.funnel3d.
  110159. *
  110160. * 3. Options for one single series are given in the series instance array. (see
  110161. * online documentation for example)
  110162. *
  110163. * You have to extend the `SeriesFunnel3dOptions` via an interface to allow
  110164. * custom properties: ``` declare interface SeriesFunnel3dOptions {
  110165. * customProperty: string; }
  110166. *
  110167. */
  110168. export interface SeriesFunnel3dOptions extends PlotFunnel3dOptions, SeriesOptions {
  110169. /**
  110170. * Not available
  110171. */
  110172. allAreas?: undefined;
  110173. /**
  110174. * Not available
  110175. */
  110176. boostThreshold?: undefined;
  110177. /**
  110178. * (Highcharts) The center of the series. By default, it is centered in the
  110179. * middle of the plot area, so it fills the plot area height.
  110180. */
  110181. center?: Array<(number|string)>;
  110182. /**
  110183. * Not available
  110184. */
  110185. colorAxis?: undefined;
  110186. /**
  110187. * Not available
  110188. */
  110189. compare?: undefined;
  110190. /**
  110191. * Not available
  110192. */
  110193. compareBase?: undefined;
  110194. /**
  110195. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  110196. * series plot across the extremes.
  110197. */
  110198. connectEnds?: boolean;
  110199. /**
  110200. * (Highcharts, Highstock) Whether to connect a graph line across null
  110201. * points, or render a gap between the two points on either side of the
  110202. * null.
  110203. */
  110204. connectNulls?: boolean;
  110205. /**
  110206. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  110207. * right. Defaults to `startAngle` plus 360.
  110208. */
  110209. endAngle?: number;
  110210. /**
  110211. * (Highcharts) If the total sum of the pie's values is 0, the series is
  110212. * represented as an empty circle . The `fillColor` option defines the color
  110213. * of that circle. Use pie.borderWidth to set the border thickness.
  110214. */
  110215. fillColor?: (ColorString|GradientColorObject|PatternObject);
  110216. /**
  110217. * (Highstock) Defines when to display a gap in the graph, together with the
  110218. * gapUnit option.
  110219. *
  110220. * In case when `dataGrouping` is enabled, points can be grouped into a
  110221. * larger time span. This can make the grouped points to have a greater
  110222. * distance than the absolute value of `gapSize` property, which will result
  110223. * in disappearing graph completely. To prevent this situation the mentioned
  110224. * distance between grouped points is used instead of previously defined
  110225. * `gapSize`.
  110226. *
  110227. * In practice, this option is most often used to visualize gaps in time
  110228. * series. In a stock chart, intraday data is available for daytime hours,
  110229. * while gaps will appear in nights and weekends.
  110230. */
  110231. gapSize?: number;
  110232. /**
  110233. * (Highstock) Together with gapSize, this option defines where to draw gaps
  110234. * in the graph.
  110235. *
  110236. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  110237. * if the distance between two points is greater than 5 times that of the
  110238. * two closest points, the graph will be broken.
  110239. *
  110240. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  110241. * values, which on a datetime axis is milliseconds. This also applies to
  110242. * the navigator series that inherits gap options from the base series.
  110243. */
  110244. gapUnit?: OptionsGapUnitValue;
  110245. /**
  110246. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  110247. * whether the series shall be redrawn as if the hidden point were `null`.
  110248. *
  110249. * The default value changed from `false` to `true` with Highcharts 3.0.
  110250. */
  110251. ignoreHiddenPoint?: boolean;
  110252. /**
  110253. * (Highcharts, Highstock) The line cap used for line ends and line joins on
  110254. * the graph.
  110255. */
  110256. linecap?: SeriesLinecapValue;
  110257. /**
  110258. * (Highcharts, Highstock) Pixel width of the graph line.
  110259. */
  110260. lineWidth?: number;
  110261. /**
  110262. * (Highcharts) Options for the point markers of line-like series.
  110263. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  110264. * visual appearance of the markers. Other series types, like column series,
  110265. * don't have markers, but have visual options on the series level instead.
  110266. *
  110267. * In styled mode, the markers can be styled with the `.highcharts-point`,
  110268. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  110269. */
  110270. marker?: PointMarkerOptionsObject;
  110271. /**
  110272. * (Highcharts) The minimum size for a pie in response to auto margins. The
  110273. * pie will try to shrink to make room for data labels in side the plot
  110274. * area, but only to this size.
  110275. */
  110276. minSize?: (number|string);
  110277. /**
  110278. * (Highcharts) If a point is sliced, moved out from the center, how many
  110279. * pixels should it be moved?.
  110280. */
  110281. slicedOffset?: number;
  110282. /**
  110283. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  110284. * and 90 right.
  110285. */
  110286. startAngle?: number;
  110287. /**
  110288. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  110289. * values are `left`, `center` and `right`.
  110290. */
  110291. step?: OptionsStepValue;
  110292. /**
  110293. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110294. * TypeScript non-optional and might be `undefined` in series objects from
  110295. * unknown sources.
  110296. */
  110297. type: "funnel3d";
  110298. /**
  110299. * (Highstock) The parameter allows setting line series type and use OHLC
  110300. * indicators. Data in OHLC format is required.
  110301. */
  110302. useOhlcData?: boolean;
  110303. }
  110304. /**
  110305. * (Highcharts) Enable or disable the initial animation when a series is
  110306. * displayed for the `dataLabels`. The animation can also be set as a
  110307. * configuration object. Please note that this option only applies to the
  110308. * initial animation. For other animations, see chart.animation and the
  110309. * animation parameter under the API methods. The following properties are
  110310. * supported:
  110311. *
  110312. * - `defer`: The animation delay time in milliseconds.
  110313. */
  110314. export interface SeriesFunnelDataDataLabelsAnimationOptions {
  110315. /**
  110316. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  110317. * dataLabel immediately. As `undefined` inherits defer time from the
  110318. * series.animation.defer.
  110319. */
  110320. defer?: number;
  110321. }
  110322. /**
  110323. * (Highcharts) Style options for the guide box. The guide box has one state by
  110324. * default, the `default` state.
  110325. */
  110326. export interface SeriesFunnelDataDragDropGuideBoxOptions {
  110327. /**
  110328. * (Highcharts) Style options for the guide box default state.
  110329. */
  110330. default?: DragDropGuideBoxOptionsObject;
  110331. }
  110332. /**
  110333. * (Highcharts) A `funnel` series. If the type option is not specified, it is
  110334. * inherited from chart.type.
  110335. *
  110336. * In TypeScript the type option must always be set.
  110337. *
  110338. * Configuration options for the series are given in three levels:
  110339. *
  110340. * 1. Options for all series in a chart are defined in the plotOptions.series
  110341. * object.
  110342. *
  110343. * 2. Options for all `funnel` series are defined in plotOptions.funnel.
  110344. *
  110345. * 3. Options for one single series are given in the series instance array. (see
  110346. * online documentation for example)
  110347. *
  110348. * You have to extend the `SeriesFunnelOptions` via an interface to allow custom
  110349. * properties: ``` declare interface SeriesFunnelOptions { customProperty:
  110350. * string; }
  110351. *
  110352. */
  110353. export interface SeriesFunnelOptions extends PlotFunnelOptions, SeriesOptions {
  110354. /**
  110355. * (Highcharts) An array of data points for the series. For the `funnel`
  110356. * series type, points can be given in the following ways:
  110357. *
  110358. * 1. An array of numerical values. In this case, the numerical values will
  110359. * be interpreted as `y` options. Example: (see online documentation for
  110360. * example)
  110361. *
  110362. * 2. An array of objects with named values. The following snippet shows
  110363. * only a few settings, see the complete options set below. If the total
  110364. * number of data points exceeds the series' turboThreshold, this option is
  110365. * not available. (see online documentation for example)
  110366. */
  110367. data?: Array<(number|null|PointOptionsObject)>;
  110368. /**
  110369. * Not available
  110370. */
  110371. dataParser?: undefined;
  110372. /**
  110373. * Not available
  110374. */
  110375. dataURL?: undefined;
  110376. /**
  110377. * Not available
  110378. */
  110379. stack?: undefined;
  110380. /**
  110381. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110382. * TypeScript non-optional and might be `undefined` in series objects from
  110383. * unknown sources.
  110384. */
  110385. type: "funnel";
  110386. /**
  110387. * Not available
  110388. */
  110389. xAxis?: undefined;
  110390. /**
  110391. * Not available
  110392. */
  110393. yAxis?: undefined;
  110394. }
  110395. /**
  110396. * (Gantt) Style options for the guide box. The guide box has one state by
  110397. * default, the `default` state.
  110398. */
  110399. export interface SeriesGanttDataDragDropGuideBoxOptions {
  110400. /**
  110401. * (Gantt) Style options for the guide box default state.
  110402. */
  110403. default?: DragDropGuideBoxOptionsObject;
  110404. }
  110405. /**
  110406. * (Gantt) A `gantt` series.
  110407. *
  110408. * In TypeScript the type option must always be set.
  110409. *
  110410. * Configuration options for the series are given in three levels:
  110411. *
  110412. * 1. Options for all series in a chart are defined in the plotOptions.series
  110413. * object.
  110414. *
  110415. * 2. Options for all `gantt` series are defined in plotOptions.gantt.
  110416. *
  110417. * 3. Options for one single series are given in the series instance array. (see
  110418. * online documentation for example)
  110419. *
  110420. * You have to extend the `SeriesGanttOptions` via an interface to allow custom
  110421. * properties: ``` declare interface SeriesGanttOptions { customProperty:
  110422. * string; }
  110423. *
  110424. */
  110425. export interface SeriesGanttOptions extends PlotGanttOptions, SeriesOptions {
  110426. /**
  110427. * (Gantt) Data for a Gantt series.
  110428. */
  110429. data?: Array<GanttPointOptionsObject>;
  110430. /**
  110431. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110432. * TypeScript non-optional and might be `undefined` in series objects from
  110433. * unknown sources.
  110434. */
  110435. type: "gantt";
  110436. }
  110437. /**
  110438. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  110439. * series is displayed for the `dataLabels`. The animation can also be set as a
  110440. * configuration object. Please note that this option only applies to the
  110441. * initial animation. For other animations, see chart.animation and the
  110442. * animation parameter under the API methods. The following properties are
  110443. * supported:
  110444. *
  110445. * - `defer`: The animation delay time in milliseconds.
  110446. */
  110447. export interface SeriesGaugeDataDataLabelsAnimationOptions {
  110448. /**
  110449. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  110450. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  110451. * time from the series.animation.defer.
  110452. */
  110453. defer?: number;
  110454. }
  110455. /**
  110456. * (Highcharts) Style options for the guide box. The guide box has one state by
  110457. * default, the `default` state.
  110458. */
  110459. export interface SeriesGaugeDataDragDropGuideBoxOptions {
  110460. /**
  110461. * (Highcharts) Style options for the guide box default state.
  110462. */
  110463. default?: DragDropGuideBoxOptionsObject;
  110464. }
  110465. /**
  110466. * (Highcharts) A `gauge` series. If the type option is not specified, it is
  110467. * inherited from chart.type.
  110468. *
  110469. * In TypeScript the type option must always be set.
  110470. *
  110471. * Configuration options for the series are given in three levels:
  110472. *
  110473. * 1. Options for all series in a chart are defined in the plotOptions.series
  110474. * object.
  110475. *
  110476. * 2. Options for all `gauge` series are defined in plotOptions.gauge.
  110477. *
  110478. * 3. Options for one single series are given in the series instance array. (see
  110479. * online documentation for example)
  110480. *
  110481. * You have to extend the `SeriesGaugeOptions` via an interface to allow custom
  110482. * properties: ``` declare interface SeriesGaugeOptions { customProperty:
  110483. * string; }
  110484. *
  110485. */
  110486. export interface SeriesGaugeOptions extends PlotGaugeOptions, SeriesOptions {
  110487. /**
  110488. * (Highcharts) An array of data points for the series. For the `gauge`
  110489. * series type, points can be given in the following ways:
  110490. *
  110491. * 1. An array of numerical values. In this case, the numerical values will
  110492. * be interpreted as `y` options. Example: (see online documentation for
  110493. * example)
  110494. *
  110495. * 2. An array of objects with named values. The following snippet shows
  110496. * only a few settings, see the complete options set below. If the total
  110497. * number of data points exceeds the series' turboThreshold, this option is
  110498. * not available. (see online documentation for example)
  110499. *
  110500. * The typical gauge only contains a single data value.
  110501. */
  110502. data?: Array<(number|null|PointOptionsObject)>;
  110503. /**
  110504. * Not available
  110505. */
  110506. dataParser?: undefined;
  110507. /**
  110508. * Not available
  110509. */
  110510. dataURL?: undefined;
  110511. /**
  110512. * Not available
  110513. */
  110514. stack?: undefined;
  110515. /**
  110516. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110517. * TypeScript non-optional and might be `undefined` in series objects from
  110518. * unknown sources.
  110519. */
  110520. type: "gauge";
  110521. }
  110522. /**
  110523. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  110524. * series is displayed for the `dataLabels`. The animation can also be set as a
  110525. * configuration object. Please note that this option only applies to the
  110526. * initial animation. For other animations, see chart.animation and the
  110527. * animation parameter under the API methods. The following properties are
  110528. * supported:
  110529. *
  110530. * - `defer`: The animation delay time in milliseconds.
  110531. */
  110532. export interface SeriesHeatmapDataDataLabelsAnimationOptions {
  110533. /**
  110534. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  110535. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  110536. * time from the series.animation.defer.
  110537. */
  110538. defer?: number;
  110539. }
  110540. /**
  110541. * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
  110542. * state by default, the `default` state.
  110543. */
  110544. export interface SeriesHeatmapDataDragDropGuideBoxOptions {
  110545. /**
  110546. * (Highcharts, Highmaps) Style options for the guide box default state.
  110547. */
  110548. default?: DragDropGuideBoxOptionsObject;
  110549. }
  110550. /**
  110551. * (Highcharts, Highmaps) A `heatmap` series. If the type option is not
  110552. * specified, it is inherited from chart.type.
  110553. *
  110554. * In TypeScript the type option must always be set.
  110555. *
  110556. * Configuration options for the series are given in three levels:
  110557. *
  110558. * 1. Options for all series in a chart are defined in the plotOptions.series
  110559. * object.
  110560. *
  110561. * 2. Options for all `heatmap` series are defined in plotOptions.heatmap.
  110562. *
  110563. * 3. Options for one single series are given in the series instance array. (see
  110564. * online documentation for example)
  110565. *
  110566. * You have to extend the `SeriesHeatmapOptions` via an interface to allow
  110567. * custom properties: ``` declare interface SeriesHeatmapOptions {
  110568. * customProperty: string; }
  110569. *
  110570. */
  110571. export interface SeriesHeatmapOptions extends PlotHeatmapOptions, SeriesOptions {
  110572. /**
  110573. * (Highcharts, Highmaps) An array of data points for the series. For the
  110574. * `heatmap` series type, points can be given in the following ways:
  110575. *
  110576. * 1. An array of arrays with 3 or 2 values. In this case, the values
  110577. * correspond to `x,y,value`. If the first value is a string, it is applied
  110578. * as the name of the point, and the `x` value is inferred. The `x` value
  110579. * can also be omitted, in which case the inner arrays should be of length
  110580. * 2\. Then the `x` value is automatically calculated, either starting at 0
  110581. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  110582. * the series options. (see online documentation for example)
  110583. *
  110584. * 2. An array of objects with named values. The following snippet shows
  110585. * only a few settings, see the complete options set below. If the total
  110586. * number of data points exceeds the series' turboThreshold, this option is
  110587. * not available. (see online documentation for example)
  110588. */
  110589. data?: Array<(Array<number>|PointOptionsObject)>;
  110590. /**
  110591. * Not available
  110592. */
  110593. dataParser?: undefined;
  110594. /**
  110595. * Not available
  110596. */
  110597. dataURL?: undefined;
  110598. /**
  110599. * Not available
  110600. */
  110601. stack?: undefined;
  110602. /**
  110603. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110604. * TypeScript non-optional and might be `undefined` in series objects from
  110605. * unknown sources.
  110606. */
  110607. type: "heatmap";
  110608. }
  110609. /**
  110610. * (Highcharts) A `histogram` series. If the type option is not specified, it is
  110611. * inherited from chart.type.
  110612. *
  110613. * In TypeScript the type option must always be set.
  110614. *
  110615. * Configuration options for the series are given in three levels:
  110616. *
  110617. * 1. Options for all series in a chart are defined in the plotOptions.series
  110618. * object.
  110619. *
  110620. * 2. Options for all `histogram` series are defined in plotOptions.histogram.
  110621. *
  110622. * 3. Options for one single series are given in the series instance array. (see
  110623. * online documentation for example)
  110624. *
  110625. * You have to extend the `SeriesHistogramOptions` via an interface to allow
  110626. * custom properties: ``` declare interface SeriesHistogramOptions {
  110627. * customProperty: string; }
  110628. *
  110629. */
  110630. export interface SeriesHistogramOptions extends PlotHistogramOptions, SeriesOptions {
  110631. /**
  110632. * (Highcharts) An integer identifying the index to use for the base series,
  110633. * or a string representing the id of the series.
  110634. */
  110635. baseSeries?: (number|string);
  110636. /**
  110637. * Not available
  110638. */
  110639. data?: undefined;
  110640. /**
  110641. * Not available
  110642. */
  110643. dataParser?: undefined;
  110644. /**
  110645. * Not available
  110646. */
  110647. dataURL?: undefined;
  110648. /**
  110649. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110650. * TypeScript non-optional and might be `undefined` in series objects from
  110651. * unknown sources.
  110652. */
  110653. type: "histogram";
  110654. }
  110655. /**
  110656. * (Highstock) A `IKH` series. If the type option is not specified, it is
  110657. * inherited from chart.type.
  110658. *
  110659. * In TypeScript the type option must always be set.
  110660. *
  110661. * Configuration options for the series are given in three levels:
  110662. *
  110663. * 1. Options for all series in a chart are defined in the plotOptions.series
  110664. * object.
  110665. *
  110666. * 2. Options for all `ikh` series are defined in plotOptions.ikh.
  110667. *
  110668. * 3. Options for one single series are given in the series instance array. (see
  110669. * online documentation for example)
  110670. *
  110671. * You have to extend the `SeriesIkhOptions` via an interface to allow custom
  110672. * properties: ``` declare interface SeriesIkhOptions { customProperty: string;
  110673. * }
  110674. *
  110675. */
  110676. export interface SeriesIkhOptions extends PlotIkhOptions, SeriesOptions {
  110677. /**
  110678. * Not available
  110679. */
  110680. dataParser?: undefined;
  110681. /**
  110682. * Not available
  110683. */
  110684. dataURL?: undefined;
  110685. /**
  110686. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110687. * TypeScript non-optional and might be `undefined` in series objects from
  110688. * unknown sources.
  110689. */
  110690. type: "ikh";
  110691. }
  110692. /**
  110693. * (Highcharts) Enable or disable the initial animation when a series is
  110694. * displayed for the `dataLabels`. The animation can also be set as a
  110695. * configuration object. Please note that this option only applies to the
  110696. * initial animation. For other animations, see chart.animation and the
  110697. * animation parameter under the API methods. The following properties are
  110698. * supported:
  110699. *
  110700. * - `defer`: The animation delay time in milliseconds.
  110701. */
  110702. export interface SeriesItemDataDataLabelsAnimationOptions {
  110703. /**
  110704. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  110705. * dataLabel immediately. As `undefined` inherits defer time from the
  110706. * series.animation.defer.
  110707. */
  110708. defer?: number;
  110709. }
  110710. /**
  110711. * (Highcharts) Style options for the guide box. The guide box has one state by
  110712. * default, the `default` state.
  110713. */
  110714. export interface SeriesItemDataDragDropGuideBoxOptions {
  110715. /**
  110716. * (Highcharts) Style options for the guide box default state.
  110717. */
  110718. default?: DragDropGuideBoxOptionsObject;
  110719. }
  110720. /**
  110721. * (Highcharts) An `item` series. If the type option is not specified, it is
  110722. * inherited from chart.type.
  110723. *
  110724. * In TypeScript the type option must always be set.
  110725. *
  110726. * Configuration options for the series are given in three levels:
  110727. *
  110728. * 1. Options for all series in a chart are defined in the plotOptions.series
  110729. * object.
  110730. *
  110731. * 2. Options for all `item` series are defined in plotOptions.item.
  110732. *
  110733. * 3. Options for one single series are given in the series instance array. (see
  110734. * online documentation for example)
  110735. *
  110736. * You have to extend the `SeriesItemOptions` via an interface to allow custom
  110737. * properties: ``` declare interface SeriesItemOptions { customProperty: string;
  110738. * }
  110739. *
  110740. */
  110741. export interface SeriesItemOptions extends PlotItemOptions, SeriesOptions {
  110742. /**
  110743. * (Highcharts) An array of data points for the series. For the `item`
  110744. * series type, points can be given in the following ways:
  110745. *
  110746. * 1. An array of numerical values. In this case, the numerical values will
  110747. * be interpreted as `y` options. Example: (see online documentation for
  110748. * example)
  110749. *
  110750. * 2. An array of objects with named values. The following snippet shows
  110751. * only a few settings, see the complete options set below. If the total
  110752. * number of data points exceeds the series' turboThreshold, this option is
  110753. * not available. (see online documentation for example)
  110754. */
  110755. data?: Array<(number|[string, (number|null)]|null|PointOptionsObject)>;
  110756. /**
  110757. * Not available
  110758. */
  110759. dataParser?: undefined;
  110760. /**
  110761. * Not available
  110762. */
  110763. dataURL?: undefined;
  110764. /**
  110765. * Not available
  110766. */
  110767. stack?: undefined;
  110768. /**
  110769. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110770. * TypeScript non-optional and might be `undefined` in series objects from
  110771. * unknown sources.
  110772. */
  110773. type: "item";
  110774. /**
  110775. * Not available
  110776. */
  110777. xAxis?: undefined;
  110778. /**
  110779. * Not available
  110780. */
  110781. yAxis?: undefined;
  110782. }
  110783. /**
  110784. * (Highstock) A Keltner Channels indicator. If the type option is not
  110785. * specified, it is inherited fromchart.type.
  110786. *
  110787. * In TypeScript the type option must always be set.
  110788. *
  110789. * Configuration options for the series are given in three levels:
  110790. *
  110791. * 1. Options for all series in a chart are defined in the plotOptions.series
  110792. * object.
  110793. *
  110794. * 2. Options for all `keltnerchannels` series are defined in
  110795. * plotOptions.keltnerchannels.
  110796. *
  110797. * 3. Options for one single series are given in the series instance array. (see
  110798. * online documentation for example)
  110799. *
  110800. * You have to extend the `SeriesKeltnerchannelsOptions` via an interface to
  110801. * allow custom properties: ``` declare interface SeriesKeltnerchannelsOptions {
  110802. * customProperty: string; }
  110803. *
  110804. */
  110805. export interface SeriesKeltnerchannelsOptions extends PlotKeltnerchannelsOptions, SeriesOptions {
  110806. /**
  110807. * Not available
  110808. */
  110809. dataParser?: undefined;
  110810. /**
  110811. * Not available
  110812. */
  110813. dataURL?: undefined;
  110814. /**
  110815. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110816. * TypeScript non-optional and might be `undefined` in series objects from
  110817. * unknown sources.
  110818. */
  110819. type: "keltnerchannels";
  110820. }
  110821. /**
  110822. * (Highstock) A Klinger oscillator. If the type option is not specified, it is
  110823. * inherited from chart.type.
  110824. *
  110825. * In TypeScript the type option must always be set.
  110826. *
  110827. * Configuration options for the series are given in three levels:
  110828. *
  110829. * 1. Options for all series in a chart are defined in the plotOptions.series
  110830. * object.
  110831. *
  110832. * 2. Options for all `klinger` series are defined in plotOptions.klinger.
  110833. *
  110834. * 3. Options for one single series are given in the series instance array. (see
  110835. * online documentation for example)
  110836. *
  110837. * You have to extend the `SeriesKlingerOptions` via an interface to allow
  110838. * custom properties: ``` declare interface SeriesKlingerOptions {
  110839. * customProperty: string; }
  110840. *
  110841. */
  110842. export interface SeriesKlingerOptions extends PlotKlingerOptions, SeriesOptions {
  110843. /**
  110844. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110845. * TypeScript non-optional and might be `undefined` in series objects from
  110846. * unknown sources.
  110847. */
  110848. type: "klinger";
  110849. /**
  110850. * Not available
  110851. */
  110852. useOhlcData?: undefined;
  110853. }
  110854. /**
  110855. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  110856. * series as possible in a natural way, seeking to avoid other series. The goal
  110857. * of this feature is to make the chart more easily readable, like if a human
  110858. * designer placed the labels in the optimal position.
  110859. *
  110860. * The series labels currently work with series types having a `graph` or an
  110861. * `area`.
  110862. */
  110863. export interface SeriesLabelOptionsObject {
  110864. /**
  110865. * (Highcharts, Highstock, Gantt) An array of boxes to avoid when laying out
  110866. * the labels. Each item has a `left`, `right`, `top` and `bottom` property.
  110867. */
  110868. boxesToAvoid?: Array<LabelIntersectBoxObject>;
  110869. /**
  110870. * (Highcharts, Highstock, Gantt) Allow labels to be placed distant to the
  110871. * graph if necessary, and draw a connector line to the graph. Setting this
  110872. * option to true may decrease the performance significantly, since the
  110873. * algorithm with systematically search for open spaces in the whole plot
  110874. * area. Visually, it may also result in a more cluttered chart, though more
  110875. * of the series will be labeled.
  110876. */
  110877. connectorAllowed?: boolean;
  110878. /**
  110879. * (Highcharts, Highstock, Gantt) If the label is closer than this to a
  110880. * neighbour graph, draw a connector.
  110881. */
  110882. connectorNeighbourDistance?: number;
  110883. /**
  110884. * (Highcharts, Highstock, Gantt) Enable the series label per series.
  110885. */
  110886. enabled?: boolean;
  110887. /**
  110888. * (Highcharts, Highstock, Gantt) A format string for the label, with
  110889. * support for a subset of HTML. Variables are enclosed by curly brackets.
  110890. * Available variables are `name`, `options.xxx`, `color` and other members
  110891. * from the `series` object. Use this option also to set a static text for
  110892. * the label.
  110893. */
  110894. format?: string;
  110895. /**
  110896. * (Highcharts, Highstock, Gantt) Callback function to format each of the
  110897. * series' labels. The `this` keyword refers to the series object. By
  110898. * default the `formatter` is undefined and the `series.name` is rendered.
  110899. */
  110900. formatter?: FormatterCallbackFunction<Series>;
  110901. /**
  110902. * (Highcharts, Highstock, Gantt) For area-like series, allow the font size
  110903. * to vary so that small areas get a smaller font size. The default applies
  110904. * this effect to area-like series but not line-like series.
  110905. */
  110906. maxFontSize?: (number|null);
  110907. /**
  110908. * (Highcharts, Highstock, Gantt) For area-like series, allow the font size
  110909. * to vary so that small areas get a smaller font size. The default applies
  110910. * this effect to area-like series but not line-like series.
  110911. */
  110912. minFontSize?: (number|null);
  110913. /**
  110914. * (Highcharts, Highstock, Gantt) Draw the label on the area of an area
  110915. * series. By default it is drawn on the area. Set it to `false` to draw it
  110916. * next to the graph instead.
  110917. */
  110918. onArea?: (boolean|null);
  110919. /**
  110920. * (Highcharts, Highstock, Gantt) Styles for the series label. The color
  110921. * defaults to the series color, or a contrast color if `onArea`.
  110922. */
  110923. style?: CSSObject;
  110924. }
  110925. /**
  110926. * (Highstock) A label on the axis next to the crosshair.
  110927. *
  110928. * In styled mode, the label is styled with the `.highcharts-crosshair-label`
  110929. * class.
  110930. */
  110931. export interface SeriesLastPriceLabelOptionsObject {
  110932. /**
  110933. * (Highstock) Alignment of the label compared to the axis. Defaults to
  110934. * `"left"` for right-side axes, `"right"` for left-side axes and `"center"`
  110935. * for horizontal axes.
  110936. */
  110937. align?: AlignValue;
  110938. /**
  110939. * (Highstock) The background color for the label. Defaults to the related
  110940. * series color, or `#666666` if that is not available.
  110941. */
  110942. backgroundColor?: ColorType;
  110943. /**
  110944. * (Highstock) The border color of `lastPrice` label.
  110945. */
  110946. borderColor?: ColorType;
  110947. /**
  110948. * (Highstock) The border radius of `lastPrice` label.
  110949. */
  110950. borderRadius?: number;
  110951. /**
  110952. * (Highstock) The border width for the `lastPrice` label.
  110953. */
  110954. borderWidth?: number;
  110955. /**
  110956. * (Highstock) Flag to enable `lastPrice` label.
  110957. */
  110958. enabled?: boolean;
  110959. /**
  110960. * (Highstock) A format string for the `lastPrice` label. Defaults to
  110961. * `{value}` for numeric axes and `{value:%b %d, %Y}` for datetime axes.
  110962. */
  110963. format?: string;
  110964. /**
  110965. * (Highstock) Formatter function for the label text.
  110966. */
  110967. formatter?: XAxisCrosshairLabelFormatterCallbackFunction;
  110968. /**
  110969. * (Highstock) Padding inside the `lastPrice` label.
  110970. */
  110971. padding?: number;
  110972. /**
  110973. * (Highstock) The shape to use for the label box.
  110974. */
  110975. shape?: string;
  110976. /**
  110977. * (Highstock) Text styles for the `lastPrice` label.
  110978. */
  110979. style?: CSSObject;
  110980. }
  110981. /**
  110982. * (Highstock) The line marks the last price from all points.
  110983. */
  110984. export interface SeriesLastPriceOptionsObject {
  110985. /**
  110986. * (Highstock) The color of the line of last price. By default, the line has
  110987. * the same color as the series.
  110988. */
  110989. color?: string;
  110990. /**
  110991. * (Highstock) Enable or disable the indicator.
  110992. */
  110993. enabled?: boolean;
  110994. /**
  110995. * (Highstock) A label on the axis next to the crosshair.
  110996. *
  110997. * In styled mode, the label is styled with the
  110998. * `.highcharts-crosshair-label` class.
  110999. */
  111000. label?: SeriesLastPriceLabelOptionsObject;
  111001. }
  111002. /**
  111003. * (Highstock) A label on the axis next to the crosshair.
  111004. *
  111005. * In styled mode, the label is styled with the `.highcharts-crosshair-label`
  111006. * class.
  111007. */
  111008. export interface SeriesLastVisiblePriceLabelOptionsObject {
  111009. /**
  111010. * (Highstock) Alignment of the label compared to the axis. Defaults to
  111011. * `"left"` for right-side axes, `"right"` for left-side axes and `"center"`
  111012. * for horizontal axes.
  111013. */
  111014. align?: AlignValue;
  111015. /**
  111016. * (Highstock) The background color for the label. Defaults to the related
  111017. * series color, or `#666666` if that is not available.
  111018. */
  111019. backgroundColor?: ColorType;
  111020. /**
  111021. * (Highstock) The border color for the `lastVisiblePrice` label.
  111022. */
  111023. borderColor?: ColorType;
  111024. /**
  111025. * (Highstock) The border corner radius of the `lastVisiblePrice` label.
  111026. */
  111027. borderRadius?: number;
  111028. /**
  111029. * (Highstock) The border width for the `lastVisiblePrice` label.
  111030. */
  111031. borderWidth?: number;
  111032. /**
  111033. * (Highstock) Flag to enable `lastVisiblePrice` label.
  111034. */
  111035. enabled?: boolean;
  111036. /**
  111037. * (Highstock) A format string for the `lastVisiblePrice` label. Defaults to
  111038. * `{value}` for numeric axes and `{value:%b %d, %Y}` for datetime axes.
  111039. */
  111040. format?: string;
  111041. /**
  111042. * (Highstock) Formatter function for the label text.
  111043. */
  111044. formatter?: XAxisCrosshairLabelFormatterCallbackFunction;
  111045. /**
  111046. * (Highstock) Padding inside the `lastVisiblePrice` label.
  111047. */
  111048. padding?: number;
  111049. /**
  111050. * (Highstock) The shape to use for the label box.
  111051. */
  111052. shape?: string;
  111053. /**
  111054. * (Highstock) Text styles for the `lastVisiblePrice` label.
  111055. */
  111056. style?: CSSObject;
  111057. }
  111058. /**
  111059. * (Highstock) The line marks the last price from visible range of points.
  111060. */
  111061. export interface SeriesLastVisiblePriceOptionsObject {
  111062. /**
  111063. * (Highstock) Enable or disable the indicator.
  111064. */
  111065. enabled?: boolean;
  111066. /**
  111067. * (Highstock) A label on the axis next to the crosshair.
  111068. *
  111069. * In styled mode, the label is styled with the
  111070. * `.highcharts-crosshair-label` class.
  111071. */
  111072. label?: SeriesLastVisiblePriceLabelOptionsObject;
  111073. }
  111074. /**
  111075. * Information about the legend click event.
  111076. */
  111077. export interface SeriesLegendItemClickEventObject {
  111078. /**
  111079. * Related browser event.
  111080. */
  111081. browserEvent: PointerEvent;
  111082. /**
  111083. * Prevent the default action of toggle the visibility of the series.
  111084. */
  111085. preventDefault: Function;
  111086. /**
  111087. * Related series.
  111088. */
  111089. target: Series;
  111090. /**
  111091. * Event type.
  111092. */
  111093. type: "legendItemClick";
  111094. }
  111095. /**
  111096. * (Highstock) A linear regression intercept series. If the type option is not
  111097. * specified, it is inherited from chart.type.
  111098. *
  111099. * In TypeScript the type option must always be set.
  111100. *
  111101. * Configuration options for the series are given in three levels:
  111102. *
  111103. * 1. Options for all series in a chart are defined in the plotOptions.series
  111104. * object.
  111105. *
  111106. * 2. Options for all `linearregressionangle` series are defined in
  111107. * plotOptions.linearregressionangle.
  111108. *
  111109. * 3. Options for one single series are given in the series instance array. (see
  111110. * online documentation for example)
  111111. *
  111112. * You have to extend the `SeriesLinearregressionangleOptions` via an interface
  111113. * to allow custom properties: ``` declare interface
  111114. * SeriesLinearregressionangleOptions { customProperty: string; }
  111115. *
  111116. */
  111117. export interface SeriesLinearregressionangleOptions extends PlotLinearregressionangleOptions, SeriesOptions {
  111118. /**
  111119. * Not available
  111120. */
  111121. dataParser?: undefined;
  111122. /**
  111123. * Not available
  111124. */
  111125. dataURL?: undefined;
  111126. /**
  111127. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111128. * TypeScript non-optional and might be `undefined` in series objects from
  111129. * unknown sources.
  111130. */
  111131. type: "linearregressionangle";
  111132. }
  111133. /**
  111134. * (Highstock) A linear regression intercept series. If the type option is not
  111135. * specified, it is inherited from chart.type.
  111136. *
  111137. * In TypeScript the type option must always be set.
  111138. *
  111139. * Configuration options for the series are given in three levels:
  111140. *
  111141. * 1. Options for all series in a chart are defined in the plotOptions.series
  111142. * object.
  111143. *
  111144. * 2. Options for all `linearregressionintercept` series are defined in
  111145. * plotOptions.linearregressionintercept.
  111146. *
  111147. * 3. Options for one single series are given in the series instance array. (see
  111148. * online documentation for example)
  111149. *
  111150. * You have to extend the `SeriesLinearregressioninterceptOptions` via an
  111151. * interface to allow custom properties: ``` declare interface
  111152. * SeriesLinearregressioninterceptOptions { customProperty: string; }
  111153. *
  111154. */
  111155. export interface SeriesLinearregressioninterceptOptions extends PlotLinearregressioninterceptOptions, SeriesOptions {
  111156. /**
  111157. * Not available
  111158. */
  111159. dataParser?: undefined;
  111160. /**
  111161. * Not available
  111162. */
  111163. dataURL?: undefined;
  111164. /**
  111165. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111166. * TypeScript non-optional and might be `undefined` in series objects from
  111167. * unknown sources.
  111168. */
  111169. type: "linearregressionintercept";
  111170. }
  111171. /**
  111172. * (Highstock) A linear regression series. If the type option is not specified,
  111173. * it is inherited from chart.type.
  111174. *
  111175. * In TypeScript the type option must always be set.
  111176. *
  111177. * Configuration options for the series are given in three levels:
  111178. *
  111179. * 1. Options for all series in a chart are defined in the plotOptions.series
  111180. * object.
  111181. *
  111182. * 2. Options for all `linearregression` series are defined in
  111183. * plotOptions.linearregression.
  111184. *
  111185. * 3. Options for one single series are given in the series instance array. (see
  111186. * online documentation for example)
  111187. *
  111188. * You have to extend the `SeriesLinearregressionOptions` via an interface to
  111189. * allow custom properties: ``` declare interface SeriesLinearregressionOptions
  111190. * { customProperty: string; }
  111191. *
  111192. */
  111193. export interface SeriesLinearregressionOptions extends PlotLinearregressionOptions, SeriesOptions {
  111194. /**
  111195. * Not available
  111196. */
  111197. dataParser?: undefined;
  111198. /**
  111199. * Not available
  111200. */
  111201. dataURL?: undefined;
  111202. /**
  111203. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111204. * TypeScript non-optional and might be `undefined` in series objects from
  111205. * unknown sources.
  111206. */
  111207. type: "linearregression";
  111208. }
  111209. /**
  111210. * (Highstock) A linear regression intercept series. If the type option is not
  111211. * specified, it is inherited from chart.type.
  111212. *
  111213. * In TypeScript the type option must always be set.
  111214. *
  111215. * Configuration options for the series are given in three levels:
  111216. *
  111217. * 1. Options for all series in a chart are defined in the plotOptions.series
  111218. * object.
  111219. *
  111220. * 2. Options for all `linearregressionslope` series are defined in
  111221. * plotOptions.linearregressionslope.
  111222. *
  111223. * 3. Options for one single series are given in the series instance array. (see
  111224. * online documentation for example)
  111225. *
  111226. * You have to extend the `SeriesLinearregressionslopeOptions` via an interface
  111227. * to allow custom properties: ``` declare interface
  111228. * SeriesLinearregressionslopeOptions { customProperty: string; }
  111229. *
  111230. */
  111231. export interface SeriesLinearregressionslopeOptions extends PlotLinearregressionslopeOptions, SeriesOptions {
  111232. /**
  111233. * Not available
  111234. */
  111235. dataParser?: undefined;
  111236. /**
  111237. * Not available
  111238. */
  111239. dataURL?: undefined;
  111240. /**
  111241. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111242. * TypeScript non-optional and might be `undefined` in series objects from
  111243. * unknown sources.
  111244. */
  111245. type: "linearregressionslope";
  111246. }
  111247. /**
  111248. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  111249. * series is displayed for the `dataLabels`. The animation can also be set as a
  111250. * configuration object. Please note that this option only applies to the
  111251. * initial animation. For other animations, see chart.animation and the
  111252. * animation parameter under the API methods. The following properties are
  111253. * supported:
  111254. *
  111255. * - `defer`: The animation delay time in milliseconds.
  111256. */
  111257. export interface SeriesLineDataDataLabelsAnimationOptions {
  111258. /**
  111259. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  111260. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  111261. * time from the series.animation.defer.
  111262. */
  111263. defer?: number;
  111264. }
  111265. /**
  111266. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  111267. * one state by default, the `default` state.
  111268. */
  111269. export interface SeriesLineDataDragDropGuideBoxOptions {
  111270. /**
  111271. * (Highcharts, Highstock) Style options for the guide box default state.
  111272. */
  111273. default?: DragDropGuideBoxOptionsObject;
  111274. }
  111275. /**
  111276. * (Highcharts, Highstock, Gantt) Point specific options for the
  111277. * draggable-points module. Overrides options on `series.dragDrop`.
  111278. */
  111279. export interface SeriesLineDataDragDropOptions {
  111280. /**
  111281. * (Highcharts, Highstock, Gantt) Enable dragging in the X dimension.
  111282. */
  111283. draggableX?: boolean;
  111284. /**
  111285. * (Highcharts, Highstock, Gantt) Enable dragging in the Y dimension. Note
  111286. * that this is not supported for TreeGrid axes (the default axis type in
  111287. * Gantt charts).
  111288. */
  111289. draggableY?: boolean;
  111290. /**
  111291. * (Highcharts, Highstock, Gantt) Options for the drag handles.
  111292. */
  111293. dragHandle?: DragDropHandleOptionsObject;
  111294. /**
  111295. * (Highcharts, Highstock, Gantt) Set the maximum X value the points can be
  111296. * moved to.
  111297. */
  111298. dragMaxX?: number;
  111299. /**
  111300. * (Highcharts, Highstock, Gantt) Set the maximum Y value the points can be
  111301. * moved to.
  111302. */
  111303. dragMaxY?: number;
  111304. /**
  111305. * (Highcharts, Highstock, Gantt) Set the minimum X value the points can be
  111306. * moved to.
  111307. */
  111308. dragMinX?: number;
  111309. /**
  111310. * (Highcharts, Highstock, Gantt) Set the minimum Y value the points can be
  111311. * moved to.
  111312. */
  111313. dragMinY?: number;
  111314. /**
  111315. * (Highcharts, Highstock, Gantt) The X precision value to drag to for this
  111316. * series. Set to 0 to disable. By default this is disabled, except for
  111317. * category axes, where the default is 1.
  111318. */
  111319. dragPrecisionX?: number;
  111320. /**
  111321. * (Highcharts, Highstock, Gantt) The Y precision value to drag to for this
  111322. * series. Set to 0 to disable. By default this is disabled, except for
  111323. * category axes, where the default is 1.
  111324. */
  111325. dragPrecisionY?: number;
  111326. /**
  111327. * (Highcharts, Highstock, Gantt) The amount of pixels to drag the pointer
  111328. * before it counts as a drag operation. This prevents drag/drop to fire
  111329. * when just clicking or selecting points.
  111330. */
  111331. dragSensitivity?: number;
  111332. /**
  111333. * (Highcharts, Highstock, Gantt) Group the points by a property. Points
  111334. * with the same property value will be grouped together when moving.
  111335. */
  111336. groupBy?: string;
  111337. /**
  111338. * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide
  111339. * box has one state by default, the `default` state.
  111340. */
  111341. guideBox?: (SeriesAreaDataDragDropGuideBoxOptions|SeriesArearangeDataDragDropGuideBoxOptions|SeriesAreasplineDataDragDropGuideBoxOptions|SeriesAreasplinerangeDataDragDropGuideBoxOptions|
  111342. SeriesBarDataDragDropGuideBoxOptions|SeriesBoxplotDataDragDropGuideBoxOptions|SeriesBubbleDataDragDropGuideBoxOptions|SeriesBulletDataDragDropGuideBoxOptions|
  111343. SeriesCandlestickDataDragDropGuideBoxOptions|SeriesColumnDataDragDropGuideBoxOptions|SeriesColumnpyramidDataDragDropGuideBoxOptions|SeriesColumnrangeDataDragDropGuideBoxOptions|
  111344. SeriesCylinderDataDragDropGuideBoxOptions|SeriesDumbbellDataDragDropGuideBoxOptions|SeriesErrorbarDataDragDropGuideBoxOptions|SeriesFlagsDataDragDropGuideBoxOptions|
  111345. SeriesFunnelDataDragDropGuideBoxOptions|SeriesGanttDataDragDropGuideBoxOptions|SeriesGaugeDataDragDropGuideBoxOptions|SeriesHeatmapDataDragDropGuideBoxOptions|SeriesItemDataDragDropGuideBoxOptions|
  111346. SeriesLineDataDragDropGuideBoxOptions|SeriesLollipopDataDragDropGuideBoxOptions|SeriesNetworkgraphDataDragDropGuideBoxOptions|SeriesOhlcDataDragDropGuideBoxOptions|
  111347. SeriesPackedbubbleDataDragDropGuideBoxOptions|SeriesParetoDataDragDropGuideBoxOptions|SeriesPieDataDragDropGuideBoxOptions|SeriesPolygonDataDragDropGuideBoxOptions|
  111348. SeriesPyramidDataDragDropGuideBoxOptions|SeriesScatter3dDataDragDropGuideBoxOptions|SeriesScatterDataDragDropGuideBoxOptions|SeriesSolidgaugeDataDragDropGuideBoxOptions|
  111349. SeriesSplineDataDragDropGuideBoxOptions|SeriesStreamgraphDataDragDropGuideBoxOptions|SeriesSunburstDataDragDropGuideBoxOptions|SeriesTilemapDataDragDropGuideBoxOptions|
  111350. SeriesTimelineDataDragDropGuideBoxOptions|SeriesTreemapDataDragDropGuideBoxOptions|SeriesVariablepieDataDragDropGuideBoxOptions|SeriesVariwideDataDragDropGuideBoxOptions|
  111351. SeriesVectorDataDragDropGuideBoxOptions|SeriesVennDataDragDropGuideBoxOptions|SeriesWaterfallDataDragDropGuideBoxOptions|SeriesWindbarbDataDragDropGuideBoxOptions|
  111352. SeriesWordcloudDataDragDropGuideBoxOptions|SeriesXrangeDataDragDropGuideBoxOptions|Dictionary<DragDropGuideBoxOptionsObject>);
  111353. /**
  111354. * (Highcharts, Highstock, Gantt) Update points as they are dragged. If
  111355. * false, a guide box is drawn to illustrate the new point size.
  111356. */
  111357. liveRedraw?: boolean;
  111358. }
  111359. /**
  111360. * (Highcharts, Highstock) A `line` series. If the type option is not specified,
  111361. * it is inherited from chart.type.
  111362. *
  111363. * In TypeScript the type option must always be set.
  111364. *
  111365. * Configuration options for the series are given in three levels:
  111366. *
  111367. * 1. Options for all series in a chart are defined in the plotOptions.series
  111368. * object.
  111369. *
  111370. * 2. Options for all `line` series are defined in plotOptions.line.
  111371. *
  111372. * 3. Options for one single series are given in the series instance array. (see
  111373. * online documentation for example)
  111374. *
  111375. * You have to extend the `SeriesLineOptions` via an interface to allow custom
  111376. * properties: ``` declare interface SeriesLineOptions { customProperty: string;
  111377. * }
  111378. *
  111379. */
  111380. export interface SeriesLineOptions extends PlotLineOptions, SeriesOptions {
  111381. /**
  111382. * (Highcharts, Highstock) An array of data points for the series. For the
  111383. * `line` series type, points can be given in the following ways:
  111384. *
  111385. * 1. An array of numerical values. In this case, the numerical values will
  111386. * be interpreted as `y` options. The `x` values will be automatically
  111387. * calculated, either starting at 0 and incremented by 1, or from
  111388. * `pointStart` and `pointInterval` given in the series options. If the axis
  111389. * has categories, these will be used. Example: (see online documentation
  111390. * for example)
  111391. *
  111392. * 2. An array of arrays with 2 values. In this case, the values correspond
  111393. * to `x,y`. If the first value is a string, it is applied as the name of
  111394. * the point, and the `x` value is inferred. (see online documentation for
  111395. * example)
  111396. *
  111397. * 3. An array of objects with named values. The following snippet shows
  111398. * only a few settings, see the complete options set below. If the total
  111399. * number of data points exceeds the series' turboThreshold, this option is
  111400. * not available. (see online documentation for example)
  111401. *
  111402. * **Note:** In TypeScript you have to extend `PointOptionsObject` with an
  111403. * additional declaration to allow custom data types: ```ts declare module
  111404. * `highcharts` { interface PointOptionsObject { custom: Record<string,
  111405. * (boolean|number|string)>; } } ```
  111406. */
  111407. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  111408. /**
  111409. * Not available
  111410. */
  111411. dataParser?: undefined;
  111412. /**
  111413. * Not available
  111414. */
  111415. dataURL?: undefined;
  111416. /**
  111417. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111418. * TypeScript non-optional and might be `undefined` in series objects from
  111419. * unknown sources.
  111420. */
  111421. type: "line";
  111422. }
  111423. /**
  111424. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  111425. * is displayed for the `dataLabels`. The animation can also be set as a
  111426. * configuration object. Please note that this option only applies to the
  111427. * initial animation. For other animations, see chart.animation and the
  111428. * animation parameter under the API methods. The following properties are
  111429. * supported:
  111430. *
  111431. * - `defer`: The animation delay time in milliseconds.
  111432. */
  111433. export interface SeriesLollipopDataDataLabelsAnimationOptions {
  111434. /**
  111435. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  111436. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  111437. * from the series.animation.defer.
  111438. */
  111439. defer?: number;
  111440. }
  111441. /**
  111442. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  111443. * one state by default, the `default` state.
  111444. */
  111445. export interface SeriesLollipopDataDragDropGuideBoxOptions {
  111446. /**
  111447. * (Highcharts, Highstock) Style options for the guide box default state.
  111448. */
  111449. default?: DragDropGuideBoxOptionsObject;
  111450. }
  111451. /**
  111452. * (Highcharts, Highstock) The `lollipop` series. If the type option is not
  111453. * specified, it is inherited from chart.type.
  111454. *
  111455. * In TypeScript the type option must always be set.
  111456. *
  111457. * Configuration options for the series are given in three levels:
  111458. *
  111459. * 1. Options for all series in a chart are defined in the plotOptions.series
  111460. * object.
  111461. *
  111462. * 2. Options for all `lollipop` series are defined in plotOptions.lollipop.
  111463. *
  111464. * 3. Options for one single series are given in the series instance array. (see
  111465. * online documentation for example)
  111466. *
  111467. * You have to extend the `SeriesLollipopOptions` via an interface to allow
  111468. * custom properties: ``` declare interface SeriesLollipopOptions {
  111469. * customProperty: string; }
  111470. *
  111471. */
  111472. export interface SeriesLollipopOptions extends PlotLollipopOptions, SeriesOptions {
  111473. /**
  111474. * (Highcharts, Highstock) An array of data points for the series. For the
  111475. * `lollipop` series type, points can be given in the following ways:
  111476. *
  111477. * 1. An array of numerical values. In this case, the numerical values will
  111478. * be interpreted as `y` options. The `x` values will be automatically
  111479. * calculated, either starting at 0 and incremented by 1, or from
  111480. * `pointStart` and `pointInterval` given in the series options. If the axis
  111481. * has categories, these will be used. Example: (see online documentation
  111482. * for example)
  111483. *
  111484. * 2. An array of arrays with 2 values. In this case, the values correspond
  111485. * to `x,y`. If the first value is a string, it is applied as the name of
  111486. * the point, and the `x` value is inferred. (see online documentation for
  111487. * example)
  111488. *
  111489. * 3. An array of objects with named values. The following snippet shows
  111490. * only a few settings, see the complete options set below. If the total
  111491. * number of data points exceeds the series' turboThreshold, this option is
  111492. * not available. (see online documentation for example)
  111493. */
  111494. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  111495. /**
  111496. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111497. * TypeScript non-optional and might be `undefined` in series objects from
  111498. * unknown sources.
  111499. */
  111500. type: "lollipop";
  111501. }
  111502. /**
  111503. * (Highstock) A `MACD` series. If the type option is not specified, it is
  111504. * inherited from chart.type.
  111505. *
  111506. * In TypeScript the type option must always be set.
  111507. *
  111508. * Configuration options for the series are given in three levels:
  111509. *
  111510. * 1. Options for all series in a chart are defined in the plotOptions.series
  111511. * object.
  111512. *
  111513. * 2. Options for all `macd` series are defined in plotOptions.macd.
  111514. *
  111515. * 3. Options for one single series are given in the series instance array. (see
  111516. * online documentation for example)
  111517. *
  111518. * You have to extend the `SeriesMacdOptions` via an interface to allow custom
  111519. * properties: ``` declare interface SeriesMacdOptions { customProperty: string;
  111520. * }
  111521. *
  111522. */
  111523. export interface SeriesMacdOptions extends PlotMacdOptions, SeriesOptions {
  111524. /**
  111525. * Not available
  111526. */
  111527. dataParser?: undefined;
  111528. /**
  111529. * Not available
  111530. */
  111531. dataURL?: undefined;
  111532. /**
  111533. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111534. * TypeScript non-optional and might be `undefined` in series objects from
  111535. * unknown sources.
  111536. */
  111537. type: "macd";
  111538. }
  111539. /**
  111540. * (Highmaps) An array of data points for the series. For the `mapbubble` series
  111541. * type, points can be given in the following ways:
  111542. *
  111543. * 1. An array of numerical values. In this case, the numerical values will be
  111544. * interpreted as `z` options. Example: (see online documentation for example)
  111545. *
  111546. * 2. An array of objects with named values. The following snippet shows only a
  111547. * few settings, see the complete options set below. If the total number of data
  111548. * points exceeds the series' turboThreshold, this option is not available. (see
  111549. * online documentation for example)
  111550. */
  111551. export interface SeriesMapbubbleDataOptions {
  111552. /**
  111553. * (Highmaps) Individual color for the point. By default the color is either
  111554. * used to denote the value, or pulled from the global `colors` array.
  111555. */
  111556. color?: (ColorString|GradientColorObject|PatternObject);
  111557. /**
  111558. * (Highmaps) Individual data label for each point. The options are the same
  111559. * as the ones for plotOptions.series.dataLabels.
  111560. */
  111561. dataLabels?: DataLabelsOptions;
  111562. /**
  111563. * (Highmaps) The `id` of a series in the drilldown.series array to use for
  111564. * a drilldown for this point.
  111565. */
  111566. drilldown?: string;
  111567. /**
  111568. * (Highmaps) Individual point events
  111569. */
  111570. events?: PointEventsOptionsObject;
  111571. /**
  111572. * (Highmaps) An id for the point. This can be used after render time to get
  111573. * a pointer to the point object through `chart.get()`.
  111574. */
  111575. id?: string;
  111576. /**
  111577. * (Highmaps) The name of the point as shown in the legend, tooltip,
  111578. * dataLabel etc.
  111579. */
  111580. name?: string;
  111581. /**
  111582. * (Highmaps) While the `x` and `y` values of the bubble are determined by
  111583. * the underlying map, the `z` indicates the actual value that gives the
  111584. * size of the bubble.
  111585. */
  111586. z?: (number|null);
  111587. }
  111588. /**
  111589. * (Highmaps) A `mapbubble` series. If the type option is not specified, it is
  111590. * inherited from chart.type.
  111591. *
  111592. * In TypeScript the type option must always be set.
  111593. *
  111594. * Configuration options for the series are given in three levels:
  111595. *
  111596. * 1. Options for all series in a chart are defined in the plotOptions.series
  111597. * object.
  111598. *
  111599. * 2. Options for all `mapbubble` series are defined in plotOptions.mapbubble.
  111600. *
  111601. * 3. Options for one single series are given in the series instance array. (see
  111602. * online documentation for example)
  111603. *
  111604. * You have to extend the `SeriesMapbubbleOptions` via an interface to allow
  111605. * custom properties: ``` declare interface SeriesMapbubbleOptions {
  111606. * customProperty: string; }
  111607. *
  111608. */
  111609. export interface SeriesMapbubbleOptions extends PlotMapbubbleOptions, SeriesOptions {
  111610. /**
  111611. * (Highmaps) An array of data points for the series. For the `mapbubble`
  111612. * series type, points can be given in the following ways:
  111613. *
  111614. * 1. An array of numerical values. In this case, the numerical values will
  111615. * be interpreted as `z` options. Example: (see online documentation for
  111616. * example)
  111617. *
  111618. * 2. An array of objects with named values. The following snippet shows
  111619. * only a few settings, see the complete options set below. If the total
  111620. * number of data points exceeds the series' turboThreshold, this option is
  111621. * not available. (see online documentation for example)
  111622. */
  111623. data?: Array<(number|null|SeriesMapbubbleDataOptions)>;
  111624. /**
  111625. * Not available
  111626. */
  111627. dataParser?: undefined;
  111628. /**
  111629. * Not available
  111630. */
  111631. dataURL?: undefined;
  111632. /**
  111633. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111634. * TypeScript non-optional and might be `undefined` in series objects from
  111635. * unknown sources.
  111636. */
  111637. type: "mapbubble";
  111638. }
  111639. /**
  111640. * (Highmaps) An array of data points for the series. For the `map` series type,
  111641. * points can be given in the following ways:
  111642. *
  111643. * 1. An array of numerical values. In this case, the numerical values will be
  111644. * interpreted as `value` options. Example: (see online documentation for
  111645. * example)
  111646. *
  111647. * 2. An array of arrays with 2 values. In this case, the values correspond to
  111648. * `[hc-key, value]`. Example: (see online documentation for example)
  111649. *
  111650. * 3. An array of objects with named values. The following snippet shows only a
  111651. * few settings, see the complete options set below. If the total number of data
  111652. * points exceeds the series' turboThreshold, this option is not available. (see
  111653. * online documentation for example)
  111654. */
  111655. export interface SeriesMapDataOptions {
  111656. /**
  111657. * (Highmaps) Individual color for the point. By default the color is either
  111658. * used to denote the value, or pulled from the global `colors` array.
  111659. */
  111660. color?: (ColorString|GradientColorObject|PatternObject);
  111661. /**
  111662. * (Highmaps) Individual data label for each point. The options are the same
  111663. * as the ones for plotOptions.series.dataLabels.
  111664. */
  111665. dataLabels?: DataLabelsOptions;
  111666. /**
  111667. * (Highmaps) The `id` of a series in the drilldown.series array to use for
  111668. * a drilldown for this point.
  111669. */
  111670. drilldown?: string;
  111671. /**
  111672. * (Highmaps) Individual point events
  111673. */
  111674. events?: PointEventsOptionsObject;
  111675. /**
  111676. * (Highmaps) An id for the point. This can be used after render time to get
  111677. * a pointer to the point object through `chart.get()`.
  111678. */
  111679. id?: string;
  111680. /**
  111681. * (Highmaps) When data labels are laid out on a map, Highmaps runs a
  111682. * simplified algorithm to detect collision. When two labels collide, the
  111683. * one with the lowest rank is hidden. By default the rank is computed from
  111684. * the area.
  111685. */
  111686. labelrank?: number;
  111687. /**
  111688. * (Highmaps) The relative mid point of an area, used to place the data
  111689. * label. Ranges from 0 to 1\. When `mapData` is used, middleX can be
  111690. * defined there.
  111691. */
  111692. middleX?: number;
  111693. /**
  111694. * (Highmaps) The relative mid point of an area, used to place the data
  111695. * label. Ranges from 0 to 1\. When `mapData` is used, middleY can be
  111696. * defined there.
  111697. */
  111698. middleY?: number;
  111699. /**
  111700. * (Highmaps) The name of the point as shown in the legend, tooltip,
  111701. * dataLabel etc.
  111702. */
  111703. name?: string;
  111704. /**
  111705. * (Highmaps) For map and mapline series types, the SVG path for the shape.
  111706. * For compatibily with old IE, not all SVG path definitions are supported,
  111707. * but M, L and C operators are safe.
  111708. *
  111709. * To achieve a better separation between the structure and the data, it is
  111710. * recommended to use `mapData` to define that paths instead of defining
  111711. * them on the data points themselves.
  111712. */
  111713. path?: string;
  111714. /**
  111715. * (Highmaps) The numeric value of the data point.
  111716. */
  111717. value?: (number|null);
  111718. }
  111719. /**
  111720. * (Highmaps) A `mapline` series. If the type option is not specified, it is
  111721. * inherited from chart.type.
  111722. *
  111723. * In TypeScript the type option must always be set.
  111724. *
  111725. * Configuration options for the series are given in three levels:
  111726. *
  111727. * 1. Options for all series in a chart are defined in the plotOptions.series
  111728. * object.
  111729. *
  111730. * 2. Options for all `mapline` series are defined in plotOptions.mapline.
  111731. *
  111732. * 3. Options for one single series are given in the series instance array. (see
  111733. * online documentation for example)
  111734. *
  111735. * You have to extend the `SeriesMaplineOptions` via an interface to allow
  111736. * custom properties: ``` declare interface SeriesMaplineOptions {
  111737. * customProperty: string; }
  111738. *
  111739. */
  111740. export interface SeriesMaplineOptions extends PlotMaplineOptions, SeriesOptions {
  111741. /**
  111742. * (Highmaps) An array of data points for the series. For the `mapline`
  111743. * series type, points can be given in the following ways:
  111744. *
  111745. * 1. An array of numerical values. In this case, the numerical values will
  111746. * be interpreted as `value` options. Example: (see online documentation for
  111747. * example)
  111748. *
  111749. * 2. An array of arrays with 2 values. In this case, the values correspond
  111750. * to `[hc-key, value]`. Example: (see online documentation for example)
  111751. *
  111752. * 3. An array of objects with named values. The following snippet shows
  111753. * only a few settings, see the complete options set below. If the total
  111754. * number of data points exceeds the series' turboThreshold, this option is
  111755. * not available. (see online documentation for example)
  111756. */
  111757. data?: Array<(number|[string, (number|null)]|null|any)>;
  111758. /**
  111759. * Not available
  111760. */
  111761. dataParser?: undefined;
  111762. /**
  111763. * Not available
  111764. */
  111765. dataURL?: undefined;
  111766. /**
  111767. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111768. * TypeScript non-optional and might be `undefined` in series objects from
  111769. * unknown sources.
  111770. */
  111771. type: "mapline";
  111772. }
  111773. /**
  111774. * (Highmaps) A `map` series. If the type option is not specified, it is
  111775. * inherited from chart.type.
  111776. *
  111777. * In TypeScript the type option must always be set.
  111778. *
  111779. * Configuration options for the series are given in three levels:
  111780. *
  111781. * 1. Options for all series in a chart are defined in the plotOptions.series
  111782. * object.
  111783. *
  111784. * 2. Options for all `map` series are defined in plotOptions.map.
  111785. *
  111786. * 3. Options for one single series are given in the series instance array. (see
  111787. * online documentation for example)
  111788. *
  111789. * You have to extend the `SeriesMapOptions` via an interface to allow custom
  111790. * properties: ``` declare interface SeriesMapOptions { customProperty: string;
  111791. * }
  111792. *
  111793. */
  111794. export interface SeriesMapOptions extends PlotMapOptions, SeriesOptions {
  111795. /**
  111796. * (Highmaps) An array of data points for the series. For the `map` series
  111797. * type, points can be given in the following ways:
  111798. *
  111799. * 1. An array of numerical values. In this case, the numerical values will
  111800. * be interpreted as `value` options. Example: (see online documentation for
  111801. * example)
  111802. *
  111803. * 2. An array of arrays with 2 values. In this case, the values correspond
  111804. * to `[hc-key, value]`. Example: (see online documentation for example)
  111805. *
  111806. * 3. An array of objects with named values. The following snippet shows
  111807. * only a few settings, see the complete options set below. If the total
  111808. * number of data points exceeds the series' turboThreshold, this option is
  111809. * not available. (see online documentation for example)
  111810. */
  111811. data?: Array<(number|[string, (number|null)]|null|SeriesMapDataOptions)>;
  111812. /**
  111813. * Not available
  111814. */
  111815. dataParser?: undefined;
  111816. /**
  111817. * Not available
  111818. */
  111819. dataURL?: undefined;
  111820. /**
  111821. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111822. * TypeScript non-optional and might be `undefined` in series objects from
  111823. * unknown sources.
  111824. */
  111825. type: "map";
  111826. }
  111827. /**
  111828. * (Highmaps) An array of data points for the series. For the `mappoint` series
  111829. * type, points can be given in the following ways:
  111830. *
  111831. * 1. An array of numerical values. In this case, the numerical values will be
  111832. * interpreted as `y` options. The `x` values will be automatically calculated,
  111833. * either starting at 0 and incremented by 1, or from `pointStart` and
  111834. * `pointInterval` given in the series options. If the axis has categories,
  111835. * these will be used. Example: (see online documentation for example)
  111836. *
  111837. * 2. An array of arrays with 2 values. In this case, the values correspond to
  111838. * `x,y`. If the first value is a string, it is applied as the name of the
  111839. * point, and the `x` value is inferred. (see online documentation for example)
  111840. *
  111841. * 3. An array of objects with named values. The following snippet shows only a
  111842. * few settings, see the complete options set below. If the total number of data
  111843. * points exceeds the series' turboThreshold, this option is not available. (see
  111844. * online documentation for example)
  111845. */
  111846. export interface SeriesMappointDataOptions {
  111847. /**
  111848. * (Highmaps) Individual color for the point. By default the color is either
  111849. * used to denote the value, or pulled from the global `colors` array.
  111850. */
  111851. color?: (ColorString|GradientColorObject|PatternObject);
  111852. /**
  111853. * (Highmaps) Individual data label for each point. The options are the same
  111854. * as the ones for plotOptions.series.dataLabels.
  111855. */
  111856. dataLabels?: DataLabelsOptions;
  111857. /**
  111858. * (Highmaps) The `id` of a series in the drilldown.series array to use for
  111859. * a drilldown for this point.
  111860. */
  111861. drilldown?: string;
  111862. /**
  111863. * (Highmaps) Individual point events
  111864. */
  111865. events?: PointEventsOptionsObject;
  111866. /**
  111867. * (Highmaps) An id for the point. This can be used after render time to get
  111868. * a pointer to the point object through `chart.get()`.
  111869. */
  111870. id?: string;
  111871. /**
  111872. * (Highmaps) The latitude of the point. Must be combined with the `lon`
  111873. * option to work. Overrides `x` and `y` values.
  111874. */
  111875. lat?: number;
  111876. /**
  111877. * (Highmaps) The longitude of the point. Must be combined with the `lon`
  111878. * option to work. Overrides `x` and `y` values.
  111879. */
  111880. lon?: number;
  111881. /**
  111882. * (Highmaps) The name of the point as shown in the legend, tooltip,
  111883. * dataLabel etc.
  111884. */
  111885. name?: string;
  111886. /**
  111887. * (Highmaps) The x coordinate of the point in terms of the map path
  111888. * coordinates.
  111889. */
  111890. x?: number;
  111891. /**
  111892. * (Highmaps) The x coordinate of the point in terms of the map path
  111893. * coordinates.
  111894. */
  111895. y?: (number|null);
  111896. }
  111897. /**
  111898. * (Highmaps) A `mappoint` series. If the type option is not specified, it is
  111899. * inherited from chart.type.
  111900. *
  111901. * In TypeScript the type option must always be set.
  111902. *
  111903. * Configuration options for the series are given in three levels:
  111904. *
  111905. * 1. Options for all series in a chart are defined in the plotOptions.series
  111906. * object.
  111907. *
  111908. * 2. Options for all `mappoint` series are defined in plotOptions.mappoint.
  111909. *
  111910. * 3. Options for one single series are given in the series instance array. (see
  111911. * online documentation for example)
  111912. *
  111913. * You have to extend the `SeriesMappointOptions` via an interface to allow
  111914. * custom properties: ``` declare interface SeriesMappointOptions {
  111915. * customProperty: string; }
  111916. *
  111917. */
  111918. export interface SeriesMappointOptions extends PlotMappointOptions, SeriesOptions {
  111919. /**
  111920. * (Highmaps) An array of data points for the series. For the `mappoint`
  111921. * series type, points can be given in the following ways:
  111922. *
  111923. * 1. An array of numerical values. In this case, the numerical values will
  111924. * be interpreted as `y` options. The `x` values will be automatically
  111925. * calculated, either starting at 0 and incremented by 1, or from
  111926. * `pointStart` and `pointInterval` given in the series options. If the axis
  111927. * has categories, these will be used. Example: (see online documentation
  111928. * for example)
  111929. *
  111930. * 2. An array of arrays with 2 values. In this case, the values correspond
  111931. * to `x,y`. If the first value is a string, it is applied as the name of
  111932. * the point, and the `x` value is inferred. (see online documentation for
  111933. * example)
  111934. *
  111935. * 3. An array of objects with named values. The following snippet shows
  111936. * only a few settings, see the complete options set below. If the total
  111937. * number of data points exceeds the series' turboThreshold, this option is
  111938. * not available. (see online documentation for example)
  111939. */
  111940. data?: Array<(number|[number, (number|null)]|null|SeriesMappointDataOptions)>;
  111941. /**
  111942. * Not available
  111943. */
  111944. dataParser?: undefined;
  111945. /**
  111946. * Not available
  111947. */
  111948. dataURL?: undefined;
  111949. /**
  111950. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111951. * TypeScript non-optional and might be `undefined` in series objects from
  111952. * unknown sources.
  111953. */
  111954. type: "mappoint";
  111955. }
  111956. /**
  111957. * (Highstock) A `MFI` series. If the type option is not specified, it is
  111958. * inherited from chart.type.
  111959. *
  111960. * In TypeScript the type option must always be set.
  111961. *
  111962. * Configuration options for the series are given in three levels:
  111963. *
  111964. * 1. Options for all series in a chart are defined in the plotOptions.series
  111965. * object.
  111966. *
  111967. * 2. Options for all `mfi` series are defined in plotOptions.mfi.
  111968. *
  111969. * 3. Options for one single series are given in the series instance array. (see
  111970. * online documentation for example)
  111971. *
  111972. * You have to extend the `SeriesMfiOptions` via an interface to allow custom
  111973. * properties: ``` declare interface SeriesMfiOptions { customProperty: string;
  111974. * }
  111975. *
  111976. */
  111977. export interface SeriesMfiOptions extends PlotMfiOptions, SeriesOptions {
  111978. /**
  111979. * Not available
  111980. */
  111981. dataParser?: undefined;
  111982. /**
  111983. * Not available
  111984. */
  111985. dataURL?: undefined;
  111986. /**
  111987. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111988. * TypeScript non-optional and might be `undefined` in series objects from
  111989. * unknown sources.
  111990. */
  111991. type: "mfi";
  111992. }
  111993. /**
  111994. * (Highstock) A `Momentum` series. If the type option is not specified, it is
  111995. * inherited from chart.type.
  111996. *
  111997. * In TypeScript the type option must always be set.
  111998. *
  111999. * Configuration options for the series are given in three levels:
  112000. *
  112001. * 1. Options for all series in a chart are defined in the plotOptions.series
  112002. * object.
  112003. *
  112004. * 2. Options for all `momentum` series are defined in plotOptions.momentum.
  112005. *
  112006. * 3. Options for one single series are given in the series instance array. (see
  112007. * online documentation for example)
  112008. *
  112009. * You have to extend the `SeriesMomentumOptions` via an interface to allow
  112010. * custom properties: ``` declare interface SeriesMomentumOptions {
  112011. * customProperty: string; }
  112012. *
  112013. */
  112014. export interface SeriesMomentumOptions extends PlotMomentumOptions, SeriesOptions {
  112015. /**
  112016. * Not available
  112017. */
  112018. dataParser?: undefined;
  112019. /**
  112020. * Not available
  112021. */
  112022. dataURL?: undefined;
  112023. /**
  112024. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112025. * TypeScript non-optional and might be `undefined` in series objects from
  112026. * unknown sources.
  112027. */
  112028. type: "momentum";
  112029. }
  112030. /**
  112031. * (Highstock) A `NATR` series. If the type option is not specified, it is
  112032. * inherited from chart.type.
  112033. *
  112034. * In TypeScript the type option must always be set.
  112035. *
  112036. * Configuration options for the series are given in three levels:
  112037. *
  112038. * 1. Options for all series in a chart are defined in the plotOptions.series
  112039. * object.
  112040. *
  112041. * 2. Options for all `natr` series are defined in plotOptions.natr.
  112042. *
  112043. * 3. Options for one single series are given in the series instance array. (see
  112044. * online documentation for example)
  112045. *
  112046. * You have to extend the `SeriesNatrOptions` via an interface to allow custom
  112047. * properties: ``` declare interface SeriesNatrOptions { customProperty: string;
  112048. * }
  112049. *
  112050. */
  112051. export interface SeriesNatrOptions extends PlotNatrOptions, SeriesOptions {
  112052. /**
  112053. * Not available
  112054. */
  112055. dataParser?: undefined;
  112056. /**
  112057. * Not available
  112058. */
  112059. dataURL?: undefined;
  112060. /**
  112061. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112062. * TypeScript non-optional and might be `undefined` in series objects from
  112063. * unknown sources.
  112064. */
  112065. type: "natr";
  112066. }
  112067. /**
  112068. * (Highcharts) Enable or disable the initial animation when a series is
  112069. * displayed for the `dataLabels`. The animation can also be set as a
  112070. * configuration object. Please note that this option only applies to the
  112071. * initial animation. For other animations, see chart.animation and the
  112072. * animation parameter under the API methods. The following properties are
  112073. * supported:
  112074. *
  112075. * - `defer`: The animation delay time in milliseconds.
  112076. */
  112077. export interface SeriesNetworkgraphDataDataLabelsAnimationOptions {
  112078. /**
  112079. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  112080. * dataLabel immediately. As `undefined` inherits defer time from the
  112081. * series.animation.defer.
  112082. */
  112083. defer?: number;
  112084. }
  112085. /**
  112086. * (Highcharts) Style options for the guide box. The guide box has one state by
  112087. * default, the `default` state.
  112088. */
  112089. export interface SeriesNetworkgraphDataDragDropGuideBoxOptions {
  112090. /**
  112091. * (Highcharts) Style options for the guide box default state.
  112092. */
  112093. default?: DragDropGuideBoxOptionsObject;
  112094. }
  112095. /**
  112096. * Context for the formatter function.
  112097. */
  112098. export interface SeriesNetworkgraphDataLabelsFormatterContextObject extends PointLabelObject {
  112099. /**
  112100. * The color of the node.
  112101. */
  112102. color: ColorString;
  112103. /**
  112104. * The ID of the node.
  112105. */
  112106. key: string;
  112107. /**
  112108. * The point (node) object. The node name, if defined, is available through
  112109. * `this.point.name`. Arrays: `this.point.linksFrom` and
  112110. * `this.point.linksTo` contains all nodes connected to this point.
  112111. */
  112112. point: Point;
  112113. }
  112114. /**
  112115. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  112116. * appearing next to each data point.
  112117. *
  112118. * Since v6.2.0, multiple data labels can be applied to each single point by
  112119. * defining them as an array of configs.
  112120. *
  112121. * In styled mode, the data labels can be styled with the
  112122. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  112123. * example).
  112124. */
  112125. export interface SeriesNetworkgraphDataLabelsOptionsObject {
  112126. /**
  112127. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  112128. * compared to the point. If `right`, the right side of the label should be
  112129. * touching the point. For points with an extent, like columns, the
  112130. * alignments also dictates how to align it inside the box, as given with
  112131. * the inside option. Can be one of `left`, `center` or `right`.
  112132. */
  112133. align?: (AlignValue|null);
  112134. /**
  112135. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  112136. * overlap. To make the labels less sensitive for overlapping, the
  112137. * dataLabels.padding can be set to 0.
  112138. */
  112139. allowOverlap?: boolean;
  112140. /**
  112141. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  112142. * animation when a series is displayed for the `dataLabels`. The animation
  112143. * can also be set as a configuration object. Please note that this option
  112144. * only applies to the initial animation. For other animations, see
  112145. * chart.animation and the animation parameter under the API methods. The
  112146. * following properties are supported:
  112147. *
  112148. * - `defer`: The animation delay time in milliseconds.
  112149. */
  112150. animation?: (boolean|PlotNetworkgraphDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  112151. /**
  112152. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  112153. * for the data label.
  112154. */
  112155. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  112156. /**
  112157. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  112158. * label. Defaults to `undefined`.
  112159. */
  112160. borderColor?: (ColorString|GradientColorObject|PatternObject);
  112161. /**
  112162. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  112163. * the data label.
  112164. */
  112165. borderRadius?: number;
  112166. /**
  112167. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  112168. * the data label.
  112169. */
  112170. borderWidth?: number;
  112171. /**
  112172. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  112173. * Particularly in styled mode, this can be used to give each series' or
  112174. * point's data label unique styling. In addition to this option, a default
  112175. * color class name is added so that we can give the labels a contrast text
  112176. * shadow.
  112177. */
  112178. className?: string;
  112179. /**
  112180. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  112181. * labels. Defaults to `undefined`. For certain series types, like column or
  112182. * map, the data labels can be drawn inside the points. In this case the
  112183. * data label will be drawn with maximum contrast by default. Additionally,
  112184. * it will be given a `text-outline` style with the opposite color, to
  112185. * further increase the contrast. This can be overridden by setting the
  112186. * `text-outline` style to `none` in the `dataLabels.style` option.
  112187. */
  112188. color?: (ColorString|GradientColorObject|PatternObject);
  112189. /**
  112190. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  112191. * are outside the plot area. By default, the data label is moved inside the
  112192. * plot area according to the overflow option.
  112193. */
  112194. crop?: boolean;
  112195. /**
  112196. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  112197. * labels until the initial series animation has finished. Setting to
  112198. * `false` renders the data label immediately. If set to `true` inherits the
  112199. * defer time set in plotOptions.series.animation. If set to a number, a
  112200. * defer time is specified in milliseconds.
  112201. */
  112202. defer?: (boolean|number);
  112203. /**
  112204. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  112205. * labels.
  112206. */
  112207. enabled?: boolean;
  112208. /**
  112209. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  112210. * of which data labels to display. The declarative filter is designed for
  112211. * use when callback functions are not available, like when the chart
  112212. * options require a pure JSON structure or for use with graphical editors.
  112213. * For programmatic control, use the `formatter` instead, and return
  112214. * `undefined` to disable a single data label.
  112215. */
  112216. filter?: DataLabelsFilterOptionsObject;
  112217. /**
  112218. * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
  112219. * what to show for _node_ in the networkgraph. In v7.0 defaults to `{key}`,
  112220. * since v7.1 defaults to `undefined` and `formatter` is used instead.
  112221. */
  112222. format?: string;
  112223. /**
  112224. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  112225. * format the data label for a node. Note that if a `format` is defined, the
  112226. * format takes precedence and the formatter is ignored.
  112227. */
  112228. formatter?: SeriesNetworkgraphDataLabelsFormatterCallbackFunction;
  112229. /**
  112230. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  112231. * columns or map areas, whether to align the data label inside the box or
  112232. * to the actual value point. Defaults to `false` in most cases, `true` in
  112233. * stacked columns.
  112234. */
  112235. inside?: boolean;
  112236. /**
  112237. * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
  112238. * what to show for _links_ in the networkgraph. (Default: `undefined`)
  112239. */
  112240. linkFormat?: string;
  112241. /**
  112242. * (Highcharts, Highstock, Highmaps, Gantt) Callback to format data labels
  112243. * for _links_ in the sankey diagram. The `linkFormat` option takes
  112244. * precedence over the `linkFormatter`.
  112245. */
  112246. linkFormatter?: SeriesNetworkgraphDataLabelsFormatterCallbackFunction;
  112247. /**
  112248. * (Highcharts, Highstock, Highmaps, Gantt) Options for a _link_ label text
  112249. * which should follow link connection. Border and background are disabled
  112250. * for a label that follows a path.
  112251. *
  112252. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  112253. * to true will disable this option.
  112254. */
  112255. linkTextPath?: DataLabelsTextPathOptionsObject;
  112256. /**
  112257. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  112258. * of null. Works analogously to format. `nullFormat` can be applied only to
  112259. * series which support displaying null points.
  112260. */
  112261. nullFormat?: (boolean|string);
  112262. /**
  112263. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  112264. * that defines formatting for points with the value of null. Works
  112265. * analogously to formatter. `nullPointFormatter` can be applied only to
  112266. * series which support displaying null points.
  112267. */
  112268. nullFormatter?: DataLabelsFormatterCallbackFunction;
  112269. /**
  112270. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  112271. * flow outside the plot area. The default is `"justify"`, which aligns them
  112272. * inside the plot area. For columns and bars, this means it will be moved
  112273. * inside the bar. To display data labels outside the plot area, set `crop`
  112274. * to `false` and `overflow` to `"allow"`.
  112275. */
  112276. overflow?: DataLabelsOverflowValue;
  112277. /**
  112278. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  112279. * the `backgroundColor` is set, this is the padding within the box.
  112280. */
  112281. padding?: number;
  112282. /**
  112283. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  112284. * points. If `center` alignment is not possible, it defaults to `right`.
  112285. */
  112286. position?: AlignValue;
  112287. /**
  112288. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  112289. * that due to a more complex structure, backgrounds, borders and padding
  112290. * will be lost on a rotated data label.
  112291. */
  112292. rotation?: number;
  112293. /**
  112294. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  112295. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  112296. * an object configuration containing `color`, `offsetX`, `offsetY`,
  112297. * `opacity` and `width`.
  112298. */
  112299. shadow?: (boolean|ShadowOptionsObject);
  112300. /**
  112301. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  112302. * the border around the label. Symbols are predefined functions on the
  112303. * Renderer object.
  112304. */
  112305. shape?: string;
  112306. /**
  112307. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  112308. * default `color` setting is `"contrast"`, which is a pseudo color that
  112309. * Highcharts picks up and applies the maximum contrast to the underlying
  112310. * point item, for example the bar in a bar chart.
  112311. *
  112312. * The `textOutline` is a pseudo property that applies an outline of the
  112313. * given width with the given color, which by default is the maximum
  112314. * contrast to the text. So a bright text color will result in a black text
  112315. * outline for maximum readability on a mixed background. In some cases,
  112316. * especially with grayscale text, the text outline doesn't work well, in
  112317. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  112318. * is true, the `textOutline` will not be picked up. In this, case, the same
  112319. * effect can be acheived through the `text-shadow` CSS property.
  112320. *
  112321. * For some series types, where each point has an extent, like for example
  112322. * tree maps, the data label may overflow the point. There are two
  112323. * strategies for handling overflow. By default, the text will wrap to
  112324. * multiple lines. The other strategy is to set `style.textOverflow` to
  112325. * `ellipsis`, which will keep the text on one line plus it will break
  112326. * inside long words.
  112327. */
  112328. style?: (CSSObject|PlotNetworkgraphDataLabelsStyleOptions);
  112329. /**
  112330. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  112331. * should follow marker's shape. Border and background are disabled for a
  112332. * label that follows a path.
  112333. *
  112334. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  112335. * to true will disable this option.
  112336. */
  112337. textPath?: DataLabelsTextPathOptionsObject;
  112338. /**
  112339. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  112340. * the labels.
  112341. */
  112342. useHTML?: boolean;
  112343. /**
  112344. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  112345. * label. Can be one of `top`, `middle` or `bottom`. The default value
  112346. * depends on the data, for instance in a column chart, the label is above
  112347. * positive values and below negative values.
  112348. */
  112349. verticalAlign?: (VerticalAlignValue|null);
  112350. /**
  112351. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  112352. * label relative to the point in pixels.
  112353. */
  112354. x?: number;
  112355. /**
  112356. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  112357. * label relative to the point in pixels.
  112358. */
  112359. y?: number;
  112360. /**
  112361. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  112362. * The default Z index puts it above the series. Use a Z index of 2 to
  112363. * display it behind the series.
  112364. */
  112365. z?: number;
  112366. }
  112367. /**
  112368. * (Highcharts) A collection of options for the individual nodes. The nodes in a
  112369. * networkgraph diagram are auto-generated instances of `Highcharts.Point`, but
  112370. * options can be applied here and linked by the `id`.
  112371. */
  112372. export interface SeriesNetworkgraphNodesOptions {
  112373. /**
  112374. * (Highcharts) The color of the auto generated node.
  112375. */
  112376. color?: ColorString;
  112377. /**
  112378. * (Highcharts) The color index of the auto generated node, especially for
  112379. * use in styled mode.
  112380. */
  112381. colorIndex?: number;
  112382. /**
  112383. * (Highcharts) Individual data label for each node. The options are the
  112384. * same as the ones for series.networkgraph.dataLabels.
  112385. */
  112386. dataLabels?: (SeriesNetworkgraphDataLabelsOptionsObject|Array<SeriesNetworkgraphDataLabelsOptionsObject>);
  112387. /**
  112388. * (Highcharts) The id of the auto-generated node, refering to the `from` or
  112389. * `to` setting of the link.
  112390. */
  112391. id?: string;
  112392. /**
  112393. * (Highcharts) Mass of the node. By default, each node has mass equal to
  112394. * it's marker radius . Mass is used to determine how two connected nodes
  112395. * should affect each other:
  112396. *
  112397. * Attractive force is multiplied by the ratio of two connected nodes; if a
  112398. * big node has weights twice as the small one, then the small one will move
  112399. * towards the big one twice faster than the big one to the small one .
  112400. */
  112401. mass?: number;
  112402. /**
  112403. * (Highcharts) The name to display for the node in data labels and
  112404. * tooltips. Use this when the name is different from the `id`. Where the id
  112405. * must be unique for each node, this is not necessary for the name.
  112406. */
  112407. name?: string;
  112408. }
  112409. /**
  112410. * (Highcharts) A `networkgraph` series. If the type option is not specified, it
  112411. * is inherited from chart.type.
  112412. *
  112413. * In TypeScript the type option must always be set.
  112414. *
  112415. * Configuration options for the series are given in three levels:
  112416. *
  112417. * 1. Options for all series in a chart are defined in the plotOptions.series
  112418. * object.
  112419. *
  112420. * 2. Options for all `networkgraph` series are defined in
  112421. * plotOptions.networkgraph.
  112422. *
  112423. * 3. Options for one single series are given in the series instance array. (see
  112424. * online documentation for example)
  112425. *
  112426. * You have to extend the `SeriesNetworkgraphOptions` via an interface to allow
  112427. * custom properties: ``` declare interface SeriesNetworkgraphOptions {
  112428. * customProperty: string; }
  112429. *
  112430. */
  112431. export interface SeriesNetworkgraphOptions extends PlotNetworkgraphOptions, SeriesOptions {
  112432. /**
  112433. * (Highcharts) An array of data points for the series. For the
  112434. * `networkgraph` series type, points can be given in the following way:
  112435. *
  112436. * An array of objects with named values. The following snippet shows only a
  112437. * few settings, see the complete options set below. If the total number of
  112438. * data points exceeds the series' turboThreshold, this option is not
  112439. * available. (see online documentation for example)
  112440. */
  112441. data?: (PointOptionsObject|Array<(object|any[]|number)>);
  112442. /**
  112443. * (Highcharts) A collection of options for the individual nodes. The nodes
  112444. * in a networkgraph diagram are auto-generated instances of
  112445. * `Highcharts.Point`, but options can be applied here and linked by the
  112446. * `id`.
  112447. */
  112448. nodes?: Array<SeriesNetworkgraphNodesOptions>;
  112449. /**
  112450. * Not available
  112451. */
  112452. stack?: undefined;
  112453. /**
  112454. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112455. * TypeScript non-optional and might be `undefined` in series objects from
  112456. * unknown sources.
  112457. */
  112458. type: "networkgraph";
  112459. /**
  112460. * Not available
  112461. */
  112462. xAxis?: undefined;
  112463. /**
  112464. * Not available
  112465. */
  112466. yAxis?: undefined;
  112467. }
  112468. /**
  112469. * (Highstock) A `OBV` series. If the type option is not specified, it is
  112470. * inherited from chart.type.
  112471. *
  112472. * In TypeScript the type option must always be set.
  112473. *
  112474. * Configuration options for the series are given in three levels:
  112475. *
  112476. * 1. Options for all series in a chart are defined in the plotOptions.series
  112477. * object.
  112478. *
  112479. * 2. Options for all `obv` series are defined in plotOptions.obv.
  112480. *
  112481. * 3. Options for one single series are given in the series instance array. (see
  112482. * online documentation for example)
  112483. *
  112484. * You have to extend the `SeriesObvOptions` via an interface to allow custom
  112485. * properties: ``` declare interface SeriesObvOptions { customProperty: string;
  112486. * }
  112487. *
  112488. */
  112489. export interface SeriesObvOptions extends PlotObvOptions, SeriesOptions {
  112490. /**
  112491. * Not available
  112492. */
  112493. dataParser?: undefined;
  112494. /**
  112495. * Not available
  112496. */
  112497. dataURL?: undefined;
  112498. /**
  112499. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112500. * TypeScript non-optional and might be `undefined` in series objects from
  112501. * unknown sources.
  112502. */
  112503. type: "obv";
  112504. }
  112505. /**
  112506. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  112507. * is displayed for the `dataLabels`. The animation can also be set as a
  112508. * configuration object. Please note that this option only applies to the
  112509. * initial animation. For other animations, see chart.animation and the
  112510. * animation parameter under the API methods. The following properties are
  112511. * supported:
  112512. *
  112513. * - `defer`: The animation delay time in milliseconds.
  112514. */
  112515. export interface SeriesOhlcDataDataLabelsAnimationOptions {
  112516. /**
  112517. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  112518. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  112519. * from the series.animation.defer.
  112520. */
  112521. defer?: number;
  112522. }
  112523. /**
  112524. * (Highstock) Style options for the guide box. The guide box has one state by
  112525. * default, the `default` state.
  112526. */
  112527. export interface SeriesOhlcDataDragDropGuideBoxOptions {
  112528. /**
  112529. * (Highstock) Style options for the guide box default state.
  112530. */
  112531. default?: DragDropGuideBoxOptionsObject;
  112532. }
  112533. /**
  112534. * (Highstock) A `ohlc` series. If the type option is not specified, it is
  112535. * inherited from chart.type.
  112536. *
  112537. * In TypeScript the type option must always be set.
  112538. *
  112539. * Configuration options for the series are given in three levels:
  112540. *
  112541. * 1. Options for all series in a chart are defined in the plotOptions.series
  112542. * object.
  112543. *
  112544. * 2. Options for all `ohlc` series are defined in plotOptions.ohlc.
  112545. *
  112546. * 3. Options for one single series are given in the series instance array. (see
  112547. * online documentation for example)
  112548. *
  112549. * You have to extend the `SeriesOhlcOptions` via an interface to allow custom
  112550. * properties: ``` declare interface SeriesOhlcOptions { customProperty: string;
  112551. * }
  112552. *
  112553. */
  112554. export interface SeriesOhlcOptions extends PlotOhlcOptions, SeriesOptions {
  112555. /**
  112556. * (Highstock) An array of data points for the series. For the `ohlc` series
  112557. * type, points can be given in the following ways:
  112558. *
  112559. * 1. An array of arrays with 5 or 4 values. In this case, the values
  112560. * correspond to `x,open,high,low,close`. If the first value is a string, it
  112561. * is applied as the name of the point, and the `x` value is inferred. The
  112562. * `x` value can also be omitted, in which case the inner arrays should be
  112563. * of length 4\. Then the `x` value is automatically calculated, either
  112564. * starting at 0 and incremented by 1, or from `pointStart` and
  112565. * `pointInterval` given in the series options. (see online documentation
  112566. * for example)
  112567. *
  112568. * 2. An array of objects with named values. The following snippet shows
  112569. * only a few settings, see the complete options set below. If the total
  112570. * number of data points exceeds the series' turboThreshold, this option is
  112571. * not available. (see online documentation for example)
  112572. */
  112573. data?: Array<([(number|string), number, number, number]|[(number|string), number, number, number, number]|PointOptionsObject)>;
  112574. /**
  112575. * Not available
  112576. */
  112577. dataParser?: undefined;
  112578. /**
  112579. * Not available
  112580. */
  112581. dataURL?: undefined;
  112582. /**
  112583. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112584. * TypeScript non-optional and might be `undefined` in series objects from
  112585. * unknown sources.
  112586. */
  112587. type: "ohlc";
  112588. }
  112589. /**
  112590. * (Highcharts, Highstock, Highmaps, Gantt) Series options for specific data and
  112591. * the data itself. In TypeScript you have to cast the series options to
  112592. * specific series types, to get all possible options for a series.
  112593. *
  112594. * You have to extend the `SeriesOptions` via an interface to allow custom
  112595. * properties: ``` declare interface SeriesOptions { customProperty: string; }
  112596. *
  112597. */
  112598. export interface SeriesOptions {
  112599. /**
  112600. * (Highcharts, Highstock, Highmaps, Gantt) An id for the series. This can
  112601. * be used after render time to get a pointer to the series object through
  112602. * `chart.get()`.
  112603. */
  112604. id?: string;
  112605. /**
  112606. * (Highcharts, Highstock, Highmaps, Gantt) The index of the series in the
  112607. * chart, affecting the internal index in the `chart.series` array, the
  112608. * visible Z index as well as the order in the legend.
  112609. */
  112610. index?: number;
  112611. /**
  112612. * (Highcharts, Highstock, Highmaps, Gantt) The sequential index of the
  112613. * series in the legend.
  112614. */
  112615. legendIndex?: number;
  112616. /**
  112617. * (Highmaps) A map data object containing a `path` definition and
  112618. * optionally additional properties to join in the data as per the `joinBy`
  112619. * option.
  112620. */
  112621. mapData?: (Array<SeriesMapDataOptions>|any);
  112622. /**
  112623. * (Highcharts, Highstock, Highmaps, Gantt) The name of the series as shown
  112624. * in the legend, tooltip etc.
  112625. */
  112626. name?: string;
  112627. /**
  112628. * (Highcharts, Highstock) This option allows grouping series in a stacked
  112629. * chart. The stack option can be a string or anything else, as long as the
  112630. * grouped series' stack options match each other after conversion into a
  112631. * string.
  112632. */
  112633. stack?: (number|string);
  112634. /**
  112635. * (Highcharts, Highstock, Highmaps, Gantt) The type of series, for example
  112636. * `line` or `column`. By default, the series type is inherited from
  112637. * chart.type, so unless the chart is a combination of series types, there
  112638. * is no need to set it on the series level.
  112639. */
  112640. type: string;
  112641. /**
  112642. * (Highcharts, Highstock) When using dual or multiple x axes, this number
  112643. * defines which xAxis the particular series is connected to. It refers to
  112644. * either the axis id or the index of the axis in the xAxis array, with 0
  112645. * being the first.
  112646. */
  112647. xAxis?: (number|string);
  112648. /**
  112649. * (Highcharts, Highstock) When using dual or multiple y axes, this number
  112650. * defines which yAxis the particular series is connected to. It refers to
  112651. * either the axis id or the index of the axis in the yAxis array, with 0
  112652. * being the first.
  112653. */
  112654. yAxis?: (number|string);
  112655. /**
  112656. * (Highcharts, Highstock) Define the visual z index of the series.
  112657. */
  112658. zIndex?: number;
  112659. }
  112660. /**
  112661. * The registry for all types of series options.
  112662. */
  112663. export interface SeriesOptionsRegistry {
  112664. SeriesAbandsOptions: SeriesAbandsOptions;
  112665. SeriesAdOptions: SeriesAdOptions;
  112666. SeriesAoOptions: SeriesAoOptions;
  112667. SeriesApoOptions: SeriesApoOptions;
  112668. SeriesAreaOptions: SeriesAreaOptions;
  112669. SeriesArearangeOptions: SeriesArearangeOptions;
  112670. SeriesAreasplineOptions: SeriesAreasplineOptions;
  112671. SeriesAreasplinerangeOptions: SeriesAreasplinerangeOptions;
  112672. SeriesAroonOptions: SeriesAroonOptions;
  112673. SeriesAroonoscillatorOptions: SeriesAroonoscillatorOptions;
  112674. SeriesAtrOptions: SeriesAtrOptions;
  112675. SeriesBarOptions: SeriesBarOptions;
  112676. SeriesBbOptions: SeriesBbOptions;
  112677. SeriesBellcurveOptions: SeriesBellcurveOptions;
  112678. SeriesBoxplotOptions: SeriesBoxplotOptions;
  112679. SeriesBubbleOptions: SeriesBubbleOptions;
  112680. SeriesBulletOptions: SeriesBulletOptions;
  112681. SeriesCandlestickOptions: SeriesCandlestickOptions;
  112682. SeriesCciOptions: SeriesCciOptions;
  112683. SeriesChaikinOptions: SeriesChaikinOptions;
  112684. SeriesCmfOptions: SeriesCmfOptions;
  112685. SeriesCmoOptions: SeriesCmoOptions;
  112686. SeriesColumnOptions: SeriesColumnOptions;
  112687. SeriesColumnpyramidOptions: SeriesColumnpyramidOptions;
  112688. SeriesColumnrangeOptions: SeriesColumnrangeOptions;
  112689. SeriesCylinderOptions: SeriesCylinderOptions;
  112690. SeriesDemaOptions: SeriesDemaOptions;
  112691. SeriesDependencywheelOptions: SeriesDependencywheelOptions;
  112692. SeriesDisparityindexOptions: SeriesDisparityindexOptions;
  112693. SeriesDmiOptions: SeriesDmiOptions;
  112694. SeriesDpoOptions: SeriesDpoOptions;
  112695. SeriesDumbbellOptions: SeriesDumbbellOptions;
  112696. SeriesEmaOptions: SeriesEmaOptions;
  112697. SeriesErrorbarOptions: SeriesErrorbarOptions;
  112698. SeriesFlagsOptions: SeriesFlagsOptions;
  112699. SeriesFunnel3dOptions: SeriesFunnel3dOptions;
  112700. SeriesFunnelOptions: SeriesFunnelOptions;
  112701. SeriesGanttOptions: SeriesGanttOptions;
  112702. SeriesGaugeOptions: SeriesGaugeOptions;
  112703. SeriesHeatmapOptions: SeriesHeatmapOptions;
  112704. SeriesHistogramOptions: SeriesHistogramOptions;
  112705. SeriesIkhOptions: SeriesIkhOptions;
  112706. SeriesItemOptions: SeriesItemOptions;
  112707. SeriesKeltnerchannelsOptions: SeriesKeltnerchannelsOptions;
  112708. SeriesKlingerOptions: SeriesKlingerOptions;
  112709. SeriesLinearregressionangleOptions: SeriesLinearregressionangleOptions;
  112710. SeriesLinearregressioninterceptOptions: SeriesLinearregressioninterceptOptions;
  112711. SeriesLinearregressionOptions: SeriesLinearregressionOptions;
  112712. SeriesLinearregressionslopeOptions: SeriesLinearregressionslopeOptions;
  112713. SeriesLineOptions: SeriesLineOptions;
  112714. SeriesLollipopOptions: SeriesLollipopOptions;
  112715. SeriesMacdOptions: SeriesMacdOptions;
  112716. SeriesMapbubbleOptions: SeriesMapbubbleOptions;
  112717. SeriesMaplineOptions: SeriesMaplineOptions;
  112718. SeriesMapOptions: SeriesMapOptions;
  112719. SeriesMappointOptions: SeriesMappointOptions;
  112720. SeriesMfiOptions: SeriesMfiOptions;
  112721. SeriesMomentumOptions: SeriesMomentumOptions;
  112722. SeriesNatrOptions: SeriesNatrOptions;
  112723. SeriesNetworkgraphOptions: SeriesNetworkgraphOptions;
  112724. SeriesObvOptions: SeriesObvOptions;
  112725. SeriesOhlcOptions: SeriesOhlcOptions;
  112726. SeriesOrganizationOptions: SeriesOrganizationOptions;
  112727. SeriesPackedbubbleOptions: SeriesPackedbubbleOptions;
  112728. SeriesParetoOptions: SeriesParetoOptions;
  112729. SeriesPcOptions: SeriesPcOptions;
  112730. SeriesPieOptions: SeriesPieOptions;
  112731. SeriesPivotpointsOptions: SeriesPivotpointsOptions;
  112732. SeriesPolygonOptions: SeriesPolygonOptions;
  112733. SeriesPpoOptions: SeriesPpoOptions;
  112734. SeriesPriceenvelopesOptions: SeriesPriceenvelopesOptions;
  112735. SeriesPsarOptions: SeriesPsarOptions;
  112736. SeriesPyramid3dOptions: SeriesPyramid3dOptions;
  112737. SeriesPyramidOptions: SeriesPyramidOptions;
  112738. SeriesRocOptions: SeriesRocOptions;
  112739. SeriesRsiOptions: SeriesRsiOptions;
  112740. SeriesSankeyOptions: SeriesSankeyOptions;
  112741. SeriesScatter3dOptions: SeriesScatter3dOptions;
  112742. SeriesScatterOptions: SeriesScatterOptions;
  112743. SeriesSlowstochasticOptions: SeriesSlowstochasticOptions;
  112744. SeriesSmaOptions: SeriesSmaOptions;
  112745. SeriesSolidgaugeOptions: SeriesSolidgaugeOptions;
  112746. SeriesSplineOptions: SeriesSplineOptions;
  112747. SeriesStochasticOptions: SeriesStochasticOptions;
  112748. SeriesStreamgraphOptions: SeriesStreamgraphOptions;
  112749. SeriesSunburstOptions: SeriesSunburstOptions;
  112750. SeriesSupertrendOptions: SeriesSupertrendOptions;
  112751. SeriesTemaOptions: SeriesTemaOptions;
  112752. SeriesTilemapOptions: SeriesTilemapOptions;
  112753. SeriesTimelineOptions: SeriesTimelineOptions;
  112754. SeriesTreemapOptions: SeriesTreemapOptions;
  112755. SeriesTrendlineOptions: SeriesTrendlineOptions;
  112756. SeriesTrixOptions: SeriesTrixOptions;
  112757. SeriesVariablepieOptions: SeriesVariablepieOptions;
  112758. SeriesVariwideOptions: SeriesVariwideOptions;
  112759. SeriesVbpOptions: SeriesVbpOptions;
  112760. SeriesVectorOptions: SeriesVectorOptions;
  112761. SeriesVennOptions: SeriesVennOptions;
  112762. SeriesVwapOptions: SeriesVwapOptions;
  112763. SeriesWaterfallOptions: SeriesWaterfallOptions;
  112764. SeriesWilliamsrOptions: SeriesWilliamsrOptions;
  112765. SeriesWindbarbOptions: SeriesWindbarbOptions;
  112766. SeriesWmaOptions: SeriesWmaOptions;
  112767. SeriesWordcloudOptions: SeriesWordcloudOptions;
  112768. SeriesXrangeOptions: SeriesXrangeOptions;
  112769. SeriesZigzagOptions: SeriesZigzagOptions;
  112770. }
  112771. /**
  112772. * (Highcharts) Enable or disable the initial animation when a series is
  112773. * displayed for the `dataLabels`. The animation can also be set as a
  112774. * configuration object. Please note that this option only applies to the
  112775. * initial animation. For other animations, see chart.animation and the
  112776. * animation parameter under the API methods. The following properties are
  112777. * supported:
  112778. *
  112779. * - `defer`: The animation delay time in milliseconds.
  112780. */
  112781. export interface SeriesOrganizationDataDataLabelsAnimationOptions {
  112782. /**
  112783. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  112784. * dataLabel immediately. As `undefined` inherits defer time from the
  112785. * series.animation.defer.
  112786. */
  112787. defer?: number;
  112788. }
  112789. /**
  112790. * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
  112791. * appearing on top of the nodes and links. For sankey charts, data labels are
  112792. * visible for the nodes by default, but hidden for links. This is controlled by
  112793. * modifying the `nodeFormat`, and the `format` that applies to links and is an
  112794. * empty string by default.
  112795. */
  112796. export interface SeriesOrganizationDataLabelsOptionsObject {
  112797. /**
  112798. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  112799. * compared to the point. If `right`, the right side of the label should be
  112800. * touching the point. For points with an extent, like columns, the
  112801. * alignments also dictates how to align it inside the box, as given with
  112802. * the inside option. Can be one of `left`, `center` or `right`.
  112803. */
  112804. align?: string;
  112805. /**
  112806. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  112807. * overlap. To make the labels less sensitive for overlapping, the
  112808. * dataLabels.padding can be set to 0.
  112809. */
  112810. allowOverlap?: boolean;
  112811. /**
  112812. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  112813. * animation when a series is displayed for the `dataLabels`. The animation
  112814. * can also be set as a configuration object. Please note that this option
  112815. * only applies to the initial animation. For other animations, see
  112816. * chart.animation and the animation parameter under the API methods. The
  112817. * following properties are supported:
  112818. *
  112819. * - `defer`: The animation delay time in milliseconds.
  112820. */
  112821. animation?: (boolean|PlotOrganizationDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  112822. /**
  112823. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  112824. * for the data label.
  112825. */
  112826. backgroundColor?: string;
  112827. /**
  112828. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  112829. * label. Defaults to `undefined`.
  112830. */
  112831. borderColor?: (ColorString|GradientColorObject|PatternObject);
  112832. /**
  112833. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  112834. * the data label.
  112835. */
  112836. borderRadius?: number;
  112837. /**
  112838. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  112839. * the data label.
  112840. */
  112841. borderWidth?: number;
  112842. /**
  112843. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  112844. * Particularly in styled mode, this can be used to give each series' or
  112845. * point's data label unique styling. In addition to this option, a default
  112846. * color class name is added so that we can give the labels a contrast text
  112847. * shadow.
  112848. */
  112849. className?: string;
  112850. /**
  112851. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  112852. * labels. Defaults to `undefined`. For certain series types, like column or
  112853. * map, the data labels can be drawn inside the points. In this case the
  112854. * data label will be drawn with maximum contrast by default. Additionally,
  112855. * it will be given a `text-outline` style with the opposite color, to
  112856. * further increase the contrast. This can be overridden by setting the
  112857. * `text-outline` style to `none` in the `dataLabels.style` option.
  112858. */
  112859. color?: (ColorString|GradientColorObject|PatternObject);
  112860. /**
  112861. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  112862. * are outside the plot area. By default, the data label is moved inside the
  112863. * plot area according to the overflow option.
  112864. */
  112865. crop?: boolean;
  112866. /**
  112867. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  112868. * labels until the initial series animation has finished. Setting to
  112869. * `false` renders the data label immediately. If set to `true` inherits the
  112870. * defer time set in plotOptions.series.animation. If set to a number, a
  112871. * defer time is specified in milliseconds.
  112872. */
  112873. defer?: (boolean|number);
  112874. /**
  112875. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  112876. * labels.
  112877. */
  112878. enabled?: boolean;
  112879. /**
  112880. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  112881. * of which data labels to display. The declarative filter is designed for
  112882. * use when callback functions are not available, like when the chart
  112883. * options require a pure JSON structure or for use with graphical editors.
  112884. * For programmatic control, use the `formatter` instead, and return
  112885. * `undefined` to disable a single data label.
  112886. */
  112887. filter?: DataLabelsFilterOptionsObject;
  112888. /**
  112889. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  112890. * label. Available variables are the same as for `formatter`.
  112891. */
  112892. format?: string;
  112893. /**
  112894. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  112895. * format the data label. Note that if a `format` is defined, the format
  112896. * takes precedence and the formatter is ignored.
  112897. */
  112898. formatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
  112899. /**
  112900. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  112901. * columns or map areas, whether to align the data label inside the box or
  112902. * to the actual value point. Defaults to `false` in most cases, `true` in
  112903. * stacked columns.
  112904. */
  112905. inside?: boolean;
  112906. /**
  112907. * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
  112908. * what to show for _nodes_ in the sankey diagram. By default the
  112909. * `nodeFormatter` returns `{point.name}`.
  112910. */
  112911. nodeFormat?: string;
  112912. /**
  112913. * (Highcharts, Highstock, Highmaps, Gantt) A callback for defining the
  112914. * format for _nodes_ in the organization chart. The `nodeFormat` option
  112915. * takes precedence over `nodeFormatter`.
  112916. *
  112917. * In an organization chart, the `nodeFormatter` is a quite complex function
  112918. * of the available options, striving for a good default layout of cards
  112919. * with or without images. In organization chart, the data labels come with
  112920. * `useHTML` set to true, meaning they will be rendered as true HTML above
  112921. * the SVG.
  112922. */
  112923. nodeFormatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
  112924. /**
  112925. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  112926. * of null. Works analogously to format. `nullFormat` can be applied only to
  112927. * series which support displaying null points.
  112928. */
  112929. nullFormat?: (boolean|string);
  112930. /**
  112931. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  112932. * that defines formatting for points with the value of null. Works
  112933. * analogously to formatter. `nullPointFormatter` can be applied only to
  112934. * series which support displaying null points.
  112935. */
  112936. nullFormatter?: DataLabelsFormatterCallbackFunction;
  112937. /**
  112938. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  112939. * flow outside the plot area. The default is `"justify"`, which aligns them
  112940. * inside the plot area. For columns and bars, this means it will be moved
  112941. * inside the bar. To display data labels outside the plot area, set `crop`
  112942. * to `false` and `overflow` to `"allow"`.
  112943. */
  112944. overflow?: DataLabelsOverflowValue;
  112945. /**
  112946. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  112947. * the `backgroundColor` is set, this is the padding within the box.
  112948. */
  112949. padding?: number;
  112950. /**
  112951. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  112952. * points. If `center` alignment is not possible, it defaults to `right`.
  112953. */
  112954. position?: AlignValue;
  112955. /**
  112956. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  112957. * that due to a more complex structure, backgrounds, borders and padding
  112958. * will be lost on a rotated data label.
  112959. */
  112960. rotation?: number;
  112961. /**
  112962. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  112963. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  112964. * an object configuration containing `color`, `offsetX`, `offsetY`,
  112965. * `opacity` and `width`.
  112966. */
  112967. shadow?: (boolean|ShadowOptionsObject);
  112968. /**
  112969. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  112970. * the border around the label. Symbols are predefined functions on the
  112971. * Renderer object.
  112972. */
  112973. shape?: string;
  112974. /**
  112975. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  112976. * default `color` setting is `"contrast"`, which is a pseudo color that
  112977. * Highcharts picks up and applies the maximum contrast to the underlying
  112978. * point item, for example the bar in a bar chart.
  112979. *
  112980. * The `textOutline` is a pseudo property that applies an outline of the
  112981. * given width with the given color, which by default is the maximum
  112982. * contrast to the text. So a bright text color will result in a black text
  112983. * outline for maximum readability on a mixed background. In some cases,
  112984. * especially with grayscale text, the text outline doesn't work well, in
  112985. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  112986. * is true, the `textOutline` will not be picked up. In this, case, the same
  112987. * effect can be acheived through the `text-shadow` CSS property.
  112988. *
  112989. * For some series types, where each point has an extent, like for example
  112990. * tree maps, the data label may overflow the point. There are two
  112991. * strategies for handling overflow. By default, the text will wrap to
  112992. * multiple lines. The other strategy is to set `style.textOverflow` to
  112993. * `ellipsis`, which will keep the text on one line plus it will break
  112994. * inside long words.
  112995. */
  112996. style?: CSSObject;
  112997. /**
  112998. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  112999. * should follow marker's shape. Border and background are disabled for a
  113000. * label that follows a path.
  113001. *
  113002. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  113003. * to true will disable this option.
  113004. */
  113005. textPath?: DataLabelsTextPathOptionsObject;
  113006. /**
  113007. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  113008. * the labels.
  113009. */
  113010. useHTML?: boolean;
  113011. /**
  113012. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  113013. * label. Can be one of `top`, `middle` or `bottom`. The default value
  113014. * depends on the data, for instance in a column chart, the label is above
  113015. * positive values and below negative values.
  113016. */
  113017. verticalAlign?: string;
  113018. /**
  113019. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  113020. * label relative to the point in pixels.
  113021. */
  113022. x?: number;
  113023. /**
  113024. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  113025. * label relative to the point in pixels.
  113026. */
  113027. y?: number;
  113028. /**
  113029. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  113030. * The default Z index puts it above the series. Use a Z index of 2 to
  113031. * display it behind the series.
  113032. */
  113033. z?: number;
  113034. }
  113035. /**
  113036. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  113037. * animation when a series is displayed for the `dataLabels`. The animation can
  113038. * also be set as a configuration object. Please note that this option only
  113039. * applies to the initial animation. For other animations, see chart.animation
  113040. * and the animation parameter under the API methods. The following properties
  113041. * are supported:
  113042. *
  113043. * - `defer`: The animation delay time in milliseconds.
  113044. */
  113045. export interface SeriesOrganizationNodesDataLabelsAnimationOptions {
  113046. /**
  113047. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  113048. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  113049. * inherits defer time from the series.animation.defer.
  113050. */
  113051. defer?: number;
  113052. }
  113053. /**
  113054. * (Highcharts) An `organization` series. If the type option is not specified,
  113055. * it is inherited from chart.type.
  113056. *
  113057. * In TypeScript the type option must always be set.
  113058. *
  113059. * Configuration options for the series are given in three levels:
  113060. *
  113061. * 1. Options for all series in a chart are defined in the plotOptions.series
  113062. * object.
  113063. *
  113064. * 2. Options for all `organization` series are defined in
  113065. * plotOptions.organization.
  113066. *
  113067. * 3. Options for one single series are given in the series instance array. (see
  113068. * online documentation for example)
  113069. *
  113070. * You have to extend the `SeriesOrganizationOptions` via an interface to allow
  113071. * custom properties: ``` declare interface SeriesOrganizationOptions {
  113072. * customProperty: string; }
  113073. *
  113074. */
  113075. export interface SeriesOrganizationOptions extends PlotOrganizationOptions, SeriesOptions {
  113076. /**
  113077. * (Highcharts) An array of data points for the series. For the
  113078. * `organization` series type, points can be given in the following way:
  113079. *
  113080. * An array of objects with named values. The following snippet shows only a
  113081. * few settings, see the complete options set below. If the total number of
  113082. * data points exceeds the series' turboThreshold, this option is not
  113083. * available. (see online documentation for example)
  113084. */
  113085. data?: Array<SeriesSankeyPointOptionsObject>;
  113086. /**
  113087. * (Highcharts) A collection of options for the individual nodes. The nodes
  113088. * in an org chart are auto-generated instances of `Highcharts.Point`, but
  113089. * options can be applied here and linked by the `id`.
  113090. */
  113091. nodes?: Array<SeriesSankeyNodesOptionsObject>;
  113092. /**
  113093. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  113094. * TypeScript non-optional and might be `undefined` in series objects from
  113095. * unknown sources.
  113096. */
  113097. type: "organization";
  113098. }
  113099. /**
  113100. * (Highcharts) Enable or disable the initial animation when a series is
  113101. * displayed for the `dataLabels`. The animation can also be set as a
  113102. * configuration object. Please note that this option only applies to the
  113103. * initial animation. For other animations, see chart.animation and the
  113104. * animation parameter under the API methods. The following properties are
  113105. * supported:
  113106. *
  113107. * - `defer`: The animation delay time in milliseconds.
  113108. */
  113109. export interface SeriesPackedbubbleDataDataLabelsAnimationOptions {
  113110. /**
  113111. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  113112. * dataLabel immediately. As `undefined` inherits defer time from the
  113113. * series.animation.defer.
  113114. */
  113115. defer?: number;
  113116. }
  113117. /**
  113118. * (Highcharts) Style options for the guide box. The guide box has one state by
  113119. * default, the `default` state.
  113120. */
  113121. export interface SeriesPackedbubbleDataDragDropGuideBoxOptions {
  113122. /**
  113123. * (Highcharts) Style options for the guide box default state.
  113124. */
  113125. default?: DragDropGuideBoxOptionsObject;
  113126. }
  113127. /**
  113128. * Context for the formatter function.
  113129. */
  113130. export interface SeriesPackedBubbleDataLabelsFormatterContextObject extends PointLabelObject {
  113131. /**
  113132. * The color of the node.
  113133. */
  113134. color: ColorString;
  113135. /**
  113136. * The ID of the node.
  113137. */
  113138. key: string;
  113139. /**
  113140. * The point (node) object. The node name, if defined, is available through
  113141. * `this.point.name`. Arrays: `this.point.linksFrom` and
  113142. * `this.point.linksTo` contains all nodes connected to this point.
  113143. */
  113144. point: Point;
  113145. }
  113146. /**
  113147. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  113148. * appearing next to each data point.
  113149. *
  113150. * Since v6.2.0, multiple data labels can be applied to each single point by
  113151. * defining them as an array of configs.
  113152. *
  113153. * In styled mode, the data labels can be styled with the
  113154. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  113155. * example).
  113156. */
  113157. export interface SeriesPackedBubbleDataLabelsOptionsObject {
  113158. /**
  113159. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  113160. * compared to the point. If `right`, the right side of the label should be
  113161. * touching the point. For points with an extent, like columns, the
  113162. * alignments also dictates how to align it inside the box, as given with
  113163. * the inside option. Can be one of `left`, `center` or `right`.
  113164. */
  113165. align?: (AlignValue|null);
  113166. /**
  113167. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  113168. * overlap. To make the labels less sensitive for overlapping, the
  113169. * dataLabels.padding can be set to 0.
  113170. */
  113171. allowOverlap?: boolean;
  113172. /**
  113173. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  113174. * animation when a series is displayed for the `dataLabels`. The animation
  113175. * can also be set as a configuration object. Please note that this option
  113176. * only applies to the initial animation. For other animations, see
  113177. * chart.animation and the animation parameter under the API methods. The
  113178. * following properties are supported:
  113179. *
  113180. * - `defer`: The animation delay time in milliseconds.
  113181. */
  113182. animation?: (boolean|PlotPackedbubbleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  113183. /**
  113184. * (Highcharts, Highstock, Highmaps, Gantt) Presentation attributes for the
  113185. * text path.
  113186. */
  113187. attributes?: SVGAttributes;
  113188. /**
  113189. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  113190. * for the data label.
  113191. */
  113192. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  113193. /**
  113194. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  113195. * label. Defaults to `undefined`.
  113196. */
  113197. borderColor?: (ColorString|GradientColorObject|PatternObject);
  113198. /**
  113199. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  113200. * the data label.
  113201. */
  113202. borderRadius?: number;
  113203. /**
  113204. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  113205. * the data label.
  113206. */
  113207. borderWidth?: number;
  113208. /**
  113209. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  113210. * Particularly in styled mode, this can be used to give each series' or
  113211. * point's data label unique styling. In addition to this option, a default
  113212. * color class name is added so that we can give the labels a contrast text
  113213. * shadow.
  113214. */
  113215. className?: string;
  113216. /**
  113217. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  113218. * labels. Defaults to `undefined`. For certain series types, like column or
  113219. * map, the data labels can be drawn inside the points. In this case the
  113220. * data label will be drawn with maximum contrast by default. Additionally,
  113221. * it will be given a `text-outline` style with the opposite color, to
  113222. * further increase the contrast. This can be overridden by setting the
  113223. * `text-outline` style to `none` in the `dataLabels.style` option.
  113224. */
  113225. color?: (ColorString|GradientColorObject|PatternObject);
  113226. /**
  113227. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  113228. * are outside the plot area. By default, the data label is moved inside the
  113229. * plot area according to the overflow option.
  113230. */
  113231. crop?: boolean;
  113232. /**
  113233. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  113234. * labels until the initial series animation has finished. Setting to
  113235. * `false` renders the data label immediately. If set to `true` inherits the
  113236. * defer time set in plotOptions.series.animation. If set to a number, a
  113237. * defer time is specified in milliseconds.
  113238. */
  113239. defer?: (boolean|number);
  113240. /**
  113241. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  113242. * labels.
  113243. */
  113244. enabled?: boolean;
  113245. /**
  113246. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  113247. * of which data labels to display. The declarative filter is designed for
  113248. * use when callback functions are not available, like when the chart
  113249. * options require a pure JSON structure or for use with graphical editors.
  113250. * For programmatic control, use the `formatter` instead, and return
  113251. * `undefined` to disable a single data label.
  113252. */
  113253. filter?: DataLabelsFilterOptionsObject;
  113254. /**
  113255. * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
  113256. * what to show for _node_ in the networkgraph. In v7.0 defaults to `{key}`,
  113257. * since v7.1 defaults to `undefined` and `formatter` is used instead.
  113258. */
  113259. format?: string;
  113260. /**
  113261. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  113262. * format the data label for a node. Note that if a `format` is defined, the
  113263. * format takes precedence and the formatter is ignored.
  113264. */
  113265. formatter?: SeriesPackedBubbleDataLabelsFormatterCallbackFunction;
  113266. /**
  113267. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  113268. * columns or map areas, whether to align the data label inside the box or
  113269. * to the actual value point. Defaults to `false` in most cases, `true` in
  113270. * stacked columns.
  113271. */
  113272. inside?: boolean;
  113273. /**
  113274. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  113275. * of null. Works analogously to format. `nullFormat` can be applied only to
  113276. * series which support displaying null points.
  113277. */
  113278. nullFormat?: (boolean|string);
  113279. /**
  113280. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  113281. * that defines formatting for points with the value of null. Works
  113282. * analogously to formatter. `nullPointFormatter` can be applied only to
  113283. * series which support displaying null points.
  113284. */
  113285. nullFormatter?: DataLabelsFormatterCallbackFunction;
  113286. /**
  113287. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  113288. * flow outside the plot area. The default is `"justify"`, which aligns them
  113289. * inside the plot area. For columns and bars, this means it will be moved
  113290. * inside the bar. To display data labels outside the plot area, set `crop`
  113291. * to `false` and `overflow` to `"allow"`.
  113292. */
  113293. overflow?: DataLabelsOverflowValue;
  113294. /**
  113295. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  113296. * the `backgroundColor` is set, this is the padding within the box.
  113297. */
  113298. padding?: number;
  113299. parentNodeFormat?: string;
  113300. parentNodeFormatter?: SeriesPackedBubbleDataLabelsFormatterCallbackFunction;
  113301. parentNodeTextPath?: SeriesPackedBubbleDataLabelsTextPathOptionsObject;
  113302. /**
  113303. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  113304. * points. If `center` alignment is not possible, it defaults to `right`.
  113305. */
  113306. position?: AlignValue;
  113307. /**
  113308. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  113309. * that due to a more complex structure, backgrounds, borders and padding
  113310. * will be lost on a rotated data label.
  113311. */
  113312. rotation?: number;
  113313. /**
  113314. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  113315. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  113316. * an object configuration containing `color`, `offsetX`, `offsetY`,
  113317. * `opacity` and `width`.
  113318. */
  113319. shadow?: (boolean|ShadowOptionsObject);
  113320. /**
  113321. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  113322. * the border around the label. Symbols are predefined functions on the
  113323. * Renderer object.
  113324. */
  113325. shape?: string;
  113326. /**
  113327. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  113328. * default `color` setting is `"contrast"`, which is a pseudo color that
  113329. * Highcharts picks up and applies the maximum contrast to the underlying
  113330. * point item, for example the bar in a bar chart.
  113331. *
  113332. * The `textOutline` is a pseudo property that applies an outline of the
  113333. * given width with the given color, which by default is the maximum
  113334. * contrast to the text. So a bright text color will result in a black text
  113335. * outline for maximum readability on a mixed background. In some cases,
  113336. * especially with grayscale text, the text outline doesn't work well, in
  113337. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  113338. * is true, the `textOutline` will not be picked up. In this, case, the same
  113339. * effect can be acheived through the `text-shadow` CSS property.
  113340. *
  113341. * For some series types, where each point has an extent, like for example
  113342. * tree maps, the data label may overflow the point. There are two
  113343. * strategies for handling overflow. By default, the text will wrap to
  113344. * multiple lines. The other strategy is to set `style.textOverflow` to
  113345. * `ellipsis`, which will keep the text on one line plus it will break
  113346. * inside long words.
  113347. */
  113348. style?: (CSSObject|PlotPackedbubbleDataLabelsStyleOptions);
  113349. /**
  113350. * (Highcharts, Highstock, Highmaps, Gantt) Options for a _node_ label text
  113351. * which should follow marker's shape.
  113352. *
  113353. * **Note:** Only SVG-based renderer supports this option.
  113354. */
  113355. textPath?: DataLabelsTextPathOptionsObject;
  113356. /**
  113357. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  113358. * the labels.
  113359. */
  113360. useHTML?: boolean;
  113361. /**
  113362. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  113363. * label. Can be one of `top`, `middle` or `bottom`. The default value
  113364. * depends on the data, for instance in a column chart, the label is above
  113365. * positive values and below negative values.
  113366. */
  113367. verticalAlign?: string;
  113368. /**
  113369. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  113370. * label relative to the point in pixels.
  113371. */
  113372. x?: number;
  113373. /**
  113374. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  113375. * label relative to the point in pixels.
  113376. */
  113377. y?: number;
  113378. /**
  113379. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  113380. * The default Z index puts it above the series. Use a Z index of 2 to
  113381. * display it behind the series.
  113382. */
  113383. z?: number;
  113384. }
  113385. export interface SeriesPackedBubbleDataLabelsTextPathOptionsObject {
  113386. /**
  113387. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable `textPath`
  113388. * option for link's or marker's data labels.
  113389. */
  113390. enabled?: boolean;
  113391. }
  113392. /**
  113393. * (Highcharts) A `packedbubble` series. If the type option is not specified, it
  113394. * is inherited from chart.type.
  113395. *
  113396. * In TypeScript the type option must always be set.
  113397. *
  113398. * Configuration options for the series are given in three levels:
  113399. *
  113400. * 1. Options for all series in a chart are defined in the plotOptions.series
  113401. * object.
  113402. *
  113403. * 2. Options for all `packedbubble` series are defined in
  113404. * plotOptions.packedbubble.
  113405. *
  113406. * 3. Options for one single series are given in the series instance array. (see
  113407. * online documentation for example)
  113408. *
  113409. * You have to extend the `SeriesPackedbubbleOptions` via an interface to allow
  113410. * custom properties: ``` declare interface SeriesPackedbubbleOptions {
  113411. * customProperty: string; }
  113412. *
  113413. */
  113414. export interface SeriesPackedbubbleOptions extends PlotPackedbubbleOptions, SeriesOptions {
  113415. /**
  113416. * (Highcharts) An array of data points for the series. For the
  113417. * `packedbubble` series type, points can be given in the following ways:
  113418. *
  113419. * 1. An array of `values`. (see online documentation for example)
  113420. *
  113421. * 2. An array of objects with named values. The objects are point
  113422. * configuration objects as seen below. If the total number of data points
  113423. * exceeds the series' turboThreshold, this option is not available. (see
  113424. * online documentation for example)
  113425. */
  113426. data?: (PointOptionsObject|Array<(object|any[])>);
  113427. /**
  113428. * Not available
  113429. */
  113430. dataParser?: undefined;
  113431. /**
  113432. * Not available
  113433. */
  113434. dataURL?: undefined;
  113435. /**
  113436. * Not available
  113437. */
  113438. stack?: undefined;
  113439. /**
  113440. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  113441. * TypeScript non-optional and might be `undefined` in series objects from
  113442. * unknown sources.
  113443. */
  113444. type: "packedbubble";
  113445. }
  113446. /**
  113447. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  113448. * series is displayed for the `dataLabels`. The animation can also be set as a
  113449. * configuration object. Please note that this option only applies to the
  113450. * initial animation. For other animations, see chart.animation and the
  113451. * animation parameter under the API methods. The following properties are
  113452. * supported:
  113453. *
  113454. * - `defer`: The animation delay time in milliseconds.
  113455. */
  113456. export interface SeriesParetoDataDataLabelsAnimationOptions {
  113457. /**
  113458. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  113459. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  113460. * time from the series.animation.defer.
  113461. */
  113462. defer?: number;
  113463. }
  113464. /**
  113465. * (Highcharts) Style options for the guide box. The guide box has one state by
  113466. * default, the `default` state.
  113467. */
  113468. export interface SeriesParetoDataDragDropGuideBoxOptions {
  113469. /**
  113470. * (Highcharts) Style options for the guide box default state.
  113471. */
  113472. default?: DragDropGuideBoxOptionsObject;
  113473. }
  113474. /**
  113475. * (Highcharts) A `pareto` series. If the type option is not specified, it is
  113476. * inherited from chart.type.
  113477. *
  113478. * In TypeScript the type option must always be set.
  113479. *
  113480. * Configuration options for the series are given in three levels:
  113481. *
  113482. * 1. Options for all series in a chart are defined in the plotOptions.series
  113483. * object.
  113484. *
  113485. * 2. Options for all `pareto` series are defined in plotOptions.pareto.
  113486. *
  113487. * 3. Options for one single series are given in the series instance array. (see
  113488. * online documentation for example)
  113489. *
  113490. * You have to extend the `SeriesParetoOptions` via an interface to allow custom
  113491. * properties: ``` declare interface SeriesParetoOptions { customProperty:
  113492. * string; }
  113493. *
  113494. */
  113495. export interface SeriesParetoOptions extends PlotParetoOptions, SeriesOptions {
  113496. /**
  113497. * (Highcharts) An integer identifying the index to use for the base series,
  113498. * or a string representing the id of the series.
  113499. */
  113500. baseSeries?: (number|string);
  113501. /**
  113502. * (Highcharts) An array of data points for the series. For the `pareto`
  113503. * series type, points are calculated dynamically.
  113504. */
  113505. data?: Array<(Array<(number|string)>|PointOptionsObject)>;
  113506. /**
  113507. * Not available
  113508. */
  113509. dataParser?: undefined;
  113510. /**
  113511. * Not available
  113512. */
  113513. dataURL?: undefined;
  113514. /**
  113515. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  113516. * TypeScript non-optional and might be `undefined` in series objects from
  113517. * unknown sources.
  113518. */
  113519. type: "pareto";
  113520. }
  113521. /**
  113522. * (Highstock) A Price channel indicator. If the type option is not specified,
  113523. * it is inherited from chart.type.
  113524. *
  113525. * In TypeScript the type option must always be set.
  113526. *
  113527. * Configuration options for the series are given in three levels:
  113528. *
  113529. * 1. Options for all series in a chart are defined in the plotOptions.series
  113530. * object.
  113531. *
  113532. * 2. Options for all `pc` series are defined in plotOptions.pc.
  113533. *
  113534. * 3. Options for one single series are given in the series instance array. (see
  113535. * online documentation for example)
  113536. *
  113537. * You have to extend the `SeriesPcOptions` via an interface to allow custom
  113538. * properties: ``` declare interface SeriesPcOptions { customProperty: string; }
  113539. *
  113540. */
  113541. export interface SeriesPcOptions extends PlotPcOptions, SeriesOptions {
  113542. /**
  113543. * Not available
  113544. */
  113545. dataParser?: undefined;
  113546. /**
  113547. * Not available
  113548. */
  113549. dataURL?: undefined;
  113550. /**
  113551. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  113552. * TypeScript non-optional and might be `undefined` in series objects from
  113553. * unknown sources.
  113554. */
  113555. type: "pc";
  113556. }
  113557. /**
  113558. * (Highcharts) Enable or disable the initial animation when a series is
  113559. * displayed for the `dataLabels`. The animation can also be set as a
  113560. * configuration object. Please note that this option only applies to the
  113561. * initial animation. For other animations, see chart.animation and the
  113562. * animation parameter under the API methods. The following properties are
  113563. * supported:
  113564. *
  113565. * - `defer`: The animation delay time in milliseconds.
  113566. */
  113567. export interface SeriesPieDataDataLabelsAnimationOptions {
  113568. /**
  113569. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  113570. * dataLabel immediately. As `undefined` inherits defer time from the
  113571. * series.animation.defer.
  113572. */
  113573. defer?: number;
  113574. }
  113575. /**
  113576. * (Highcharts) Style options for the guide box. The guide box has one state by
  113577. * default, the `default` state.
  113578. */
  113579. export interface SeriesPieDataDragDropGuideBoxOptions {
  113580. /**
  113581. * (Highcharts) Style options for the guide box default state.
  113582. */
  113583. default?: DragDropGuideBoxOptionsObject;
  113584. }
  113585. /**
  113586. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  113587. * appearing next to each data point.
  113588. *
  113589. * Since v6.2.0, multiple data labels can be applied to each single point by
  113590. * defining them as an array of configs.
  113591. *
  113592. * In styled mode, the data labels can be styled with the
  113593. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  113594. * example).
  113595. */
  113596. export interface SeriesPieDataLabelsOptionsObject {
  113597. /**
  113598. * (Highcharts) Alignment method for data labels. Possible values are:
  113599. *
  113600. * - `toPlotEdges`: Each label touches the nearest vertical edge of the plot
  113601. * area.
  113602. *
  113603. * - `connectors`: Connectors have the same x position and the widest label
  113604. * of each half (left & right) touches the nearest vertical edge of the plot
  113605. * area.
  113606. */
  113607. alignTo?: string;
  113608. /**
  113609. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  113610. * animation when a series is displayed for the `dataLabels`. The animation
  113611. * can also be set as a configuration object. Please note that this option
  113612. * only applies to the initial animation. For other animations, see
  113613. * chart.animation and the animation parameter under the API methods. The
  113614. * following properties are supported:
  113615. *
  113616. * - `defer`: The animation delay time in milliseconds.
  113617. */
  113618. animation?: (boolean|PlotFunnelDataLabelsAnimationOptions|PlotItemDataLabelsAnimationOptions|PlotPieDataLabelsAnimationOptions|PlotPyramidDataLabelsAnimationOptions|
  113619. PlotVariablepieDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  113620. /**
  113621. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  113622. * for the data label.
  113623. */
  113624. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  113625. /**
  113626. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  113627. * label. Defaults to `undefined`.
  113628. */
  113629. borderColor?: (ColorString|GradientColorObject|PatternObject);
  113630. /**
  113631. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  113632. * the data label.
  113633. */
  113634. borderRadius?: number;
  113635. /**
  113636. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  113637. * the data label.
  113638. */
  113639. borderWidth?: number;
  113640. /**
  113641. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  113642. * Particularly in styled mode, this can be used to give each series' or
  113643. * point's data label unique styling. In addition to this option, a default
  113644. * color class name is added so that we can give the labels a contrast text
  113645. * shadow.
  113646. */
  113647. className?: string;
  113648. /**
  113649. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  113650. * labels. Defaults to `undefined`. For certain series types, like column or
  113651. * map, the data labels can be drawn inside the points. In this case the
  113652. * data label will be drawn with maximum contrast by default. Additionally,
  113653. * it will be given a `text-outline` style with the opposite color, to
  113654. * further increase the contrast. This can be overridden by setting the
  113655. * `text-outline` style to `none` in the `dataLabels.style` option.
  113656. */
  113657. color?: (ColorString|GradientColorObject|PatternObject);
  113658. /**
  113659. * (Highcharts) The color of the line connecting the data label to the pie
  113660. * slice. The default color is the same as the point's color.
  113661. *
  113662. * In styled mode, the connector stroke is given in the
  113663. * `.highcharts-data-label-connector` class.
  113664. */
  113665. connectorColor?: (ColorString|GradientColorObject|PatternObject);
  113666. /**
  113667. * (Highcharts) The distance from the data label to the connector. Note that
  113668. * data labels also have a default `padding`, so in order for the connector
  113669. * to touch the text, the `padding` must also be 0.
  113670. */
  113671. connectorPadding?: number;
  113672. /**
  113673. * (Highcharts) Specifies the method that is used to generate the connector
  113674. * path. Highcharts provides 3 built-in connector shapes: `'fixedOffset'`
  113675. * (default), `'straight'` and `'crookedLine'`. Using `'crookedLine'` has
  113676. * the most sense (in most of the cases) when `'alignTo'` is set.
  113677. *
  113678. * Users can provide their own method by passing a function instead of a
  113679. * String. 3 arguments are passed to the callback:
  113680. *
  113681. * - Object that holds the information about the coordinates of the label
  113682. * (`x` & `y` properties) and how the label is located in relation to the
  113683. * pie (`alignment` property). `alignment` can by one of the following:
  113684. * `'left'` (pie on the left side of the data label), `'right'` (pie on the
  113685. * right side of the data label) or `'center'` (data label overlaps the
  113686. * pie).
  113687. *
  113688. * - Object that holds the information about the position of the connector.
  113689. * Its `touchingSliceAt` porperty tells the position of the place where the
  113690. * connector touches the slice.
  113691. *
  113692. * - Data label options
  113693. *
  113694. * The function has to return an SVG path definition in array form (see the
  113695. * example).
  113696. */
  113697. connectorShape?: (string|Function);
  113698. /**
  113699. * (Highcharts) The width of the line connecting the data label to the pie
  113700. * slice.
  113701. *
  113702. * In styled mode, the connector stroke width is given in the
  113703. * `.highcharts-data-label-connector` class.
  113704. */
  113705. connectorWidth?: number;
  113706. /**
  113707. * (Highcharts) Works only if `connectorShape` is `'crookedLine'`. It
  113708. * defines how far from the vertical plot edge the coonnector path should be
  113709. * crooked.
  113710. */
  113711. crookDistance?: string;
  113712. /**
  113713. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  113714. * are outside the plot area. By default, the data label is moved inside the
  113715. * plot area according to the overflow option.
  113716. */
  113717. crop?: boolean;
  113718. /**
  113719. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  113720. * labels until the initial series animation has finished. Setting to
  113721. * `false` renders the data label immediately. If set to `true` inherits the
  113722. * defer time set in plotOptions.series.animation. If set to a number, a
  113723. * defer time is specified in milliseconds.
  113724. */
  113725. defer?: (boolean|number);
  113726. /**
  113727. * (Highcharts) The distance of the data label from the pie's edge. Negative
  113728. * numbers put the data label on top of the pie slices. Can also be defined
  113729. * as a percentage of pie's radius. Connectors are only shown for data
  113730. * labels outside the pie.
  113731. */
  113732. distance?: (number|string);
  113733. /**
  113734. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  113735. * labels.
  113736. */
  113737. enabled?: boolean;
  113738. /**
  113739. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  113740. * of which data labels to display. The declarative filter is designed for
  113741. * use when callback functions are not available, like when the chart
  113742. * options require a pure JSON structure or for use with graphical editors.
  113743. * For programmatic control, use the `formatter` instead, and return
  113744. * `undefined` to disable a single data label.
  113745. */
  113746. filter?: DataLabelsFilterOptionsObject;
  113747. /**
  113748. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  113749. * label. Available variables are the same as for `formatter`.
  113750. */
  113751. format?: string;
  113752. /**
  113753. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  113754. * format the data label. Note that if a `format` is defined, the format
  113755. * takes precedence and the formatter is ignored.
  113756. */
  113757. formatter?: DataLabelsFormatterCallbackFunction;
  113758. /**
  113759. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  113760. * of null. Works analogously to format. `nullFormat` can be applied only to
  113761. * series which support displaying null points.
  113762. */
  113763. nullFormat?: (boolean|string);
  113764. /**
  113765. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  113766. * that defines formatting for points with the value of null. Works
  113767. * analogously to formatter. `nullPointFormatter` can be applied only to
  113768. * series which support displaying null points.
  113769. */
  113770. nullFormatter?: DataLabelsFormatterCallbackFunction;
  113771. /**
  113772. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  113773. * flow outside the plot area. The default is `"justify"`, which aligns them
  113774. * inside the plot area. For columns and bars, this means it will be moved
  113775. * inside the bar. To display data labels outside the plot area, set `crop`
  113776. * to `false` and `overflow` to `"allow"`.
  113777. */
  113778. overflow?: DataLabelsOverflowValue;
  113779. /**
  113780. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  113781. * the `backgroundColor` is set, this is the padding within the box.
  113782. */
  113783. padding?: number;
  113784. /**
  113785. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  113786. * points. If `center` alignment is not possible, it defaults to `right`.
  113787. */
  113788. position?: AlignValue;
  113789. /**
  113790. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  113791. * that due to a more complex structure, backgrounds, borders and padding
  113792. * will be lost on a rotated data label.
  113793. */
  113794. rotation?: number;
  113795. /**
  113796. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  113797. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  113798. * an object configuration containing `color`, `offsetX`, `offsetY`,
  113799. * `opacity` and `width`.
  113800. */
  113801. shadow?: (boolean|ShadowOptionsObject);
  113802. /**
  113803. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  113804. * the border around the label. Symbols are predefined functions on the
  113805. * Renderer object.
  113806. */
  113807. shape?: string;
  113808. /**
  113809. * (Highcharts) Whether to render the connector as a soft arc or a line with
  113810. * sharp break. Works only if `connectorShape` equals to `fixedOffset`.
  113811. */
  113812. softConnector?: boolean;
  113813. /**
  113814. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  113815. * default `color` setting is `"contrast"`, which is a pseudo color that
  113816. * Highcharts picks up and applies the maximum contrast to the underlying
  113817. * point item, for example the bar in a bar chart.
  113818. *
  113819. * The `textOutline` is a pseudo property that applies an outline of the
  113820. * given width with the given color, which by default is the maximum
  113821. * contrast to the text. So a bright text color will result in a black text
  113822. * outline for maximum readability on a mixed background. In some cases,
  113823. * especially with grayscale text, the text outline doesn't work well, in
  113824. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  113825. * is true, the `textOutline` will not be picked up. In this, case, the same
  113826. * effect can be acheived through the `text-shadow` CSS property.
  113827. *
  113828. * For some series types, where each point has an extent, like for example
  113829. * tree maps, the data label may overflow the point. There are two
  113830. * strategies for handling overflow. By default, the text will wrap to
  113831. * multiple lines. The other strategy is to set `style.textOverflow` to
  113832. * `ellipsis`, which will keep the text on one line plus it will break
  113833. * inside long words.
  113834. */
  113835. style?: CSSObject;
  113836. /**
  113837. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  113838. * should follow marker's shape. Border and background are disabled for a
  113839. * label that follows a path.
  113840. *
  113841. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  113842. * to true will disable this option.
  113843. */
  113844. textPath?: DataLabelsTextPathOptionsObject;
  113845. /**
  113846. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  113847. * the labels.
  113848. */
  113849. useHTML?: boolean;
  113850. /**
  113851. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  113852. * label. Can be one of `top`, `middle` or `bottom`. The default value
  113853. * depends on the data, for instance in a column chart, the label is above
  113854. * positive values and below negative values.
  113855. */
  113856. verticalAlign?: (string|VerticalAlignValue|null);
  113857. /**
  113858. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  113859. * label relative to the point in pixels.
  113860. */
  113861. x?: number;
  113862. /**
  113863. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  113864. * label relative to the point in pixels.
  113865. */
  113866. y?: number;
  113867. /**
  113868. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  113869. * The default Z index puts it above the series. Use a Z index of 2 to
  113870. * display it behind the series.
  113871. */
  113872. z?: number;
  113873. }
  113874. /**
  113875. * (Highcharts) A `pie` series. If the type option is not specified, it is
  113876. * inherited from chart.type.
  113877. *
  113878. * In TypeScript the type option must always be set.
  113879. *
  113880. * Configuration options for the series are given in three levels:
  113881. *
  113882. * 1. Options for all series in a chart are defined in the plotOptions.series
  113883. * object.
  113884. *
  113885. * 2. Options for all `pie` series are defined in plotOptions.pie.
  113886. *
  113887. * 3. Options for one single series are given in the series instance array. (see
  113888. * online documentation for example)
  113889. *
  113890. * You have to extend the `SeriesPieOptions` via an interface to allow custom
  113891. * properties: ``` declare interface SeriesPieOptions { customProperty: string;
  113892. * }
  113893. *
  113894. */
  113895. export interface SeriesPieOptions extends PlotPieOptions, SeriesOptions {
  113896. /**
  113897. * (Highcharts) An array of data points for the series. For the `pie` series
  113898. * type, points can be given in the following ways:
  113899. *
  113900. * 1. An array of numerical values. In this case, the numerical values will
  113901. * be interpreted as `y` options. Example: (see online documentation for
  113902. * example)
  113903. *
  113904. * 2. An array of objects with named values. The following snippet shows
  113905. * only a few settings, see the complete options set below. If the total
  113906. * number of data points exceeds the series' turboThreshold, this option is
  113907. * not available. (see online documentation for example)
  113908. */
  113909. data?: Array<(number|[string, (number|null)]|null|PointOptionsObject)>;
  113910. /**
  113911. * Not available
  113912. */
  113913. dataParser?: undefined;
  113914. /**
  113915. * Not available
  113916. */
  113917. dataURL?: undefined;
  113918. /**
  113919. * Not available
  113920. */
  113921. stack?: undefined;
  113922. /**
  113923. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  113924. * TypeScript non-optional and might be `undefined` in series objects from
  113925. * unknown sources.
  113926. */
  113927. type: "pie";
  113928. /**
  113929. * Not available
  113930. */
  113931. xAxis?: undefined;
  113932. /**
  113933. * Not available
  113934. */
  113935. yAxis?: undefined;
  113936. }
  113937. /**
  113938. * (Highstock) A pivot points indicator. If the type option is not specified, it
  113939. * is inherited from chart.type.
  113940. *
  113941. * In TypeScript the type option must always be set.
  113942. *
  113943. * Configuration options for the series are given in three levels:
  113944. *
  113945. * 1. Options for all series in a chart are defined in the plotOptions.series
  113946. * object.
  113947. *
  113948. * 2. Options for all `pivotpoints` series are defined in
  113949. * plotOptions.pivotpoints.
  113950. *
  113951. * 3. Options for one single series are given in the series instance array. (see
  113952. * online documentation for example)
  113953. *
  113954. * You have to extend the `SeriesPivotpointsOptions` via an interface to allow
  113955. * custom properties: ``` declare interface SeriesPivotpointsOptions {
  113956. * customProperty: string; }
  113957. *
  113958. */
  113959. export interface SeriesPivotpointsOptions extends PlotPivotpointsOptions, SeriesOptions {
  113960. /**
  113961. * Not available
  113962. */
  113963. dataParser?: undefined;
  113964. /**
  113965. * Not available
  113966. */
  113967. dataURL?: undefined;
  113968. /**
  113969. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  113970. * TypeScript non-optional and might be `undefined` in series objects from
  113971. * unknown sources.
  113972. */
  113973. type: "pivotpoints";
  113974. }
  113975. /**
  113976. * Translation and scale for the plot area of a series.
  113977. */
  113978. export interface SeriesPlotBoxObject {
  113979. scaleX: number;
  113980. scaleY: number;
  113981. translateX: number;
  113982. translateY: number;
  113983. }
  113984. /**
  113985. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  113986. * series is displayed for the `dataLabels`. The animation can also be set as a
  113987. * configuration object. Please note that this option only applies to the
  113988. * initial animation. For other animations, see chart.animation and the
  113989. * animation parameter under the API methods. The following properties are
  113990. * supported:
  113991. *
  113992. * - `defer`: The animation delay time in milliseconds.
  113993. */
  113994. export interface SeriesPolygonDataDataLabelsAnimationOptions {
  113995. /**
  113996. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  113997. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  113998. * time from the series.animation.defer.
  113999. */
  114000. defer?: number;
  114001. }
  114002. /**
  114003. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  114004. * one state by default, the `default` state.
  114005. */
  114006. export interface SeriesPolygonDataDragDropGuideBoxOptions {
  114007. /**
  114008. * (Highcharts, Highstock) Style options for the guide box default state.
  114009. */
  114010. default?: DragDropGuideBoxOptionsObject;
  114011. }
  114012. /**
  114013. * (Highcharts, Highstock) A `polygon` series. If the type option is not
  114014. * specified, it is inherited from chart.type.
  114015. *
  114016. * In TypeScript the type option must always be set.
  114017. *
  114018. * Configuration options for the series are given in three levels:
  114019. *
  114020. * 1. Options for all series in a chart are defined in the plotOptions.series
  114021. * object.
  114022. *
  114023. * 2. Options for all `polygon` series are defined in plotOptions.polygon.
  114024. *
  114025. * 3. Options for one single series are given in the series instance array. (see
  114026. * online documentation for example)
  114027. *
  114028. * You have to extend the `SeriesPolygonOptions` via an interface to allow
  114029. * custom properties: ``` declare interface SeriesPolygonOptions {
  114030. * customProperty: string; }
  114031. *
  114032. */
  114033. export interface SeriesPolygonOptions extends PlotPolygonOptions, SeriesOptions {
  114034. /**
  114035. * (Highcharts, Highstock) An array of data points for the series. For the
  114036. * `polygon` series type, points can be given in the following ways:
  114037. *
  114038. * 1. An array of numerical values. In this case, the numerical values will
  114039. * be interpreted as `y` options. The `x` values will be automatically
  114040. * calculated, either starting at 0 and incremented by 1, or from
  114041. * `pointStart` and `pointInterval` given in the series options. If the axis
  114042. * has categories, these will be used. Example: (see online documentation
  114043. * for example)
  114044. *
  114045. * 2. An array of arrays with 2 values. In this case, the values correspond
  114046. * to `x,y`. If the first value is a string, it is applied as the name of
  114047. * the point, and the `x` value is inferred. (see online documentation for
  114048. * example)
  114049. *
  114050. * 3. An array of objects with named values. The following snippet shows
  114051. * only a few settings, see the complete options set below. If the total
  114052. * number of data points exceeds the series' turboThreshold, this option is
  114053. * not available. (see online documentation for example)
  114054. */
  114055. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  114056. /**
  114057. * Not available
  114058. */
  114059. dataParser?: undefined;
  114060. /**
  114061. * Not available
  114062. */
  114063. dataURL?: undefined;
  114064. /**
  114065. * Not available
  114066. */
  114067. stack?: undefined;
  114068. /**
  114069. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114070. * TypeScript non-optional and might be `undefined` in series objects from
  114071. * unknown sources.
  114072. */
  114073. type: "polygon";
  114074. }
  114075. /**
  114076. * (Highstock) A `Percentage Price Oscillator` series. If the type option is not
  114077. * specified, it is inherited from chart.type.
  114078. *
  114079. * In TypeScript the type option must always be set.
  114080. *
  114081. * Configuration options for the series are given in three levels:
  114082. *
  114083. * 1. Options for all series in a chart are defined in the plotOptions.series
  114084. * object.
  114085. *
  114086. * 2. Options for all `ppo` series are defined in plotOptions.ppo.
  114087. *
  114088. * 3. Options for one single series are given in the series instance array. (see
  114089. * online documentation for example)
  114090. *
  114091. * You have to extend the `SeriesPpoOptions` via an interface to allow custom
  114092. * properties: ``` declare interface SeriesPpoOptions { customProperty: string;
  114093. * }
  114094. *
  114095. */
  114096. export interface SeriesPpoOptions extends PlotPpoOptions, SeriesOptions {
  114097. /**
  114098. * Not available
  114099. */
  114100. dataParser?: undefined;
  114101. /**
  114102. * Not available
  114103. */
  114104. dataURL?: undefined;
  114105. /**
  114106. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114107. * TypeScript non-optional and might be `undefined` in series objects from
  114108. * unknown sources.
  114109. */
  114110. type: "ppo";
  114111. }
  114112. /**
  114113. * (Highstock) A price envelopes indicator. If the type option is not specified,
  114114. * it is inherited from chart.type.
  114115. *
  114116. * In TypeScript the type option must always be set.
  114117. *
  114118. * Configuration options for the series are given in three levels:
  114119. *
  114120. * 1. Options for all series in a chart are defined in the plotOptions.series
  114121. * object.
  114122. *
  114123. * 2. Options for all `priceenvelopes` series are defined in
  114124. * plotOptions.priceenvelopes.
  114125. *
  114126. * 3. Options for one single series are given in the series instance array. (see
  114127. * online documentation for example)
  114128. *
  114129. * You have to extend the `SeriesPriceenvelopesOptions` via an interface to
  114130. * allow custom properties: ``` declare interface SeriesPriceenvelopesOptions {
  114131. * customProperty: string; }
  114132. *
  114133. */
  114134. export interface SeriesPriceenvelopesOptions extends PlotPriceenvelopesOptions, SeriesOptions {
  114135. /**
  114136. * Not available
  114137. */
  114138. dataParser?: undefined;
  114139. /**
  114140. * Not available
  114141. */
  114142. dataURL?: undefined;
  114143. /**
  114144. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114145. * TypeScript non-optional and might be `undefined` in series objects from
  114146. * unknown sources.
  114147. */
  114148. type: "priceenvelopes";
  114149. }
  114150. /**
  114151. * (Highstock) A `PSAR` series. If the type option is not specified, it is
  114152. * inherited from chart.type.
  114153. *
  114154. * In TypeScript the type option must always be set.
  114155. *
  114156. * Configuration options for the series are given in three levels:
  114157. *
  114158. * 1. Options for all series in a chart are defined in the plotOptions.series
  114159. * object.
  114160. *
  114161. * 2. Options for all `psar` series are defined in plotOptions.psar.
  114162. *
  114163. * 3. Options for one single series are given in the series instance array. (see
  114164. * online documentation for example)
  114165. *
  114166. * You have to extend the `SeriesPsarOptions` via an interface to allow custom
  114167. * properties: ``` declare interface SeriesPsarOptions { customProperty: string;
  114168. * }
  114169. *
  114170. */
  114171. export interface SeriesPsarOptions extends PlotPsarOptions, SeriesOptions {
  114172. /**
  114173. * Not available
  114174. */
  114175. dataParser?: undefined;
  114176. /**
  114177. * Not available
  114178. */
  114179. dataURL?: undefined;
  114180. /**
  114181. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114182. * TypeScript non-optional and might be `undefined` in series objects from
  114183. * unknown sources.
  114184. */
  114185. type: "psar";
  114186. }
  114187. /**
  114188. * (Highcharts) A `pyramid3d` series. If the type option is not specified, it is
  114189. * inherited from chart.type.
  114190. *
  114191. * In TypeScript the type option must always be set.
  114192. *
  114193. * Configuration options for the series are given in three levels:
  114194. *
  114195. * 1. Options for all series in a chart are defined in the plotOptions.series
  114196. * object.
  114197. *
  114198. * 2. Options for all `pyramid3d` series are defined in plotOptions.pyramid3d.
  114199. *
  114200. * 3. Options for one single series are given in the series instance array. (see
  114201. * online documentation for example)
  114202. *
  114203. * You have to extend the `SeriesPyramid3dOptions` via an interface to allow
  114204. * custom properties: ``` declare interface SeriesPyramid3dOptions {
  114205. * customProperty: string; }
  114206. *
  114207. */
  114208. export interface SeriesPyramid3dOptions extends PlotPyramid3dOptions, SeriesOptions {
  114209. /**
  114210. * Not available
  114211. */
  114212. allAreas?: undefined;
  114213. /**
  114214. * Not available
  114215. */
  114216. boostThreshold?: undefined;
  114217. /**
  114218. * (Highcharts) The center of the series. By default, it is centered in the
  114219. * middle of the plot area, so it fills the plot area height.
  114220. */
  114221. center?: Array<(number|string)>;
  114222. /**
  114223. * Not available
  114224. */
  114225. colorAxis?: undefined;
  114226. /**
  114227. * Not available
  114228. */
  114229. compare?: undefined;
  114230. /**
  114231. * Not available
  114232. */
  114233. compareBase?: undefined;
  114234. /**
  114235. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  114236. * series plot across the extremes.
  114237. */
  114238. connectEnds?: boolean;
  114239. /**
  114240. * (Highcharts, Highstock) Whether to connect a graph line across null
  114241. * points, or render a gap between the two points on either side of the
  114242. * null.
  114243. */
  114244. connectNulls?: boolean;
  114245. /**
  114246. * Not available
  114247. */
  114248. dataSorting?: undefined;
  114249. /**
  114250. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  114251. * right. Defaults to `startAngle` plus 360.
  114252. */
  114253. endAngle?: number;
  114254. /**
  114255. * (Highcharts) If the total sum of the pie's values is 0, the series is
  114256. * represented as an empty circle . The `fillColor` option defines the color
  114257. * of that circle. Use pie.borderWidth to set the border thickness.
  114258. */
  114259. fillColor?: (ColorString|GradientColorObject|PatternObject);
  114260. /**
  114261. * (Highstock) Defines when to display a gap in the graph, together with the
  114262. * gapUnit option.
  114263. *
  114264. * In case when `dataGrouping` is enabled, points can be grouped into a
  114265. * larger time span. This can make the grouped points to have a greater
  114266. * distance than the absolute value of `gapSize` property, which will result
  114267. * in disappearing graph completely. To prevent this situation the mentioned
  114268. * distance between grouped points is used instead of previously defined
  114269. * `gapSize`.
  114270. *
  114271. * In practice, this option is most often used to visualize gaps in time
  114272. * series. In a stock chart, intraday data is available for daytime hours,
  114273. * while gaps will appear in nights and weekends.
  114274. */
  114275. gapSize?: number;
  114276. /**
  114277. * (Highstock) Together with gapSize, this option defines where to draw gaps
  114278. * in the graph.
  114279. *
  114280. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  114281. * if the distance between two points is greater than 5 times that of the
  114282. * two closest points, the graph will be broken.
  114283. *
  114284. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  114285. * values, which on a datetime axis is milliseconds. This also applies to
  114286. * the navigator series that inherits gap options from the base series.
  114287. */
  114288. gapUnit?: OptionsGapUnitValue;
  114289. /**
  114290. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  114291. * whether the series shall be redrawn as if the hidden point were `null`.
  114292. *
  114293. * The default value changed from `false` to `true` with Highcharts 3.0.
  114294. */
  114295. ignoreHiddenPoint?: boolean;
  114296. /**
  114297. * (Highcharts, Highstock) The line cap used for line ends and line joins on
  114298. * the graph.
  114299. */
  114300. linecap?: SeriesLinecapValue;
  114301. /**
  114302. * (Highcharts, Highstock) Pixel width of the graph line.
  114303. */
  114304. lineWidth?: number;
  114305. /**
  114306. * (Highcharts) Options for the point markers of line-like series.
  114307. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  114308. * visual appearance of the markers. Other series types, like column series,
  114309. * don't have markers, but have visual options on the series level instead.
  114310. *
  114311. * In styled mode, the markers can be styled with the `.highcharts-point`,
  114312. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  114313. */
  114314. marker?: PointMarkerOptionsObject;
  114315. /**
  114316. * (Highcharts) The minimum size for a pie in response to auto margins. The
  114317. * pie will try to shrink to make room for data labels in side the plot
  114318. * area, but only to this size.
  114319. */
  114320. minSize?: (number|string);
  114321. /**
  114322. * (Highcharts) If a point is sliced, moved out from the center, how many
  114323. * pixels should it be moved?.
  114324. */
  114325. slicedOffset?: number;
  114326. /**
  114327. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  114328. * and 90 right.
  114329. */
  114330. startAngle?: number;
  114331. /**
  114332. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  114333. * values are `left`, `center` and `right`.
  114334. */
  114335. step?: OptionsStepValue;
  114336. /**
  114337. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114338. * TypeScript non-optional and might be `undefined` in series objects from
  114339. * unknown sources.
  114340. */
  114341. type: "pyramid3d";
  114342. /**
  114343. * (Highstock) The parameter allows setting line series type and use OHLC
  114344. * indicators. Data in OHLC format is required.
  114345. */
  114346. useOhlcData?: boolean;
  114347. }
  114348. /**
  114349. * (Highcharts) Enable or disable the initial animation when a series is
  114350. * displayed for the `dataLabels`. The animation can also be set as a
  114351. * configuration object. Please note that this option only applies to the
  114352. * initial animation. For other animations, see chart.animation and the
  114353. * animation parameter under the API methods. The following properties are
  114354. * supported:
  114355. *
  114356. * - `defer`: The animation delay time in milliseconds.
  114357. */
  114358. export interface SeriesPyramidDataDataLabelsAnimationOptions {
  114359. /**
  114360. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  114361. * dataLabel immediately. As `undefined` inherits defer time from the
  114362. * series.animation.defer.
  114363. */
  114364. defer?: number;
  114365. }
  114366. /**
  114367. * (Highcharts) Style options for the guide box. The guide box has one state by
  114368. * default, the `default` state.
  114369. */
  114370. export interface SeriesPyramidDataDragDropGuideBoxOptions {
  114371. /**
  114372. * (Highcharts) Style options for the guide box default state.
  114373. */
  114374. default?: DragDropGuideBoxOptionsObject;
  114375. }
  114376. /**
  114377. * (Highcharts) A `pyramid` series. If the type option is not specified, it is
  114378. * inherited from chart.type.
  114379. *
  114380. * In TypeScript the type option must always be set.
  114381. *
  114382. * Configuration options for the series are given in three levels:
  114383. *
  114384. * 1. Options for all series in a chart are defined in the plotOptions.series
  114385. * object.
  114386. *
  114387. * 2. Options for all `pyramid` series are defined in plotOptions.pyramid.
  114388. *
  114389. * 3. Options for one single series are given in the series instance array. (see
  114390. * online documentation for example)
  114391. *
  114392. * You have to extend the `SeriesPyramidOptions` via an interface to allow
  114393. * custom properties: ``` declare interface SeriesPyramidOptions {
  114394. * customProperty: string; }
  114395. *
  114396. */
  114397. export interface SeriesPyramidOptions extends PlotPyramidOptions, SeriesOptions {
  114398. /**
  114399. * (Highcharts) An array of data points for the series. For the `pyramid`
  114400. * series type, points can be given in the following ways:
  114401. *
  114402. * 1. An array of numerical values. In this case, the numerical values will
  114403. * be interpreted as `y` options. Example: (see online documentation for
  114404. * example)
  114405. *
  114406. * 2. An array of objects with named values. The following snippet shows
  114407. * only a few settings, see the complete options set below. If the total
  114408. * number of data points exceeds the series' turboThreshold, this option is
  114409. * not available. (see online documentation for example)
  114410. */
  114411. data?: Array<(number|null|PointOptionsObject)>;
  114412. /**
  114413. * Not available
  114414. */
  114415. dataParser?: undefined;
  114416. /**
  114417. * Not available
  114418. */
  114419. dataURL?: undefined;
  114420. /**
  114421. * Not available
  114422. */
  114423. stack?: undefined;
  114424. /**
  114425. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114426. * TypeScript non-optional and might be `undefined` in series objects from
  114427. * unknown sources.
  114428. */
  114429. type: "pyramid";
  114430. /**
  114431. * Not available
  114432. */
  114433. xAxis?: undefined;
  114434. /**
  114435. * Not available
  114436. */
  114437. yAxis?: undefined;
  114438. }
  114439. /**
  114440. * (Highstock) A `ROC` series. If the type option is not specified, it is
  114441. * inherited from chart.type.
  114442. *
  114443. * Rate of change indicator (ROC). The indicator value for each point is defined
  114444. * as:
  114445. *
  114446. * `(C - Cn) / Cn * 100`
  114447. *
  114448. * where: `C` is the close value of the point of the same x in the linked series
  114449. * and `Cn` is the close value of the point `n` periods ago. `n` is set through
  114450. * period.
  114451. *
  114452. * This series requires `linkedTo` option to be set.
  114453. *
  114454. * In TypeScript the type option must always be set.
  114455. *
  114456. * Configuration options for the series are given in three levels:
  114457. *
  114458. * 1. Options for all series in a chart are defined in the plotOptions.series
  114459. * object.
  114460. *
  114461. * 2. Options for all `roc` series are defined in plotOptions.roc.
  114462. *
  114463. * 3. Options for one single series are given in the series instance array. (see
  114464. * online documentation for example)
  114465. *
  114466. * You have to extend the `SeriesRocOptions` via an interface to allow custom
  114467. * properties: ``` declare interface SeriesRocOptions { customProperty: string;
  114468. * }
  114469. *
  114470. */
  114471. export interface SeriesRocOptions extends PlotRocOptions, SeriesOptions {
  114472. /**
  114473. * Not available
  114474. */
  114475. dataParser?: undefined;
  114476. /**
  114477. * Not available
  114478. */
  114479. dataURL?: undefined;
  114480. /**
  114481. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114482. * TypeScript non-optional and might be `undefined` in series objects from
  114483. * unknown sources.
  114484. */
  114485. type: "roc";
  114486. }
  114487. /**
  114488. * (Highstock) A `RSI` series. If the type option is not specified, it is
  114489. * inherited from chart.type.
  114490. *
  114491. * In TypeScript the type option must always be set.
  114492. *
  114493. * Configuration options for the series are given in three levels:
  114494. *
  114495. * 1. Options for all series in a chart are defined in the plotOptions.series
  114496. * object.
  114497. *
  114498. * 2. Options for all `rsi` series are defined in plotOptions.rsi.
  114499. *
  114500. * 3. Options for one single series are given in the series instance array. (see
  114501. * online documentation for example)
  114502. *
  114503. * You have to extend the `SeriesRsiOptions` via an interface to allow custom
  114504. * properties: ``` declare interface SeriesRsiOptions { customProperty: string;
  114505. * }
  114506. *
  114507. */
  114508. export interface SeriesRsiOptions extends PlotRsiOptions, SeriesOptions {
  114509. /**
  114510. * Not available
  114511. */
  114512. dataParser?: undefined;
  114513. /**
  114514. * Not available
  114515. */
  114516. dataURL?: undefined;
  114517. /**
  114518. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114519. * TypeScript non-optional and might be `undefined` in series objects from
  114520. * unknown sources.
  114521. */
  114522. type: "rsi";
  114523. }
  114524. /**
  114525. * (Highcharts) Enable or disable the initial animation when a series is
  114526. * displayed for the `dataLabels`. The animation can also be set as a
  114527. * configuration object. Please note that this option only applies to the
  114528. * initial animation. For other animations, see chart.animation and the
  114529. * animation parameter under the API methods. The following properties are
  114530. * supported:
  114531. *
  114532. * - `defer`: The animation delay time in milliseconds.
  114533. */
  114534. export interface SeriesSankeyDataDataLabelsAnimationOptions {
  114535. /**
  114536. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  114537. * dataLabel immediately. As `undefined` inherits defer time from the
  114538. * series.animation.defer.
  114539. */
  114540. defer?: number;
  114541. }
  114542. /**
  114543. * Context for the node formatter function.
  114544. */
  114545. export interface SeriesSankeyDataLabelsFormatterContextObject extends PointLabelObject {
  114546. /**
  114547. * The node object. The node name, if defined, is available through
  114548. * `this.point.name`.
  114549. */
  114550. point: SankeyNodeObject;
  114551. }
  114552. /**
  114553. * (Highcharts, Highstock, Highmaps, Gantt) Individual data label for each node.
  114554. * The options are the same as the ones for series.sankey.dataLabels.
  114555. */
  114556. export interface SeriesSankeyDataLabelsOptionsObject {
  114557. /**
  114558. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  114559. * compared to the point. If `right`, the right side of the label should be
  114560. * touching the point. For points with an extent, like columns, the
  114561. * alignments also dictates how to align it inside the box, as given with
  114562. * the inside option. Can be one of `left`, `center` or `right`.
  114563. */
  114564. align?: string;
  114565. /**
  114566. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  114567. * overlap. To make the labels less sensitive for overlapping, the
  114568. * dataLabels.padding can be set to 0.
  114569. */
  114570. allowOverlap?: boolean;
  114571. /**
  114572. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  114573. * animation when a series is displayed for the `dataLabels`. The animation
  114574. * can also be set as a configuration object. Please note that this option
  114575. * only applies to the initial animation. For other animations, see
  114576. * chart.animation and the animation parameter under the API methods. The
  114577. * following properties are supported:
  114578. *
  114579. * - `defer`: The animation delay time in milliseconds.
  114580. */
  114581. animation?: (boolean|PlotDependencywheelDataLabelsAnimationOptions|PlotDependencywheelLevelsDataLabelsAnimationOptions|PlotOrganizationLevelsDataLabelsAnimationOptions|
  114582. PlotSankeyDataLabelsAnimationOptions|PlotSankeyLevelsDataLabelsAnimationOptions|SeriesDependencywheelNodesDataLabelsAnimationOptions|SeriesOrganizationNodesDataLabelsAnimationOptions|
  114583. SeriesSankeyNodesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  114584. /**
  114585. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  114586. * for the data label.
  114587. */
  114588. backgroundColor?: string;
  114589. /**
  114590. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  114591. * label. Defaults to `undefined`.
  114592. */
  114593. borderColor?: (ColorString|GradientColorObject|PatternObject);
  114594. /**
  114595. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  114596. * the data label.
  114597. */
  114598. borderRadius?: number;
  114599. /**
  114600. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  114601. * the data label.
  114602. */
  114603. borderWidth?: number;
  114604. /**
  114605. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  114606. * Particularly in styled mode, this can be used to give each series' or
  114607. * point's data label unique styling. In addition to this option, a default
  114608. * color class name is added so that we can give the labels a contrast text
  114609. * shadow.
  114610. */
  114611. className?: string;
  114612. /**
  114613. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  114614. * labels. Defaults to `undefined`. For certain series types, like column or
  114615. * map, the data labels can be drawn inside the points. In this case the
  114616. * data label will be drawn with maximum contrast by default. Additionally,
  114617. * it will be given a `text-outline` style with the opposite color, to
  114618. * further increase the contrast. This can be overridden by setting the
  114619. * `text-outline` style to `none` in the `dataLabels.style` option.
  114620. */
  114621. color?: (ColorString|GradientColorObject|PatternObject);
  114622. /**
  114623. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  114624. * are outside the plot area. By default, the data label is moved inside the
  114625. * plot area according to the overflow option.
  114626. */
  114627. crop?: boolean;
  114628. /**
  114629. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  114630. * labels until the initial series animation has finished. Setting to
  114631. * `false` renders the data label immediately. If set to `true` inherits the
  114632. * defer time set in plotOptions.series.animation. If set to a number, a
  114633. * defer time is specified in milliseconds.
  114634. */
  114635. defer?: (boolean|number);
  114636. /**
  114637. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  114638. * labels.
  114639. */
  114640. enabled?: boolean;
  114641. /**
  114642. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  114643. * of which data labels to display. The declarative filter is designed for
  114644. * use when callback functions are not available, like when the chart
  114645. * options require a pure JSON structure or for use with graphical editors.
  114646. * For programmatic control, use the `formatter` instead, and return
  114647. * `undefined` to disable a single data label.
  114648. */
  114649. filter?: DataLabelsFilterOptionsObject;
  114650. /**
  114651. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  114652. * label. Available variables are the same as for `formatter`.
  114653. */
  114654. format?: string;
  114655. /**
  114656. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  114657. * format the data label. Note that if a `format` is defined, the format
  114658. * takes precedence and the formatter is ignored.
  114659. */
  114660. formatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
  114661. /**
  114662. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  114663. * columns or map areas, whether to align the data label inside the box or
  114664. * to the actual value point. Defaults to `false` in most cases, `true` in
  114665. * stacked columns.
  114666. */
  114667. inside?: boolean;
  114668. /**
  114669. * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
  114670. * what to show for _nodes_ in the sankey diagram. By default the
  114671. * `nodeFormatter` returns `{point.name}`.
  114672. */
  114673. nodeFormat?: string;
  114674. /**
  114675. * (Highcharts, Highstock, Highmaps, Gantt) Callback to format data labels
  114676. * for _nodes_ in the sankey diagram. The `nodeFormat` option takes
  114677. * precedence over the `nodeFormatter`.
  114678. */
  114679. nodeFormatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
  114680. /**
  114681. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  114682. * of null. Works analogously to format. `nullFormat` can be applied only to
  114683. * series which support displaying null points.
  114684. */
  114685. nullFormat?: (boolean|string);
  114686. /**
  114687. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  114688. * that defines formatting for points with the value of null. Works
  114689. * analogously to formatter. `nullPointFormatter` can be applied only to
  114690. * series which support displaying null points.
  114691. */
  114692. nullFormatter?: DataLabelsFormatterCallbackFunction;
  114693. /**
  114694. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  114695. * flow outside the plot area. The default is `"justify"`, which aligns them
  114696. * inside the plot area. For columns and bars, this means it will be moved
  114697. * inside the bar. To display data labels outside the plot area, set `crop`
  114698. * to `false` and `overflow` to `"allow"`.
  114699. */
  114700. overflow?: DataLabelsOverflowValue;
  114701. /**
  114702. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  114703. * the `backgroundColor` is set, this is the padding within the box.
  114704. */
  114705. padding?: number;
  114706. /**
  114707. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  114708. * points. If `center` alignment is not possible, it defaults to `right`.
  114709. */
  114710. position?: AlignValue;
  114711. /**
  114712. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  114713. * that due to a more complex structure, backgrounds, borders and padding
  114714. * will be lost on a rotated data label.
  114715. */
  114716. rotation?: number;
  114717. /**
  114718. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  114719. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  114720. * an object configuration containing `color`, `offsetX`, `offsetY`,
  114721. * `opacity` and `width`.
  114722. */
  114723. shadow?: (boolean|ShadowOptionsObject);
  114724. /**
  114725. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  114726. * the border around the label. Symbols are predefined functions on the
  114727. * Renderer object.
  114728. */
  114729. shape?: string;
  114730. /**
  114731. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  114732. * default `color` setting is `"contrast"`, which is a pseudo color that
  114733. * Highcharts picks up and applies the maximum contrast to the underlying
  114734. * point item, for example the bar in a bar chart.
  114735. *
  114736. * The `textOutline` is a pseudo property that applies an outline of the
  114737. * given width with the given color, which by default is the maximum
  114738. * contrast to the text. So a bright text color will result in a black text
  114739. * outline for maximum readability on a mixed background. In some cases,
  114740. * especially with grayscale text, the text outline doesn't work well, in
  114741. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  114742. * is true, the `textOutline` will not be picked up. In this, case, the same
  114743. * effect can be acheived through the `text-shadow` CSS property.
  114744. *
  114745. * For some series types, where each point has an extent, like for example
  114746. * tree maps, the data label may overflow the point. There are two
  114747. * strategies for handling overflow. By default, the text will wrap to
  114748. * multiple lines. The other strategy is to set `style.textOverflow` to
  114749. * `ellipsis`, which will keep the text on one line plus it will break
  114750. * inside long words.
  114751. */
  114752. style?: CSSObject;
  114753. /**
  114754. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  114755. * should follow marker's shape. Border and background are disabled for a
  114756. * label that follows a path.
  114757. *
  114758. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  114759. * to true will disable this option.
  114760. */
  114761. textPath?: DataLabelsTextPathOptionsObject;
  114762. /**
  114763. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  114764. * the labels.
  114765. */
  114766. useHTML?: boolean;
  114767. /**
  114768. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  114769. * label. Can be one of `top`, `middle` or `bottom`. The default value
  114770. * depends on the data, for instance in a column chart, the label is above
  114771. * positive values and below negative values.
  114772. */
  114773. verticalAlign?: string;
  114774. /**
  114775. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  114776. * label relative to the point in pixels.
  114777. */
  114778. x?: number;
  114779. /**
  114780. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  114781. * label relative to the point in pixels.
  114782. */
  114783. y?: number;
  114784. /**
  114785. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  114786. * The default Z index puts it above the series. Use a Z index of 2 to
  114787. * display it behind the series.
  114788. */
  114789. z?: number;
  114790. }
  114791. /**
  114792. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  114793. * animation when a series is displayed for the `dataLabels`. The animation can
  114794. * also be set as a configuration object. Please note that this option only
  114795. * applies to the initial animation. For other animations, see chart.animation
  114796. * and the animation parameter under the API methods. The following properties
  114797. * are supported:
  114798. *
  114799. * - `defer`: The animation delay time in milliseconds.
  114800. */
  114801. export interface SeriesSankeyNodesDataLabelsAnimationOptions {
  114802. /**
  114803. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  114804. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  114805. * inherits defer time from the series.animation.defer.
  114806. */
  114807. defer?: number;
  114808. }
  114809. /**
  114810. * (Highcharts) A collection of options for the individual nodes. The nodes in a
  114811. * sankey diagram are auto-generated instances of `Highcharts.Point`, but
  114812. * options can be applied here and linked by the `id`.
  114813. */
  114814. export interface SeriesSankeyNodesOptionsObject {
  114815. /**
  114816. * (Highcharts) The color of the auto generated node.
  114817. */
  114818. color?: (ColorString|GradientColorObject|PatternObject);
  114819. /**
  114820. * (Highcharts) The color index of the auto generated node, especially for
  114821. * use in styled mode.
  114822. */
  114823. colorIndex?: number;
  114824. /**
  114825. * (Highcharts) An optional column index of where to place the node. The
  114826. * default behaviour is to place it next to the preceding node. Note that
  114827. * this option name is counter intuitive in inverted charts, like for
  114828. * example an organization chart rendered top down. In this case the
  114829. * "columns" are horizontal.
  114830. */
  114831. column?: number;
  114832. /**
  114833. * (Highcharts, Highstock, Highmaps, Gantt) Individual data label for each
  114834. * node. The options are the same as the ones for series.sankey.dataLabels.
  114835. */
  114836. dataLabels?: (SeriesOrganizationDataLabelsOptionsObject|SeriesSankeyDataLabelsOptionsObject|Array<SeriesOrganizationDataLabelsOptionsObject>|Array<SeriesSankeyDataLabelsOptionsObject>);
  114837. /**
  114838. * (Highcharts) The job description for the node card, will be inserted by
  114839. * the default `dataLabel.nodeFormatter`.
  114840. */
  114841. description?: string;
  114842. /**
  114843. * (Highcharts) The id of the auto-generated node, refering to the `from` or
  114844. * `to` setting of the link.
  114845. */
  114846. id?: string;
  114847. /**
  114848. * (Highcharts) An image for the node card, will be inserted by the default
  114849. * `dataLabel.nodeFormatter`.
  114850. */
  114851. image?: string;
  114852. /**
  114853. * (Highcharts) Layout for the node's children. If `hanging`, this node's
  114854. * children will hang below their parent, allowing a tighter packing of
  114855. * nodes in the diagram.
  114856. */
  114857. layout?: SeriesOrganizationNodesLayoutValue;
  114858. /**
  114859. * (Highcharts) An optional level index of where to place the node. The
  114860. * default behaviour is to place it next to the preceding node. Alias of
  114861. * `nodes.column`, but in inverted sankeys and org charts, the levels are
  114862. * laid out as rows.
  114863. */
  114864. level?: number;
  114865. /**
  114866. * (Highcharts) The name to display for the node in data labels and
  114867. * tooltips. Use this when the name is different from the `id`. Where the id
  114868. * must be unique for each node, this is not necessary for the name.
  114869. */
  114870. name?: string;
  114871. /**
  114872. * (Highcharts) In a horizontal layout, the vertical offset of a node in
  114873. * terms of weight. Positive values shift the node downwards, negative shift
  114874. * it upwards. In a vertical layout, like organization chart, the offset is
  114875. * horizontal.
  114876. *
  114877. * If a percantage string is given, the node is offset by the percentage of
  114878. * the node size plus `nodePadding`.
  114879. */
  114880. offset?: (number|string);
  114881. /**
  114882. * (Highcharts) The job title for the node card, will be inserted by the
  114883. * default `dataLabel.nodeFormatter`.
  114884. */
  114885. title?: string;
  114886. }
  114887. /**
  114888. * (Highcharts) A `sankey` series. If the type option is not specified, it is
  114889. * inherited from chart.type.
  114890. *
  114891. * In TypeScript the type option must always be set.
  114892. *
  114893. * Configuration options for the series are given in three levels:
  114894. *
  114895. * 1. Options for all series in a chart are defined in the plotOptions.series
  114896. * object.
  114897. *
  114898. * 2. Options for all `sankey` series are defined in plotOptions.sankey.
  114899. *
  114900. * 3. Options for one single series are given in the series instance array. (see
  114901. * online documentation for example)
  114902. *
  114903. * You have to extend the `SeriesSankeyOptions` via an interface to allow custom
  114904. * properties: ``` declare interface SeriesSankeyOptions { customProperty:
  114905. * string; }
  114906. *
  114907. */
  114908. export interface SeriesSankeyOptions extends PlotSankeyOptions, SeriesOptions {
  114909. /**
  114910. * Not available
  114911. */
  114912. borderRadius?: undefined;
  114913. /**
  114914. * (Highcharts) An array of data points for the series. For the `sankey`
  114915. * series type, points can be given in the following way:
  114916. *
  114917. * An array of objects with named values. The following snippet shows only a
  114918. * few settings, see the complete options set below. If the total number of
  114919. * data points exceeds the series' turboThreshold, this option is not
  114920. * available. (see online documentation for example)
  114921. */
  114922. data?: Array<SeriesSankeyPointOptionsObject>;
  114923. /**
  114924. * Not available
  114925. */
  114926. dataParser?: undefined;
  114927. /**
  114928. * Not available
  114929. */
  114930. dataURL?: undefined;
  114931. /**
  114932. * Not available
  114933. */
  114934. depth?: undefined;
  114935. /**
  114936. * Not available
  114937. */
  114938. edgeColor?: undefined;
  114939. /**
  114940. * Not available
  114941. */
  114942. edgeWidth?: undefined;
  114943. /**
  114944. * Not available
  114945. */
  114946. grouping?: undefined;
  114947. /**
  114948. * Not available
  114949. */
  114950. groupPadding?: undefined;
  114951. /**
  114952. * Not available
  114953. */
  114954. groupZPadding?: undefined;
  114955. /**
  114956. * Not available
  114957. */
  114958. maxPointWidth?: undefined;
  114959. /**
  114960. * (Highcharts) A collection of options for the individual nodes. The nodes
  114961. * in a sankey diagram are auto-generated instances of `Highcharts.Point`,
  114962. * but options can be applied here and linked by the `id`.
  114963. */
  114964. nodes?: Array<SeriesSankeyNodesOptionsObject>;
  114965. /**
  114966. * Not available
  114967. */
  114968. pointPadding?: undefined;
  114969. /**
  114970. * Not available
  114971. */
  114972. pointWidth?: undefined;
  114973. /**
  114974. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114975. * TypeScript non-optional and might be `undefined` in series objects from
  114976. * unknown sources.
  114977. */
  114978. type: "sankey";
  114979. }
  114980. /**
  114981. * (Highcharts) An array of data points for the series. For the `sankey` series
  114982. * type, points can be given in the following way:
  114983. *
  114984. * An array of objects with named values. The following snippet shows only a few
  114985. * settings, see the complete options set below. If the total number of data
  114986. * points exceeds the series' turboThreshold, this option is not available. (see
  114987. * online documentation for example)
  114988. */
  114989. export interface SeriesSankeyPointOptionsObject {
  114990. /**
  114991. * (Highcharts) Accessibility options for a data point.
  114992. */
  114993. accessibility?: PointAccessibilityOptionsObject;
  114994. /**
  114995. * (Highcharts, Gantt) An additional, individual class name for the data
  114996. * point's graphic representation.
  114997. */
  114998. className?: string;
  114999. /**
  115000. * (Highcharts) The color for the individual _link_. By default, the link
  115001. * color is the same as the node it extends from. The `series.fillOpacity`
  115002. * option also applies to the points, so when setting a specific link color,
  115003. * consider setting the `fillOpacity` to 1.
  115004. */
  115005. color?: (ColorString|GradientColorObject|PatternObject);
  115006. /**
  115007. * (Highcharts, Gantt) A specific color index to use for the point, so its
  115008. * graphic representations are given the class name `highcharts-color-{n}`.
  115009. * In styled mode this will change the color of the graphic. In non-styled
  115010. * mode, the color by is set by the `fill` attribute, so the change in class
  115011. * name won't have a visual effect by default.
  115012. */
  115013. colorIndex?: number;
  115014. /**
  115015. * (Highcharts) A reserved subspace to store options and values for
  115016. * customized functionality. Here you can add additional data for your own
  115017. * event callbacks and formatter callbacks.
  115018. */
  115019. custom?: Dictionary<any>;
  115020. /**
  115021. * (Highcharts) Individual data label for each point. The options are the
  115022. * same as the ones for plotOptions.series.dataLabels.
  115023. */
  115024. dataLabels?: (DataLabelsOptions|SeriesOrganizationDataLabelsOptionsObject|SeriesSankeyDataLabelsOptionsObject|Array<SeriesOrganizationDataLabelsOptionsObject>|
  115025. Array<SeriesSankeyDataLabelsOptionsObject>);
  115026. /**
  115027. * (Highcharts) A description of the point to add to the screen reader
  115028. * information about the point.
  115029. */
  115030. description?: string;
  115031. /**
  115032. * (Highcharts, Highstock, Gantt) The individual point events.
  115033. */
  115034. events?: PointEventsOptionsObject;
  115035. /**
  115036. * (Highcharts) The node that the link runs from.
  115037. */
  115038. from?: string;
  115039. /**
  115040. * (Highcharts, Highstock, Gantt) An id for the point. This can be used
  115041. * after render time to get a pointer to the point object through
  115042. * `chart.get()`.
  115043. */
  115044. id?: string;
  115045. /**
  115046. * (Highcharts) The rank for this point's data label in case of collision.
  115047. * If two data labels are about to overlap, only the one with the highest
  115048. * `labelrank` will be drawn.
  115049. */
  115050. labelrank?: number;
  115051. /**
  115052. * (Highcharts) The name of the point as shown in the legend, tooltip,
  115053. * dataLabels, etc.
  115054. */
  115055. name?: string;
  115056. /**
  115057. * (Highcharts) Whether the link goes out of the system.
  115058. */
  115059. outgoing?: boolean;
  115060. /**
  115061. * (Highcharts, Highstock, Gantt) Whether the data point is selected
  115062. * initially.
  115063. */
  115064. selected?: boolean;
  115065. /**
  115066. * (Highcharts) The node that the link runs to.
  115067. */
  115068. to?: string;
  115069. /**
  115070. * (Highcharts) The weight of the link.
  115071. */
  115072. weight?: (number|null);
  115073. }
  115074. /**
  115075. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  115076. * series is displayed for the `dataLabels`. The animation can also be set as a
  115077. * configuration object. Please note that this option only applies to the
  115078. * initial animation. For other animations, see chart.animation and the
  115079. * animation parameter under the API methods. The following properties are
  115080. * supported:
  115081. *
  115082. * - `defer`: The animation delay time in milliseconds.
  115083. */
  115084. export interface SeriesScatter3dDataDataLabelsAnimationOptions {
  115085. /**
  115086. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  115087. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  115088. * time from the series.animation.defer.
  115089. */
  115090. defer?: number;
  115091. }
  115092. /**
  115093. * (Highcharts) Style options for the guide box. The guide box has one state by
  115094. * default, the `default` state.
  115095. */
  115096. export interface SeriesScatter3dDataDragDropGuideBoxOptions {
  115097. /**
  115098. * (Highcharts) Style options for the guide box default state.
  115099. */
  115100. default?: DragDropGuideBoxOptionsObject;
  115101. }
  115102. /**
  115103. * (Highcharts) A `scatter3d` series. If the type option is not specified, it is
  115104. * inherited from chart.type.
  115105. *
  115106. * scatter3d](#plotOptions.scatter3d).
  115107. *
  115108. * In TypeScript the type option must always be set.
  115109. *
  115110. * Configuration options for the series are given in three levels:
  115111. *
  115112. * 1. Options for all series in a chart are defined in the plotOptions.series
  115113. * object.
  115114. *
  115115. * 2. Options for all `scatter3d` series are defined in plotOptions.scatter3d.
  115116. *
  115117. * 3. Options for one single series are given in the series instance array. (see
  115118. * online documentation for example)
  115119. *
  115120. * You have to extend the `SeriesScatter3dOptions` via an interface to allow
  115121. * custom properties: ``` declare interface SeriesScatter3dOptions {
  115122. * customProperty: string; }
  115123. *
  115124. */
  115125. export interface SeriesScatter3dOptions extends PlotScatter3dOptions, SeriesOptions {
  115126. /**
  115127. * (Highcharts) An array of data points for the series. For the `scatter3d`
  115128. * series type, points can be given in the following ways:
  115129. *
  115130. * 1. An array of arrays with 3 values. In this case, the values correspond
  115131. * to `x,y,z`. If the first value is a string, it is applied as the name of
  115132. * the point, and the `x` value is inferred. (see online documentation for
  115133. * example)
  115134. *
  115135. * 3. An array of objects with named values. The following snippet shows
  115136. * only a few settings, see the complete options set below. If the total
  115137. * number of data points exceeds the series' turboThreshold, this option is
  115138. * not available. (see online documentation for example)
  115139. */
  115140. data?: Array<(Array<number>|PointOptionsObject)>;
  115141. /**
  115142. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115143. * TypeScript non-optional and might be `undefined` in series objects from
  115144. * unknown sources.
  115145. */
  115146. type: "scatter3d";
  115147. }
  115148. /**
  115149. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  115150. * series is displayed for the `dataLabels`. The animation can also be set as a
  115151. * configuration object. Please note that this option only applies to the
  115152. * initial animation. For other animations, see chart.animation and the
  115153. * animation parameter under the API methods. The following properties are
  115154. * supported:
  115155. *
  115156. * - `defer`: The animation delay time in milliseconds.
  115157. */
  115158. export interface SeriesScatterDataDataLabelsAnimationOptions {
  115159. /**
  115160. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  115161. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  115162. * time from the series.animation.defer.
  115163. */
  115164. defer?: number;
  115165. }
  115166. /**
  115167. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  115168. * one state by default, the `default` state.
  115169. */
  115170. export interface SeriesScatterDataDragDropGuideBoxOptions {
  115171. /**
  115172. * (Highcharts, Highstock) Style options for the guide box default state.
  115173. */
  115174. default?: DragDropGuideBoxOptionsObject;
  115175. }
  115176. /**
  115177. * (Highcharts, Highstock) A `scatter` series. If the type option is not
  115178. * specified, it is inherited from chart.type.
  115179. *
  115180. * In TypeScript the type option must always be set.
  115181. *
  115182. * Configuration options for the series are given in three levels:
  115183. *
  115184. * 1. Options for all series in a chart are defined in the plotOptions.series
  115185. * object.
  115186. *
  115187. * 2. Options for all `scatter` series are defined in plotOptions.scatter.
  115188. *
  115189. * 3. Options for one single series are given in the series instance array. (see
  115190. * online documentation for example)
  115191. *
  115192. * You have to extend the `SeriesScatterOptions` via an interface to allow
  115193. * custom properties: ``` declare interface SeriesScatterOptions {
  115194. * customProperty: string; }
  115195. *
  115196. */
  115197. export interface SeriesScatterOptions extends PlotScatterOptions, SeriesOptions {
  115198. /**
  115199. * (Highcharts, Highstock) An array of data points for the series. For the
  115200. * `scatter` series type, points can be given in the following ways:
  115201. *
  115202. * 1. An array of numerical values. In this case, the numerical values will
  115203. * be interpreted as `y` options. The `x` values will be automatically
  115204. * calculated, either starting at 0 and incremented by 1, or from
  115205. * `pointStart` and `pointInterval` given in the series options. If the axis
  115206. * has categories, these will be used. Example: (see online documentation
  115207. * for example)
  115208. *
  115209. * 2. An array of arrays with 2 values. In this case, the values correspond
  115210. * to `x,y`. If the first value is a string, it is applied as the name of
  115211. * the point, and the `x` value is inferred. (see online documentation for
  115212. * example)
  115213. *
  115214. * 3. An array of objects with named values. The following snippet shows
  115215. * only a few settings, see the complete options set below. If the total
  115216. * number of data points exceeds the series' turboThreshold, this option is
  115217. * not available. (see online documentation for example)
  115218. */
  115219. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  115220. /**
  115221. * Not available
  115222. */
  115223. dataParser?: undefined;
  115224. /**
  115225. * Not available
  115226. */
  115227. dataURL?: undefined;
  115228. /**
  115229. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115230. * TypeScript non-optional and might be `undefined` in series objects from
  115231. * unknown sources.
  115232. */
  115233. type: "scatter";
  115234. /**
  115235. * Not available
  115236. */
  115237. useOhlcData?: undefined;
  115238. }
  115239. /**
  115240. * (Highstock) A Slow Stochastic indicator. If the type option is not specified,
  115241. * it is inherited from chart.type.
  115242. *
  115243. * In TypeScript the type option must always be set.
  115244. *
  115245. * Configuration options for the series are given in three levels:
  115246. *
  115247. * 1. Options for all series in a chart are defined in the plotOptions.series
  115248. * object.
  115249. *
  115250. * 2. Options for all `slowstochastic` series are defined in
  115251. * plotOptions.slowstochastic.
  115252. *
  115253. * 3. Options for one single series are given in the series instance array. (see
  115254. * online documentation for example)
  115255. *
  115256. * You have to extend the `SeriesSlowstochasticOptions` via an interface to
  115257. * allow custom properties: ``` declare interface SeriesSlowstochasticOptions {
  115258. * customProperty: string; }
  115259. *
  115260. */
  115261. export interface SeriesSlowstochasticOptions extends PlotSlowstochasticOptions, SeriesOptions {
  115262. /**
  115263. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115264. * TypeScript non-optional and might be `undefined` in series objects from
  115265. * unknown sources.
  115266. */
  115267. type: "slowstochastic";
  115268. }
  115269. /**
  115270. * (Highstock) A `SMA` series. If the type option is not specified, it is
  115271. * inherited from chart.type.
  115272. *
  115273. * In TypeScript the type option must always be set.
  115274. *
  115275. * Configuration options for the series are given in three levels:
  115276. *
  115277. * 1. Options for all series in a chart are defined in the plotOptions.series
  115278. * object.
  115279. *
  115280. * 2. Options for all `sma` series are defined in plotOptions.sma.
  115281. *
  115282. * 3. Options for one single series are given in the series instance array. (see
  115283. * online documentation for example)
  115284. *
  115285. * You have to extend the `SeriesSmaOptions` via an interface to allow custom
  115286. * properties: ``` declare interface SeriesSmaOptions { customProperty: string;
  115287. * }
  115288. *
  115289. */
  115290. export interface SeriesSmaOptions extends PlotSmaOptions, SeriesOptions {
  115291. /**
  115292. * Not available
  115293. */
  115294. dataParser?: undefined;
  115295. /**
  115296. * Not available
  115297. */
  115298. dataURL?: undefined;
  115299. /**
  115300. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115301. * TypeScript non-optional and might be `undefined` in series objects from
  115302. * unknown sources.
  115303. */
  115304. type: "sma";
  115305. /**
  115306. * Not available
  115307. */
  115308. useOhlcData?: undefined;
  115309. }
  115310. /**
  115311. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  115312. * series is displayed for the `dataLabels`. The animation can also be set as a
  115313. * configuration object. Please note that this option only applies to the
  115314. * initial animation. For other animations, see chart.animation and the
  115315. * animation parameter under the API methods. The following properties are
  115316. * supported:
  115317. *
  115318. * - `defer`: The animation delay time in milliseconds.
  115319. */
  115320. export interface SeriesSolidgaugeDataDataLabelsAnimationOptions {
  115321. /**
  115322. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  115323. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  115324. * time from the series.animation.defer.
  115325. */
  115326. defer?: number;
  115327. }
  115328. /**
  115329. * (Highcharts) Style options for the guide box. The guide box has one state by
  115330. * default, the `default` state.
  115331. */
  115332. export interface SeriesSolidgaugeDataDragDropGuideBoxOptions {
  115333. /**
  115334. * (Highcharts) Style options for the guide box default state.
  115335. */
  115336. default?: DragDropGuideBoxOptionsObject;
  115337. }
  115338. /**
  115339. * (Highcharts) A `solidgauge` series. If the type option is not specified, it
  115340. * is inherited from chart.type.
  115341. *
  115342. * In TypeScript the type option must always be set.
  115343. *
  115344. * Configuration options for the series are given in three levels:
  115345. *
  115346. * 1. Options for all series in a chart are defined in the plotOptions.series
  115347. * object.
  115348. *
  115349. * 2. Options for all `solidgauge` series are defined in plotOptions.solidgauge.
  115350. *
  115351. * 3. Options for one single series are given in the series instance array. (see
  115352. * online documentation for example)
  115353. *
  115354. * You have to extend the `SeriesSolidgaugeOptions` via an interface to allow
  115355. * custom properties: ``` declare interface SeriesSolidgaugeOptions {
  115356. * customProperty: string; }
  115357. *
  115358. */
  115359. export interface SeriesSolidgaugeOptions extends PlotSolidgaugeOptions, SeriesOptions {
  115360. /**
  115361. * (Highcharts) An array of data points for the series. For the `solidgauge`
  115362. * series type, points can be given in the following ways:
  115363. *
  115364. * 1. An array of numerical values. In this case, the numerical values will
  115365. * be interpreted as `y` options. Example: (see online documentation for
  115366. * example)
  115367. *
  115368. * 2. An array of objects with named values. The following snippet shows
  115369. * only a few settings, see the complete options set below. If the total
  115370. * number of data points exceeds the series' turboThreshold, this option is
  115371. * not available. (see online documentation for example)
  115372. *
  115373. * The typical gauge only contains a single data value.
  115374. */
  115375. data?: Array<(number|null|PointOptionsObject)>;
  115376. /**
  115377. * Not available
  115378. */
  115379. dataParser?: undefined;
  115380. /**
  115381. * Not available
  115382. */
  115383. dataURL?: undefined;
  115384. /**
  115385. * Not available
  115386. */
  115387. dial?: undefined;
  115388. /**
  115389. * Not available
  115390. */
  115391. pivot?: undefined;
  115392. /**
  115393. * Not available
  115394. */
  115395. stack?: undefined;
  115396. /**
  115397. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115398. * TypeScript non-optional and might be `undefined` in series objects from
  115399. * unknown sources.
  115400. */
  115401. type: "solidgauge";
  115402. /**
  115403. * Not available
  115404. */
  115405. wrap?: undefined;
  115406. }
  115407. /**
  115408. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  115409. * series is displayed for the `dataLabels`. The animation can also be set as a
  115410. * configuration object. Please note that this option only applies to the
  115411. * initial animation. For other animations, see chart.animation and the
  115412. * animation parameter under the API methods. The following properties are
  115413. * supported:
  115414. *
  115415. * - `defer`: The animation delay time in milliseconds.
  115416. */
  115417. export interface SeriesSplineDataDataLabelsAnimationOptions {
  115418. /**
  115419. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  115420. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  115421. * time from the series.animation.defer.
  115422. */
  115423. defer?: number;
  115424. }
  115425. /**
  115426. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  115427. * one state by default, the `default` state.
  115428. */
  115429. export interface SeriesSplineDataDragDropGuideBoxOptions {
  115430. /**
  115431. * (Highcharts, Highstock) Style options for the guide box default state.
  115432. */
  115433. default?: DragDropGuideBoxOptionsObject;
  115434. }
  115435. /**
  115436. * (Highcharts, Highstock) A `spline` series. If the type option is not
  115437. * specified, it is inherited from chart.type.
  115438. *
  115439. * In TypeScript the type option must always be set.
  115440. *
  115441. * Configuration options for the series are given in three levels:
  115442. *
  115443. * 1. Options for all series in a chart are defined in the plotOptions.series
  115444. * object.
  115445. *
  115446. * 2. Options for all `spline` series are defined in plotOptions.spline.
  115447. *
  115448. * 3. Options for one single series are given in the series instance array. (see
  115449. * online documentation for example)
  115450. *
  115451. * You have to extend the `SeriesSplineOptions` via an interface to allow custom
  115452. * properties: ``` declare interface SeriesSplineOptions { customProperty:
  115453. * string; }
  115454. *
  115455. */
  115456. export interface SeriesSplineOptions extends PlotSplineOptions, SeriesOptions {
  115457. /**
  115458. * (Highcharts, Highstock) An array of data points for the series. For the
  115459. * `spline` series type, points can be given in the following ways:
  115460. *
  115461. * 1. An array of numerical values. In this case, the numerical values will
  115462. * be interpreted as `y` options. The `x` values will be automatically
  115463. * calculated, either starting at 0 and incremented by 1, or from
  115464. * `pointStart` and `pointInterval` given in the series options. If the axis
  115465. * has categories, these will be used. Example: (see online documentation
  115466. * for example)
  115467. *
  115468. * 2. An array of arrays with 2 values. In this case, the values correspond
  115469. * to `x,y`. If the first value is a string, it is applied as the name of
  115470. * the point, and the `x` value is inferred. (see online documentation for
  115471. * example)
  115472. *
  115473. * 3. An array of objects with named values. The following snippet shows
  115474. * only a few settings, see the complete options set below. If the total
  115475. * number of data points exceeds the series' turboThreshold, this option is
  115476. * not available. (see online documentation for example)
  115477. */
  115478. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  115479. /**
  115480. * Not available
  115481. */
  115482. dataParser?: undefined;
  115483. /**
  115484. * Not available
  115485. */
  115486. dataURL?: undefined;
  115487. /**
  115488. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115489. * TypeScript non-optional and might be `undefined` in series objects from
  115490. * unknown sources.
  115491. */
  115492. type: "spline";
  115493. }
  115494. /**
  115495. * (Highcharts, Highstock) Options for the halo appearing around the hovered
  115496. * point in line-type series as well as outside the hovered slice in pie charts.
  115497. * By default the halo is filled by the current point or series color with an
  115498. * opacity of 0.25\. The halo can be disabled by setting the `halo` option to
  115499. * `null`.
  115500. *
  115501. * In styled mode, the halo is styled with the `.highcharts-halo` class, with
  115502. * colors inherited from `.highcharts-color-{n}`.
  115503. */
  115504. export interface SeriesStatesHoverHaloOptionsObject {
  115505. /**
  115506. * (Highcharts, Highstock) A collection of SVG attributes to override the
  115507. * appearance of the halo, for example `fill`, `stroke` and `stroke-width`.
  115508. */
  115509. attributes?: (PlotTilemapStatesHoverHaloAttributesOptions|SVGAttributes);
  115510. enabled?: boolean;
  115511. /**
  115512. * (Highcharts, Highstock) Opacity for the halo unless a specific fill is
  115513. * overridden using the `attributes` setting. Note that Highcharts is only
  115514. * able to apply opacity to colors of hex or rgb(a) formats.
  115515. */
  115516. opacity?: number;
  115517. /**
  115518. * (Highcharts, Highstock) The pixel size of the halo. For point markers
  115519. * this is the radius of the halo. For pie slices it is the width of the
  115520. * halo outside the slice. For bubbles it defaults to 5 and is the width of
  115521. * the halo outside the bubble.
  115522. */
  115523. size?: number;
  115524. }
  115525. /**
  115526. * (Highstock) Options for the hovered series. These settings override the
  115527. * normal state options when a series is moused over or touched.
  115528. */
  115529. export interface SeriesStatesHoverOptionsObject {
  115530. /**
  115531. * (Highcharts, Highstock) Animation setting for hovering the graph in
  115532. * line-type series.
  115533. */
  115534. animation?: (boolean|Partial<AnimationOptionsObject>);
  115535. /**
  115536. * (Highmaps) The border color of the point in this state.
  115537. */
  115538. borderColor?: (string|ColorString|GradientColorObject|PatternObject);
  115539. /**
  115540. * (Highmaps) The border width of the point in this state
  115541. */
  115542. borderWidth?: number;
  115543. /**
  115544. * (Highmaps) The relative brightness of the point when hovered, relative to
  115545. * the normal point color.
  115546. */
  115547. brightness?: number;
  115548. /**
  115549. * (Highmaps) The color of the shape in this state.
  115550. */
  115551. color?: (ColorString|GradientColorObject|PatternObject);
  115552. /**
  115553. * (Highstock) Enable separate styles for the hovered series to visualize
  115554. * that the user hovers either the series itself or the legend.
  115555. */
  115556. enabled?: boolean;
  115557. /**
  115558. * (Highstock) The fill or background color of the flag.
  115559. */
  115560. fillColor?: (ColorString|GradientColorObject|PatternObject);
  115561. /**
  115562. * (Highcharts, Highstock) Options for the halo appearing around the hovered
  115563. * point in line-type series as well as outside the hovered slice in pie
  115564. * charts. By default the halo is filled by the current point or series
  115565. * color with an opacity of 0.25\. The halo can be disabled by setting the
  115566. * `halo` option to `null`.
  115567. *
  115568. * In styled mode, the halo is styled with the `.highcharts-halo` class,
  115569. * with colors inherited from `.highcharts-color-{n}`.
  115570. */
  115571. halo?: (SeriesStatesHoverHaloOptionsObject|null);
  115572. /**
  115573. * (Highstock) The color of the line/border of the flag.
  115574. */
  115575. lineColor?: (ColorString|GradientColorObject|PatternObject);
  115576. /**
  115577. * (Highcharts, Highstock) Pixel width of the graph line. By default this
  115578. * property is undefined, and the `lineWidthPlus` property dictates how much
  115579. * to increase the linewidth from normal state.
  115580. */
  115581. lineWidth?: number;
  115582. /**
  115583. * (Highcharts, Highstock) The additional line width for the graph of a
  115584. * hovered series.
  115585. */
  115586. lineWidthPlus?: number;
  115587. /**
  115588. * (Highcharts, Highstock, Gantt) Opacity for the links between nodes in the
  115589. * sankey diagram in hover mode.
  115590. */
  115591. linkOpacity?: number;
  115592. /**
  115593. * (Highcharts) The opacity of a point in treemap. When a point has
  115594. * children, the visibility of the children is determined by the opacity.
  115595. */
  115596. opacity?: number;
  115597. /**
  115598. * (Highcharts) The shadow option for hovered state.
  115599. */
  115600. shadow?: boolean;
  115601. }
  115602. /**
  115603. * (Highstock) The opposite state of a hover for series.
  115604. */
  115605. export interface SeriesStatesInactiveOptionsObject {
  115606. /**
  115607. * (Highstock) Animation when not hovering over the marker.
  115608. */
  115609. animation?: (boolean|Partial<AnimationOptionsObject>);
  115610. /**
  115611. * (Highstock) Enable or disable the inactive state for a series
  115612. */
  115613. enabled?: boolean;
  115614. /**
  115615. * (Highcharts) Opacity for the links between nodes in the sankey diagram in
  115616. * inactive mode.
  115617. */
  115618. linkOpacity?: number;
  115619. /**
  115620. * (Highstock) Opacity of inactive markers.
  115621. */
  115622. opacity?: number;
  115623. }
  115624. /**
  115625. * (Highstock) The normal state of a series, or for point items in column, pie
  115626. * and similar series. Currently only used for setting animation when returning
  115627. * to normal state from hover.
  115628. */
  115629. export interface SeriesStatesNormalOptionsObject {
  115630. /**
  115631. * (Highstock) Animation when returning to normal state after hovering.
  115632. */
  115633. animation?: (boolean|Partial<AnimationOptionsObject>);
  115634. }
  115635. /**
  115636. * (Highcharts) A wrapper object for all the series options in specific states.
  115637. */
  115638. export interface SeriesStatesOptionsObject {
  115639. /**
  115640. * (Highstock) Options for the hovered series. These settings override the
  115641. * normal state options when a series is moused over or touched.
  115642. */
  115643. hover?: SeriesStatesHoverOptionsObject;
  115644. /**
  115645. * (Highstock) The opposite state of a hover for series.
  115646. */
  115647. inactive?: SeriesStatesInactiveOptionsObject;
  115648. /**
  115649. * (Highstock) The normal state of a series, or for point items in column,
  115650. * pie and similar series. Currently only used for setting animation when
  115651. * returning to normal state from hover.
  115652. */
  115653. normal?: SeriesStatesNormalOptionsObject;
  115654. /**
  115655. * (Highstock) Specific options for point in selected states, after being
  115656. * selected by allowPointSelect or programmatically.
  115657. */
  115658. select?: SeriesStatesSelectOptionsObject;
  115659. }
  115660. /**
  115661. * (Highstock) Specific options for point in selected states, after being
  115662. * selected by allowPointSelect or programmatically.
  115663. */
  115664. export interface SeriesStatesSelectOptionsObject {
  115665. /**
  115666. * (Highcharts, Highstock) Animation setting for hovering the graph in
  115667. * line-type series.
  115668. */
  115669. animation?: (boolean|Partial<AnimationOptionsObject>);
  115670. /**
  115671. * (Highmaps) The border color of the point in this state.
  115672. */
  115673. borderColor?: (string|ColorString|GradientColorObject|PatternObject);
  115674. /**
  115675. * (Highmaps) The border width of the point in this state
  115676. */
  115677. borderWidth?: number;
  115678. /**
  115679. * (Highmaps) The color of the shape in this state.
  115680. */
  115681. color?: (string|ColorString|GradientColorObject|PatternObject);
  115682. /**
  115683. * (Highstock) Enable separate styles for the hovered series to visualize
  115684. * that the user hovers either the series itself or the legend.
  115685. */
  115686. enabled?: boolean;
  115687. /**
  115688. * (Highcharts, Highstock) Options for the halo appearing around the hovered
  115689. * point in line-type series as well as outside the hovered slice in pie
  115690. * charts. By default the halo is filled by the current point or series
  115691. * color with an opacity of 0.25\. The halo can be disabled by setting the
  115692. * `halo` option to `null`.
  115693. *
  115694. * In styled mode, the halo is styled with the `.highcharts-halo` class,
  115695. * with colors inherited from `.highcharts-color-{n}`.
  115696. */
  115697. halo?: (SeriesStatesHoverHaloOptionsObject|null);
  115698. /**
  115699. * (Highcharts, Highstock) Pixel width of the graph line. By default this
  115700. * property is undefined, and the `lineWidthPlus` property dictates how much
  115701. * to increase the linewidth from normal state.
  115702. */
  115703. lineWidth?: number;
  115704. /**
  115705. * (Highcharts, Highstock) The additional line width for the graph of a
  115706. * hovered series.
  115707. */
  115708. lineWidthPlus?: number;
  115709. }
  115710. /**
  115711. * (Highstock) A Stochastic indicator. If the type option is not specified, it
  115712. * is inherited from chart.type.
  115713. *
  115714. * In TypeScript the type option must always be set.
  115715. *
  115716. * Configuration options for the series are given in three levels:
  115717. *
  115718. * 1. Options for all series in a chart are defined in the plotOptions.series
  115719. * object.
  115720. *
  115721. * 2. Options for all `stochastic` series are defined in plotOptions.stochastic.
  115722. *
  115723. * 3. Options for one single series are given in the series instance array. (see
  115724. * online documentation for example)
  115725. *
  115726. * You have to extend the `SeriesStochasticOptions` via an interface to allow
  115727. * custom properties: ``` declare interface SeriesStochasticOptions {
  115728. * customProperty: string; }
  115729. *
  115730. */
  115731. export interface SeriesStochasticOptions extends PlotStochasticOptions, SeriesOptions {
  115732. /**
  115733. * Not available
  115734. */
  115735. dataParser?: undefined;
  115736. /**
  115737. * Not available
  115738. */
  115739. dataURL?: undefined;
  115740. /**
  115741. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115742. * TypeScript non-optional and might be `undefined` in series objects from
  115743. * unknown sources.
  115744. */
  115745. type: "stochastic";
  115746. }
  115747. /**
  115748. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  115749. * series is displayed for the `dataLabels`. The animation can also be set as a
  115750. * configuration object. Please note that this option only applies to the
  115751. * initial animation. For other animations, see chart.animation and the
  115752. * animation parameter under the API methods. The following properties are
  115753. * supported:
  115754. *
  115755. * - `defer`: The animation delay time in milliseconds.
  115756. */
  115757. export interface SeriesStreamgraphDataDataLabelsAnimationOptions {
  115758. /**
  115759. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  115760. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  115761. * time from the series.animation.defer.
  115762. */
  115763. defer?: number;
  115764. }
  115765. /**
  115766. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  115767. * one state by default, the `default` state.
  115768. */
  115769. export interface SeriesStreamgraphDataDragDropGuideBoxOptions {
  115770. /**
  115771. * (Highcharts, Highstock) Style options for the guide box default state.
  115772. */
  115773. default?: DragDropGuideBoxOptionsObject;
  115774. }
  115775. /**
  115776. * (Highcharts, Highstock) A `streamgraph` series. If the type option is not
  115777. * specified, it is inherited from chart.type.
  115778. *
  115779. * In TypeScript the type option must always be set.
  115780. *
  115781. * Configuration options for the series are given in three levels:
  115782. *
  115783. * 1. Options for all series in a chart are defined in the plotOptions.series
  115784. * object.
  115785. *
  115786. * 2. Options for all `streamgraph` series are defined in
  115787. * plotOptions.streamgraph.
  115788. *
  115789. * 3. Options for one single series are given in the series instance array. (see
  115790. * online documentation for example)
  115791. *
  115792. * You have to extend the `SeriesStreamgraphOptions` via an interface to allow
  115793. * custom properties: ``` declare interface SeriesStreamgraphOptions {
  115794. * customProperty: string; }
  115795. *
  115796. */
  115797. export interface SeriesStreamgraphOptions extends PlotStreamgraphOptions, SeriesOptions {
  115798. /**
  115799. * (Highcharts, Highstock) An array of data points for the series. For the
  115800. * `streamgraph` series type, points can be given in the following ways:
  115801. *
  115802. * 1. An array of numerical values. In this case, the numerical values will
  115803. * be interpreted as `y` options. The `x` values will be automatically
  115804. * calculated, either starting at 0 and incremented by 1, or from
  115805. * `pointStart` and `pointInterval` given in the series options. If the axis
  115806. * has categories, these will be used. Example: (see online documentation
  115807. * for example)
  115808. *
  115809. * 2. An array of arrays with 2 values. In this case, the values correspond
  115810. * to `x,y`. If the first value is a string, it is applied as the name of
  115811. * the point, and the `x` value is inferred. (see online documentation for
  115812. * example)
  115813. *
  115814. * 3. An array of objects with named values. The following snippet shows
  115815. * only a few settings, see the complete options set below. If the total
  115816. * number of data points exceeds the series' turboThreshold, this option is
  115817. * not available. (see online documentation for example)
  115818. */
  115819. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  115820. /**
  115821. * Not available
  115822. */
  115823. dataParser?: undefined;
  115824. /**
  115825. * Not available
  115826. */
  115827. dataURL?: undefined;
  115828. /**
  115829. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115830. * TypeScript non-optional and might be `undefined` in series objects from
  115831. * unknown sources.
  115832. */
  115833. type: "streamgraph";
  115834. }
  115835. /**
  115836. * (Highcharts) Enable or disable the initial animation when a series is
  115837. * displayed for the `dataLabels`. The animation can also be set as a
  115838. * configuration object. Please note that this option only applies to the
  115839. * initial animation. For other animations, see chart.animation and the
  115840. * animation parameter under the API methods. The following properties are
  115841. * supported:
  115842. *
  115843. * - `defer`: The animation delay time in milliseconds.
  115844. */
  115845. export interface SeriesSunburstDataDataLabelsAnimationOptions {
  115846. /**
  115847. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  115848. * dataLabel immediately. As `undefined` inherits defer time from the
  115849. * series.animation.defer.
  115850. */
  115851. defer?: number;
  115852. }
  115853. /**
  115854. * (Highcharts) Style options for the guide box. The guide box has one state by
  115855. * default, the `default` state.
  115856. */
  115857. export interface SeriesSunburstDataDragDropGuideBoxOptions {
  115858. /**
  115859. * (Highcharts) Style options for the guide box default state.
  115860. */
  115861. default?: DragDropGuideBoxOptionsObject;
  115862. }
  115863. /**
  115864. * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all points
  115865. * which lies on the same level.
  115866. */
  115867. export interface SeriesSunburstDataLabelsOptionsObject {
  115868. /**
  115869. * (Highcharts) Alignment method for data labels. Possible values are:
  115870. *
  115871. * - `toPlotEdges`: Each label touches the nearest vertical edge of the plot
  115872. * area.
  115873. *
  115874. * - `connectors`: Connectors have the same x position and the widest label
  115875. * of each half (left & right) touches the nearest vertical edge of the plot
  115876. * area.
  115877. */
  115878. alignTo?: string;
  115879. allowOverlap?: boolean;
  115880. /**
  115881. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  115882. * animation when a series is displayed for the `dataLabels`. The animation
  115883. * can also be set as a configuration object. Please note that this option
  115884. * only applies to the initial animation. For other animations, see
  115885. * chart.animation and the animation parameter under the API methods. The
  115886. * following properties are supported:
  115887. *
  115888. * - `defer`: The animation delay time in milliseconds.
  115889. */
  115890. animation?: (boolean|PlotSunburstDataLabelsAnimationOptions|PlotSunburstLevelsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  115891. /**
  115892. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  115893. * for the data label.
  115894. */
  115895. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  115896. /**
  115897. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  115898. * label. Defaults to `undefined`.
  115899. */
  115900. borderColor?: (ColorString|GradientColorObject|PatternObject);
  115901. /**
  115902. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  115903. * the data label.
  115904. */
  115905. borderRadius?: number;
  115906. /**
  115907. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  115908. * the data label.
  115909. */
  115910. borderWidth?: number;
  115911. /**
  115912. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  115913. * Particularly in styled mode, this can be used to give each series' or
  115914. * point's data label unique styling. In addition to this option, a default
  115915. * color class name is added so that we can give the labels a contrast text
  115916. * shadow.
  115917. */
  115918. className?: string;
  115919. /**
  115920. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  115921. * labels. Defaults to `undefined`. For certain series types, like column or
  115922. * map, the data labels can be drawn inside the points. In this case the
  115923. * data label will be drawn with maximum contrast by default. Additionally,
  115924. * it will be given a `text-outline` style with the opposite color, to
  115925. * further increase the contrast. This can be overridden by setting the
  115926. * `text-outline` style to `none` in the `dataLabels.style` option.
  115927. */
  115928. color?: (ColorString|GradientColorObject|PatternObject);
  115929. /**
  115930. * (Highcharts) The color of the line connecting the data label to the pie
  115931. * slice. The default color is the same as the point's color.
  115932. *
  115933. * In styled mode, the connector stroke is given in the
  115934. * `.highcharts-data-label-connector` class.
  115935. */
  115936. connectorColor?: (ColorString|GradientColorObject|PatternObject);
  115937. /**
  115938. * (Highcharts) The distance from the data label to the connector. Note that
  115939. * data labels also have a default `padding`, so in order for the connector
  115940. * to touch the text, the `padding` must also be 0.
  115941. */
  115942. connectorPadding?: number;
  115943. /**
  115944. * (Highcharts) Specifies the method that is used to generate the connector
  115945. * path. Highcharts provides 3 built-in connector shapes: `'fixedOffset'`
  115946. * (default), `'straight'` and `'crookedLine'`. Using `'crookedLine'` has
  115947. * the most sense (in most of the cases) when `'alignTo'` is set.
  115948. *
  115949. * Users can provide their own method by passing a function instead of a
  115950. * String. 3 arguments are passed to the callback:
  115951. *
  115952. * - Object that holds the information about the coordinates of the label
  115953. * (`x` & `y` properties) and how the label is located in relation to the
  115954. * pie (`alignment` property). `alignment` can by one of the following:
  115955. * `'left'` (pie on the left side of the data label), `'right'` (pie on the
  115956. * right side of the data label) or `'center'` (data label overlaps the
  115957. * pie).
  115958. *
  115959. * - Object that holds the information about the position of the connector.
  115960. * Its `touchingSliceAt` porperty tells the position of the place where the
  115961. * connector touches the slice.
  115962. *
  115963. * - Data label options
  115964. *
  115965. * The function has to return an SVG path definition in array form (see the
  115966. * example).
  115967. */
  115968. connectorShape?: (string|Function);
  115969. /**
  115970. * (Highcharts) The width of the line connecting the data label to the pie
  115971. * slice.
  115972. *
  115973. * In styled mode, the connector stroke width is given in the
  115974. * `.highcharts-data-label-connector` class.
  115975. */
  115976. connectorWidth?: number;
  115977. /**
  115978. * (Highcharts) Works only if `connectorShape` is `'crookedLine'`. It
  115979. * defines how far from the vertical plot edge the coonnector path should be
  115980. * crooked.
  115981. */
  115982. crookDistance?: string;
  115983. /**
  115984. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  115985. * are outside the plot area. By default, the data label is moved inside the
  115986. * plot area according to the overflow option.
  115987. */
  115988. crop?: boolean;
  115989. /**
  115990. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  115991. * labels until the initial series animation has finished. Setting to
  115992. * `false` renders the data label immediately. If set to `true` inherits the
  115993. * defer time set in plotOptions.series.animation. If set to a number, a
  115994. * defer time is specified in milliseconds.
  115995. */
  115996. defer?: boolean;
  115997. /**
  115998. * (Highcharts) The distance of the data label from the pie's edge. Negative
  115999. * numbers put the data label on top of the pie slices. Can also be defined
  116000. * as a percentage of pie's radius. Connectors are only shown for data
  116001. * labels outside the pie.
  116002. */
  116003. distance?: (number|string);
  116004. /**
  116005. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  116006. * labels.
  116007. */
  116008. enabled?: boolean;
  116009. /**
  116010. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  116011. * of which data labels to display. The declarative filter is designed for
  116012. * use when callback functions are not available, like when the chart
  116013. * options require a pure JSON structure or for use with graphical editors.
  116014. * For programmatic control, use the `formatter` instead, and return
  116015. * `undefined` to disable a single data label.
  116016. */
  116017. filter?: DataLabelsFilterOptionsObject;
  116018. /**
  116019. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  116020. * label. Available variables are the same as for `formatter`.
  116021. */
  116022. format?: string;
  116023. /**
  116024. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  116025. * format the data label. Note that if a `format` is defined, the format
  116026. * takes precedence and the formatter is ignored.
  116027. */
  116028. formatter?: DataLabelsFormatterCallbackFunction;
  116029. /**
  116030. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  116031. * of null. Works analogously to format. `nullFormat` can be applied only to
  116032. * series which support displaying null points.
  116033. */
  116034. nullFormat?: (boolean|string);
  116035. /**
  116036. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  116037. * that defines formatting for points with the value of null. Works
  116038. * analogously to formatter. `nullPointFormatter` can be applied only to
  116039. * series which support displaying null points.
  116040. */
  116041. nullFormatter?: DataLabelsFormatterCallbackFunction;
  116042. /**
  116043. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  116044. * flow outside the plot area. The default is `"justify"`, which aligns them
  116045. * inside the plot area. For columns and bars, this means it will be moved
  116046. * inside the bar. To display data labels outside the plot area, set `crop`
  116047. * to `false` and `overflow` to `"allow"`.
  116048. */
  116049. overflow?: DataLabelsOverflowValue;
  116050. /**
  116051. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  116052. * the `backgroundColor` is set, this is the padding within the box.
  116053. */
  116054. padding?: number;
  116055. /**
  116056. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  116057. * points. If `center` alignment is not possible, it defaults to `right`.
  116058. */
  116059. position?: AlignValue;
  116060. /**
  116061. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  116062. * that due to a more complex structure, backgrounds, borders and padding
  116063. * will be lost on a rotated data label.
  116064. */
  116065. rotation?: number;
  116066. /**
  116067. * (Highcharts, Highstock, Highmaps, Gantt) Decides how the data label will
  116068. * be rotated relative to the perimeter of the sunburst. Valid values are
  116069. * `auto`, `circular`, `parallel` and `perpendicular`. When `auto`, the best
  116070. * fit will be computed for the point. The `circular` option works similiar
  116071. * to `auto`, but uses the `textPath` feature - labels are curved, resulting
  116072. * in a better layout, however multiple lines and `textOutline` are not
  116073. * supported.
  116074. *
  116075. * The `series.rotation` option takes precedence over `rotationMode`.
  116076. */
  116077. rotationMode?: OptionsRotationModeValue;
  116078. /**
  116079. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  116080. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  116081. * an object configuration containing `color`, `offsetX`, `offsetY`,
  116082. * `opacity` and `width`.
  116083. */
  116084. shadow?: (boolean|ShadowOptionsObject);
  116085. /**
  116086. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  116087. * the border around the label. Symbols are predefined functions on the
  116088. * Renderer object.
  116089. */
  116090. shape?: string;
  116091. /**
  116092. * (Highcharts) Whether to render the connector as a soft arc or a line with
  116093. * sharp break. Works only if `connectorShape` equals to `fixedOffset`.
  116094. */
  116095. softConnector?: boolean;
  116096. /**
  116097. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  116098. * default `color` setting is `"contrast"`, which is a pseudo color that
  116099. * Highcharts picks up and applies the maximum contrast to the underlying
  116100. * point item, for example the bar in a bar chart.
  116101. *
  116102. * The `textOutline` is a pseudo property that applies an outline of the
  116103. * given width with the given color, which by default is the maximum
  116104. * contrast to the text. So a bright text color will result in a black text
  116105. * outline for maximum readability on a mixed background. In some cases,
  116106. * especially with grayscale text, the text outline doesn't work well, in
  116107. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  116108. * is true, the `textOutline` will not be picked up. In this, case, the same
  116109. * effect can be acheived through the `text-shadow` CSS property.
  116110. *
  116111. * For some series types, where each point has an extent, like for example
  116112. * tree maps, the data label may overflow the point. There are two
  116113. * strategies for handling overflow. By default, the text will wrap to
  116114. * multiple lines. The other strategy is to set `style.textOverflow` to
  116115. * `ellipsis`, which will keep the text on one line plus it will break
  116116. * inside long words.
  116117. */
  116118. style?: CSSObject;
  116119. /**
  116120. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  116121. * should follow marker's shape. Border and background are disabled for a
  116122. * label that follows a path.
  116123. *
  116124. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  116125. * to true will disable this option.
  116126. */
  116127. textPath?: DataLabelsTextPathOptionsObject;
  116128. /**
  116129. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  116130. * the labels.
  116131. */
  116132. useHTML?: boolean;
  116133. /**
  116134. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  116135. * label. Can be one of `top`, `middle` or `bottom`. The default value
  116136. * depends on the data, for instance in a column chart, the label is above
  116137. * positive values and below negative values.
  116138. */
  116139. verticalAlign?: (VerticalAlignValue|null);
  116140. /**
  116141. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  116142. * label relative to the point in pixels.
  116143. */
  116144. x?: number;
  116145. /**
  116146. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  116147. * label relative to the point in pixels.
  116148. */
  116149. y?: number;
  116150. /**
  116151. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  116152. * The default Z index puts it above the series. Use a Z index of 2 to
  116153. * display it behind the series.
  116154. */
  116155. z?: number;
  116156. }
  116157. /**
  116158. * (Highcharts) A `sunburst` series. If the type option is not specified, it is
  116159. * inherited from chart.type.
  116160. *
  116161. * In TypeScript the type option must always be set.
  116162. *
  116163. * Configuration options for the series are given in three levels:
  116164. *
  116165. * 1. Options for all series in a chart are defined in the plotOptions.series
  116166. * object.
  116167. *
  116168. * 2. Options for all `sunburst` series are defined in plotOptions.sunburst.
  116169. *
  116170. * 3. Options for one single series are given in the series instance array. (see
  116171. * online documentation for example)
  116172. *
  116173. * You have to extend the `SeriesSunburstOptions` via an interface to allow
  116174. * custom properties: ``` declare interface SeriesSunburstOptions {
  116175. * customProperty: string; }
  116176. *
  116177. */
  116178. export interface SeriesSunburstOptions extends PlotSunburstOptions, SeriesOptions {
  116179. /**
  116180. * (Highcharts) An array of data points for the series. For the `treemap`
  116181. * series type, points can be given in the following ways:
  116182. *
  116183. * 1. An array of numerical values. In this case, the numerical values will
  116184. * be interpreted as `value` options. Example: (see online documentation for
  116185. * example)
  116186. *
  116187. * 2. An array of objects with named values. The following snippet shows
  116188. * only a few settings, see the complete options set below. If the total
  116189. * number of data points exceeds the series' turboThreshold, this option is
  116190. * not available. (see online documentation for example)
  116191. */
  116192. data?: Array<(number|null|PointOptionsObject)>;
  116193. /**
  116194. * Not available
  116195. */
  116196. dataParser?: undefined;
  116197. /**
  116198. * Not available
  116199. */
  116200. dataURL?: undefined;
  116201. /**
  116202. * Not available
  116203. */
  116204. stack?: undefined;
  116205. /**
  116206. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116207. * TypeScript non-optional and might be `undefined` in series objects from
  116208. * unknown sources.
  116209. */
  116210. type: "sunburst";
  116211. }
  116212. /**
  116213. * (Highstock) A `Supertrend indicator` series. If the type option is not
  116214. * specified, it is inherited from chart.type.
  116215. *
  116216. * In TypeScript the type option must always be set.
  116217. *
  116218. * Configuration options for the series are given in three levels:
  116219. *
  116220. * 1. Options for all series in a chart are defined in the plotOptions.series
  116221. * object.
  116222. *
  116223. * 2. Options for all `supertrend` series are defined in plotOptions.supertrend.
  116224. *
  116225. * 3. Options for one single series are given in the series instance array. (see
  116226. * online documentation for example)
  116227. *
  116228. * You have to extend the `SeriesSupertrendOptions` via an interface to allow
  116229. * custom properties: ``` declare interface SeriesSupertrendOptions {
  116230. * customProperty: string; }
  116231. *
  116232. */
  116233. export interface SeriesSupertrendOptions extends PlotSupertrendOptions, SeriesOptions {
  116234. /**
  116235. * Not available
  116236. */
  116237. data?: undefined;
  116238. /**
  116239. * Not available
  116240. */
  116241. dataParser?: undefined;
  116242. /**
  116243. * Not available
  116244. */
  116245. dataURL?: undefined;
  116246. /**
  116247. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116248. * TypeScript non-optional and might be `undefined` in series objects from
  116249. * unknown sources.
  116250. */
  116251. type: "supertrend";
  116252. }
  116253. /**
  116254. * (Highstock) A `TEMA` series. If the type option is not specified, it is
  116255. * inherited from chart.type.
  116256. *
  116257. * In TypeScript the type option must always be set.
  116258. *
  116259. * Configuration options for the series are given in three levels:
  116260. *
  116261. * 1. Options for all series in a chart are defined in the plotOptions.series
  116262. * object.
  116263. *
  116264. * 2. Options for all `tema` series are defined in plotOptions.tema.
  116265. *
  116266. * 3. Options for one single series are given in the series instance array. (see
  116267. * online documentation for example)
  116268. *
  116269. * You have to extend the `SeriesTemaOptions` via an interface to allow custom
  116270. * properties: ``` declare interface SeriesTemaOptions { customProperty: string;
  116271. * }
  116272. *
  116273. */
  116274. export interface SeriesTemaOptions extends PlotTemaOptions, SeriesOptions {
  116275. /**
  116276. * Not available
  116277. */
  116278. dataParser?: undefined;
  116279. /**
  116280. * Not available
  116281. */
  116282. dataURL?: undefined;
  116283. /**
  116284. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116285. * TypeScript non-optional and might be `undefined` in series objects from
  116286. * unknown sources.
  116287. */
  116288. type: "tema";
  116289. }
  116290. /**
  116291. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  116292. * series is displayed for the `dataLabels`. The animation can also be set as a
  116293. * configuration object. Please note that this option only applies to the
  116294. * initial animation. For other animations, see chart.animation and the
  116295. * animation parameter under the API methods. The following properties are
  116296. * supported:
  116297. *
  116298. * - `defer`: The animation delay time in milliseconds.
  116299. */
  116300. export interface SeriesTilemapDataDataLabelsAnimationOptions {
  116301. /**
  116302. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  116303. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  116304. * time from the series.animation.defer.
  116305. */
  116306. defer?: number;
  116307. }
  116308. /**
  116309. * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
  116310. * state by default, the `default` state.
  116311. */
  116312. export interface SeriesTilemapDataDragDropGuideBoxOptions {
  116313. /**
  116314. * (Highcharts, Highmaps) Style options for the guide box default state.
  116315. */
  116316. default?: DragDropGuideBoxOptionsObject;
  116317. }
  116318. /**
  116319. * (Highcharts, Highmaps) A `tilemap` series. If the type option is not
  116320. * specified, it is inherited from chart.type.
  116321. *
  116322. * In TypeScript the type option must always be set.
  116323. *
  116324. * Configuration options for the series are given in three levels:
  116325. *
  116326. * 1. Options for all series in a chart are defined in the plotOptions.series
  116327. * object.
  116328. *
  116329. * 2. Options for all `tilemap` series are defined in plotOptions.tilemap.
  116330. *
  116331. * 3. Options for one single series are given in the series instance array. (see
  116332. * online documentation for example)
  116333. *
  116334. * You have to extend the `SeriesTilemapOptions` via an interface to allow
  116335. * custom properties: ``` declare interface SeriesTilemapOptions {
  116336. * customProperty: string; }
  116337. *
  116338. */
  116339. export interface SeriesTilemapOptions extends PlotTilemapOptions, SeriesOptions {
  116340. /**
  116341. * (Highcharts, Highmaps) An array of data points for the series. For the
  116342. * `tilemap` series type, points can be given in the following ways:
  116343. *
  116344. * 1. An array of arrays with 3 or 2 values. In this case, the values
  116345. * correspond to `x,y,value`. If the first value is a string, it is applied
  116346. * as the name of the point, and the `x` value is inferred. The `x` value
  116347. * can also be omitted, in which case the inner arrays should be of length
  116348. * 2\. Then the `x` value is automatically calculated, either starting at 0
  116349. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  116350. * the series options. (see online documentation for example)
  116351. *
  116352. * 2. An array of objects with named values. The objects are point
  116353. * configuration objects as seen below. If the total number of data points
  116354. * exceeds the series' turboThreshold, this option is not available. (see
  116355. * online documentation for example)
  116356. *
  116357. * Note that for some tileShapes the grid coordinates are offset.
  116358. */
  116359. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  116360. /**
  116361. * Not available
  116362. */
  116363. dataParser?: undefined;
  116364. /**
  116365. * Not available
  116366. */
  116367. dataURL?: undefined;
  116368. /**
  116369. * Not available
  116370. */
  116371. mapData?: undefined;
  116372. /**
  116373. * Not available
  116374. */
  116375. stack?: undefined;
  116376. /**
  116377. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116378. * TypeScript non-optional and might be `undefined` in series objects from
  116379. * unknown sources.
  116380. */
  116381. type: "tilemap";
  116382. }
  116383. /**
  116384. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  116385. * series is displayed for the `dataLabels`. The animation can also be set as a
  116386. * configuration object. Please note that this option only applies to the
  116387. * initial animation. For other animations, see chart.animation and the
  116388. * animation parameter under the API methods. The following properties are
  116389. * supported:
  116390. *
  116391. * - `defer`: The animation delay time in milliseconds.
  116392. */
  116393. export interface SeriesTimelineDataDataLabelsAnimationOptions {
  116394. /**
  116395. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  116396. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  116397. * time from the series.animation.defer.
  116398. */
  116399. defer?: number;
  116400. }
  116401. /**
  116402. * (Highcharts) Style options for the guide box. The guide box has one state by
  116403. * default, the `default` state.
  116404. */
  116405. export interface SeriesTimelineDataDragDropGuideBoxOptions {
  116406. /**
  116407. * (Highcharts) Style options for the guide box default state.
  116408. */
  116409. default?: DragDropGuideBoxOptionsObject;
  116410. }
  116411. /**
  116412. * (Highcharts) The `timeline` series. If the type option is not specified, it
  116413. * is inherited from chart.type.
  116414. *
  116415. * In TypeScript the type option must always be set.
  116416. *
  116417. * Configuration options for the series are given in three levels:
  116418. *
  116419. * 1. Options for all series in a chart are defined in the plotOptions.series
  116420. * object.
  116421. *
  116422. * 2. Options for all `timeline` series are defined in plotOptions.timeline.
  116423. *
  116424. * 3. Options for one single series are given in the series instance array. (see
  116425. * online documentation for example)
  116426. *
  116427. * You have to extend the `SeriesTimelineOptions` via an interface to allow
  116428. * custom properties: ``` declare interface SeriesTimelineOptions {
  116429. * customProperty: string; }
  116430. *
  116431. */
  116432. export interface SeriesTimelineOptions extends PlotTimelineOptions, SeriesOptions {
  116433. /**
  116434. * (Highcharts) An array of data points for the series. For the `timeline`
  116435. * series type, points can be given with three general parameters, `name`,
  116436. * `label`, and `description`:
  116437. *
  116438. * Example: (see online documentation for example) If all points
  116439. * additionally have the `x` values, and xAxis type is set to `datetime`,
  116440. * then events are laid out on a true time axis, where their placement
  116441. * reflects the actual time between them.
  116442. */
  116443. data?: Array<PointOptionsObject>;
  116444. /**
  116445. * Not available
  116446. */
  116447. dataParser?: undefined;
  116448. /**
  116449. * Not available
  116450. */
  116451. dataURL?: undefined;
  116452. /**
  116453. * Not available
  116454. */
  116455. stack?: undefined;
  116456. /**
  116457. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116458. * TypeScript non-optional and might be `undefined` in series objects from
  116459. * unknown sources.
  116460. */
  116461. type: "timeline";
  116462. }
  116463. /**
  116464. * (Highstock) A configuration object for the tooltip rendering of each single
  116465. * series. Properties are inherited from tooltip, but only the following
  116466. * properties can be defined on a series level.
  116467. */
  116468. export interface SeriesTooltipOptionsObject {
  116469. /**
  116470. * (Highstock) How many decimals to show for the `point.change` value when
  116471. * the `series.compare` option is set. This is overridable in each series'
  116472. * tooltip options object. The default is to preserve all decimals.
  116473. */
  116474. changeDecimals?: number;
  116475. /**
  116476. * (Highstock) The HTML of the cluster point's in the tooltip. Works only
  116477. * with marker-clusters module and analogously to pointFormat.
  116478. *
  116479. * The cluster tooltip can be also formatted using `tooltip.formatter`
  116480. * callback function and `point.isCluster` flag.
  116481. */
  116482. clusterFormat?: object;
  116483. /**
  116484. * (Highcharts, Highstock, Gantt) For series on datetime axes, the date
  116485. * format in the tooltip's header will by default be guessed based on the
  116486. * closest data points. This member gives the default string representations
  116487. * used for each unit. For an overview of the replacement codes, see
  116488. * dateFormat.
  116489. */
  116490. dateTimeLabelFormats?: Dictionary<string>;
  116491. /**
  116492. * (Highstock) Distance from point to tooltip in pixels.
  116493. */
  116494. distance?: number;
  116495. /**
  116496. * (Highstock) Whether the tooltip should follow the mouse as it moves
  116497. * across columns, pie slices and other point types with an extent. By
  116498. * default it behaves this way for pie, polygon, map, sankey and wordcloud
  116499. * series by override in the `plotOptions` for those series types.
  116500. *
  116501. * Does not apply if split is `true`.
  116502. *
  116503. * For touch moves to behave the same way, followTouchMove must be `true`
  116504. * also.
  116505. */
  116506. followPointer?: boolean;
  116507. /**
  116508. * (Highstock) Whether the tooltip should update as the finger moves on a
  116509. * touch device. If this is `true` and chart.panning is
  116510. * set,`followTouchMove` will take over one-finger touches, so the user
  116511. * needs to use two fingers for zooming and panning.
  116512. *
  116513. * Note the difference to followPointer that only defines the _position_ of
  116514. * the tooltip. If `followPointer` is false in for example a column series,
  116515. * the tooltip will show above or below the column, but as `followTouchMove`
  116516. * is true, the tooltip will jump from column to column as the user swipes
  116517. * across the plot area.
  116518. */
  116519. followTouchMove?: boolean;
  116520. /**
  116521. * (Highstock) A string to append to the tooltip format.
  116522. */
  116523. footerFormat?: string;
  116524. /**
  116525. * (Highstock) The HTML of the tooltip header line. Variables are enclosed
  116526. * by curly brackets. Available variables are `point.key`, `series.name`,
  116527. * `series.color` and other members from the `point` and `series` objects.
  116528. * The `point.key` variable contains the category name, x value or datetime
  116529. * string depending on the type of axis. For datetime axes, the `point.key`
  116530. * date format can be set using `tooltip.xDateFormat`.
  116531. */
  116532. headerFormat?: string;
  116533. /**
  116534. * (Highcharts) The format string specifying what to show for _nodes_ in
  116535. * tooltip of a diagram series, as opposed to links.
  116536. */
  116537. nodeFormat?: string;
  116538. /**
  116539. * (Highcharts) A callback for defining the format for _nodes_ in the
  116540. * chart's tooltip, as opposed to links.
  116541. */
  116542. nodeFormatter?: FormatterCallbackFunction<SankeyNodeObject>;
  116543. /**
  116544. * (Highstock) The HTML of the null point's line in the tooltip. Works
  116545. * analogously to pointFormat.
  116546. */
  116547. nullFormat?: string;
  116548. /**
  116549. * (Highstock) Callback function to format the text of the tooltip for
  116550. * visible null points. Works analogously to formatter.
  116551. */
  116552. nullFormatter?: TooltipFormatterCallbackFunction;
  116553. /**
  116554. * (Highstock) The HTML of the point's line in the tooltip. Variables are
  116555. * enclosed by curly brackets. Available variables are `point.x`, `point.y`,
  116556. * `series.name` and `series.color` and other properties on the same form.
  116557. * Furthermore, `point.y` can be extended by the `tooltip.valuePrefix` and
  116558. * `tooltip.valueSuffix` variables. This can also be overridden for each
  116559. * series, which makes it a good hook for displaying units.
  116560. *
  116561. * In styled mode, the dot is colored by a class name rather than the point
  116562. * color.
  116563. */
  116564. pointFormat?: string;
  116565. /**
  116566. * (Highstock) A callback function for formatting the HTML output for a
  116567. * single point in the tooltip. Like the `pointFormat` string, but with more
  116568. * flexibility.
  116569. */
  116570. pointFormatter?: FormatterCallbackFunction<Point>;
  116571. /**
  116572. * (Highstock) Number of decimals in indicator series.
  116573. */
  116574. valueDecimals?: number;
  116575. /**
  116576. * (Highstock) A string to prepend to each series' y value. Overridable in
  116577. * each series' tooltip options object.
  116578. */
  116579. valuePrefix?: string;
  116580. /**
  116581. * (Highstock) A string to append to each series' y value. Overridable in
  116582. * each series' tooltip options object.
  116583. */
  116584. valueSuffix?: string;
  116585. /**
  116586. * (Highcharts, Highstock, Gantt) The format for the date in the tooltip
  116587. * header if the X axis is a datetime axis. The default is a best guess
  116588. * based on the smallest distance between points in the chart.
  116589. */
  116590. xDateFormat?: string;
  116591. }
  116592. /**
  116593. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  116594. * series is displayed for the `dataLabels`. The animation can also be set as a
  116595. * configuration object. Please note that this option only applies to the
  116596. * initial animation. For other animations, see chart.animation and the
  116597. * animation parameter under the API methods. The following properties are
  116598. * supported:
  116599. *
  116600. * - `defer`: The animation delay time in milliseconds.
  116601. */
  116602. export interface SeriesTreemapDataDataLabelsAnimationOptions {
  116603. /**
  116604. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  116605. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  116606. * time from the series.animation.defer.
  116607. */
  116608. defer?: number;
  116609. }
  116610. /**
  116611. * (Highcharts) Style options for the guide box. The guide box has one state by
  116612. * default, the `default` state.
  116613. */
  116614. export interface SeriesTreemapDataDragDropGuideBoxOptions {
  116615. /**
  116616. * (Highcharts) Style options for the guide box default state.
  116617. */
  116618. default?: DragDropGuideBoxOptionsObject;
  116619. }
  116620. /**
  116621. * (Highcharts) A `treemap` series. If the type option is not specified, it is
  116622. * inherited from chart.type.
  116623. *
  116624. * In TypeScript the type option must always be set.
  116625. *
  116626. * Configuration options for the series are given in three levels:
  116627. *
  116628. * 1. Options for all series in a chart are defined in the plotOptions.series
  116629. * object.
  116630. *
  116631. * 2. Options for all `treemap` series are defined in plotOptions.treemap.
  116632. *
  116633. * 3. Options for one single series are given in the series instance array. (see
  116634. * online documentation for example)
  116635. *
  116636. * You have to extend the `SeriesTreemapOptions` via an interface to allow
  116637. * custom properties: ``` declare interface SeriesTreemapOptions {
  116638. * customProperty: string; }
  116639. *
  116640. */
  116641. export interface SeriesTreemapOptions extends PlotTreemapOptions, SeriesOptions {
  116642. /**
  116643. * (Highcharts) An array of data points for the series. For the `treemap`
  116644. * series type, points can be given in the following ways:
  116645. *
  116646. * 1. An array of numerical values. In this case, the numerical values will
  116647. * be interpreted as `value` options. Example: (see online documentation for
  116648. * example)
  116649. *
  116650. * 2. An array of objects with named values. The following snippet shows
  116651. * only a few settings, see the complete options set below. If the total
  116652. * number of data points exceeds the series' turboThreshold, this option is
  116653. * not available. (see online documentation for example)
  116654. */
  116655. data?: Array<(number|null|PointOptionsObject)>;
  116656. /**
  116657. * Not available
  116658. */
  116659. dataParser?: undefined;
  116660. /**
  116661. * Not available
  116662. */
  116663. dataURL?: undefined;
  116664. /**
  116665. * Not available
  116666. */
  116667. stack?: undefined;
  116668. /**
  116669. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116670. * TypeScript non-optional and might be `undefined` in series objects from
  116671. * unknown sources.
  116672. */
  116673. type: "treemap";
  116674. }
  116675. /**
  116676. * (Highstock) A `TrendLine` series. If the type option is not specified, it is
  116677. * inherited from chart.type.
  116678. *
  116679. * In TypeScript the type option must always be set.
  116680. *
  116681. * Configuration options for the series are given in three levels:
  116682. *
  116683. * 1. Options for all series in a chart are defined in the plotOptions.series
  116684. * object.
  116685. *
  116686. * 2. Options for all `trendline` series are defined in plotOptions.trendline.
  116687. *
  116688. * 3. Options for one single series are given in the series instance array. (see
  116689. * online documentation for example)
  116690. *
  116691. * You have to extend the `SeriesTrendlineOptions` via an interface to allow
  116692. * custom properties: ``` declare interface SeriesTrendlineOptions {
  116693. * customProperty: string; }
  116694. *
  116695. */
  116696. export interface SeriesTrendlineOptions extends PlotTrendlineOptions, SeriesOptions {
  116697. /**
  116698. * Not available
  116699. */
  116700. dataParser?: undefined;
  116701. /**
  116702. * Not available
  116703. */
  116704. dataURL?: undefined;
  116705. /**
  116706. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116707. * TypeScript non-optional and might be `undefined` in series objects from
  116708. * unknown sources.
  116709. */
  116710. type: "trendline";
  116711. }
  116712. /**
  116713. * (Highstock) A `TRIX` series. If the type option is not specified, it is
  116714. * inherited from chart.type.
  116715. *
  116716. * In TypeScript the type option must always be set.
  116717. *
  116718. * Configuration options for the series are given in three levels:
  116719. *
  116720. * 1. Options for all series in a chart are defined in the plotOptions.series
  116721. * object.
  116722. *
  116723. * 2. Options for all `trix` series are defined in plotOptions.trix.
  116724. *
  116725. * 3. Options for one single series are given in the series instance array. (see
  116726. * online documentation for example)
  116727. *
  116728. * You have to extend the `SeriesTrixOptions` via an interface to allow custom
  116729. * properties: ``` declare interface SeriesTrixOptions { customProperty: string;
  116730. * }
  116731. *
  116732. */
  116733. export interface SeriesTrixOptions extends PlotTrixOptions, SeriesOptions {
  116734. /**
  116735. * Not available
  116736. */
  116737. dataParser?: undefined;
  116738. /**
  116739. * Not available
  116740. */
  116741. dataURL?: undefined;
  116742. /**
  116743. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116744. * TypeScript non-optional and might be `undefined` in series objects from
  116745. * unknown sources.
  116746. */
  116747. type: "trix";
  116748. }
  116749. /**
  116750. * (Highcharts) Enable or disable the initial animation when a series is
  116751. * displayed for the `dataLabels`. The animation can also be set as a
  116752. * configuration object. Please note that this option only applies to the
  116753. * initial animation. For other animations, see chart.animation and the
  116754. * animation parameter under the API methods. The following properties are
  116755. * supported:
  116756. *
  116757. * - `defer`: The animation delay time in milliseconds.
  116758. */
  116759. export interface SeriesVariablepieDataDataLabelsAnimationOptions {
  116760. /**
  116761. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  116762. * dataLabel immediately. As `undefined` inherits defer time from the
  116763. * series.animation.defer.
  116764. */
  116765. defer?: number;
  116766. }
  116767. /**
  116768. * (Highcharts) Style options for the guide box. The guide box has one state by
  116769. * default, the `default` state.
  116770. */
  116771. export interface SeriesVariablepieDataDragDropGuideBoxOptions {
  116772. /**
  116773. * (Highcharts) Style options for the guide box default state.
  116774. */
  116775. default?: DragDropGuideBoxOptionsObject;
  116776. }
  116777. /**
  116778. * (Highcharts) A `variablepie` series. If the type option is not specified, it
  116779. * is inherited from chart.type.
  116780. *
  116781. * In TypeScript the type option must always be set.
  116782. *
  116783. * Configuration options for the series are given in three levels:
  116784. *
  116785. * 1. Options for all series in a chart are defined in the plotOptions.series
  116786. * object.
  116787. *
  116788. * 2. Options for all `variablepie` series are defined in
  116789. * plotOptions.variablepie.
  116790. *
  116791. * 3. Options for one single series are given in the series instance array. (see
  116792. * online documentation for example)
  116793. *
  116794. * You have to extend the `SeriesVariablepieOptions` via an interface to allow
  116795. * custom properties: ``` declare interface SeriesVariablepieOptions {
  116796. * customProperty: string; }
  116797. *
  116798. */
  116799. export interface SeriesVariablepieOptions extends PlotVariablepieOptions, SeriesOptions {
  116800. /**
  116801. * (Highcharts) An array of data points for the series. For the
  116802. * `variablepie` series type, points can be given in the following ways:
  116803. *
  116804. * 1. An array of arrays with 2 values. In this case, the numerical values
  116805. * will be interpreted as `y, z` options. Example: (see online documentation
  116806. * for example)
  116807. *
  116808. * 2. An array of objects with named values. The following snippet shows
  116809. * only a few settings, see the complete options set below. If the total
  116810. * number of data points exceeds the series' turboThreshold, this option is
  116811. * not available. (see online documentation for example)
  116812. */
  116813. data?: Array<([(number|string), number]|PointOptionsObject)>;
  116814. /**
  116815. * Not available
  116816. */
  116817. dataParser?: undefined;
  116818. /**
  116819. * Not available
  116820. */
  116821. dataURL?: undefined;
  116822. /**
  116823. * Not available
  116824. */
  116825. stack?: undefined;
  116826. /**
  116827. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116828. * TypeScript non-optional and might be `undefined` in series objects from
  116829. * unknown sources.
  116830. */
  116831. type: "variablepie";
  116832. /**
  116833. * Not available
  116834. */
  116835. xAxis?: undefined;
  116836. /**
  116837. * Not available
  116838. */
  116839. yAxis?: undefined;
  116840. }
  116841. /**
  116842. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  116843. * series is displayed for the `dataLabels`. The animation can also be set as a
  116844. * configuration object. Please note that this option only applies to the
  116845. * initial animation. For other animations, see chart.animation and the
  116846. * animation parameter under the API methods. The following properties are
  116847. * supported:
  116848. *
  116849. * - `defer`: The animation delay time in milliseconds.
  116850. */
  116851. export interface SeriesVariwideDataDataLabelsAnimationOptions {
  116852. /**
  116853. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  116854. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  116855. * time from the series.animation.defer.
  116856. */
  116857. defer?: number;
  116858. }
  116859. /**
  116860. * (Highcharts) Style options for the guide box. The guide box has one state by
  116861. * default, the `default` state.
  116862. */
  116863. export interface SeriesVariwideDataDragDropGuideBoxOptions {
  116864. /**
  116865. * (Highcharts) Style options for the guide box default state.
  116866. */
  116867. default?: DragDropGuideBoxOptionsObject;
  116868. }
  116869. /**
  116870. * (Highcharts) A `variwide` series. If the type option is not specified, it is
  116871. * inherited from chart.type.
  116872. *
  116873. * In TypeScript the type option must always be set.
  116874. *
  116875. * Configuration options for the series are given in three levels:
  116876. *
  116877. * 1. Options for all series in a chart are defined in the plotOptions.series
  116878. * object.
  116879. *
  116880. * 2. Options for all `variwide` series are defined in plotOptions.variwide.
  116881. *
  116882. * 3. Options for one single series are given in the series instance array. (see
  116883. * online documentation for example)
  116884. *
  116885. * You have to extend the `SeriesVariwideOptions` via an interface to allow
  116886. * custom properties: ``` declare interface SeriesVariwideOptions {
  116887. * customProperty: string; }
  116888. *
  116889. */
  116890. export interface SeriesVariwideOptions extends PlotVariwideOptions, SeriesOptions {
  116891. /**
  116892. * (Highcharts) An array of data points for the series. For the `variwide`
  116893. * series type, points can be given in the following ways:
  116894. *
  116895. * 1. An array of arrays with 3 or 2 values. In this case, the values
  116896. * correspond to `x,y,z`. If the first value is a string, it is applied as
  116897. * the name of the point, and the `x` value is inferred. The `x` value can
  116898. * also be omitted, in which case the inner arrays should be of length 2.
  116899. * Then the `x` value is automatically calculated, either starting at 0 and
  116900. * incremented by 1, or from `pointStart` and `pointInterval` given in the
  116901. * series options. (see online documentation for example)
  116902. *
  116903. * 2. An array of objects with named values. The following snippet shows
  116904. * only a few settings, see the complete options set below. If the total
  116905. * number of data points exceeds the series' turboThreshold, this option is
  116906. * not available. (see online documentation for example)
  116907. */
  116908. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  116909. /**
  116910. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116911. * TypeScript non-optional and might be `undefined` in series objects from
  116912. * unknown sources.
  116913. */
  116914. type: "variwide";
  116915. }
  116916. /**
  116917. * (Highstock) A `Volume By Price (VBP)` series. If the type option is not
  116918. * specified, it is inherited from chart.type.
  116919. *
  116920. * In TypeScript the type option must always be set.
  116921. *
  116922. * Configuration options for the series are given in three levels:
  116923. *
  116924. * 1. Options for all series in a chart are defined in the plotOptions.series
  116925. * object.
  116926. *
  116927. * 2. Options for all `vbp` series are defined in plotOptions.vbp.
  116928. *
  116929. * 3. Options for one single series are given in the series instance array. (see
  116930. * online documentation for example)
  116931. *
  116932. * You have to extend the `SeriesVbpOptions` via an interface to allow custom
  116933. * properties: ``` declare interface SeriesVbpOptions { customProperty: string;
  116934. * }
  116935. *
  116936. */
  116937. export interface SeriesVbpOptions extends PlotVbpOptions, SeriesOptions {
  116938. /**
  116939. * Not available
  116940. */
  116941. dataParser?: undefined;
  116942. /**
  116943. * Not available
  116944. */
  116945. dataURL?: undefined;
  116946. /**
  116947. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116948. * TypeScript non-optional and might be `undefined` in series objects from
  116949. * unknown sources.
  116950. */
  116951. type: "vbp";
  116952. }
  116953. /**
  116954. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  116955. * series is displayed for the `dataLabels`. The animation can also be set as a
  116956. * configuration object. Please note that this option only applies to the
  116957. * initial animation. For other animations, see chart.animation and the
  116958. * animation parameter under the API methods. The following properties are
  116959. * supported:
  116960. *
  116961. * - `defer`: The animation delay time in milliseconds.
  116962. */
  116963. export interface SeriesVectorDataDataLabelsAnimationOptions {
  116964. /**
  116965. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  116966. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  116967. * time from the series.animation.defer.
  116968. */
  116969. defer?: number;
  116970. }
  116971. /**
  116972. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  116973. * one state by default, the `default` state.
  116974. */
  116975. export interface SeriesVectorDataDragDropGuideBoxOptions {
  116976. /**
  116977. * (Highcharts, Highstock) Style options for the guide box default state.
  116978. */
  116979. default?: DragDropGuideBoxOptionsObject;
  116980. }
  116981. /**
  116982. * (Highcharts, Highstock) A `vector` series. If the type option is not
  116983. * specified, it is inherited from chart.type.
  116984. *
  116985. * In TypeScript the type option must always be set.
  116986. *
  116987. * Configuration options for the series are given in three levels:
  116988. *
  116989. * 1. Options for all series in a chart are defined in the plotOptions.series
  116990. * object.
  116991. *
  116992. * 2. Options for all `vector` series are defined in plotOptions.vector.
  116993. *
  116994. * 3. Options for one single series are given in the series instance array. (see
  116995. * online documentation for example)
  116996. *
  116997. * You have to extend the `SeriesVectorOptions` via an interface to allow custom
  116998. * properties: ``` declare interface SeriesVectorOptions { customProperty:
  116999. * string; }
  117000. *
  117001. */
  117002. export interface SeriesVectorOptions extends PlotVectorOptions, SeriesOptions {
  117003. /**
  117004. * (Highcharts, Highstock) An array of data points for the series. For the
  117005. * `vector` series type, points can be given in the following ways:
  117006. *
  117007. * 1. An array of arrays with 4 values. In this case, the values correspond
  117008. * to to `x,y,length,direction`. If the first value is a string, it is
  117009. * applied as the name of the point, and the `x` value is inferred. (see
  117010. * online documentation for example)
  117011. *
  117012. * 2. An array of objects with named values. The following snippet shows
  117013. * only a few settings, see the complete options set below. If the total
  117014. * number of data points exceeds the series' turboThreshold, this option is
  117015. * not available. (see online documentation for example)
  117016. */
  117017. data?: Array<([(number|string), number, number, number]|PointOptionsObject)>;
  117018. /**
  117019. * Not available
  117020. */
  117021. dataParser?: undefined;
  117022. /**
  117023. * Not available
  117024. */
  117025. dataURL?: undefined;
  117026. /**
  117027. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117028. * TypeScript non-optional and might be `undefined` in series objects from
  117029. * unknown sources.
  117030. */
  117031. type: "vector";
  117032. }
  117033. /**
  117034. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  117035. * series is displayed for the `dataLabels`. The animation can also be set as a
  117036. * configuration object. Please note that this option only applies to the
  117037. * initial animation. For other animations, see chart.animation and the
  117038. * animation parameter under the API methods. The following properties are
  117039. * supported:
  117040. *
  117041. * - `defer`: The animation delay time in milliseconds.
  117042. */
  117043. export interface SeriesVennDataDataLabelsAnimationOptions {
  117044. /**
  117045. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  117046. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  117047. * time from the series.animation.defer.
  117048. */
  117049. defer?: number;
  117050. }
  117051. /**
  117052. * (Highcharts) Style options for the guide box. The guide box has one state by
  117053. * default, the `default` state.
  117054. */
  117055. export interface SeriesVennDataDragDropGuideBoxOptions {
  117056. /**
  117057. * (Highcharts) Style options for the guide box default state.
  117058. */
  117059. default?: DragDropGuideBoxOptionsObject;
  117060. }
  117061. /**
  117062. * (Highcharts) A `venn` series. If the type option is not specified, it is
  117063. * inherited from chart.type.
  117064. *
  117065. * In TypeScript the type option must always be set.
  117066. *
  117067. * Configuration options for the series are given in three levels:
  117068. *
  117069. * 1. Options for all series in a chart are defined in the plotOptions.series
  117070. * object.
  117071. *
  117072. * 2. Options for all `venn` series are defined in plotOptions.venn.
  117073. *
  117074. * 3. Options for one single series are given in the series instance array. (see
  117075. * online documentation for example)
  117076. *
  117077. * You have to extend the `SeriesVennOptions` via an interface to allow custom
  117078. * properties: ``` declare interface SeriesVennOptions { customProperty: string;
  117079. * }
  117080. *
  117081. */
  117082. export interface SeriesVennOptions extends PlotVennOptions, SeriesOptions {
  117083. /**
  117084. * (Highcharts) An array of data points for the series. For the `scatter`
  117085. * series type, points can be given in the following ways:
  117086. *
  117087. * 1. An array of numerical values. In this case, the numerical values will
  117088. * be interpreted as `y` options. The `x` values will be automatically
  117089. * calculated, either starting at 0 and incremented by 1, or from
  117090. * `pointStart` and `pointInterval` given in the series options. If the axis
  117091. * has categories, these will be used. Example: (see online documentation
  117092. * for example)
  117093. *
  117094. * 2. An array of arrays with 2 values. In this case, the values correspond
  117095. * to `x,y`. If the first value is a string, it is applied as the name of
  117096. * the point, and the `x` value is inferred. (see online documentation for
  117097. * example)
  117098. *
  117099. * 3. An array of objects with named values. The following snippet shows
  117100. * only a few settings, see the complete options set below. If the total
  117101. * number of data points exceeds the series' turboThreshold, this option is
  117102. * not available. (see online documentation for example)
  117103. */
  117104. data?: Array<PointOptionsObject>;
  117105. /**
  117106. * Not available
  117107. */
  117108. dataParser?: undefined;
  117109. /**
  117110. * Not available
  117111. */
  117112. dataURL?: undefined;
  117113. /**
  117114. * Not available
  117115. */
  117116. stack?: undefined;
  117117. /**
  117118. * Not available
  117119. */
  117120. steps?: undefined;
  117121. /**
  117122. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117123. * TypeScript non-optional and might be `undefined` in series objects from
  117124. * unknown sources.
  117125. */
  117126. type: "venn";
  117127. /**
  117128. * Not available
  117129. */
  117130. xAxis?: undefined;
  117131. /**
  117132. * Not available
  117133. */
  117134. yAxis?: undefined;
  117135. }
  117136. /**
  117137. * (Highstock) A `Volume Weighted Average Price (VWAP)` series. If the type
  117138. * option is not specified, it is inherited from chart.type.
  117139. *
  117140. * In TypeScript the type option must always be set.
  117141. *
  117142. * Configuration options for the series are given in three levels:
  117143. *
  117144. * 1. Options for all series in a chart are defined in the plotOptions.series
  117145. * object.
  117146. *
  117147. * 2. Options for all `vwap` series are defined in plotOptions.vwap.
  117148. *
  117149. * 3. Options for one single series are given in the series instance array. (see
  117150. * online documentation for example)
  117151. *
  117152. * You have to extend the `SeriesVwapOptions` via an interface to allow custom
  117153. * properties: ``` declare interface SeriesVwapOptions { customProperty: string;
  117154. * }
  117155. *
  117156. */
  117157. export interface SeriesVwapOptions extends PlotVwapOptions, SeriesOptions {
  117158. /**
  117159. * Not available
  117160. */
  117161. dataParser?: undefined;
  117162. /**
  117163. * Not available
  117164. */
  117165. dataURL?: undefined;
  117166. /**
  117167. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117168. * TypeScript non-optional and might be `undefined` in series objects from
  117169. * unknown sources.
  117170. */
  117171. type: "vwap";
  117172. }
  117173. /**
  117174. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  117175. * series is displayed for the `dataLabels`. The animation can also be set as a
  117176. * configuration object. Please note that this option only applies to the
  117177. * initial animation. For other animations, see chart.animation and the
  117178. * animation parameter under the API methods. The following properties are
  117179. * supported:
  117180. *
  117181. * - `defer`: The animation delay time in milliseconds.
  117182. */
  117183. export interface SeriesWaterfallDataDataLabelsAnimationOptions {
  117184. /**
  117185. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  117186. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  117187. * time from the series.animation.defer.
  117188. */
  117189. defer?: number;
  117190. }
  117191. /**
  117192. * (Highcharts) Style options for the guide box. The guide box has one state by
  117193. * default, the `default` state.
  117194. */
  117195. export interface SeriesWaterfallDataDragDropGuideBoxOptions {
  117196. /**
  117197. * (Highcharts) Style options for the guide box default state.
  117198. */
  117199. default?: DragDropGuideBoxOptionsObject;
  117200. }
  117201. /**
  117202. * (Highcharts) A `waterfall` series. If the type option is not specified, it is
  117203. * inherited from chart.type.
  117204. *
  117205. * In TypeScript the type option must always be set.
  117206. *
  117207. * Configuration options for the series are given in three levels:
  117208. *
  117209. * 1. Options for all series in a chart are defined in the plotOptions.series
  117210. * object.
  117211. *
  117212. * 2. Options for all `waterfall` series are defined in plotOptions.waterfall.
  117213. *
  117214. * 3. Options for one single series are given in the series instance array. (see
  117215. * online documentation for example)
  117216. *
  117217. * You have to extend the `SeriesWaterfallOptions` via an interface to allow
  117218. * custom properties: ``` declare interface SeriesWaterfallOptions {
  117219. * customProperty: string; }
  117220. *
  117221. */
  117222. export interface SeriesWaterfallOptions extends PlotWaterfallOptions, SeriesOptions {
  117223. /**
  117224. * (Highcharts) An array of data points for the series. For the `waterfall`
  117225. * series type, points can be given in the following ways:
  117226. *
  117227. * 1. An array of numerical values. In this case, the numerical values will
  117228. * be interpreted as `y` options. The `x` values will be automatically
  117229. * calculated, either starting at 0 and incremented by 1, or from
  117230. * `pointStart` and `pointInterval` given in the series options. If the axis
  117231. * has categories, these will be used. Example: (see online documentation
  117232. * for example)
  117233. *
  117234. * 2. An array of arrays with 2 values. In this case, the values correspond
  117235. * to `x,y`. If the first value is a string, it is applied as the name of
  117236. * the point, and the `x` value is inferred. (see online documentation for
  117237. * example)
  117238. *
  117239. * 3. An array of objects with named values. The following snippet shows
  117240. * only a few settings, see the complete options set below. If the total
  117241. * number of data points exceeds the series' turboThreshold, this option is
  117242. * not available. (see online documentation for example)
  117243. */
  117244. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  117245. /**
  117246. * Not available
  117247. */
  117248. dataParser?: undefined;
  117249. /**
  117250. * Not available
  117251. */
  117252. dataURL?: undefined;
  117253. /**
  117254. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117255. * TypeScript non-optional and might be `undefined` in series objects from
  117256. * unknown sources.
  117257. */
  117258. type: "waterfall";
  117259. }
  117260. /**
  117261. * (Highstock) A `Williams %R Oscillator` series. If the type option is not
  117262. * specified, it is inherited from chart.type.
  117263. *
  117264. * In TypeScript the type option must always be set.
  117265. *
  117266. * Configuration options for the series are given in three levels:
  117267. *
  117268. * 1. Options for all series in a chart are defined in the plotOptions.series
  117269. * object.
  117270. *
  117271. * 2. Options for all `williamsr` series are defined in plotOptions.williamsr.
  117272. *
  117273. * 3. Options for one single series are given in the series instance array. (see
  117274. * online documentation for example)
  117275. *
  117276. * You have to extend the `SeriesWilliamsrOptions` via an interface to allow
  117277. * custom properties: ``` declare interface SeriesWilliamsrOptions {
  117278. * customProperty: string; }
  117279. *
  117280. */
  117281. export interface SeriesWilliamsrOptions extends PlotWilliamsrOptions, SeriesOptions {
  117282. /**
  117283. * Not available
  117284. */
  117285. dataParser?: undefined;
  117286. /**
  117287. * Not available
  117288. */
  117289. dataURL?: undefined;
  117290. /**
  117291. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117292. * TypeScript non-optional and might be `undefined` in series objects from
  117293. * unknown sources.
  117294. */
  117295. type: "williamsr";
  117296. }
  117297. /**
  117298. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  117299. * series is displayed for the `dataLabels`. The animation can also be set as a
  117300. * configuration object. Please note that this option only applies to the
  117301. * initial animation. For other animations, see chart.animation and the
  117302. * animation parameter under the API methods. The following properties are
  117303. * supported:
  117304. *
  117305. * - `defer`: The animation delay time in milliseconds.
  117306. */
  117307. export interface SeriesWindbarbDataDataLabelsAnimationOptions {
  117308. /**
  117309. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  117310. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  117311. * time from the series.animation.defer.
  117312. */
  117313. defer?: number;
  117314. }
  117315. /**
  117316. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  117317. * one state by default, the `default` state.
  117318. */
  117319. export interface SeriesWindbarbDataDragDropGuideBoxOptions {
  117320. /**
  117321. * (Highcharts, Highstock) Style options for the guide box default state.
  117322. */
  117323. default?: DragDropGuideBoxOptionsObject;
  117324. }
  117325. /**
  117326. * (Highcharts, Highstock) A `windbarb` series. If the type option is not
  117327. * specified, it is inherited from chart.type.
  117328. *
  117329. * In TypeScript the type option must always be set.
  117330. *
  117331. * Configuration options for the series are given in three levels:
  117332. *
  117333. * 1. Options for all series in a chart are defined in the plotOptions.series
  117334. * object.
  117335. *
  117336. * 2. Options for all `windbarb` series are defined in plotOptions.windbarb.
  117337. *
  117338. * 3. Options for one single series are given in the series instance array. (see
  117339. * online documentation for example)
  117340. *
  117341. * You have to extend the `SeriesWindbarbOptions` via an interface to allow
  117342. * custom properties: ``` declare interface SeriesWindbarbOptions {
  117343. * customProperty: string; }
  117344. *
  117345. */
  117346. export interface SeriesWindbarbOptions extends PlotWindbarbOptions, SeriesOptions {
  117347. /**
  117348. * (Highcharts, Highstock) An array of data points for the series. For the
  117349. * `windbarb` series type, points can be given in the following ways:
  117350. *
  117351. * 1. An array of arrays with 3 values. In this case, the values correspond
  117352. * to `x,value,direction`. If the first value is a string, it is applied as
  117353. * the name of the point, and the `x` value is inferred. (see online
  117354. * documentation for example)
  117355. *
  117356. * 2. An array of objects with named values. The following snippet shows
  117357. * only a few settings, see the complete options set below. If the total
  117358. * number of data points exceeds the series' turboThreshold, this option is
  117359. * not available. (see online documentation for example)
  117360. */
  117361. data?: Array<([(number|string), number, number]|PointOptionsObject)>;
  117362. /**
  117363. * Not available
  117364. */
  117365. dataParser?: undefined;
  117366. /**
  117367. * Not available
  117368. */
  117369. dataURL?: undefined;
  117370. /**
  117371. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117372. * TypeScript non-optional and might be `undefined` in series objects from
  117373. * unknown sources.
  117374. */
  117375. type: "windbarb";
  117376. }
  117377. /**
  117378. * (Highstock) A `WMA` series. If the type option is not specified, it is
  117379. * inherited from chart.type.
  117380. *
  117381. * In TypeScript the type option must always be set.
  117382. *
  117383. * Configuration options for the series are given in three levels:
  117384. *
  117385. * 1. Options for all series in a chart are defined in the plotOptions.series
  117386. * object.
  117387. *
  117388. * 2. Options for all `wma` series are defined in plotOptions.wma.
  117389. *
  117390. * 3. Options for one single series are given in the series instance array. (see
  117391. * online documentation for example)
  117392. *
  117393. * You have to extend the `SeriesWmaOptions` via an interface to allow custom
  117394. * properties: ``` declare interface SeriesWmaOptions { customProperty: string;
  117395. * }
  117396. *
  117397. */
  117398. export interface SeriesWmaOptions extends PlotWmaOptions, SeriesOptions {
  117399. /**
  117400. * Not available
  117401. */
  117402. dataParser?: undefined;
  117403. /**
  117404. * Not available
  117405. */
  117406. dataURL?: undefined;
  117407. /**
  117408. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117409. * TypeScript non-optional and might be `undefined` in series objects from
  117410. * unknown sources.
  117411. */
  117412. type: "wma";
  117413. }
  117414. /**
  117415. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  117416. * series is displayed for the `dataLabels`. The animation can also be set as a
  117417. * configuration object. Please note that this option only applies to the
  117418. * initial animation. For other animations, see chart.animation and the
  117419. * animation parameter under the API methods. The following properties are
  117420. * supported:
  117421. *
  117422. * - `defer`: The animation delay time in milliseconds.
  117423. */
  117424. export interface SeriesWordcloudDataDataLabelsAnimationOptions {
  117425. /**
  117426. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  117427. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  117428. * time from the series.animation.defer.
  117429. */
  117430. defer?: number;
  117431. }
  117432. /**
  117433. * (Highcharts) Style options for the guide box. The guide box has one state by
  117434. * default, the `default` state.
  117435. */
  117436. export interface SeriesWordcloudDataDragDropGuideBoxOptions {
  117437. /**
  117438. * (Highcharts) Style options for the guide box default state.
  117439. */
  117440. default?: DragDropGuideBoxOptionsObject;
  117441. }
  117442. /**
  117443. * (Highcharts) A `wordcloud` series. If the type option is not specified, it is
  117444. * inherited from chart.type.
  117445. *
  117446. * In TypeScript the type option must always be set.
  117447. *
  117448. * Configuration options for the series are given in three levels:
  117449. *
  117450. * 1. Options for all series in a chart are defined in the plotOptions.series
  117451. * object.
  117452. *
  117453. * 2. Options for all `wordcloud` series are defined in plotOptions.wordcloud.
  117454. *
  117455. * 3. Options for one single series are given in the series instance array. (see
  117456. * online documentation for example)
  117457. *
  117458. * You have to extend the `SeriesWordcloudOptions` via an interface to allow
  117459. * custom properties: ``` declare interface SeriesWordcloudOptions {
  117460. * customProperty: string; }
  117461. *
  117462. */
  117463. export interface SeriesWordcloudOptions extends PlotWordcloudOptions, SeriesOptions {
  117464. /**
  117465. * (Highcharts) An array of data points for the series. For the `wordcloud`
  117466. * series type, points can be given in the following ways:
  117467. *
  117468. * 1. An array of arrays with 2 values. In this case, the values correspond
  117469. * to `name,weight`. (see online documentation for example)
  117470. *
  117471. * 2. An array of objects with named values. The following snippet shows
  117472. * only a few settings, see the complete options set below. If the total
  117473. * number of data points exceeds the series' turboThreshold, this option is
  117474. * not available. (see online documentation for example)
  117475. */
  117476. data?: Array<([string, number]|PointOptionsObject)>;
  117477. /**
  117478. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117479. * TypeScript non-optional and might be `undefined` in series objects from
  117480. * unknown sources.
  117481. */
  117482. type: "wordcloud";
  117483. }
  117484. /**
  117485. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  117486. * series is displayed for the `dataLabels`. The animation can also be set as a
  117487. * configuration object. Please note that this option only applies to the
  117488. * initial animation. For other animations, see chart.animation and the
  117489. * animation parameter under the API methods. The following properties are
  117490. * supported:
  117491. *
  117492. * - `defer`: The animation delay time in milliseconds.
  117493. */
  117494. export interface SeriesXrangeDataDataLabelsAnimationOptions {
  117495. /**
  117496. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  117497. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  117498. * time from the series.animation.defer.
  117499. */
  117500. defer?: number;
  117501. }
  117502. /**
  117503. * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide box
  117504. * has one state by default, the `default` state.
  117505. */
  117506. export interface SeriesXrangeDataDragDropGuideBoxOptions {
  117507. /**
  117508. * (Highcharts, Highstock, Gantt) Style options for the guide box default
  117509. * state.
  117510. */
  117511. default?: DragDropGuideBoxOptionsObject;
  117512. }
  117513. /**
  117514. * (Highcharts, Highstock, Gantt) An `xrange` series. If the type option is not
  117515. * specified, it is inherited from chart.type.
  117516. *
  117517. * In TypeScript the type option must always be set.
  117518. *
  117519. * Configuration options for the series are given in three levels:
  117520. *
  117521. * 1. Options for all series in a chart are defined in the plotOptions.series
  117522. * object.
  117523. *
  117524. * 2. Options for all `xrange` series are defined in plotOptions.xrange.
  117525. *
  117526. * 3. Options for one single series are given in the series instance array. (see
  117527. * online documentation for example)
  117528. *
  117529. * You have to extend the `SeriesXrangeOptions` via an interface to allow custom
  117530. * properties: ``` declare interface SeriesXrangeOptions { customProperty:
  117531. * string; }
  117532. *
  117533. */
  117534. export interface SeriesXrangeOptions extends PlotXrangeOptions, SeriesOptions {
  117535. /**
  117536. * (Highcharts, Highstock, Gantt) An array of data points for the series.
  117537. * For the `xrange` series type, points can be given in the following ways:
  117538. *
  117539. * 1. An array of objects with named values. The objects are point
  117540. * configuration objects as seen below. (see online documentation for
  117541. * example)
  117542. */
  117543. data?: Array<XrangePointOptionsObject>;
  117544. /**
  117545. * Not available
  117546. */
  117547. depth?: undefined;
  117548. /**
  117549. * Not available
  117550. */
  117551. edgeColor?: undefined;
  117552. /**
  117553. * Not available
  117554. */
  117555. edgeWidth?: undefined;
  117556. /**
  117557. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117558. * TypeScript non-optional and might be `undefined` in series objects from
  117559. * unknown sources.
  117560. */
  117561. type: "xrange";
  117562. }
  117563. /**
  117564. * (Highstock) A `Zig Zag` series. If the type option is not specified, it is
  117565. * inherited from chart.type.
  117566. *
  117567. * In TypeScript the type option must always be set.
  117568. *
  117569. * Configuration options for the series are given in three levels:
  117570. *
  117571. * 1. Options for all series in a chart are defined in the plotOptions.series
  117572. * object.
  117573. *
  117574. * 2. Options for all `zigzag` series are defined in plotOptions.zigzag.
  117575. *
  117576. * 3. Options for one single series are given in the series instance array. (see
  117577. * online documentation for example)
  117578. *
  117579. * You have to extend the `SeriesZigzagOptions` via an interface to allow custom
  117580. * properties: ``` declare interface SeriesZigzagOptions { customProperty:
  117581. * string; }
  117582. *
  117583. */
  117584. export interface SeriesZigzagOptions extends PlotZigzagOptions, SeriesOptions {
  117585. /**
  117586. * Not available
  117587. */
  117588. dataParser?: undefined;
  117589. /**
  117590. * Not available
  117591. */
  117592. dataURL?: undefined;
  117593. /**
  117594. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117595. * TypeScript non-optional and might be `undefined` in series objects from
  117596. * unknown sources.
  117597. */
  117598. type: "zigzag";
  117599. }
  117600. /**
  117601. * (Highcharts, Highstock) An array defining zones within a series. Zones can be
  117602. * applied to the X axis, Y axis or Z axis for bubbles, according to the
  117603. * `zoneAxis` option. The zone definitions have to be in ascending order
  117604. * regarding to the value.
  117605. *
  117606. * In styled mode, the color zones are styled with the `.highcharts-zone-{n}`
  117607. * class, or custom classed from the `className` option (view live demo).
  117608. */
  117609. export interface SeriesZonesOptionsObject {
  117610. /**
  117611. * (Highcharts, Highstock) Styled mode only. A custom class name for the
  117612. * zone.
  117613. */
  117614. className?: string;
  117615. /**
  117616. * (Highcharts, Highstock) Defines the color of the series.
  117617. */
  117618. color?: (ColorString|GradientColorObject|PatternObject);
  117619. /**
  117620. * (Highcharts, Highstock) A name for the dash style to use for the graph.
  117621. */
  117622. dashStyle?: DashStyleValue;
  117623. /**
  117624. * (Highcharts, Highstock) Defines the fill color for the series (in area
  117625. * type series)
  117626. */
  117627. fillColor?: (ColorString|GradientColorObject|PatternObject);
  117628. /**
  117629. * (Highcharts, Highstock) The value up to where the zone extends, if
  117630. * undefined the zones stretches to the last value in the series.
  117631. */
  117632. value?: number;
  117633. }
  117634. /**
  117635. * The shadow options.
  117636. */
  117637. export interface ShadowOptionsObject {
  117638. /**
  117639. * The shadow color.
  117640. */
  117641. color?: ColorString;
  117642. /**
  117643. * The horizontal offset from the element.
  117644. */
  117645. offsetX?: number;
  117646. /**
  117647. * The vertical offset from the element.
  117648. */
  117649. offsetY?: number;
  117650. /**
  117651. * The shadow opacity.
  117652. */
  117653. opacity?: number;
  117654. /**
  117655. * The shadow width or distance from the element.
  117656. */
  117657. width?: number;
  117658. }
  117659. export interface SizeObject {
  117660. height: number;
  117661. width: number;
  117662. }
  117663. /**
  117664. * (Highcharts) Stack of data points
  117665. */
  117666. export interface StackItemObject {
  117667. /**
  117668. * Alignment settings
  117669. */
  117670. alignOptions: AlignObject;
  117671. /**
  117672. * Related axis
  117673. */
  117674. axis: Axis;
  117675. /**
  117676. * Cumulative value of the stacked data points
  117677. */
  117678. cumulative: number;
  117679. /**
  117680. * True if on the negative side
  117681. */
  117682. isNegative: boolean;
  117683. /**
  117684. * Related SVG element
  117685. */
  117686. label: SVGElement;
  117687. /**
  117688. * Related stack options
  117689. */
  117690. options: YAxisStackLabelsOptions;
  117691. /**
  117692. * Total value of the stacked data points
  117693. */
  117694. total: number;
  117695. /**
  117696. * Shared x value of the stack
  117697. */
  117698. x: number;
  117699. }
  117700. export interface StockToolsGuiDefinitionsAdvancedFibonacciOptions {
  117701. /**
  117702. * (Highstock) A predefined background symbol for the button.
  117703. */
  117704. symbol?: string;
  117705. }
  117706. export interface StockToolsGuiDefinitionsAdvancedOptions {
  117707. fibonacci?: StockToolsGuiDefinitionsAdvancedFibonacciOptions;
  117708. /**
  117709. * (Highstock) A collection of strings pointing to config options for the
  117710. * items.
  117711. */
  117712. items?: any[];
  117713. parallelChannel?: StockToolsGuiDefinitionsAdvancedParallelChannelOptions;
  117714. pitchfork?: StockToolsGuiDefinitionsAdvancedPitchforkOptions;
  117715. }
  117716. export interface StockToolsGuiDefinitionsAdvancedParallelChannelOptions {
  117717. /**
  117718. * (Highstock) A predefined background symbol for the button.
  117719. */
  117720. symbol?: string;
  117721. }
  117722. export interface StockToolsGuiDefinitionsAdvancedPitchforkOptions {
  117723. /**
  117724. * (Highstock) A predefined background symbol for the button.
  117725. */
  117726. symbol?: string;
  117727. }
  117728. export interface StockToolsGuiDefinitionsCrookedLinesCrooked3Options {
  117729. /**
  117730. * (Highstock) A predefined background symbol for the button.
  117731. */
  117732. symbol?: string;
  117733. }
  117734. export interface StockToolsGuiDefinitionsCrookedLinesCrooked5Options {
  117735. /**
  117736. * (Highstock) A predefined background symbol for the button.
  117737. */
  117738. symbol?: string;
  117739. }
  117740. export interface StockToolsGuiDefinitionsCrookedLinesElliott3Options {
  117741. /**
  117742. * (Highstock) A predefined background symbol for the button.
  117743. */
  117744. symbol?: string;
  117745. }
  117746. export interface StockToolsGuiDefinitionsCrookedLinesElliott5Options {
  117747. /**
  117748. * (Highstock) A predefined background symbol for the button.
  117749. */
  117750. symbol?: string;
  117751. }
  117752. export interface StockToolsGuiDefinitionsCrookedLinesOptions {
  117753. crooked3?: StockToolsGuiDefinitionsCrookedLinesCrooked3Options;
  117754. crooked5?: StockToolsGuiDefinitionsCrookedLinesCrooked5Options;
  117755. elliott3?: StockToolsGuiDefinitionsCrookedLinesElliott3Options;
  117756. elliott5?: StockToolsGuiDefinitionsCrookedLinesElliott5Options;
  117757. /**
  117758. * (Highstock) A collection of strings pointing to config options for the
  117759. * items.
  117760. */
  117761. items?: any[];
  117762. }
  117763. export interface StockToolsGuiDefinitionsCurrentPriceIndicatorOptions {
  117764. /**
  117765. * (Highstock) A predefined background symbol for the button.
  117766. */
  117767. symbol?: string;
  117768. }
  117769. export interface StockToolsGuiDefinitionsFlagsFlagCirclepinOptions {
  117770. /**
  117771. * (Highstock) A predefined background symbol for the button.
  117772. */
  117773. symbol?: string;
  117774. }
  117775. export interface StockToolsGuiDefinitionsFlagsFlagDiamondpinOptions {
  117776. /**
  117777. * (Highstock) A predefined background symbol for the button.
  117778. */
  117779. symbol?: string;
  117780. }
  117781. export interface StockToolsGuiDefinitionsFlagsFlagSimplepinOptions {
  117782. /**
  117783. * (Highstock) A predefined background symbol for the button.
  117784. */
  117785. symbol?: string;
  117786. }
  117787. export interface StockToolsGuiDefinitionsFlagsFlagSquarepinOptions {
  117788. /**
  117789. * (Highstock) A predefined background symbol for the button.
  117790. */
  117791. symbol?: string;
  117792. }
  117793. export interface StockToolsGuiDefinitionsFlagsOptions {
  117794. flagCirclepin?: StockToolsGuiDefinitionsFlagsFlagCirclepinOptions;
  117795. flagDiamondpin?: StockToolsGuiDefinitionsFlagsFlagDiamondpinOptions;
  117796. flagSimplepin?: StockToolsGuiDefinitionsFlagsFlagSimplepinOptions;
  117797. flagSquarepin?: StockToolsGuiDefinitionsFlagsFlagSquarepinOptions;
  117798. /**
  117799. * (Highstock) A collection of strings pointing to config options for the
  117800. * items.
  117801. */
  117802. items?: any[];
  117803. }
  117804. export interface StockToolsGuiDefinitionsFullScreenOptions {
  117805. /**
  117806. * (Highstock) A predefined background symbol for the button.
  117807. */
  117808. symbol?: string;
  117809. }
  117810. export interface StockToolsGuiDefinitionsIndicatorsOptions {
  117811. /**
  117812. * (Highstock) A predefined background symbol for the button.
  117813. */
  117814. symbol?: string;
  117815. }
  117816. export interface StockToolsGuiDefinitionsLinesArrowLineOptions {
  117817. /**
  117818. * (Highstock) A predefined background symbol for the button.
  117819. */
  117820. symbol?: string;
  117821. }
  117822. export interface StockToolsGuiDefinitionsLinesArrowRayOptions {
  117823. /**
  117824. * (Highstock) A predefined background symbol for the button.
  117825. */
  117826. symbol?: string;
  117827. }
  117828. export interface StockToolsGuiDefinitionsLinesArrowSegmentOptions {
  117829. /**
  117830. * (Highstock) A predefined background symbol for the button.
  117831. */
  117832. symbol?: string;
  117833. }
  117834. export interface StockToolsGuiDefinitionsLinesHorizontalLineOptions {
  117835. /**
  117836. * (Highstock) A predefined background symbol for the button.
  117837. */
  117838. symbol?: string;
  117839. }
  117840. export interface StockToolsGuiDefinitionsLinesLineOptions {
  117841. /**
  117842. * (Highstock) A predefined background symbol for the button.
  117843. */
  117844. symbol?: string;
  117845. }
  117846. export interface StockToolsGuiDefinitionsLinesOptions {
  117847. arrowLine?: StockToolsGuiDefinitionsLinesArrowLineOptions;
  117848. arrowRay?: StockToolsGuiDefinitionsLinesArrowRayOptions;
  117849. arrowSegment?: StockToolsGuiDefinitionsLinesArrowSegmentOptions;
  117850. horizontalLine?: StockToolsGuiDefinitionsLinesHorizontalLineOptions;
  117851. /**
  117852. * (Highstock) A collection of strings pointing to config options for the
  117853. * items.
  117854. */
  117855. items?: any[];
  117856. line?: StockToolsGuiDefinitionsLinesLineOptions;
  117857. ray?: StockToolsGuiDefinitionsLinesRayOptions;
  117858. segment?: StockToolsGuiDefinitionsLinesSegmentOptions;
  117859. verticalLine?: StockToolsGuiDefinitionsLinesVerticalLineOptions;
  117860. }
  117861. export interface StockToolsGuiDefinitionsLinesRayOptions {
  117862. /**
  117863. * (Highstock) A predefined background symbol for the button.
  117864. */
  117865. symbol?: string;
  117866. }
  117867. export interface StockToolsGuiDefinitionsLinesSegmentOptions {
  117868. /**
  117869. * (Highstock) A predefined background symbol for the button.
  117870. */
  117871. symbol?: string;
  117872. }
  117873. export interface StockToolsGuiDefinitionsLinesVerticalLineOptions {
  117874. /**
  117875. * (Highstock) A predefined background symbol for the button.
  117876. */
  117877. symbol?: string;
  117878. }
  117879. export interface StockToolsGuiDefinitionsMeasureMeasureXOptions {
  117880. /**
  117881. * (Highstock) A predefined background symbol for the button.
  117882. */
  117883. symbol?: string;
  117884. }
  117885. export interface StockToolsGuiDefinitionsMeasureMeasureXYOptions {
  117886. /**
  117887. * (Highstock) A predefined background symbol for the button.
  117888. */
  117889. symbol?: string;
  117890. }
  117891. export interface StockToolsGuiDefinitionsMeasureMeasureYOptions {
  117892. /**
  117893. * (Highstock) A predefined background symbol for the button.
  117894. */
  117895. symbol?: string;
  117896. }
  117897. export interface StockToolsGuiDefinitionsMeasureOptions {
  117898. /**
  117899. * (Highstock) A collection of strings pointing to config options for the
  117900. * items.
  117901. */
  117902. items?: any[];
  117903. measureX?: StockToolsGuiDefinitionsMeasureMeasureXOptions;
  117904. measureXY?: StockToolsGuiDefinitionsMeasureMeasureXYOptions;
  117905. measureY?: StockToolsGuiDefinitionsMeasureMeasureYOptions;
  117906. }
  117907. /**
  117908. * (Highstock) An options object of the buttons definitions. Each name refers to
  117909. * unique key from buttons array.
  117910. */
  117911. export interface StockToolsGuiDefinitionsOptions {
  117912. advanced?: StockToolsGuiDefinitionsAdvancedOptions;
  117913. crookedLines?: StockToolsGuiDefinitionsCrookedLinesOptions;
  117914. currentPriceIndicator?: StockToolsGuiDefinitionsCurrentPriceIndicatorOptions;
  117915. flags?: StockToolsGuiDefinitionsFlagsOptions;
  117916. fullScreen?: StockToolsGuiDefinitionsFullScreenOptions;
  117917. indicators?: StockToolsGuiDefinitionsIndicatorsOptions;
  117918. lines?: StockToolsGuiDefinitionsLinesOptions;
  117919. measure?: StockToolsGuiDefinitionsMeasureOptions;
  117920. saveChart?: StockToolsGuiDefinitionsSaveChartOptions;
  117921. separator?: StockToolsGuiDefinitionsSeparatorOptions;
  117922. simpleShapes?: StockToolsGuiDefinitionsSimpleShapesOptions;
  117923. toggleAnnotations?: StockToolsGuiDefinitionsToggleAnnotationsOptions;
  117924. typeChange?: StockToolsGuiDefinitionsTypeChangeOptions;
  117925. verticalLabels?: StockToolsGuiDefinitionsVerticalLabelsOptions;
  117926. zoomChange?: StockToolsGuiDefinitionsZoomChangeOptions;
  117927. }
  117928. export interface StockToolsGuiDefinitionsSaveChartOptions {
  117929. /**
  117930. * (Highstock) A predefined background symbol for the button.
  117931. */
  117932. symbol?: string;
  117933. }
  117934. export interface StockToolsGuiDefinitionsSeparatorOptions {
  117935. /**
  117936. * (Highstock) A predefined background symbol for the button.
  117937. */
  117938. symbol?: string;
  117939. }
  117940. export interface StockToolsGuiDefinitionsSimpleShapesCircleOptions {
  117941. /**
  117942. * (Highstock) A predefined background symbol for the button.
  117943. */
  117944. symbol?: string;
  117945. }
  117946. export interface StockToolsGuiDefinitionsSimpleShapesLabelOptions {
  117947. /**
  117948. * (Highstock) A predefined background symbol for the button.
  117949. */
  117950. symbol?: string;
  117951. }
  117952. export interface StockToolsGuiDefinitionsSimpleShapesOptions {
  117953. circle?: StockToolsGuiDefinitionsSimpleShapesCircleOptions;
  117954. /**
  117955. * (Highstock) A collection of strings pointing to config options for the
  117956. * items.
  117957. */
  117958. items?: any[];
  117959. label?: StockToolsGuiDefinitionsSimpleShapesLabelOptions;
  117960. rectangle?: StockToolsGuiDefinitionsSimpleShapesRectangleOptions;
  117961. }
  117962. export interface StockToolsGuiDefinitionsSimpleShapesRectangleOptions {
  117963. /**
  117964. * (Highstock) A predefined background symbol for the button.
  117965. */
  117966. symbol?: string;
  117967. }
  117968. export interface StockToolsGuiDefinitionsToggleAnnotationsOptions {
  117969. /**
  117970. * (Highstock) A predefined background symbol for the button.
  117971. */
  117972. symbol?: string;
  117973. }
  117974. export interface StockToolsGuiDefinitionsTypeChangeOptions {
  117975. /**
  117976. * (Highstock) A collection of strings pointing to config options for the
  117977. * items.
  117978. */
  117979. items?: any[];
  117980. typeCandlestick?: StockToolsGuiDefinitionsTypeChangeTypeCandlestickOptions;
  117981. typeLine?: StockToolsGuiDefinitionsTypeChangeTypeLineOptions;
  117982. typeOHLC?: StockToolsGuiDefinitionsTypeChangeTypeOHLCOptions;
  117983. }
  117984. export interface StockToolsGuiDefinitionsTypeChangeTypeCandlestickOptions {
  117985. /**
  117986. * (Highstock) A predefined background symbol for the button.
  117987. */
  117988. symbol?: string;
  117989. }
  117990. export interface StockToolsGuiDefinitionsTypeChangeTypeLineOptions {
  117991. /**
  117992. * (Highstock) A predefined background symbol for the button.
  117993. */
  117994. symbol?: string;
  117995. }
  117996. export interface StockToolsGuiDefinitionsTypeChangeTypeOHLCOptions {
  117997. /**
  117998. * (Highstock) A predefined background symbol for the button.
  117999. */
  118000. symbol?: string;
  118001. }
  118002. export interface StockToolsGuiDefinitionsVerticalLabelsOptions {
  118003. /**
  118004. * (Highstock) A collection of strings pointing to config options for the
  118005. * items.
  118006. */
  118007. items?: any[];
  118008. verticalArrow?: StockToolsGuiDefinitionsVerticalLabelsVerticalArrowOptions;
  118009. verticalCounter?: StockToolsGuiDefinitionsVerticalLabelsVerticalCounterOptions;
  118010. verticalLabel?: StockToolsGuiDefinitionsVerticalLabelsVerticalLabelOptions;
  118011. }
  118012. export interface StockToolsGuiDefinitionsVerticalLabelsVerticalArrowOptions {
  118013. /**
  118014. * (Highstock) A predefined background symbol for the button.
  118015. */
  118016. symbol?: string;
  118017. }
  118018. export interface StockToolsGuiDefinitionsVerticalLabelsVerticalCounterOptions {
  118019. /**
  118020. * (Highstock) A predefined background symbol for the button.
  118021. */
  118022. symbol?: string;
  118023. }
  118024. export interface StockToolsGuiDefinitionsVerticalLabelsVerticalLabelOptions {
  118025. /**
  118026. * (Highstock) A predefined background symbol for the button.
  118027. */
  118028. symbol?: string;
  118029. }
  118030. export interface StockToolsGuiDefinitionsZoomChangeOptions {
  118031. /**
  118032. * (Highstock) A collection of strings pointing to config options for the
  118033. * items.
  118034. */
  118035. items?: any[];
  118036. zoomX?: StockToolsGuiDefinitionsZoomChangeZoomXOptions;
  118037. zoomXY?: StockToolsGuiDefinitionsZoomChangeZoomXYOptions;
  118038. zoomY?: StockToolsGuiDefinitionsZoomChangeZoomYOptions;
  118039. }
  118040. export interface StockToolsGuiDefinitionsZoomChangeZoomXOptions {
  118041. /**
  118042. * (Highstock) A predefined background symbol for the button.
  118043. */
  118044. symbol?: string;
  118045. }
  118046. export interface StockToolsGuiDefinitionsZoomChangeZoomXYOptions {
  118047. /**
  118048. * (Highstock) A predefined background symbol for the button.
  118049. */
  118050. symbol?: string;
  118051. }
  118052. export interface StockToolsGuiDefinitionsZoomChangeZoomYOptions {
  118053. /**
  118054. * (Highstock) A predefined background symbol for the button.
  118055. */
  118056. symbol?: string;
  118057. }
  118058. /**
  118059. * (Highstock) Definitions of buttons in Stock Tools GUI.
  118060. */
  118061. export interface StockToolsGuiOptions {
  118062. /**
  118063. * (Highstock) A collection of strings pointing to config options for the
  118064. * toolbar items. Each name refers to a unique key from the definitions
  118065. * object.
  118066. */
  118067. buttons?: Array<string>;
  118068. /**
  118069. * (Highstock) A CSS class name to apply to the stocktools' div, allowing
  118070. * unique CSS styling for each chart.
  118071. */
  118072. className?: string;
  118073. /**
  118074. * (Highstock) An options object of the buttons definitions. Each name
  118075. * refers to unique key from buttons array.
  118076. */
  118077. definitions?: StockToolsGuiDefinitionsOptions;
  118078. /**
  118079. * (Highstock) Enable or disable the stockTools gui.
  118080. */
  118081. enabled?: boolean;
  118082. /**
  118083. * (Highstock) A CSS class name to apply to the container of buttons,
  118084. * allowing unique CSS styling for each chart.
  118085. */
  118086. toolbarClassName?: string;
  118087. }
  118088. /**
  118089. * (Highstock) Configure the stockTools gui strings in the chart. Requires the
  118090. * [stockTools module]() to be loaded. For a description of the module and
  118091. * information on its features, see [Highcharts StockTools]().
  118092. */
  118093. export interface StockToolsOptions {
  118094. /**
  118095. * (Highstock) Definitions of buttons in Stock Tools GUI.
  118096. */
  118097. gui?: StockToolsGuiOptions;
  118098. }
  118099. /**
  118100. * The chart subtitle. The subtitle has an `update` method that allows modifying
  118101. * the options directly or indirectly via `chart.update`.
  118102. */
  118103. export interface SubtitleObject extends SVGElement {
  118104. /**
  118105. * Modify options for the subtitle.
  118106. *
  118107. * @param subtitleOptions
  118108. * Options to modify.
  118109. *
  118110. * @param redraw
  118111. * Whether to redraw the chart after the subtitle is altered. If
  118112. * doing more operations on the chart, it is a good idea to set
  118113. * redraw to false and call Chart#redraw after.
  118114. */
  118115. update(subtitleOptions: SubtitleOptions, redraw?: boolean): void;
  118116. }
  118117. /**
  118118. * (Highcharts, Highstock, Highmaps, Gantt) The chart's subtitle. This can be
  118119. * used both to display a subtitle below the main title, and to display random
  118120. * text anywhere in the chart. The subtitle can be updated after chart
  118121. * initialization through the `Chart.setTitle` method.
  118122. */
  118123. export interface SubtitleOptions {
  118124. /**
  118125. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
  118126. * subtitle. Can be one of "left", "center" and "right".
  118127. */
  118128. align?: AlignValue;
  118129. /**
  118130. * (Highcharts, Highstock, Highmaps, Gantt) When the subtitle is floating,
  118131. * the plot area will not move to make space for it.
  118132. */
  118133. floating?: boolean;
  118134. /**
  118135. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title.
  118136. *
  118137. * In styled mode, the subtitle style is given in the `.highcharts-subtitle`
  118138. * class.
  118139. */
  118140. style?: CSSObject;
  118141. /**
  118142. * (Highcharts, Highstock, Highmaps, Gantt) The subtitle of the chart.
  118143. */
  118144. text?: string;
  118145. /**
  118146. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  118147. * the text.
  118148. */
  118149. useHTML?: boolean;
  118150. /**
  118151. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  118152. * title. Can be one of `"top"`, `"middle"` and `"bottom"`. When middle, the
  118153. * subtitle behaves as floating.
  118154. */
  118155. verticalAlign?: VerticalAlignValue;
  118156. /**
  118157. * (Highcharts, Highstock, Highmaps, Gantt) Adjustment made to the subtitle
  118158. * width, normally to reserve space for the exporting burger menu.
  118159. */
  118160. widthAdjust?: number;
  118161. /**
  118162. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the subtitle
  118163. * relative to the alignment within `chart.spacingLeft` and
  118164. * `chart.spacingRight`.
  118165. */
  118166. x?: number;
  118167. /**
  118168. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the subtitle
  118169. * relative to the alignment within `chart.spacingTop` and
  118170. * `chart.spacingBottom`. By default the subtitle is laid out below the
  118171. * title unless the title is floating.
  118172. */
  118173. y?: number;
  118174. }
  118175. /**
  118176. * An object of key-value pairs for SVG attributes. Attributes in Highcharts
  118177. * elements for the most parts correspond to SVG, but some are specific to
  118178. * Highcharts, like `zIndex`, `rotation`, `rotationOriginX`, `rotationOriginY`,
  118179. * `translateX`, `translateY`, `scaleX` and `scaleY`. SVG attributes containing
  118180. * a hyphen are _not_ camel-cased, they should be quoted to preserve the hyphen.
  118181. */
  118182. export interface SVGAttributes {
  118183. [key: string]: any;
  118184. d?: (string|SVGPathArray);
  118185. fill?: (ColorString|GradientColorObject|PatternObject);
  118186. inverted?: boolean;
  118187. matrix?: Array<number>;
  118188. rotation?: number;
  118189. rotationOriginX?: number;
  118190. rotationOriginY?: number;
  118191. scaleX?: number;
  118192. scaleY?: number;
  118193. stroke?: (ColorString|GradientColorObject|PatternObject);
  118194. style?: (string|CSSObject);
  118195. translateX?: number;
  118196. translateY?: number;
  118197. zIndex?: number;
  118198. }
  118199. /**
  118200. * An extendable collection of functions for defining symbol paths. Symbols are
  118201. * used internally for point markers, button and label borders and backgrounds,
  118202. * or custom shapes. Extendable by adding to SVGRenderer#symbols.
  118203. */
  118204. export interface SymbolDictionary {
  118205. [key: string]: (Function|undefined);
  118206. arc?: Function;
  118207. callout?: Function;
  118208. circle?: Function;
  118209. diamond?: Function;
  118210. square?: Function;
  118211. triangle?: Function;
  118212. }
  118213. /**
  118214. * Additional options, depending on the actual symbol drawn.
  118215. */
  118216. export interface SymbolOptionsObject {
  118217. /**
  118218. * The anchor X position for the `callout` symbol. This is where the chevron
  118219. * points to.
  118220. */
  118221. anchorX?: number;
  118222. /**
  118223. * The anchor Y position for the `callout` symbol. This is where the chevron
  118224. * points to.
  118225. */
  118226. anchorY?: number;
  118227. /**
  118228. * The end angle of an `arc` symbol.
  118229. */
  118230. end?: number;
  118231. /**
  118232. * Whether to draw `arc` symbol open or closed.
  118233. */
  118234. open?: boolean;
  118235. /**
  118236. * The radius of an `arc` symbol, or the border radius for the `callout`
  118237. * symbol.
  118238. */
  118239. r?: number;
  118240. /**
  118241. * The start angle of an `arc` symbol.
  118242. */
  118243. start?: number;
  118244. }
  118245. export interface TimelineDataLabelsFormatterContextObject extends PointLabelObject {
  118246. key?: string;
  118247. point: Point;
  118248. series: Series;
  118249. }
  118250. /**
  118251. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  118252. * appearing next to each data point.
  118253. *
  118254. * Since v6.2.0, multiple data labels can be applied to each single point by
  118255. * defining them as an array of configs.
  118256. *
  118257. * In styled mode, the data labels can be styled with the
  118258. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  118259. * example).
  118260. */
  118261. export interface TimelineDataLabelsOptionsObject {
  118262. /**
  118263. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  118264. * compared to the point. If `right`, the right side of the label should be
  118265. * touching the point. For points with an extent, like columns, the
  118266. * alignments also dictates how to align it inside the box, as given with
  118267. * the inside option. Can be one of `left`, `center` or `right`.
  118268. */
  118269. align?: (AlignValue|null);
  118270. /**
  118271. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  118272. * overlap. To make the labels less sensitive for overlapping, the
  118273. * dataLabels.padding can be set to 0.
  118274. */
  118275. allowOverlap?: boolean;
  118276. /**
  118277. * (Highcharts, Highstock, Highmaps, Gantt) Whether to position data labels
  118278. * alternately. For example, if distance is set equal to `100`, then data
  118279. * labels will be positioned alternately (on both sides of the point) at a
  118280. * distance of 100px.
  118281. */
  118282. alternate?: boolean;
  118283. /**
  118284. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  118285. * animation when a series is displayed for the `dataLabels`. The animation
  118286. * can also be set as a configuration object. Please note that this option
  118287. * only applies to the initial animation. For other animations, see
  118288. * chart.animation and the animation parameter under the API methods. The
  118289. * following properties are supported:
  118290. *
  118291. * - `defer`: The animation delay time in milliseconds.
  118292. */
  118293. animation?: (boolean|PlotTimelineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  118294. /**
  118295. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  118296. * for the data label.
  118297. */
  118298. backgroundColor?: string;
  118299. /**
  118300. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  118301. * label. Defaults to `undefined`.
  118302. */
  118303. borderColor?: string;
  118304. /**
  118305. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  118306. * the data label.
  118307. */
  118308. borderRadius?: number;
  118309. /**
  118310. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  118311. * the data label.
  118312. */
  118313. borderWidth?: number;
  118314. /**
  118315. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  118316. * Particularly in styled mode, this can be used to give each series' or
  118317. * point's data label unique styling. In addition to this option, a default
  118318. * color class name is added so that we can give the labels a contrast text
  118319. * shadow.
  118320. */
  118321. className?: string;
  118322. /**
  118323. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  118324. * labels. Defaults to `undefined`. For certain series types, like column or
  118325. * map, the data labels can be drawn inside the points. In this case the
  118326. * data label will be drawn with maximum contrast by default. Additionally,
  118327. * it will be given a `text-outline` style with the opposite color, to
  118328. * further increase the contrast. This can be overridden by setting the
  118329. * `text-outline` style to `none` in the `dataLabels.style` option.
  118330. */
  118331. color?: string;
  118332. /**
  118333. * (Highcharts, Highstock, Highmaps, Gantt) The color of the line connecting
  118334. * the data label to the point. The default color is the same as the point's
  118335. * color.
  118336. *
  118337. * In styled mode, the connector stroke is given in the
  118338. * `.highcharts-data-label-connector` class.
  118339. */
  118340. connectorColor?: (ColorString|GradientColorObject|PatternObject);
  118341. /**
  118342. * (Highcharts, Highstock, Highmaps, Gantt) The width of the line connecting
  118343. * the data label to the point.
  118344. *
  118345. * In styled mode, the connector stroke width is given in the
  118346. * `.highcharts-data-label-connector` class.
  118347. */
  118348. connectorWidth?: number;
  118349. /**
  118350. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  118351. * are outside the plot area. By default, the data label is moved inside the
  118352. * plot area according to the overflow option.
  118353. */
  118354. crop?: boolean;
  118355. /**
  118356. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  118357. * labels until the initial series animation has finished. Setting to
  118358. * `false` renders the data label immediately. If set to `true` inherits the
  118359. * defer time set in plotOptions.series.animation. If set to a number, a
  118360. * defer time is specified in milliseconds.
  118361. */
  118362. defer?: (boolean|number);
  118363. /**
  118364. * (Highcharts, Highstock, Highmaps, Gantt) A pixel value defining the
  118365. * distance between the data label and the point. Negative numbers puts the
  118366. * label on top of the point.
  118367. */
  118368. distance?: number;
  118369. /**
  118370. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  118371. * labels.
  118372. */
  118373. enabled?: boolean;
  118374. /**
  118375. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  118376. * of which data labels to display. The declarative filter is designed for
  118377. * use when callback functions are not available, like when the chart
  118378. * options require a pure JSON structure or for use with graphical editors.
  118379. * For programmatic control, use the `formatter` instead, and return
  118380. * `undefined` to disable a single data label.
  118381. */
  118382. filter?: DataLabelsFilterOptionsObject;
  118383. /**
  118384. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  118385. * label. Available variables are the same as for `formatter`.
  118386. */
  118387. format?: string;
  118388. /**
  118389. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  118390. * format the data label. Note that if a `format` is defined, the format
  118391. * takes precedence and the formatter is ignored.
  118392. */
  118393. formatter?: TimelineDataLabelsFormatterCallbackFunction;
  118394. /**
  118395. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  118396. * columns or map areas, whether to align the data label inside the box or
  118397. * to the actual value point. Defaults to `false` in most cases, `true` in
  118398. * stacked columns.
  118399. */
  118400. inside?: boolean;
  118401. /**
  118402. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  118403. * of null. Works analogously to format. `nullFormat` can be applied only to
  118404. * series which support displaying null points.
  118405. */
  118406. nullFormat?: (boolean|string);
  118407. /**
  118408. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  118409. * that defines formatting for points with the value of null. Works
  118410. * analogously to formatter. `nullPointFormatter` can be applied only to
  118411. * series which support displaying null points.
  118412. */
  118413. nullFormatter?: DataLabelsFormatterCallbackFunction;
  118414. /**
  118415. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  118416. * flow outside the plot area. The default is `"justify"`, which aligns them
  118417. * inside the plot area. For columns and bars, this means it will be moved
  118418. * inside the bar. To display data labels outside the plot area, set `crop`
  118419. * to `false` and `overflow` to `"allow"`.
  118420. */
  118421. overflow?: DataLabelsOverflowValue;
  118422. /**
  118423. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  118424. * the `backgroundColor` is set, this is the padding within the box.
  118425. */
  118426. padding?: number;
  118427. /**
  118428. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  118429. * points. If `center` alignment is not possible, it defaults to `right`.
  118430. */
  118431. position?: AlignValue;
  118432. /**
  118433. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  118434. * that due to a more complex structure, backgrounds, borders and padding
  118435. * will be lost on a rotated data label.
  118436. */
  118437. rotation?: number;
  118438. /**
  118439. * (Highcharts, Highstock, Highmaps, Gantt) Shadow options for the data
  118440. * label.
  118441. */
  118442. shadow?: (boolean|CSSObject);
  118443. /**
  118444. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  118445. * the border around the label. Symbols are predefined functions on the
  118446. * Renderer object.
  118447. */
  118448. shape?: string;
  118449. /**
  118450. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  118451. * default `color` setting is `"contrast"`, which is a pseudo color that
  118452. * Highcharts picks up and applies the maximum contrast to the underlying
  118453. * point item, for example the bar in a bar chart.
  118454. *
  118455. * The `textOutline` is a pseudo property that applies an outline of the
  118456. * given width with the given color, which by default is the maximum
  118457. * contrast to the text. So a bright text color will result in a black text
  118458. * outline for maximum readability on a mixed background. In some cases,
  118459. * especially with grayscale text, the text outline doesn't work well, in
  118460. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  118461. * is true, the `textOutline` will not be picked up. In this, case, the same
  118462. * effect can be acheived through the `text-shadow` CSS property.
  118463. *
  118464. * For some series types, where each point has an extent, like for example
  118465. * tree maps, the data label may overflow the point. There are two
  118466. * strategies for handling overflow. By default, the text will wrap to
  118467. * multiple lines. The other strategy is to set `style.textOverflow` to
  118468. * `ellipsis`, which will keep the text on one line plus it will break
  118469. * inside long words.
  118470. */
  118471. style?: CSSObject;
  118472. /**
  118473. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  118474. * should follow marker's shape. Border and background are disabled for a
  118475. * label that follows a path.
  118476. *
  118477. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  118478. * to true will disable this option.
  118479. */
  118480. textPath?: DataLabelsTextPathOptionsObject;
  118481. /**
  118482. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  118483. * the labels.
  118484. */
  118485. useHTML?: boolean;
  118486. /**
  118487. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  118488. * label. Can be one of `top`, `middle` or `bottom`. The default value
  118489. * depends on the data, for instance in a column chart, the label is above
  118490. * positive values and below negative values.
  118491. */
  118492. verticalAlign?: (VerticalAlignValue|null);
  118493. width?: number;
  118494. /**
  118495. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  118496. * label relative to the point in pixels.
  118497. */
  118498. x?: number;
  118499. /**
  118500. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  118501. * label relative to the point in pixels.
  118502. */
  118503. y?: number;
  118504. /**
  118505. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  118506. * The default Z index puts it above the series. Use a Z index of 2 to
  118507. * display it behind the series.
  118508. */
  118509. z?: number;
  118510. }
  118511. /**
  118512. * Normalized interval.
  118513. */
  118514. export interface TimeNormalizedObject {
  118515. /**
  118516. * The count.
  118517. */
  118518. count: number;
  118519. /**
  118520. * The interval in axis values (ms).
  118521. */
  118522. unitRange: number;
  118523. }
  118524. /**
  118525. * (Highcharts, Highstock, Highmaps, Gantt) Time options that can apply globally
  118526. * or to individual charts. These settings affect how `datetime` axes are laid
  118527. * out, how tooltips are formatted, how series pointIntervalUnit works and how
  118528. * the Highcharts Stock range selector handles time.
  118529. *
  118530. * The common use case is that all charts in the same Highcharts object share
  118531. * the same time settings, in which case the global settings are set using
  118532. * `setOptions`. (see online documentation for example)
  118533. *
  118534. * Since v6.0.5, the time options were moved from the `global` obect to the
  118535. * `time` object, and time options can be set on each individual chart.
  118536. */
  118537. export interface TimeOptions {
  118538. /**
  118539. * (Highcharts, Highstock, Gantt) A custom `Date` class for advanced date
  118540. * handling. For example, JDate can be hooked in to handle Jalali dates.
  118541. */
  118542. Date?: any;
  118543. /**
  118544. * (Highcharts, Highstock, Gantt) A callback to return the time zone offset
  118545. * for a given datetime. It takes the timestamp in terms of milliseconds
  118546. * since January 1 1970, and returns the timezone offset in minutes. This
  118547. * provides a hook for drawing time based charts in specific time zones
  118548. * using their local DST crossover dates, with the help of external
  118549. * libraries.
  118550. */
  118551. getTimezoneOffset?: TimezoneOffsetCallbackFunction;
  118552. /**
  118553. * (Highcharts, Highstock, Highmaps, Gantt) Allows to manually load the
  118554. * `moment.js` library from Highcharts options instead of the `window`. In
  118555. * case of loading the library from a `script` tag, this option is not
  118556. * needed, it will be loaded from there by default.
  118557. */
  118558. moment?: Function;
  118559. /**
  118560. * (Highcharts, Highstock, Gantt) Requires moment.js. If the timezone option
  118561. * is specified, it creates a default getTimezoneOffset function that looks
  118562. * up the specified timezone in moment.js. If moment.js is not included,
  118563. * this throws a Highcharts error in the console, but does not crash the
  118564. * chart.
  118565. */
  118566. timezone?: string;
  118567. /**
  118568. * (Highcharts, Highstock, Gantt) The timezone offset in minutes. Positive
  118569. * values are west, negative values are east of UTC, as in the ECMAScript
  118570. * getTimezoneOffset method. Use this to display UTC based data in a
  118571. * predefined time zone.
  118572. */
  118573. timezoneOffset?: number;
  118574. /**
  118575. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use UTC time for axis
  118576. * scaling, tickmark placement and time display in `Highcharts.dateFormat`.
  118577. * Advantages of using UTC is that the time displays equally regardless of
  118578. * the user agent's time zone settings. Local time can be used when the data
  118579. * is loaded in real time or when correct Daylight Saving Time transitions
  118580. * are required.
  118581. */
  118582. useUTC?: boolean;
  118583. }
  118584. /**
  118585. * Additonal time tick information.
  118586. */
  118587. export interface TimeTicksInfoObject extends TimeNormalizedObject {
  118588. higherRanks: Array<string>;
  118589. totalRange: number;
  118590. }
  118591. /**
  118592. * The chart title. The title has an `update` method that allows modifying the
  118593. * options directly or indirectly via `chart.update`.
  118594. */
  118595. export interface TitleObject extends SVGElement {
  118596. /**
  118597. * Modify options for the title.
  118598. *
  118599. * @param titleOptions
  118600. * Options to modify.
  118601. *
  118602. * @param redraw
  118603. * Whether to redraw the chart after the title is altered. If doing
  118604. * more operations on the chart, it is a good idea to set redraw to
  118605. * false and call Chart#redraw after.
  118606. */
  118607. update(titleOptions: TitleOptions, redraw?: boolean): void;
  118608. }
  118609. /**
  118610. * (Highcharts, Highstock, Highmaps, Gantt) The chart's main title.
  118611. */
  118612. export interface TitleOptions {
  118613. /**
  118614. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
  118615. * title. Can be one of "left", "center" and "right".
  118616. */
  118617. align?: AlignValue;
  118618. /**
  118619. * (Highcharts, Highstock, Highmaps, Gantt) When the title is floating, the
  118620. * plot area will not move to make space for it.
  118621. */
  118622. floating?: boolean;
  118623. /**
  118624. * (Highcharts, Highstock, Highmaps, Gantt) The margin between the title and
  118625. * the plot area, or if a subtitle is present, the margin between the
  118626. * subtitle and the plot area.
  118627. */
  118628. margin?: number;
  118629. /**
  118630. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. Use
  118631. * this for font styling, but use `align`, `x` and `y` for text alignment.
  118632. *
  118633. * In styled mode, the title style is given in the `.highcharts-title`
  118634. * class.
  118635. */
  118636. style?: CSSObject;
  118637. /**
  118638. * (Highcharts, Highstock, Highmaps, Gantt) The title of the chart. To
  118639. * disable the title, set the `text` to `undefined`.
  118640. */
  118641. text?: string;
  118642. /**
  118643. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  118644. * the text.
  118645. */
  118646. useHTML?: boolean;
  118647. /**
  118648. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  118649. * title. Can be one of `"top"`, `"middle"` and `"bottom"`. When a value is
  118650. * given, the title behaves as if floating were `true`.
  118651. */
  118652. verticalAlign?: VerticalAlignValue;
  118653. /**
  118654. * (Highcharts, Highstock, Highmaps, Gantt) Adjustment made to the title
  118655. * width, normally to reserve space for the exporting burger menu.
  118656. */
  118657. widthAdjust?: number;
  118658. /**
  118659. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the title
  118660. * relative to the alignment within `chart.spacingLeft` and
  118661. * `chart.spacingRight`.
  118662. */
  118663. x?: number;
  118664. /**
  118665. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the title
  118666. * relative to the alignment within chart.spacingTop and
  118667. * chart.spacingBottom. By default it depends on the font size.
  118668. */
  118669. y?: number;
  118670. }
  118671. export interface TooltipFormatterContextObject {
  118672. color: (ColorString|GradientColorObject|PatternObject);
  118673. colorIndex?: number;
  118674. key: number;
  118675. percentage?: number;
  118676. point: Point;
  118677. points?: Array<TooltipFormatterContextObject>;
  118678. series: Series;
  118679. total?: number;
  118680. x: number;
  118681. y: number;
  118682. }
  118683. /**
  118684. * (Highcharts, Highstock, Highmaps, Gantt) Options for the tooltip that appears
  118685. * when the user hovers over a series or point.
  118686. */
  118687. export interface TooltipOptions {
  118688. /**
  118689. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable animation of
  118690. * the tooltip.
  118691. */
  118692. animation?: boolean;
  118693. /**
  118694. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  118695. * for the tooltip.
  118696. *
  118697. * In styled mode, the stroke width is set in the `.highcharts-tooltip-box`
  118698. * class.
  118699. */
  118700. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  118701. /**
  118702. * (Highcharts, Highstock, Highmaps, Gantt) The color of the tooltip border.
  118703. * When `undefined`, the border takes the color of the corresponding series
  118704. * or point.
  118705. */
  118706. borderColor?: (ColorString|GradientColorObject|PatternObject);
  118707. /**
  118708. * (Highcharts, Highstock, Highmaps, Gantt) The radius of the rounded border
  118709. * corners.
  118710. */
  118711. borderRadius?: number;
  118712. /**
  118713. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the tooltip
  118714. * border.
  118715. *
  118716. * In styled mode, the stroke width is set in the `.highcharts-tooltip-box`
  118717. * class.
  118718. */
  118719. borderWidth?: number;
  118720. /**
  118721. * (Highstock) How many decimals to show for the `point.change` value when
  118722. * the `series.compare` option is set. This is overridable in each series'
  118723. * tooltip options object. The default is to preserve all decimals.
  118724. */
  118725. changeDecimals?: number;
  118726. /**
  118727. * (Highcharts, Highstock, Highmaps, Gantt) A CSS class name to apply to the
  118728. * tooltip's container div, allowing unique CSS styling for each chart.
  118729. */
  118730. className?: string;
  118731. /**
  118732. * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the cluster point's
  118733. * in the tooltip. Works only with marker-clusters module and analogously to
  118734. * pointFormat.
  118735. *
  118736. * The cluster tooltip can be also formatted using `tooltip.formatter`
  118737. * callback function and `point.isCluster` flag.
  118738. */
  118739. clusterFormat?: object;
  118740. /**
  118741. * (Highcharts, Highstock, Gantt) For series on datetime axes, the date
  118742. * format in the tooltip's header will by default be guessed based on the
  118743. * closest data points. This member gives the default string representations
  118744. * used for each unit. For an overview of the replacement codes, see
  118745. * dateFormat.
  118746. */
  118747. dateTimeLabelFormats?: Dictionary<string>;
  118748. /**
  118749. * (Highcharts, Highstock, Highmaps, Gantt) Distance from point to tooltip
  118750. * in pixels.
  118751. */
  118752. distance?: number;
  118753. /**
  118754. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the tooltip.
  118755. */
  118756. enabled?: boolean;
  118757. /**
  118758. * (Highcharts, Highstock, Highmaps, Gantt) Whether the tooltip should
  118759. * follow the mouse as it moves across columns, pie slices and other point
  118760. * types with an extent. By default it behaves this way for pie, polygon,
  118761. * map, sankey and wordcloud series by override in the `plotOptions` for
  118762. * those series types.
  118763. *
  118764. * Does not apply if split is `true`.
  118765. *
  118766. * For touch moves to behave the same way, followTouchMove must be `true`
  118767. * also.
  118768. */
  118769. followPointer?: boolean;
  118770. /**
  118771. * (Highcharts, Highstock, Highmaps, Gantt) Whether the tooltip should
  118772. * update as the finger moves on a touch device. If this is `true` and
  118773. * chart.panning is set,`followTouchMove` will take over one-finger touches,
  118774. * so the user needs to use two fingers for zooming and panning.
  118775. *
  118776. * Note the difference to followPointer that only defines the _position_ of
  118777. * the tooltip. If `followPointer` is false in for example a column series,
  118778. * the tooltip will show above or below the column, but as `followTouchMove`
  118779. * is true, the tooltip will jump from column to column as the user swipes
  118780. * across the plot area.
  118781. */
  118782. followTouchMove?: boolean;
  118783. /**
  118784. * (Highcharts, Highstock, Highmaps, Gantt) A string to append to the
  118785. * tooltip format.
  118786. */
  118787. footerFormat?: string;
  118788. /**
  118789. * (Highcharts, Highstock, Highmaps, Gantt) Callback function to format the
  118790. * text of the tooltip from scratch. In case of single or shared tooltips, a
  118791. * string should be returned. In case of split tooltips, it should return an
  118792. * array where the first item is the header, and subsequent items are mapped
  118793. * to the points. Return `false` to disable tooltip for a specific point on
  118794. * series.
  118795. *
  118796. * A subset of HTML is supported. Unless `useHTML` is true, the HTML of the
  118797. * tooltip is parsed and converted to SVG, therefore this isn't a complete
  118798. * HTML renderer. The following HTML tags are supported: `b`, `br`, `em`,
  118799. * `i`, `span`, `strong`. Spans can be styled with a `style` attribute, but
  118800. * only text-related CSS, that is shared with SVG, is handled.
  118801. *
  118802. * The available data in the formatter differ a bit depending on whether the
  118803. * tooltip is shared or split, or belongs to a single point. In a
  118804. * shared/split tooltip, all properties except `x`, which is common for all
  118805. * points, are kept in an array, `this.points`.
  118806. *
  118807. * Available data are:
  118808. *
  118809. * - **this.percentage (not shared) /** **this.points[i].percentage
  118810. * (shared)**: Stacked series and pies only. The point's percentage of the
  118811. * total.
  118812. *
  118813. * - **this.point (not shared) / this.points[i].point (shared)**: The point
  118814. * object. The point name, if defined, is available through
  118815. * `this.point.name`.
  118816. *
  118817. * - **this.points**: In a shared tooltip, this is an array containing all
  118818. * other properties for each point.
  118819. *
  118820. * - **this.series (not shared) / this.points[i].series (shared)**: The
  118821. * series object. The series name is available through `this.series.name`.
  118822. *
  118823. * - **this.total (not shared) / this.points[i].total (shared)**: Stacked
  118824. * series only. The total value at this point's x value.
  118825. *
  118826. * - **this.x**: The x value. This property is the same regardless of the
  118827. * tooltip being shared or not.
  118828. *
  118829. * - **this.y (not shared) / this.points[i].y (shared)**: The y value.
  118830. */
  118831. formatter?: TooltipFormatterCallbackFunction;
  118832. /**
  118833. * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the tooltip header
  118834. * line. Variables are enclosed by curly brackets. Available variables are
  118835. * `point.key`, `series.name`, `series.color` and other members from the
  118836. * `point` and `series` objects. The `point.key` variable contains the
  118837. * category name, x value or datetime string depending on the type of axis.
  118838. * For datetime axes, the `point.key` date format can be set using
  118839. * `tooltip.xDateFormat`.
  118840. */
  118841. headerFormat?: string;
  118842. /**
  118843. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  118844. * the border around the tooltip header. Applies only when tooltip.split is
  118845. * enabled.
  118846. *
  118847. * Custom callbacks for symbol path generation can also be added to
  118848. * `Highcharts.SVGRenderer.prototype.symbols` the same way as for
  118849. * series.marker.symbol.
  118850. */
  118851. headerShape?: OptionsHeaderShapeValue;
  118852. /**
  118853. * (Highcharts, Highstock, Highmaps, Gantt) The number of milliseconds to
  118854. * wait until the tooltip is hidden when mouse out from a point or chart.
  118855. */
  118856. hideDelay?: number;
  118857. /**
  118858. * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the null point's
  118859. * line in the tooltip. Works analogously to pointFormat.
  118860. */
  118861. nullFormat?: string;
  118862. /**
  118863. * (Highcharts, Highstock, Highmaps, Gantt) Callback function to format the
  118864. * text of the tooltip for visible null points. Works analogously to
  118865. * formatter.
  118866. */
  118867. nullFormatter?: TooltipFormatterCallbackFunction;
  118868. /**
  118869. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the tooltip to
  118870. * render outside the chart's SVG element box. By default (`false`), the
  118871. * tooltip is rendered within the chart's SVG element, which results in the
  118872. * tooltip being aligned inside the chart area. For small charts, this may
  118873. * result in clipping or overlapping. When `true`, a separate SVG element is
  118874. * created and overlaid on the page, allowing the tooltip to be aligned
  118875. * inside the page itself.
  118876. *
  118877. * Defaults to `true` if `chart.scrollablePlotArea` is activated, otherwise
  118878. * `false`.
  118879. */
  118880. outside?: (boolean|undefined);
  118881. /**
  118882. * (Highcharts, Highstock, Highmaps, Gantt) Padding inside the tooltip, in
  118883. * pixels.
  118884. */
  118885. padding?: number;
  118886. /**
  118887. * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the point's line in
  118888. * the tooltip. Variables are enclosed by curly brackets. Available
  118889. * variables are `point.x`, `point.y`, `series.name` and `series.color` and
  118890. * other properties on the same form. Furthermore, `point.y` can be extended
  118891. * by the `tooltip.valuePrefix` and `tooltip.valueSuffix` variables. This
  118892. * can also be overridden for each series, which makes it a good hook for
  118893. * displaying units.
  118894. *
  118895. * In styled mode, the dot is colored by a class name rather than the point
  118896. * color.
  118897. */
  118898. pointFormat?: string;
  118899. /**
  118900. * (Highcharts, Highstock, Highmaps, Gantt) A callback function for
  118901. * formatting the HTML output for a single point in the tooltip. Like the
  118902. * `pointFormat` string, but with more flexibility.
  118903. */
  118904. pointFormatter?: FormatterCallbackFunction<Point>;
  118905. /**
  118906. * (Highcharts, Highstock, Highmaps, Gantt) A callback function to place the
  118907. * tooltip in a default position. The callback receives three parameters:
  118908. * `labelWidth`, `labelHeight` and `point`, where point contains values for
  118909. * `plotX` and `plotY` telling where the reference point is in the plot
  118910. * area. Add `chart.plotLeft` and `chart.plotTop` to get the full
  118911. * coordinates.
  118912. *
  118913. * Since v7, when tooltip.split option is enabled, positioner is called for
  118914. * each of the boxes separately, including xAxis header. xAxis header is not
  118915. * a point, instead `point` argument contains info: `{ plotX: Number, plotY:
  118916. * Number, isHeader: Boolean }`
  118917. *
  118918. * The return should be an object containing x and y values, for example `{
  118919. * x: 100, y: 100 }`.
  118920. */
  118921. positioner?: TooltipPositionerCallbackFunction;
  118922. /**
  118923. * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
  118924. * to the tooltip.
  118925. */
  118926. shadow?: (boolean|ShadowOptionsObject);
  118927. /**
  118928. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  118929. * the border around the tooltip. Can be one of: `"callout"`, `"circle"` or
  118930. * `"rect"`. When tooltip.split option is enabled, shape is applied to all
  118931. * boxes except header, which is controlled by tooltip.headerShape.
  118932. *
  118933. * Custom callbacks for symbol path generation can also be added to
  118934. * `Highcharts.SVGRenderer.prototype.symbols` the same way as for
  118935. * series.marker.symbol.
  118936. */
  118937. shape?: TooltipShapeValue;
  118938. /**
  118939. * (Highcharts, Highstock) When the tooltip is shared, the entire plot area
  118940. * will capture mouse movement or touch events. Tooltip texts for series
  118941. * types with ordered data (not pie, scatter, flags etc) will be shown in a
  118942. * single bubble. This is recommended for single series charts and for
  118943. * tablet/mobile optimized charts.
  118944. *
  118945. * See also tooltip.split, that is better suited for charts with many
  118946. * series, especially line-type series. The `tooltip.split` option takes
  118947. * precedence over `tooltip.shared`.
  118948. */
  118949. shared?: boolean;
  118950. /**
  118951. * (Highcharts, Highstock) Proximity snap for graphs or single points. It
  118952. * defaults to 10 for mouse-powered devices and 25 for touch devices.
  118953. *
  118954. * Note that in most cases the whole plot area captures the mouse movement,
  118955. * and in these cases `tooltip.snap` doesn't make sense. This applies when
  118956. * stickyTracking is `true` (default) and when the tooltip is shared or
  118957. * split.
  118958. */
  118959. snap?: number;
  118960. /**
  118961. * (Highcharts, Highstock) Split the tooltip into one label per series, with
  118962. * the header close to the axis. This is recommended over shared tooltips
  118963. * for charts with multiple line series, generally making them easier to
  118964. * read. This option takes precedence over `tooltip.shared`.
  118965. */
  118966. split?: boolean;
  118967. /**
  118968. * (Highcharts, Highstock, Highmaps, Gantt) Prevents the tooltip from
  118969. * switching or closing, when touched or pointed.
  118970. */
  118971. stickOnContact?: boolean;
  118972. /**
  118973. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the tooltip. The
  118974. * tooltip can also be styled through the CSS class `.highcharts-tooltip`.
  118975. *
  118976. * Note that the default `pointerEvents` style makes the tooltip ignore
  118977. * mouse events, so in order to use clickable tooltips, this value must be
  118978. * set to `auto`.
  118979. */
  118980. style?: CSSObject;
  118981. /**
  118982. * (Highcharts, Highstock, Highmaps, Gantt) Use HTML to render the contents
  118983. * of the tooltip instead of SVG. Using HTML allows advanced formatting like
  118984. * tables and images in the tooltip. It is also recommended for rtl
  118985. * languages as it works around rtl bugs in early Firefox.
  118986. */
  118987. useHTML?: boolean;
  118988. /**
  118989. * (Highcharts, Highstock, Highmaps, Gantt) How many decimals to show in
  118990. * each series' y value. This is overridable in each series' tooltip options
  118991. * object. The default is to preserve all decimals.
  118992. */
  118993. valueDecimals?: number;
  118994. /**
  118995. * (Highcharts, Highstock, Highmaps, Gantt) A string to prepend to each
  118996. * series' y value. Overridable in each series' tooltip options object.
  118997. */
  118998. valuePrefix?: string;
  118999. /**
  119000. * (Highcharts, Highstock, Highmaps, Gantt) A string to append to each
  119001. * series' y value. Overridable in each series' tooltip options object.
  119002. */
  119003. valueSuffix?: string;
  119004. /**
  119005. * (Highcharts, Highstock, Gantt) The format for the date in the tooltip
  119006. * header if the X axis is a datetime axis. The default is a best guess
  119007. * based on the smallest distance between points in the chart.
  119008. */
  119009. xDateFormat?: string;
  119010. }
  119011. /**
  119012. * Point information for positioning a tooltip.
  119013. */
  119014. export interface TooltipPositionerPointObject extends Point {
  119015. /**
  119016. * If `tooltip.split` option is enabled and positioner is called for each of
  119017. * the boxes separately, this property indicates the call on the xAxis
  119018. * header, which is not a point itself.
  119019. */
  119020. isHeader: boolean;
  119021. /**
  119022. * The reference point relative to the plot area. Add chart.plotLeft to get
  119023. * the full coordinates.
  119024. */
  119025. plotX: number;
  119026. /**
  119027. * The reference point relative to the plot area. Add chart.plotTop to get
  119028. * the full coordinates.
  119029. */
  119030. plotY: number;
  119031. }
  119032. /**
  119033. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  119034. * sections defined will be left out and all the points shifted closer to each
  119035. * other.
  119036. */
  119037. export interface XAxisBreaksOptions {
  119038. /**
  119039. * (Highcharts, Highstock, Gantt) A number indicating how much space should
  119040. * be left between the start and the end of the break. The break size is
  119041. * given in axis units, so for instance on a `datetime` axis, a break size
  119042. * of 3600000 would indicate the equivalent of an hour.
  119043. */
  119044. breakSize?: number;
  119045. /**
  119046. * (Highcharts, Highstock, Gantt) The point where the break starts.
  119047. */
  119048. from?: number;
  119049. /**
  119050. * (Highcharts, Highstock, Gantt) Defines an interval after which the break
  119051. * appears again. By default the breaks do not repeat.
  119052. */
  119053. repeat?: number;
  119054. /**
  119055. * (Highcharts, Highstock, Gantt) The point where the break ends.
  119056. */
  119057. to?: number;
  119058. }
  119059. /**
  119060. * (Gantt) An object defining mouse events for the plot line. Supported
  119061. * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  119062. */
  119063. export interface XAxisCurrentDateIndicatorEventsOptions {
  119064. /**
  119065. * (Gantt) Click event on a plot band.
  119066. */
  119067. click?: EventCallbackFunction<PlotLineOrBand>;
  119068. /**
  119069. * (Gantt) Mouse move event on a plot band.
  119070. */
  119071. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  119072. /**
  119073. * (Gantt) Mouse out event on the corner of a plot band.
  119074. */
  119075. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  119076. /**
  119077. * (Gantt) Mouse over event on a plot band.
  119078. */
  119079. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  119080. }
  119081. /**
  119082. * (Gantt) Text labels for the plot bands
  119083. */
  119084. export interface XAxisCurrentDateIndicatorLabelOptions {
  119085. /**
  119086. * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
  119087. * or "right".
  119088. */
  119089. align?: AlignValue;
  119090. /**
  119091. * (Gantt) Format of the label. This options is passed as the fist argument
  119092. * to dateFormat function.
  119093. */
  119094. format?: string;
  119095. /**
  119096. * (Gantt) Callback JavaScript function to format the label. Useful
  119097. * properties like the value of plot line or the range of plot band (`from`
  119098. * & `to` properties) can be found in `this.options` object.
  119099. */
  119100. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  119101. /**
  119102. * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
  119103. * horizontal plot lines and 90 for vertical lines.
  119104. */
  119105. rotation?: number;
  119106. /**
  119107. * (Gantt) CSS styles for the text label.
  119108. *
  119109. * In styled mode, the labels are styled by the
  119110. * `.highcharts-plot-line-label` class.
  119111. */
  119112. style?: CSSObject;
  119113. /**
  119114. * (Gantt) The text itself. A subset of HTML is supported.
  119115. */
  119116. text?: string;
  119117. /**
  119118. * (Gantt) The text alignment for the label. While `align` determines where
  119119. * the texts anchor point is placed within the plot band, `textAlign`
  119120. * determines how the text is aligned against its anchor point. Possible
  119121. * values are "left", "center" and "right". Defaults to the same as the
  119122. * `align` option.
  119123. */
  119124. textAlign?: AlignValue;
  119125. /**
  119126. * (Gantt) Whether to use HTML to render the labels.
  119127. */
  119128. useHTML?: boolean;
  119129. /**
  119130. * (Gantt) Vertical alignment of the label relative to the plot line. Can be
  119131. * one of "top", "middle" or "bottom".
  119132. */
  119133. verticalAlign?: VerticalAlignValue;
  119134. /**
  119135. * (Gantt) Horizontal position relative the alignment. Default varies by
  119136. * orientation.
  119137. */
  119138. x?: number;
  119139. /**
  119140. * (Gantt) Vertical position of the text baseline relative to the alignment.
  119141. * Default varies by orientation.
  119142. */
  119143. y?: number;
  119144. }
  119145. /**
  119146. * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
  119147. */
  119148. export interface XAxisEventsOptions {
  119149. /**
  119150. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  119151. */
  119152. afterBreaks?: AxisEventCallbackFunction;
  119153. /**
  119154. * (Highcharts, Highstock, Highmaps, Gantt) As opposed to the `setExtremes`
  119155. * event, this event fires after the final min and max values are computed
  119156. * and corrected for `minRange`.
  119157. *
  119158. * Fires when the minimum and maximum is set for the axis, either by calling
  119159. * the `.setExtremes()` method or by selecting an area in the chart. One
  119160. * parameter, `event`, is passed to the function, containing common event
  119161. * information.
  119162. *
  119163. * The new user set minimum and maximum values can be found by `event.min`
  119164. * and `event.max`. These reflect the axis minimum and maximum in axis
  119165. * values. The actual data extremes are found in `event.dataMin` and
  119166. * `event.dataMax`.
  119167. */
  119168. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  119169. /**
  119170. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  119171. * a point.
  119172. */
  119173. pointBreak?: AxisPointBreakEventCallbackFunction;
  119174. /**
  119175. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  119176. * break from this axis.
  119177. */
  119178. pointInBreak?: AxisPointBreakEventCallbackFunction;
  119179. /**
  119180. * (Highcharts, Highstock, Highmaps, Gantt) Fires when the minimum and
  119181. * maximum is set for the axis, either by calling the `.setExtremes()`
  119182. * method or by selecting an area in the chart. One parameter, `event`, is
  119183. * passed to the function, containing common event information.
  119184. *
  119185. * The new user set minimum and maximum values can be found by `event.min`
  119186. * and `event.max`. These reflect the axis minimum and maximum in data
  119187. * values. When an axis is zoomed all the way out from the "Reset zoom"
  119188. * button, `event.min` and `event.max` are null, and the new extremes are
  119189. * set based on `this.dataMin` and `this.dataMax`.
  119190. */
  119191. setExtremes?: AxisSetExtremesEventCallbackFunction;
  119192. }
  119193. /**
  119194. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  119195. */
  119196. export interface XAxisGridOptions {
  119197. /**
  119198. * (Gantt) Set border color for the label grid lines.
  119199. */
  119200. borderColor?: ColorString;
  119201. /**
  119202. * (Gantt) Set border width of the label grid lines.
  119203. */
  119204. borderWidth?: number;
  119205. /**
  119206. * (Gantt) Set cell height for grid axis labels. By default this is
  119207. * calculated from font size. This option only applies to horizontal axes.
  119208. */
  119209. cellHeight?: number;
  119210. /**
  119211. * (Gantt) Set specific options for each column (or row for horizontal axes)
  119212. * in the grid. Each extra column/row is its own axis, and the axis options
  119213. * can be set here.
  119214. */
  119215. columns?: Array<XAxisOptions>;
  119216. /**
  119217. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  119218. * charts.
  119219. */
  119220. enabled?: boolean;
  119221. }
  119222. /**
  119223. * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number or
  119224. * category for each tick.
  119225. *
  119226. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  119227. * `tickInterval` and `step` is set to 1.
  119228. */
  119229. export interface XAxisLabelsOptions {
  119230. /**
  119231. * (Highcharts, Highstock, Highmaps, Gantt) What part of the string the
  119232. * given position is anchored to. If `left`, the left side of the string is
  119233. * at the axis position. Can be one of `"left"`, `"center"` or `"right"`.
  119234. * Defaults to an intelligent guess based on which side of the chart the
  119235. * axis is on and the rotation of the label.
  119236. */
  119237. align?: AlignValue;
  119238. /**
  119239. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the axis labels
  119240. * to overlap. When false, overlapping labels are hidden.
  119241. */
  119242. allowOverlap?: boolean;
  119243. /**
  119244. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  119245. * of label rotation to prevent overlapping labels. If there is enough
  119246. * space, labels are not rotated. As the chart gets narrower, it will start
  119247. * rotating the labels -45 degrees, then remove every second label and try
  119248. * again with rotations 0 and -45 etc. Set it to `undefined` to disable
  119249. * rotation, which will cause the labels to word-wrap if possible. Defaults
  119250. * to `[-45]`` on bottom and top axes, `undefined` on left and right axes.
  119251. */
  119252. autoRotation?: Array<number>;
  119253. /**
  119254. * (Highcharts, Gantt) When each category width is more than this many
  119255. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  119256. * with word wrap. A lower limit makes sense when the label contains
  119257. * multiple short words that don't extend the available horizontal space for
  119258. * each label.
  119259. */
  119260. autoRotationLimit?: number;
  119261. /**
  119262. * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
  119263. * the perimeter of the plot area.
  119264. */
  119265. distance?: number;
  119266. /**
  119267. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the axis
  119268. * labels.
  119269. */
  119270. enabled?: boolean;
  119271. /**
  119272. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the axis
  119273. * label. The context is available as format string variables. For example,
  119274. * you can use `{text}` to insert the default formatted text. The
  119275. * recommended way of adding units for the label is using `text`, for
  119276. * example `{text} km`.
  119277. *
  119278. * To add custom numeric or datetime formatting, use `{value}` with
  119279. * formatting, for example `{value:.1f}` or `{value:%Y-%m-%d}`.
  119280. *
  119281. * See format string for more examples of formatting.
  119282. *
  119283. * The default value is not specified due to the dynamic nature of the
  119284. * default implementation.
  119285. */
  119286. format?: string;
  119287. /**
  119288. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  119289. * format the label. The value is given by `this.value`. Additional
  119290. * properties for `this` are `axis`, `chart`, `isFirst`, `isLast` and `text`
  119291. * which holds the value of the default formatter.
  119292. *
  119293. * Defaults to a built in function returning a formatted string depending on
  119294. * whether the axis is `category`, `datetime`, `numeric` or other.
  119295. */
  119296. formatter?: AxisLabelsFormatterCallbackFunction;
  119297. /**
  119298. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  119299. * axis.
  119300. */
  119301. indentation?: number;
  119302. /**
  119303. * (Highcharts, Highstock, Highmaps, Gantt) How to handle overflowing labels
  119304. * on horizontal axis. If set to `"allow"`, it will not be aligned at all.
  119305. * By default it `"justify"` labels inside the chart area. If there is room
  119306. * to move it, it will be aligned to the edge, else it will be removed.
  119307. */
  119308. overflow?: OptionsOverflowValue;
  119309. /**
  119310. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  119311. * space between them.
  119312. */
  119313. padding?: number;
  119314. /**
  119315. * (Highcharts) Defines how the labels are be repositioned according to the
  119316. * 3D chart orientation.
  119317. *
  119318. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  119319. * marks, despite the chart orientation. This is the backwards compatible
  119320. * behavior, and causes skewing of X and Z axes.
  119321. *
  119322. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  119323. * but hard to read if the text isn't forward-facing.
  119324. *
  119325. * - `'flap'`: Rotated text along the axis to compensate for the chart
  119326. * orientation. This tries to maintain text as legible as possible on all
  119327. * orientations.
  119328. *
  119329. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  119330. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  119331. * skewing the labels (X and Y scaling are still present).
  119332. */
  119333. position3d?: OptionsPosition3dValue;
  119334. /**
  119335. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  119336. * space is reserved for the labels in these cases:
  119337. *
  119338. * * On all horizontal axes.
  119339. *
  119340. * * On vertical axes if `label.align` is `right` on a left-side axis or
  119341. * `left` on a right-side axis.
  119342. *
  119343. * * On vertical axes if `label.align` is `center`.
  119344. *
  119345. * This can be turned off when for example the labels are rendered inside
  119346. * the plot area instead of outside.
  119347. */
  119348. reserveSpace?: boolean;
  119349. /**
  119350. * (Highcharts, Highstock, Highmaps, Gantt) Rotation of the labels in
  119351. * degrees. When `undefined`, the `autoRotation` option takes precedence.
  119352. */
  119353. rotation?: number;
  119354. /**
  119355. * (Highcharts) If enabled, the axis labels will skewed to follow the
  119356. * perspective.
  119357. *
  119358. * This will fix overlapping labels and titles, but texts become less
  119359. * legible due to the distortion.
  119360. *
  119361. * The final appearance depends heavily on `labels.position3d`.
  119362. */
  119363. skew3d?: boolean;
  119364. /**
  119365. * (Highcharts, Highstock, Highmaps, Gantt) Horizontal axes only. The number
  119366. * of lines to spread the labels over to make room or tighter labels. 0
  119367. * disables staggering.
  119368. */
  119369. staggerLines?: object;
  119370. /**
  119371. * (Highcharts, Highstock, Highmaps, Gantt) To show only every _n_'th label
  119372. * on the axis, set the step to _n_. Setting the step to 2 shows every other
  119373. * label.
  119374. *
  119375. * By default, when 0, the step is calculated automatically to avoid
  119376. * overlap. To prevent this, set it to 1\. This usually only happens on a
  119377. * category axis, and is often a sign that you have chosen the wrong axis
  119378. * type.
  119379. *
  119380. * Read more at Axis docs => What axis should I use?
  119381. */
  119382. step?: number;
  119383. /**
  119384. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the label. Use
  119385. * `whiteSpace: 'nowrap'` to prevent wrapping of category labels. Use
  119386. * `textOverflow: 'none'` to prevent ellipsis (dots).
  119387. *
  119388. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  119389. * class.
  119390. */
  119391. style?: CSSObject;
  119392. /**
  119393. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  119394. * the labels.
  119395. */
  119396. useHTML?: boolean;
  119397. /**
  119398. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of all
  119399. * labels relative to the tick positions on the axis.
  119400. */
  119401. x?: number;
  119402. /**
  119403. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of all
  119404. * labels relative to the tick positions on the axis. The default makes it
  119405. * adapt to the font size of the bottom axis.
  119406. */
  119407. y?: number;
  119408. /**
  119409. * (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis labels.
  119410. */
  119411. zIndex?: number;
  119412. }
  119413. /**
  119414. * (Highcharts, Highstock, Highmaps, Gantt) The X axis or category axis.
  119415. * Normally this is the horizontal axis, though if the chart is inverted this is
  119416. * the vertical axis. In case of multiple axes, the xAxis node is an array of
  119417. * configuration objects.
  119418. *
  119419. * See the Axis class for programmatic access to the axis.
  119420. */
  119421. export interface XAxisOptions {
  119422. /**
  119423. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  119424. * axis. Requires the accessibility module.
  119425. */
  119426. accessibility?: AxisAccessibilityOptionsObject;
  119427. /**
  119428. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  119429. * or more opposite axes will automatically be aligned by adding ticks to
  119430. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  119431. *
  119432. * This can be prevented by setting `alignTicks` to false. If the grid lines
  119433. * look messy, it's a good idea to hide them for the secondary axis by
  119434. * setting `gridLineWidth` to 0.
  119435. *
  119436. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  119437. * the `alignTicks ` will be disabled for the Axis.
  119438. *
  119439. * Disabled for logarithmic axes.
  119440. */
  119441. alignTicks?: boolean;
  119442. /**
  119443. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow decimals in
  119444. * this axis' ticks. When counting integers, like persons or hits on a web
  119445. * page, decimals should be avoided in the labels. By default, decimals are
  119446. * allowed on small scale axes.
  119447. */
  119448. allowDecimals?: (boolean|undefined);
  119449. /**
  119450. * (Highcharts, Highstock, Highmaps, Gantt) When using an alternate grid
  119451. * color, a band is painted across the plot area between every other grid
  119452. * line.
  119453. */
  119454. alternateGridColor?: ColorType;
  119455. /**
  119456. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  119457. * degrees, where 0 is up and 90 is right. The angle determines the position
  119458. * of the axis line and the labels, though the coordinate system is
  119459. * unaffected. Since v8.0.0 this option is also applicable for X axis
  119460. * (inverted polar).
  119461. */
  119462. angle?: number;
  119463. /**
  119464. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  119465. * sections defined will be left out and all the points shifted closer to
  119466. * each other.
  119467. */
  119468. breaks?: Array<XAxisBreaksOptions>;
  119469. /**
  119470. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  119471. * used instead of numbers for that axis.
  119472. *
  119473. * Since Highcharts 3.0, categories can also be extracted by giving each
  119474. * point a name and setting axis type to `category`. However, if you have
  119475. * multiple series, best practice remains defining the `categories` array.
  119476. *
  119477. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  119478. */
  119479. categories?: Array<string>;
  119480. /**
  119481. * (Highcharts, Highstock, Gantt) The highest allowed value for
  119482. * automatically computed axis extremes.
  119483. */
  119484. ceiling?: number;
  119485. /**
  119486. * (Highcharts, Highstock, Highmaps, Gantt) A class name that opens for
  119487. * styling the axis by CSS, especially in Highcharts styled mode. The class
  119488. * name is applied to group elements for the grid, axis elements and labels.
  119489. */
  119490. className?: string;
  119491. /**
  119492. * (Highcharts, Highstock, Highmaps, Gantt) Configure a crosshair that
  119493. * follows either the mouse pointer or the hovered point.
  119494. *
  119495. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  119496. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  119497. */
  119498. crosshair?: (boolean|AxisCrosshairOptions);
  119499. /**
  119500. * (Gantt) Show an indicator on the axis for the current date and time. Can
  119501. * be a boolean or a configuration object similar to xAxis.plotLines.
  119502. */
  119503. currentDateIndicator?: (boolean|CurrentDateIndicatorOptions|CurrentDateIndicatorOptions);
  119504. /**
  119505. * (Highcharts, Highstock, Gantt) For a datetime axis, the scale will
  119506. * automatically adjust to the appropriate unit. This member gives the
  119507. * default string representations used for each unit. For intermediate
  119508. * values, different units may be used, for example the `day` unit can be
  119509. * used on midnight and `hour` unit be used for intermediate values on the
  119510. * same axis.
  119511. *
  119512. * For an overview of the replacement codes, see dateFormat.
  119513. *
  119514. * Defaults to: (see online documentation for example)
  119515. */
  119516. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  119517. /**
  119518. * (Highcharts, Highstock, Highmaps, Gantt) Whether to force the axis to end
  119519. * on a tick. Use this option with the `maxPadding` option to control the
  119520. * axis end.
  119521. */
  119522. endOnTick?: boolean;
  119523. /**
  119524. * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
  119525. */
  119526. events?: XAxisEventsOptions;
  119527. /**
  119528. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  119529. * computed axis extremes.
  119530. */
  119531. floor?: number;
  119532. /**
  119533. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  119534. */
  119535. grid?: XAxisGridOptions;
  119536. /**
  119537. * (Highcharts, Highstock, Highmaps, Gantt) Color of the grid lines
  119538. * extending the ticks across the plot area.
  119539. *
  119540. * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
  119541. */
  119542. gridLineColor?: ColorType;
  119543. /**
  119544. * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
  119545. * grid lines. For possible values, see this demonstration.
  119546. */
  119547. gridLineDashStyle?: DashStyleValue;
  119548. /**
  119549. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  119550. * polygon with straight lines between categories, or as circles. Can be
  119551. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  119552. * for X axis (inverted polar).
  119553. */
  119554. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  119555. /**
  119556. * (Highcharts, Highstock, Highmaps, Gantt) The width of the grid lines
  119557. * extending the ticks across the plot area. Defaults to 1 on the Y axis and
  119558. * 0 on the X axis, except for 3d charts.
  119559. *
  119560. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  119561. * class.
  119562. */
  119563. gridLineWidth?: number;
  119564. /**
  119565. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  119566. */
  119567. gridZIndex?: number;
  119568. /**
  119569. * (Highcharts, Highstock) The height as the vertical axis. If it's a
  119570. * number, it is interpreted as pixels.
  119571. *
  119572. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  119573. * percentages of the total plot height.
  119574. */
  119575. height?: (number|string);
  119576. /**
  119577. * (Highcharts, Highstock, Highmaps, Gantt) An id for the axis. This can be
  119578. * used after render time to get a pointer to the axis object through
  119579. * `chart.get()`.
  119580. */
  119581. id?: string;
  119582. /**
  119583. * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number
  119584. * or category for each tick.
  119585. *
  119586. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  119587. * data if `tickInterval` and `step` is set to 1.
  119588. */
  119589. labels?: XAxisLabelsOptions;
  119590. /**
  119591. * (Highcharts, Highstock) The left position as the horizontal axis. If it's
  119592. * a number, it is interpreted as pixel position relative to the chart.
  119593. *
  119594. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  119595. * as percentages of the plot width, offset from plot area left.
  119596. */
  119597. left?: (number|string);
  119598. /**
  119599. * (Highcharts, Highstock, Highmaps, Gantt) The color of the line marking
  119600. * the axis itself.
  119601. *
  119602. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  119603. * or `.highcharts-xaxis-line` class.
  119604. */
  119605. lineColor?: ColorType;
  119606. /**
  119607. * (Highcharts, Highstock, Highmaps, Gantt) The width of the line marking
  119608. * the axis itself.
  119609. *
  119610. * In styled mode, the stroke width is given in the `.highcharts-axis-line`
  119611. * or `.highcharts-xaxis-line` class.
  119612. */
  119613. lineWidth?: number;
  119614. /**
  119615. * (Highcharts, Highstock, Gantt) Index of another axis that this axis is
  119616. * linked to. When an axis is linked to a master axis, it will take the same
  119617. * extremes as the master, but as assigned by min or max or by setExtremes.
  119618. * It can be used to show additional info, or to ease reading the chart by
  119619. * duplicating the scales.
  119620. */
  119621. linkedTo?: number;
  119622. /**
  119623. * (Highcharts, Highstock, Highmaps, Gantt) If there are multiple axes on
  119624. * the same side of the chart, the pixel margin between the axes. Defaults
  119625. * to 0 on vertical axes, 15 on horizontal axes.
  119626. */
  119627. margin?: number;
  119628. /**
  119629. * (Highcharts, Highstock, Highmaps, Gantt) The maximum value of the axis.
  119630. * If `null`, the max value is automatically calculated.
  119631. *
  119632. * If the endOnTick option is true, the `max` value might be rounded up.
  119633. *
  119634. * If a tickAmount is set, the axis may be extended beyond the set max in
  119635. * order to reach the given number of ticks. The same may happen in a chart
  119636. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  119637. * is applied internally.
  119638. */
  119639. max?: (number|null);
  119640. /**
  119641. * (Highcharts, Highstock, Highmaps, Gantt) Padding of the max value
  119642. * relative to the length of the axis. A padding of 0.05 will make a 100px
  119643. * axis 5px longer. This is useful when you don't want the highest data
  119644. * value to appear on the edge of the plot area. When the axis' `max` option
  119645. * is set or a max extreme is set using `axis.setExtremes()`, the maxPadding
  119646. * will be ignored.
  119647. */
  119648. maxPadding?: number;
  119649. /**
  119650. * (Highstock, Gantt) Maximum range which can be set using the navigator's
  119651. * handles. Opposite of xAxis.minRange.
  119652. */
  119653. maxRange?: number;
  119654. /**
  119655. * (Highcharts, Highstock, Highmaps, Gantt) The minimum value of the axis.
  119656. * If `null` the min value is automatically calculated.
  119657. *
  119658. * If the startOnTick option is true (default), the `min` value might be
  119659. * rounded down.
  119660. *
  119661. * The automatically calculated minimum value is also affected by floor,
  119662. * softMin, minPadding, minRange as well as series.threshold and
  119663. * series.softThreshold.
  119664. */
  119665. min?: (number|null);
  119666. /**
  119667. * (Highcharts, Highstock, Highmaps, Gantt) Color of the minor, secondary
  119668. * grid lines.
  119669. *
  119670. * In styled mode, the stroke width is given in the
  119671. * `.highcharts-minor-grid-line` class.
  119672. */
  119673. minorGridLineColor?: ColorType;
  119674. /**
  119675. * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
  119676. * minor grid lines. For possible values, see this demonstration.
  119677. */
  119678. minorGridLineDashStyle?: DashStyleValue;
  119679. /**
  119680. * (Highcharts, Highstock, Highmaps, Gantt) Width of the minor, secondary
  119681. * grid lines.
  119682. *
  119683. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  119684. * class.
  119685. */
  119686. minorGridLineWidth?: number;
  119687. /**
  119688. * (Highcharts, Highstock, Highmaps, Gantt) Color for the minor tick marks.
  119689. */
  119690. minorTickColor?: ColorType;
  119691. /**
  119692. * (Highcharts, Highstock, Highmaps, Gantt) Specific tick interval in axis
  119693. * units for the minor ticks. On a linear axis, if `"auto"`, the minor tick
  119694. * interval is calculated as a fifth of the tickInterval. If `null` or
  119695. * `undefined`, minor ticks are not shown.
  119696. *
  119697. * On logarithmic axes, the unit is the power of the value. For example,
  119698. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  119699. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  119700. * and 10, 10 and 100 etc.
  119701. *
  119702. * If user settings dictate minor ticks to become too dense, they don't make
  119703. * sense, and will be ignored to prevent performance problems.
  119704. */
  119705. minorTickInterval?: (number|string|null);
  119706. /**
  119707. * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the minor
  119708. * tick marks.
  119709. */
  119710. minorTickLength?: number;
  119711. /**
  119712. * (Highcharts, Highstock, Highmaps, Gantt) The position of the minor tick
  119713. * marks relative to the axis line. Can be one of `inside` and `outside`.
  119714. */
  119715. minorTickPosition?: OptionsMinorTickPositionValue;
  119716. /**
  119717. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable minor ticks.
  119718. * Unless minorTickInterval is set, the tick interval is calculated as a
  119719. * fifth of the `tickInterval`.
  119720. *
  119721. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  119722. * attempting to enter approximately 5 minor ticks between each major tick.
  119723. *
  119724. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  119725. * `minorTickInterval` to `"auto"`.
  119726. */
  119727. minorTicks?: boolean;
  119728. /**
  119729. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the minor
  119730. * tick mark.
  119731. */
  119732. minorTickWidth?: number;
  119733. /**
  119734. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  119735. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  119736. * This is useful when you don't want the lowest data value to appear on the
  119737. * edge of the plot area. When the axis' `min` option is set or a min
  119738. * extreme is set using `axis.setExtremes()`, the minPadding will be
  119739. * ignored.
  119740. */
  119741. minPadding?: number;
  119742. /**
  119743. * (Highcharts, Highstock, Highmaps, Gantt) The minimum range to display on
  119744. * this axis. The entire axis will not be allowed to span over a smaller
  119745. * interval than this. For example, for a datetime axis the main unit is
  119746. * milliseconds. If minRange is set to 3600000, you can't zoom in more than
  119747. * to one hour.
  119748. *
  119749. * The default minRange for the x axis is five times the smallest interval
  119750. * between any of the data points.
  119751. *
  119752. * On a logarithmic axis, the unit for the minimum range is the power. So a
  119753. * minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
  119754. * 1000-10000 etc.
  119755. *
  119756. * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
  119757. * settings also affect how the extremes of the axis are computed.
  119758. */
  119759. minRange?: number;
  119760. /**
  119761. * (Highcharts, Highstock, Highmaps, Gantt) The minimum tick interval
  119762. * allowed in axis values. For example on zooming in on an axis with daily
  119763. * data, this can be used to prevent the axis from showing hours. Defaults
  119764. * to the closest distance between two points on the axis.
  119765. */
  119766. minTickInterval?: number;
  119767. /**
  119768. * (Highcharts, Highstock, Highmaps, Gantt) The distance in pixels from the
  119769. * plot area to the axis line. A positive offset moves the axis with it's
  119770. * line, labels and ticks away from the plot area. This is typically used
  119771. * when two or more axes are displayed on the same side of the plot. With
  119772. * multiple axes the offset is dynamically adjusted to avoid collision, this
  119773. * can be overridden by setting offset explicitly.
  119774. */
  119775. offset?: string;
  119776. /**
  119777. * (Highcharts, Highstock, Highmaps, Gantt) Whether to display the axis on
  119778. * the opposite side of the normal. The normal is on the left side for
  119779. * vertical axes and bottom for horizontal, so the opposite sides will be
  119780. * right and top respectively. This is typically used with dual or multiple
  119781. * axes.
  119782. */
  119783. opposite?: boolean;
  119784. /**
  119785. * (Highstock) In an ordinal axis, the points are equally spaced in the
  119786. * chart regardless of the actual time or x distance between them. This
  119787. * means that missing data periods (e.g. nights or weekends for a stock
  119788. * chart) will not take up space in the chart. Having `ordinal: false` will
  119789. * show any gaps created by the `gapSize` setting proportionate to their
  119790. * duration.
  119791. *
  119792. * In stock charts the X axis is ordinal by default, unless the boost module
  119793. * is used and at least one of the series' data length exceeds the
  119794. * boostThreshold.
  119795. */
  119796. ordinal?: boolean;
  119797. /**
  119798. * (Highstock) Additional range on the right side of the xAxis. Works
  119799. * similar to `xAxis.maxPadding`, but value is set in milliseconds. Can be
  119800. * set for both main `xAxis` and the navigator's `xAxis`.
  119801. */
  119802. overscroll?: number;
  119803. /**
  119804. * (Highcharts) Refers to the index in the panes array. Used for circular
  119805. * gauges and polar charts. When the option is not set then first pane will
  119806. * be used.
  119807. */
  119808. pane?: number;
  119809. /**
  119810. * (Highcharts, Highstock, Gantt) An array of colored bands stretching
  119811. * across the plot area marking an interval on the axis.
  119812. *
  119813. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  119814. * class in addition to the `className` option.
  119815. */
  119816. plotBands?: Array<XAxisPlotBandsOptions>;
  119817. /**
  119818. * (Highcharts, Highstock, Gantt) An array of lines stretching across the
  119819. * plot area, marking a specific value on one of the axes.
  119820. *
  119821. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  119822. * class in addition to the `className` option.
  119823. */
  119824. plotLines?: Array<XAxisPlotLinesOptions>;
  119825. /**
  119826. * (Highstock) The zoomed range to display when only defining one or none of
  119827. * `min` or `max`. For example, to show the latest month, a range of one
  119828. * month can be set.
  119829. */
  119830. range?: number;
  119831. /**
  119832. * (Highcharts, Highstock, Highmaps, Gantt) Whether to reverse the axis so
  119833. * that the highest number is closest to the origin. If the chart is
  119834. * inverted, the x axis is reversed by default.
  119835. */
  119836. reversed?: boolean;
  119837. /**
  119838. * (Highcharts, Highstock) This option determines how stacks should be
  119839. * ordered within a group. For example reversed xAxis also reverses stacks,
  119840. * so first series comes last in a group. To keep order like for
  119841. * non-reversed xAxis enable this option.
  119842. */
  119843. reversedStacks?: boolean;
  119844. /**
  119845. * (Highstock) An optional scrollbar to display on the X axis in response to
  119846. * limiting the minimum and maximum of the axis values.
  119847. *
  119848. * In styled mode, all the presentational options for the scrollbar are
  119849. * replaced by the classes `.highcharts-scrollbar-thumb`,
  119850. * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
  119851. * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
  119852. */
  119853. scrollbar?: XAxisScrollbarOptions;
  119854. /**
  119855. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the axis line
  119856. * and title when the axis has no data.
  119857. */
  119858. showEmpty?: boolean;
  119859. /**
  119860. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the first tick
  119861. * label.
  119862. */
  119863. showFirstLabel?: boolean;
  119864. /**
  119865. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  119866. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  119867. */
  119868. showLastLabel?: boolean;
  119869. /**
  119870. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  119871. * data maximum is less than this, the axis will stay at this maximum, but
  119872. * if the series data maximum is higher, the axis will flex to show all
  119873. * data.
  119874. */
  119875. softMax?: number;
  119876. /**
  119877. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  119878. * data minimum is greater than this, the axis will stay at this minimum,
  119879. * but if the series data minimum is lower, the axis will flex to show all
  119880. * data.
  119881. */
  119882. softMin?: number;
  119883. /**
  119884. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  119885. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  119886. */
  119887. startOfWeek?: number;
  119888. /**
  119889. * (Highcharts, Highstock, Highmaps, Gantt) Whether to force the axis to
  119890. * start on a tick. Use this option with the `minPadding` option to control
  119891. * the axis start.
  119892. */
  119893. startOnTick?: boolean;
  119894. /**
  119895. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  119896. * This opens up for aligning the ticks of multiple charts or panes within a
  119897. * chart. This option overrides the `tickPixelInterval` option.
  119898. *
  119899. * This option only has an effect on linear axes. Datetime, logarithmic or
  119900. * category axes are not affected.
  119901. */
  119902. tickAmount?: number;
  119903. /**
  119904. * (Highcharts, Highstock, Highmaps, Gantt) Color for the main tick marks.
  119905. *
  119906. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  119907. */
  119908. tickColor?: ColorType;
  119909. /**
  119910. * (Highcharts, Highstock, Highmaps, Gantt) The interval of the tick marks
  119911. * in axis units. When `undefined`, the tick interval is computed to
  119912. * approximately follow the tickPixelInterval on linear and datetime axes.
  119913. * On categorized axes, a `undefined` tickInterval will default to 1, one
  119914. * category. Note that datetime axes are based on milliseconds, so for
  119915. * example an interval of one day is expressed as `24 * 3600 * 1000`.
  119916. *
  119917. * On logarithmic axes, the tickInterval is based on powers, so a
  119918. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  119919. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  119920. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  119921. * etc.
  119922. *
  119923. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  119924. * remove ticks.
  119925. *
  119926. * If the chart has multiple axes, the alignTicks option may interfere with
  119927. * the `tickInterval` setting.
  119928. */
  119929. tickInterval?: number;
  119930. /**
  119931. * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the main
  119932. * tick marks.
  119933. */
  119934. tickLength?: number;
  119935. /**
  119936. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  119937. * placed in the center of the category, if `between` the tick mark is
  119938. * placed between categories. The default is `between` if the `tickInterval`
  119939. * is 1, else `on`.
  119940. */
  119941. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  119942. /**
  119943. * (Highcharts, Highstock, Highmaps, Gantt) If tickInterval is `null` this
  119944. * option sets the approximate pixel interval of the tick marks. Not
  119945. * applicable to categorized axis.
  119946. *
  119947. * The tick interval is also influenced by the minTickInterval option, that,
  119948. * by default prevents ticks from being denser than the data points.
  119949. */
  119950. tickPixelInterval?: number;
  119951. /**
  119952. * (Highcharts, Highstock, Highmaps, Gantt) The position of the major tick
  119953. * marks relative to the axis line. Can be one of `inside` and `outside`.
  119954. */
  119955. tickPosition?: OptionsTickPositionValue;
  119956. /**
  119957. * (Highcharts, Highstock, Highmaps, Gantt) A callback function returning
  119958. * array defining where the ticks are laid out on the axis. This overrides
  119959. * the default behaviour of tickPixelInterval and tickInterval. The
  119960. * automatic tick positions are accessible through `this.tickPositions` and
  119961. * can be modified by the callback.
  119962. */
  119963. tickPositioner?: AxisTickPositionerCallbackFunction;
  119964. /**
  119965. * (Highcharts, Highstock, Highmaps, Gantt) An array defining where the
  119966. * ticks are laid out on the axis. This overrides the default behaviour of
  119967. * tickPixelInterval and tickInterval.
  119968. */
  119969. tickPositions?: Array<number>;
  119970. /**
  119971. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the major
  119972. * tick marks. Defaults to 0 on category axes, otherwise 1.
  119973. *
  119974. * In styled mode, the stroke width is given in the `.highcharts-tick`
  119975. * class, but in order for the element to be generated on category axes, the
  119976. * option must be explicitly set to 1.
  119977. */
  119978. tickWidth?: (number|undefined);
  119979. /**
  119980. * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to
  119981. * the axis line.
  119982. */
  119983. title?: XAxisTitleOptions;
  119984. /**
  119985. * (Highcharts, Highstock) The top position as the vertical axis. If it's a
  119986. * number, it is interpreted as pixel position relative to the chart.
  119987. *
  119988. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  119989. * percentages of the plot height, offset from plot area top.
  119990. */
  119991. top?: (number|string);
  119992. /**
  119993. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  119994. * `logarithmic`, `datetime` or `category`. In a datetime axis, the numbers
  119995. * are given in milliseconds, and tick marks are placed on appropriate
  119996. * values like full hours or days. In a category axis, the point names of
  119997. * the chart's series are used for categories, if not a categories array is
  119998. * defined.
  119999. */
  120000. type?: AxisTypeValue;
  120001. /**
  120002. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  120003. * `uniqueNames` is true, points are placed on the X axis according to their
  120004. * names. If the same point name is repeated in the same or another series,
  120005. * the point is placed on the same X position as other points of the same
  120006. * name. When `uniqueNames` is false, the points are laid out in increasing
  120007. * X positions regardless of their names, and the X axis category will take
  120008. * the name of the last point in each position.
  120009. */
  120010. uniqueNames?: boolean;
  120011. /**
  120012. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  120013. * what time intervals the ticks are allowed to fall on. Each array item is
  120014. * an array where the first value is the time unit and the second value
  120015. * another array of allowed multiples.
  120016. *
  120017. * Defaults to: (see online documentation for example)
  120018. */
  120019. units?: Array<[string, (Array<number>|null)]>;
  120020. /**
  120021. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  120022. * ticks and labels, should be visible.
  120023. */
  120024. visible?: boolean;
  120025. /**
  120026. * (Highcharts, Highstock) The width as the horizontal axis. If it's a
  120027. * number, it is interpreted as pixels.
  120028. *
  120029. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  120030. * as percentages of the total plot width.
  120031. */
  120032. width?: (number|string);
  120033. /**
  120034. * (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis group.
  120035. */
  120036. zIndex?: number;
  120037. /**
  120038. * (Highcharts, Highstock, Highmaps, Gantt) Whether to zoom axis. If
  120039. * `chart.zoomType` is set, the option allows to disable zooming on an
  120040. * individual axis.
  120041. */
  120042. zoomEnabled?: boolean;
  120043. }
  120044. /**
  120045. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  120046. * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  120047. */
  120048. export interface XAxisPlotBandsEventsOptions {
  120049. /**
  120050. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  120051. */
  120052. click?: EventCallbackFunction<PlotLineOrBand>;
  120053. /**
  120054. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  120055. */
  120056. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  120057. /**
  120058. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  120059. * band.
  120060. */
  120061. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  120062. /**
  120063. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  120064. */
  120065. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  120066. }
  120067. /**
  120068. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  120069. */
  120070. export interface XAxisPlotBandsLabelOptions {
  120071. /**
  120072. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  120073. * one of "left", "center" or "right".
  120074. */
  120075. align?: AlignValue;
  120076. /**
  120077. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
  120078. */
  120079. rotation?: number;
  120080. /**
  120081. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  120082. *
  120083. * In styled mode, the labels are styled by the
  120084. * `.highcharts-plot-band-label` class.
  120085. */
  120086. style?: CSSObject;
  120087. /**
  120088. * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
  120089. * is supported.
  120090. */
  120091. text?: string;
  120092. /**
  120093. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  120094. * `align` determines where the texts anchor point is placed within the plot
  120095. * band, `textAlign` determines how the text is aligned against its anchor
  120096. * point. Possible values are "left", "center" and "right". Defaults to the
  120097. * same as the `align` option.
  120098. */
  120099. textAlign?: AlignValue;
  120100. /**
  120101. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  120102. */
  120103. useHTML?: boolean;
  120104. /**
  120105. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  120106. * to the plot band. Can be one of "top", "middle" or "bottom".
  120107. */
  120108. verticalAlign?: VerticalAlignValue;
  120109. /**
  120110. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  120111. * alignment. Default varies by orientation.
  120112. */
  120113. x?: number;
  120114. /**
  120115. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  120116. * relative to the alignment. Default varies by orientation.
  120117. */
  120118. y?: number;
  120119. }
  120120. /**
  120121. * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
  120122. * the plot area marking an interval on the axis.
  120123. *
  120124. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  120125. * class in addition to the `className` option.
  120126. */
  120127. export interface XAxisPlotBandsOptions {
  120128. /**
  120129. * (Highstock) Flag to decide if plotBand should be rendered across all
  120130. * panes.
  120131. */
  120132. acrossPanes?: boolean;
  120133. /**
  120134. * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
  120135. * requires `borderWidth` to be set.
  120136. */
  120137. borderColor?: ColorString;
  120138. /**
  120139. * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
  120140. * requires `borderColor` to be set.
  120141. */
  120142. borderWidth?: number;
  120143. /**
  120144. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  120145. * default `highcharts-plot-band`, to apply to each individual band.
  120146. */
  120147. className?: string;
  120148. /**
  120149. * (Highcharts, Highstock, Gantt) The color of the plot band.
  120150. */
  120151. color?: (ColorString|GradientColorObject|PatternObject);
  120152. /**
  120153. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  120154. * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
  120155. * `mousemove`.
  120156. */
  120157. events?: XAxisPlotBandsEventsOptions;
  120158. /**
  120159. * (Highcharts, Highstock, Gantt) The start position of the plot band in
  120160. * axis units.
  120161. */
  120162. from?: number;
  120163. /**
  120164. * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
  120165. * in Axis.removePlotBand.
  120166. */
  120167. id?: string;
  120168. /**
  120169. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  120170. */
  120171. label?: XAxisPlotBandsLabelOptions;
  120172. /**
  120173. * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
  120174. * units.
  120175. */
  120176. to?: number;
  120177. /**
  120178. * (Highcharts, Highstock, Gantt) The z index of the plot band within the
  120179. * chart, relative to other elements. Using the same z index as another
  120180. * element may give unpredictable results, as the last rendered element will
  120181. * be on top. Values from 0 to 20 make sense.
  120182. */
  120183. zIndex?: number;
  120184. }
  120185. /**
  120186. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  120187. * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  120188. */
  120189. export interface XAxisPlotLinesEventsOptions {
  120190. /**
  120191. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  120192. */
  120193. click?: EventCallbackFunction<PlotLineOrBand>;
  120194. /**
  120195. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  120196. */
  120197. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  120198. /**
  120199. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  120200. * band.
  120201. */
  120202. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  120203. /**
  120204. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  120205. */
  120206. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  120207. }
  120208. /**
  120209. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  120210. */
  120211. export interface XAxisPlotLinesLabelOptions {
  120212. /**
  120213. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  120214. * one of "left", "center" or "right".
  120215. */
  120216. align?: AlignValue;
  120217. /**
  120218. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  120219. * label. Useful properties like the value of plot line or the range of plot
  120220. * band (`from` & `to` properties) can be found in `this.options` object.
  120221. */
  120222. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  120223. /**
  120224. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
  120225. * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
  120226. */
  120227. rotation?: number;
  120228. /**
  120229. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  120230. *
  120231. * In styled mode, the labels are styled by the
  120232. * `.highcharts-plot-line-label` class.
  120233. */
  120234. style?: CSSObject;
  120235. /**
  120236. * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
  120237. * supported.
  120238. */
  120239. text?: string;
  120240. /**
  120241. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  120242. * `align` determines where the texts anchor point is placed within the plot
  120243. * band, `textAlign` determines how the text is aligned against its anchor
  120244. * point. Possible values are "left", "center" and "right". Defaults to the
  120245. * same as the `align` option.
  120246. */
  120247. textAlign?: AlignValue;
  120248. /**
  120249. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  120250. */
  120251. useHTML?: boolean;
  120252. /**
  120253. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  120254. * to the plot line. Can be one of "top", "middle" or "bottom".
  120255. */
  120256. verticalAlign?: VerticalAlignValue;
  120257. /**
  120258. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  120259. * alignment. Default varies by orientation.
  120260. */
  120261. x?: number;
  120262. /**
  120263. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  120264. * relative to the alignment. Default varies by orientation.
  120265. */
  120266. y?: number;
  120267. }
  120268. /**
  120269. * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
  120270. * area, marking a specific value on one of the axes.
  120271. *
  120272. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  120273. * class in addition to the `className` option.
  120274. */
  120275. export interface XAxisPlotLinesOptions {
  120276. /**
  120277. * (Highstock) Flag to decide if plotLine should be rendered across all
  120278. * panes.
  120279. */
  120280. acrossPanes?: boolean;
  120281. /**
  120282. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  120283. * default `highcharts-plot-line`, to apply to each individual line.
  120284. */
  120285. className?: string;
  120286. /**
  120287. * (Highcharts, Highstock, Gantt) The color of the line.
  120288. */
  120289. color?: ColorString;
  120290. /**
  120291. * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
  120292. * line. For possible values see this overview.
  120293. */
  120294. dashStyle?: DashStyleValue;
  120295. /**
  120296. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  120297. * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
  120298. * `mousemove`.
  120299. */
  120300. events?: XAxisPlotLinesEventsOptions;
  120301. /**
  120302. * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
  120303. * in Axis.removePlotLine.
  120304. */
  120305. id?: string;
  120306. /**
  120307. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  120308. */
  120309. label?: XAxisPlotLinesLabelOptions;
  120310. /**
  120311. * (Highcharts, Highstock, Gantt) The position of the line in axis units.
  120312. */
  120313. value?: number;
  120314. /**
  120315. * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
  120316. */
  120317. width?: number;
  120318. /**
  120319. * (Highcharts, Highstock, Gantt) The z index of the plot line within the
  120320. * chart.
  120321. */
  120322. zIndex?: number;
  120323. }
  120324. /**
  120325. * (Highstock) An optional scrollbar to display on the X axis in response to
  120326. * limiting the minimum and maximum of the axis values.
  120327. *
  120328. * In styled mode, all the presentational options for the scrollbar are replaced
  120329. * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
  120330. * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
  120331. * `.highcharts-scrollbar-track`.
  120332. */
  120333. export interface XAxisScrollbarOptions {
  120334. /**
  120335. * (Highstock) The background color of the scrollbar itself.
  120336. */
  120337. barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  120338. /**
  120339. * (Highstock) The color of the scrollbar's border.
  120340. */
  120341. barBorderColor?: (ColorString|GradientColorObject|PatternObject);
  120342. /**
  120343. * (Highstock) The border rounding radius of the bar.
  120344. */
  120345. barBorderRadius?: number;
  120346. /**
  120347. * (Highstock) The width of the bar's border.
  120348. */
  120349. barBorderWidth?: number;
  120350. /**
  120351. * (Highstock) The color of the small arrow inside the scrollbar buttons.
  120352. */
  120353. buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
  120354. /**
  120355. * (Highstock) The color of scrollbar buttons.
  120356. */
  120357. buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  120358. /**
  120359. * (Highstock) The color of the border of the scrollbar buttons.
  120360. */
  120361. buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
  120362. /**
  120363. * (Highstock) The corner radius of the scrollbar buttons.
  120364. */
  120365. buttonBorderRadius?: number;
  120366. /**
  120367. * (Highstock) The border width of the scrollbar buttons.
  120368. */
  120369. buttonBorderWidth?: number;
  120370. /**
  120371. * (Highstock) Enable or disable the scrollbar.
  120372. */
  120373. enabled?: boolean;
  120374. /**
  120375. * (Highstock) The height of the scrollbar. The height also applies to the
  120376. * width of the scroll arrows so that they are always squares. Defaults to
  120377. * 20 for touch devices and 14 for mouse devices.
  120378. */
  120379. height?: number;
  120380. /**
  120381. * (Highstock) Whether to redraw the main chart as the scrollbar or the
  120382. * navigator zoomed window is moved. Defaults to `true` for modern browsers
  120383. * and `false` for legacy IE browsers as well as mobile devices.
  120384. */
  120385. liveRedraw?: boolean;
  120386. /**
  120387. * (Highstock) The margin between the scrollbar and its axis when the
  120388. * scrollbar is applied directly to an axis.
  120389. */
  120390. margin?: number;
  120391. /**
  120392. * (Highstock) The minimum width of the scrollbar.
  120393. */
  120394. minWidth?: number;
  120395. /**
  120396. * (Highstock) The color of the small rifles in the middle of the scrollbar.
  120397. */
  120398. rifleColor?: (ColorString|GradientColorObject|PatternObject);
  120399. /**
  120400. * (Highstock) Whether to show or hide the scrollbar when the scrolled
  120401. * content is zoomed out to it full extent.
  120402. */
  120403. showFull?: boolean;
  120404. /**
  120405. * (Highstock) The color of the track background.
  120406. */
  120407. trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  120408. /**
  120409. * (Highstock) The color of the border of the scrollbar track.
  120410. */
  120411. trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
  120412. /**
  120413. * (Highstock) The corner radius of the border of the scrollbar track.
  120414. */
  120415. trackBorderRadius?: number;
  120416. /**
  120417. * (Highstock) The width of the border of the scrollbar track.
  120418. */
  120419. trackBorderWidth?: number;
  120420. /**
  120421. * (Highstock) The z index of the scrollbar group.
  120422. */
  120423. zIndex?: number;
  120424. }
  120425. /**
  120426. * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to the
  120427. * axis line.
  120428. */
  120429. export interface XAxisTitleOptions {
  120430. /**
  120431. * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the title relative
  120432. * to the axis values. Possible values are "low", "middle" or "high".
  120433. */
  120434. align?: AxisTitleAlignValue;
  120435. /**
  120436. * (Highcharts, Highstock, Highmaps, Gantt) The pixel distance between the
  120437. * axis labels or line and the title. Defaults to 0 for horizontal axes, 10
  120438. * for vertical
  120439. */
  120440. margin?: number;
  120441. /**
  120442. * (Highcharts, Highstock, Highmaps, Gantt) The distance of the axis title
  120443. * from the axis line. By default, this distance is computed from the offset
  120444. * width of the labels, the labels' distance from the axis and the title's
  120445. * margin. However when the offset option is set, it overrides all this.
  120446. */
  120447. offset?: number;
  120448. /**
  120449. * (Highcharts) Defines how the title is repositioned according to the 3D
  120450. * chart orientation.
  120451. *
  120452. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  120453. * marks, despite the chart orientation. This is the backwards compatible
  120454. * behavior, and causes skewing of X and Z axes.
  120455. *
  120456. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  120457. * but hard to read if the text isn't forward-facing.
  120458. *
  120459. * - `'flap'`: Rotated text along the axis to compensate for the chart
  120460. * orientation. This tries to maintain text as legible as possible on all
  120461. * orientations.
  120462. *
  120463. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  120464. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  120465. * skewing the labels (X and Y scaling are still present).
  120466. *
  120467. * - `undefined`: Will use the config from `labels.position3d`
  120468. */
  120469. position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
  120470. /**
  120471. * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
  120472. * when laying out the axis.
  120473. */
  120474. reserveSpace?: boolean;
  120475. /**
  120476. * (Highcharts, Highstock, Highmaps, Gantt) The rotation of the text in
  120477. * degrees. 0 is horizontal, 270 is vertical reading from bottom to top.
  120478. */
  120479. rotation?: number;
  120480. /**
  120481. * (Highcharts) If enabled, the axis title will skewed to follow the
  120482. * perspective.
  120483. *
  120484. * This will fix overlapping labels and titles, but texts become less
  120485. * legible due to the distortion.
  120486. *
  120487. * The final appearance depends heavily on `title.position3d`.
  120488. *
  120489. * A `null` value will use the config from `labels.skew3d`.
  120490. */
  120491. skew3d?: (boolean|null);
  120492. /**
  120493. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. If the
  120494. * title text is longer than the axis length, it will wrap to multiple lines
  120495. * by default. This can be customized by setting `textOverflow: 'ellipsis'`,
  120496. * by setting a specific `width` or by setting `whiteSpace: 'nowrap'`.
  120497. *
  120498. * In styled mode, the stroke width is given in the `.highcharts-axis-title`
  120499. * class.
  120500. */
  120501. style?: CSSObject;
  120502. /**
  120503. * (Highcharts, Highstock, Highmaps, Gantt) The actual text of the axis
  120504. * title. It can contain basic HTML tags like `b`, `i` and `span` with
  120505. * style.
  120506. */
  120507. text?: (string|null);
  120508. /**
  120509. * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the text, can be
  120510. * `"left"`, `"right"` or `"center"`. Default alignment depends on the
  120511. * title.align:
  120512. *
  120513. * Horizontal axes:
  120514. *
  120515. * - for `align` = `"low"`, `textAlign` is set to `left`
  120516. *
  120517. * - for `align` = `"middle"`, `textAlign` is set to `center`
  120518. *
  120519. * - for `align` = `"high"`, `textAlign` is set to `right`
  120520. *
  120521. * Vertical axes:
  120522. *
  120523. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  120524. * `right`
  120525. *
  120526. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  120527. * `left`
  120528. *
  120529. * - for `align` = `"middle"`, `textAlign` is set to `center`
  120530. *
  120531. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  120532. * `left`
  120533. *
  120534. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  120535. * `right`
  120536. */
  120537. textAlign?: AlignValue;
  120538. /**
  120539. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
  120540. * title.
  120541. */
  120542. useHTML?: boolean;
  120543. /**
  120544. * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
  120545. * position.
  120546. */
  120547. x?: number;
  120548. /**
  120549. * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
  120550. * position.
  120551. */
  120552. y?: number;
  120553. }
  120554. /**
  120555. * (Gantt) Connect to a point. This option can be either a string, referring to
  120556. * the ID of another point, or an object, or an array of either. If the option
  120557. * is an array, each element defines a connection.
  120558. */
  120559. export interface XrangePointConnectorsOptionsObject {
  120560. /**
  120561. * (Gantt) Set the default dash style for this chart's connecting lines.
  120562. */
  120563. dashStyle?: string;
  120564. /**
  120565. * (Gantt) Marker options specific to the end markers for this chart's
  120566. * Pathfinder connectors. Overrides the generic marker options.
  120567. */
  120568. endMarker?: ConnectorsEndMarkerOptions;
  120569. /**
  120570. * (Gantt) Set the default color for this chart's Pathfinder connecting
  120571. * lines. Defaults to the color of the point being connected.
  120572. */
  120573. lineColor?: ColorString;
  120574. /**
  120575. * (Gantt) Set the default pixel width for this chart's Pathfinder
  120576. * connecting lines.
  120577. */
  120578. lineWidth?: number;
  120579. /**
  120580. * (Gantt) Marker options for this chart's Pathfinder connectors. Note that
  120581. * this option is overridden by the `startMarker` and `endMarker` options.
  120582. */
  120583. marker?: ConnectorsMarkerOptions;
  120584. /**
  120585. * (Gantt) Marker options specific to the start markers for this chart's
  120586. * Pathfinder connectors. Overrides the generic marker options.
  120587. */
  120588. startMarker?: ConnectorsStartMarkerOptions;
  120589. /**
  120590. * (Gantt) The ID of the point to connect to.
  120591. */
  120592. to?: string;
  120593. /**
  120594. * (Gantt) Set the default pathfinder algorithm to use for this chart. It is
  120595. * possible to define your own algorithms by adding them to the
  120596. * Highcharts.Pathfinder.prototype.algorithms object before the chart has
  120597. * been created.
  120598. *
  120599. * The default algorithms are as follows:
  120600. *
  120601. * `straight`: Draws a straight line between the connecting points. Does not
  120602. * avoid other points when drawing.
  120603. *
  120604. * `simpleConnect`: Finds a path between the points using right angles only.
  120605. * Takes only starting/ending points into account, and will not avoid other
  120606. * points.
  120607. *
  120608. * `fastAvoid`: Finds a path between the points using right angles only.
  120609. * Will attempt to avoid other points, but its focus is performance over
  120610. * accuracy. Works well with less dense datasets.
  120611. *
  120612. * Default value: `straight` is used as default for most series types, while
  120613. * `simpleConnect` is used as default for Gantt series, to show dependencies
  120614. * between points.
  120615. */
  120616. type?: PathfinderTypeValue;
  120617. }
  120618. /**
  120619. * (Highcharts, Highstock, Gantt) An array of data points for the series. For
  120620. * the `xrange` series type, points can be given in the following ways:
  120621. *
  120622. * 1. An array of objects with named values. The objects are point configuration
  120623. * objects as seen below. (see online documentation for example)
  120624. */
  120625. export interface XrangePointOptionsObject {
  120626. /**
  120627. * (Highcharts, Highstock, Gantt) Accessibility options for a data point.
  120628. */
  120629. accessibility?: PointAccessibilityOptionsObject;
  120630. /**
  120631. * (Highcharts, Gantt) An additional, individual class name for the data
  120632. * point's graphic representation.
  120633. */
  120634. className?: string;
  120635. /**
  120636. * (Highcharts, Highstock, Gantt) Individual color for the point. By default
  120637. * the color is pulled from the global `colors` array.
  120638. *
  120639. * In styled mode, the `color` option doesn't take effect. Instead, use
  120640. * `colorIndex`.
  120641. */
  120642. color?: (ColorString|GradientColorObject|PatternObject);
  120643. /**
  120644. * (Highcharts, Gantt) A specific color index to use for the point, so its
  120645. * graphic representations are given the class name `highcharts-color-{n}`.
  120646. * In styled mode this will change the color of the graphic. In non-styled
  120647. * mode, the color by is set by the `fill` attribute, so the change in class
  120648. * name won't have a visual effect by default.
  120649. */
  120650. colorIndex?: number;
  120651. /**
  120652. * (Gantt) Connect to a point. This option can be either a string, referring
  120653. * to the ID of another point, or an object, or an array of either. If the
  120654. * option is an array, each element defines a connection.
  120655. */
  120656. connect?: (string|XrangePointConnectorsOptionsObject|Array<(string|XrangePointConnectorsOptionsObject)>);
  120657. /**
  120658. * (Highcharts, Highstock, Gantt) A reserved subspace to store options and
  120659. * values for customized functionality. Here you can add additional data for
  120660. * your own event callbacks and formatter callbacks.
  120661. */
  120662. custom?: Dictionary<any>;
  120663. /**
  120664. * (Highcharts, Highstock, Gantt) Individual data label for each point. The
  120665. * options are the same as the ones for plotOptions.series.dataLabels.
  120666. */
  120667. dataLabels?: (DataLabelsOptions|Array<DataLabelsOptions>);
  120668. /**
  120669. * (Highcharts, Highstock, Gantt) A description of the point to add to the
  120670. * screen reader information about the point.
  120671. */
  120672. description?: string;
  120673. /**
  120674. * (Highcharts, Highstock, Gantt) Point specific options for the
  120675. * draggable-points module. Overrides options on `series.dragDrop`.
  120676. */
  120677. dragDrop?: SeriesLineDataDragDropOptions;
  120678. /**
  120679. * (Highcharts) The `id` of a series in the drilldown.series array to use
  120680. * for a drilldown for this point.
  120681. */
  120682. drilldown?: string;
  120683. /**
  120684. * (Highcharts, Highstock, Gantt) The individual point events.
  120685. */
  120686. events?: PointEventsOptionsObject;
  120687. /**
  120688. * (Highcharts, Highstock, Gantt) An id for the point. This can be used
  120689. * after render time to get a pointer to the point object through
  120690. * `chart.get()`.
  120691. */
  120692. id?: string;
  120693. /**
  120694. * (Highcharts, Highstock, Gantt) The rank for this point's data label in
  120695. * case of collision. If two data labels are about to overlap, only the one
  120696. * with the highest `labelrank` will be drawn.
  120697. */
  120698. labelrank?: number;
  120699. /**
  120700. * (Highcharts, Highstock) Options for the point markers of line-like
  120701. * series.
  120702. */
  120703. marker?: PointMarkerOptionsObject;
  120704. /**
  120705. * (Highcharts, Highstock, Gantt) The name of the point as shown in the
  120706. * legend, tooltip, dataLabels, etc.
  120707. */
  120708. name?: string;
  120709. /**
  120710. * (Highcharts, Highstock, Gantt) A partial fill for each point, typically
  120711. * used to visualize how much of a task is performed. The partial fill
  120712. * object can be set either on series or point level.
  120713. */
  120714. partialFill?: XrangePointPartialFillOptionsObject;
  120715. /**
  120716. * (Highcharts, Highstock, Gantt) Whether the data point is selected
  120717. * initially.
  120718. */
  120719. selected?: boolean;
  120720. /**
  120721. * (Highcharts, Highstock, Gantt) The starting X value of the range point.
  120722. */
  120723. x?: number;
  120724. /**
  120725. * (Highcharts, Highstock, Gantt) The ending X value of the range point.
  120726. */
  120727. x2?: number;
  120728. /**
  120729. * (Highcharts, Highstock, Gantt) The Y value of the range point.
  120730. */
  120731. y?: number;
  120732. }
  120733. /**
  120734. * (Highcharts, Highstock, Gantt) A partial fill for each point, typically used
  120735. * to visualize how much of a task is performed. The partial fill object can be
  120736. * set either on series or point level.
  120737. */
  120738. export interface XrangePointPartialFillOptionsObject {
  120739. /**
  120740. * (Highcharts, Highstock, Gantt) The amount of the X-range point to be
  120741. * filled. Values can be 0-1 and are converted to percentages in the default
  120742. * data label formatter.
  120743. */
  120744. amount?: number;
  120745. /**
  120746. * (Highcharts, Highstock, Gantt) The fill color to be used for partial
  120747. * fills. Defaults to a darker shade of the point color.
  120748. */
  120749. fill?: (ColorString|GradientColorObject|PatternObject);
  120750. }
  120751. /**
  120752. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  120753. * sections defined will be left out and all the points shifted closer to each
  120754. * other.
  120755. */
  120756. export interface YAxisBreaksOptions {
  120757. /**
  120758. * (Highcharts, Highstock, Gantt) A number indicating how much space should
  120759. * be left between the start and the end of the break. The break size is
  120760. * given in axis units, so for instance on a `datetime` axis, a break size
  120761. * of 3600000 would indicate the equivalent of an hour.
  120762. */
  120763. breakSize?: number;
  120764. /**
  120765. * (Highcharts, Highstock, Gantt) The point where the break starts.
  120766. */
  120767. from?: number;
  120768. /**
  120769. * (Highcharts, Highstock, Gantt) Defines an interval after which the break
  120770. * appears again. By default the breaks do not repeat.
  120771. */
  120772. repeat?: number;
  120773. /**
  120774. * (Highcharts, Highstock, Gantt) The point where the break ends.
  120775. */
  120776. to?: number;
  120777. }
  120778. /**
  120779. * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
  120780. */
  120781. export interface YAxisEventsOptions {
  120782. /**
  120783. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  120784. */
  120785. afterBreaks?: AxisEventCallbackFunction;
  120786. /**
  120787. * (Highcharts, Highstock, Highmaps, Gantt) As opposed to the `setExtremes`
  120788. * event, this event fires after the final min and max values are computed
  120789. * and corrected for `minRange`.
  120790. *
  120791. * Fires when the minimum and maximum is set for the axis, either by calling
  120792. * the `.setExtremes()` method or by selecting an area in the chart. One
  120793. * parameter, `event`, is passed to the function, containing common event
  120794. * information.
  120795. *
  120796. * The new user set minimum and maximum values can be found by `event.min`
  120797. * and `event.max`. These reflect the axis minimum and maximum in axis
  120798. * values. The actual data extremes are found in `event.dataMin` and
  120799. * `event.dataMax`.
  120800. */
  120801. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  120802. /**
  120803. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  120804. * a point.
  120805. */
  120806. pointBreak?: AxisPointBreakEventCallbackFunction;
  120807. /**
  120808. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  120809. * break from this axis.
  120810. */
  120811. pointInBreak?: AxisPointBreakEventCallbackFunction;
  120812. /**
  120813. * (Highcharts, Highstock, Highmaps, Gantt) Fires when the minimum and
  120814. * maximum is set for the axis, either by calling the `.setExtremes()`
  120815. * method or by selecting an area in the chart. One parameter, `event`, is
  120816. * passed to the function, containing common event information.
  120817. *
  120818. * The new user set minimum and maximum values can be found by `event.min`
  120819. * and `event.max`. These reflect the axis minimum and maximum in data
  120820. * values. When an axis is zoomed all the way out from the "Reset zoom"
  120821. * button, `event.min` and `event.max` are null, and the new extremes are
  120822. * set based on `this.dataMin` and `this.dataMax`.
  120823. */
  120824. setExtremes?: AxisSetExtremesEventCallbackFunction;
  120825. }
  120826. /**
  120827. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  120828. */
  120829. export interface YAxisGridOptions {
  120830. /**
  120831. * (Gantt) Set border color for the label grid lines.
  120832. */
  120833. borderColor?: ColorString;
  120834. /**
  120835. * (Gantt) Set border width of the label grid lines.
  120836. */
  120837. borderWidth?: number;
  120838. /**
  120839. * (Gantt) Set cell height for grid axis labels. By default this is
  120840. * calculated from font size. This option only applies to horizontal axes.
  120841. */
  120842. cellHeight?: number;
  120843. /**
  120844. * (Gantt) Set specific options for each column (or row for horizontal axes)
  120845. * in the grid. Each extra column/row is its own axis, and the axis options
  120846. * can be set here.
  120847. */
  120848. columns?: Array<XAxisOptions>;
  120849. /**
  120850. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  120851. * charts.
  120852. */
  120853. enabled?: boolean;
  120854. }
  120855. /**
  120856. * (Gantt) Set options on specific levels in a tree grid axis. Takes precedence
  120857. * over labels options.
  120858. */
  120859. export interface YAxisLabelsLevelsOptions {
  120860. /**
  120861. * (Gantt) Specify the level which the options within this object applies
  120862. * to.
  120863. */
  120864. level?: number;
  120865. style?: CSSObject;
  120866. }
  120867. /**
  120868. * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number or
  120869. * category for each tick.
  120870. *
  120871. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  120872. * `tickInterval` and `step` is set to 1.
  120873. */
  120874. export interface YAxisLabelsOptions {
  120875. /**
  120876. * (Highcharts, Highstock, Highmaps, Gantt) What part of the string the
  120877. * given position is anchored to. Can be one of `"left"`, `"center"` or
  120878. * `"right"`. The exact position also depends on the `labels.x` setting.
  120879. *
  120880. * Angular gauges and solid gauges defaults to `"center"`. Solid gauges with
  120881. * two labels have additional option `"auto"` for automatic horizontal and
  120882. * vertical alignment.
  120883. */
  120884. align?: AlignValue;
  120885. /**
  120886. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the axis labels
  120887. * to overlap. When false, overlapping labels are hidden.
  120888. */
  120889. allowOverlap?: boolean;
  120890. /**
  120891. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  120892. * of label rotation to prevent overlapping labels. If there is enough
  120893. * space, labels are not rotated. As the chart gets narrower, it will start
  120894. * rotating the labels -45 degrees, then remove every second label and try
  120895. * again with rotations 0 and -45 etc. Set it to `undefined` to disable
  120896. * rotation, which will cause the labels to word-wrap if possible. Defaults
  120897. * to `[-45]`` on bottom and top axes, `undefined` on left and right axes.
  120898. */
  120899. autoRotation?: Array<number>;
  120900. /**
  120901. * (Highcharts, Gantt) When each category width is more than this many
  120902. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  120903. * with word wrap. A lower limit makes sense when the label contains
  120904. * multiple short words that don't extend the available horizontal space for
  120905. * each label.
  120906. */
  120907. autoRotationLimit?: number;
  120908. /**
  120909. * (Highcharts) Angular gauges and solid gauges only. The label's pixel
  120910. * distance from the perimeter of the plot area.
  120911. *
  120912. * Since v7.1.2: If it's a percentage string, it is interpreted the same as
  120913. * series.radius, so label can be aligned under the gauge's shape.
  120914. */
  120915. distance?: (number|string);
  120916. /**
  120917. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the axis
  120918. * labels.
  120919. */
  120920. enabled?: boolean;
  120921. /**
  120922. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the axis
  120923. * label. The context is available as format string variables. For example,
  120924. * you can use `{text}` to insert the default formatted text. The
  120925. * recommended way of adding units for the label is using `text`, for
  120926. * example `{text} km`.
  120927. *
  120928. * To add custom numeric or datetime formatting, use `{value}` with
  120929. * formatting, for example `{value:.1f}` or `{value:%Y-%m-%d}`.
  120930. *
  120931. * See format string for more examples of formatting.
  120932. *
  120933. * The default value is not specified due to the dynamic nature of the
  120934. * default implementation.
  120935. */
  120936. format?: string;
  120937. /**
  120938. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  120939. * format the label. The value is given by `this.value`. Additional
  120940. * properties for `this` are `axis`, `chart`, `isFirst`, `isLast` and `text`
  120941. * which holds the value of the default formatter.
  120942. *
  120943. * Defaults to a built in function returning a formatted string depending on
  120944. * whether the axis is `category`, `datetime`, `numeric` or other.
  120945. */
  120946. formatter?: AxisLabelsFormatterCallbackFunction;
  120947. /**
  120948. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  120949. * axis.
  120950. */
  120951. indentation?: number;
  120952. /**
  120953. * (Gantt) Set options on specific levels in a tree grid axis. Takes
  120954. * precedence over labels options.
  120955. */
  120956. levels?: Array<YAxisLabelsLevelsOptions>;
  120957. /**
  120958. * (Highcharts, Highstock, Highmaps, Gantt) How to handle overflowing labels
  120959. * on horizontal axis. If set to `"allow"`, it will not be aligned at all.
  120960. * By default it `"justify"` labels inside the chart area. If there is room
  120961. * to move it, it will be aligned to the edge, else it will be removed.
  120962. */
  120963. overflow?: OptionsOverflowValue;
  120964. /**
  120965. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  120966. * space between them.
  120967. */
  120968. padding?: number;
  120969. /**
  120970. * (Highcharts) Defines how the labels are be repositioned according to the
  120971. * 3D chart orientation.
  120972. *
  120973. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  120974. * marks, despite the chart orientation. This is the backwards compatible
  120975. * behavior, and causes skewing of X and Z axes.
  120976. *
  120977. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  120978. * but hard to read if the text isn't forward-facing.
  120979. *
  120980. * - `'flap'`: Rotated text along the axis to compensate for the chart
  120981. * orientation. This tries to maintain text as legible as possible on all
  120982. * orientations.
  120983. *
  120984. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  120985. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  120986. * skewing the labels (X and Y scaling are still present).
  120987. */
  120988. position3d?: OptionsPosition3dValue;
  120989. /**
  120990. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  120991. * space is reserved for the labels in these cases:
  120992. *
  120993. * * On all horizontal axes.
  120994. *
  120995. * * On vertical axes if `label.align` is `right` on a left-side axis or
  120996. * `left` on a right-side axis.
  120997. *
  120998. * * On vertical axes if `label.align` is `center`.
  120999. *
  121000. * This can be turned off when for example the labels are rendered inside
  121001. * the plot area instead of outside.
  121002. */
  121003. reserveSpace?: boolean;
  121004. /**
  121005. * (Highcharts, Highstock, Highmaps, Gantt) Rotation of the labels in
  121006. * degrees. When `undefined`, the `autoRotation` option takes precedence.
  121007. */
  121008. rotation?: number;
  121009. /**
  121010. * (Highcharts) If enabled, the axis labels will skewed to follow the
  121011. * perspective.
  121012. *
  121013. * This will fix overlapping labels and titles, but texts become less
  121014. * legible due to the distortion.
  121015. *
  121016. * The final appearance depends heavily on `labels.position3d`.
  121017. */
  121018. skew3d?: boolean;
  121019. /**
  121020. * (Highcharts, Highstock, Highmaps, Gantt) Horizontal axes only. The number
  121021. * of lines to spread the labels over to make room or tighter labels. 0
  121022. * disables staggering.
  121023. */
  121024. staggerLines?: object;
  121025. /**
  121026. * (Highcharts, Highstock, Highmaps, Gantt) To show only every _n_'th label
  121027. * on the axis, set the step to _n_. Setting the step to 2 shows every other
  121028. * label.
  121029. *
  121030. * By default, when 0, the step is calculated automatically to avoid
  121031. * overlap. To prevent this, set it to 1\. This usually only happens on a
  121032. * category axis, and is often a sign that you have chosen the wrong axis
  121033. * type.
  121034. *
  121035. * Read more at Axis docs => What axis should I use?
  121036. */
  121037. step?: number;
  121038. /**
  121039. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the label. Use
  121040. * `whiteSpace: 'nowrap'` to prevent wrapping of category labels. Use
  121041. * `textOverflow: 'none'` to prevent ellipsis (dots).
  121042. *
  121043. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  121044. * class.
  121045. */
  121046. style?: CSSObject;
  121047. /**
  121048. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  121049. */
  121050. symbol?: YAxisLabelsSymbolOptions;
  121051. /**
  121052. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  121053. * the labels.
  121054. */
  121055. useHTML?: boolean;
  121056. /**
  121057. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of all
  121058. * labels relative to the tick positions on the axis. Defaults to -15 for
  121059. * left axis, 15 for right axis.
  121060. */
  121061. x?: number;
  121062. /**
  121063. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of all
  121064. * labels relative to the tick positions on the axis. For polar and radial
  121065. * axis consider the use of the distance option.
  121066. */
  121067. y?: number;
  121068. /**
  121069. * (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis labels.
  121070. */
  121071. zIndex?: number;
  121072. }
  121073. /**
  121074. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  121075. */
  121076. export interface YAxisLabelsSymbolOptions {
  121077. height?: number;
  121078. padding?: number;
  121079. /**
  121080. * (Gantt) The symbol type. Points to a definition function in the
  121081. * `Highcharts.Renderer.symbols` collection.
  121082. */
  121083. type?: SymbolKeyValue;
  121084. width?: number;
  121085. x?: number;
  121086. y?: number;
  121087. }
  121088. /**
  121089. * (Highcharts, Highstock, Highmaps, Gantt) The Y axis or value axis. Normally
  121090. * this is the vertical axis, though if the chart is inverted this is the
  121091. * horizontal axis. In case of multiple axes, the yAxis node is an array of
  121092. * configuration objects.
  121093. *
  121094. * See the Axis object for programmatic access to the axis.
  121095. */
  121096. export interface YAxisOptions {
  121097. /**
  121098. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  121099. * axis. Requires the accessibility module.
  121100. */
  121101. accessibility?: AxisAccessibilityOptionsObject;
  121102. /**
  121103. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  121104. * or more opposite axes will automatically be aligned by adding ticks to
  121105. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  121106. *
  121107. * This can be prevented by setting `alignTicks` to false. If the grid lines
  121108. * look messy, it's a good idea to hide them for the secondary axis by
  121109. * setting `gridLineWidth` to 0.
  121110. *
  121111. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  121112. * the `alignTicks ` will be disabled for the Axis.
  121113. *
  121114. * Disabled for logarithmic axes.
  121115. */
  121116. alignTicks?: boolean;
  121117. /**
  121118. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow decimals in
  121119. * this axis' ticks. When counting integers, like persons or hits on a web
  121120. * page, decimals should be avoided in the labels. By default, decimals are
  121121. * allowed on small scale axes.
  121122. */
  121123. allowDecimals?: (boolean|undefined);
  121124. /**
  121125. * (Highcharts, Highstock, Highmaps, Gantt) When using an alternate grid
  121126. * color, a band is painted across the plot area between every other grid
  121127. * line.
  121128. */
  121129. alternateGridColor?: ColorType;
  121130. /**
  121131. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  121132. * degrees, where 0 is up and 90 is right. The angle determines the position
  121133. * of the axis line and the labels, though the coordinate system is
  121134. * unaffected. Since v8.0.0 this option is also applicable for X axis
  121135. * (inverted polar).
  121136. */
  121137. angle?: number;
  121138. /**
  121139. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  121140. * sections defined will be left out and all the points shifted closer to
  121141. * each other.
  121142. */
  121143. breaks?: Array<YAxisBreaksOptions>;
  121144. /**
  121145. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  121146. * used instead of numbers for that axis.
  121147. *
  121148. * Since Highcharts 3.0, categories can also be extracted by giving each
  121149. * point a name and setting axis type to `category`. However, if you have
  121150. * multiple series, best practice remains defining the `categories` array.
  121151. *
  121152. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  121153. */
  121154. categories?: Array<string>;
  121155. /**
  121156. * (Highcharts, Highstock, Gantt) The highest allowed value for
  121157. * automatically computed axis extremes.
  121158. */
  121159. ceiling?: number;
  121160. /**
  121161. * (Highcharts, Highstock, Highmaps, Gantt) A class name that opens for
  121162. * styling the axis by CSS, especially in Highcharts styled mode. The class
  121163. * name is applied to group elements for the grid, axis elements and labels.
  121164. */
  121165. className?: string;
  121166. /**
  121167. * (Highcharts, Highstock, Highmaps, Gantt) Configure a crosshair that
  121168. * follows either the mouse pointer or the hovered point.
  121169. *
  121170. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  121171. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  121172. */
  121173. crosshair?: (boolean|AxisCrosshairOptions);
  121174. /**
  121175. * (Highcharts, Highstock, Gantt) For a datetime axis, the scale will
  121176. * automatically adjust to the appropriate unit. This member gives the
  121177. * default string representations used for each unit. For intermediate
  121178. * values, different units may be used, for example the `day` unit can be
  121179. * used on midnight and `hour` unit be used for intermediate values on the
  121180. * same axis.
  121181. *
  121182. * For an overview of the replacement codes, see dateFormat.
  121183. *
  121184. * Defaults to: (see online documentation for example)
  121185. */
  121186. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  121187. /**
  121188. * (Highcharts, Highstock, Highmaps, Gantt) Whether to force the axis to end
  121189. * on a tick. Use this option with the `maxPadding` option to control the
  121190. * axis end.
  121191. *
  121192. * This option is always disabled, when panning type is either `y` or `xy`.
  121193. */
  121194. endOnTick?: boolean;
  121195. /**
  121196. * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
  121197. */
  121198. events?: YAxisEventsOptions;
  121199. /**
  121200. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  121201. * computed axis extremes.
  121202. */
  121203. floor?: number;
  121204. /**
  121205. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  121206. */
  121207. grid?: YAxisGridOptions;
  121208. /**
  121209. * (Highcharts, Highstock, Highmaps, Gantt) Color of the grid lines
  121210. * extending the ticks across the plot area.
  121211. *
  121212. * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
  121213. */
  121214. gridLineColor?: ColorType;
  121215. /**
  121216. * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
  121217. * grid lines. For possible values, see this demonstration.
  121218. */
  121219. gridLineDashStyle?: DashStyleValue;
  121220. /**
  121221. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  121222. * polygon with straight lines between categories, or as circles. Can be
  121223. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  121224. * for X axis (inverted polar).
  121225. */
  121226. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  121227. /**
  121228. * (Highcharts, Highstock, Highmaps, Gantt) The width of the grid lines
  121229. * extending the ticks across the plot area. Defaults to 1 on the Y axis and
  121230. * 0 on the X axis, except for 3d charts.
  121231. *
  121232. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  121233. * class.
  121234. */
  121235. gridLineWidth?: number;
  121236. /**
  121237. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  121238. */
  121239. gridZIndex?: number;
  121240. /**
  121241. * (Highcharts, Highstock) The height of the Y axis. If it's a number, it is
  121242. * interpreted as pixels.
  121243. *
  121244. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  121245. * percentages of the total plot height.
  121246. */
  121247. height?: (number|string);
  121248. /**
  121249. * (Highcharts, Highstock, Highmaps, Gantt) An id for the axis. This can be
  121250. * used after render time to get a pointer to the axis object through
  121251. * `chart.get()`.
  121252. */
  121253. id?: string;
  121254. /**
  121255. * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number
  121256. * or category for each tick.
  121257. *
  121258. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  121259. * data if `tickInterval` and `step` is set to 1.
  121260. */
  121261. labels?: YAxisLabelsOptions;
  121262. /**
  121263. * (Highcharts, Highstock) The left position as the horizontal axis. If it's
  121264. * a number, it is interpreted as pixel position relative to the chart.
  121265. *
  121266. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  121267. * as percentages of the plot width, offset from plot area left.
  121268. */
  121269. left?: (number|string);
  121270. /**
  121271. * (Highcharts, Highstock, Highmaps, Gantt) The color of the line marking
  121272. * the axis itself.
  121273. *
  121274. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  121275. * or `.highcharts-xaxis-line` class.
  121276. */
  121277. lineColor?: ColorType;
  121278. /**
  121279. * (Highcharts, Highstock, Highmaps, Gantt) The width of the line marking
  121280. * the axis itself.
  121281. *
  121282. * In styled mode, the stroke width is given in the `.highcharts-axis-line`
  121283. * or `.highcharts-xaxis-line` class.
  121284. */
  121285. lineWidth?: number;
  121286. /**
  121287. * (Highcharts, Highstock, Gantt) Index of another axis that this axis is
  121288. * linked to. When an axis is linked to a master axis, it will take the same
  121289. * extremes as the master, but as assigned by min or max or by setExtremes.
  121290. * It can be used to show additional info, or to ease reading the chart by
  121291. * duplicating the scales.
  121292. */
  121293. linkedTo?: number;
  121294. /**
  121295. * (Highcharts, Highstock, Highmaps, Gantt) If there are multiple axes on
  121296. * the same side of the chart, the pixel margin between the axes. Defaults
  121297. * to 0 on vertical axes, 15 on horizontal axes.
  121298. */
  121299. margin?: number;
  121300. /**
  121301. * (Highcharts, Highstock, Highmaps, Gantt) The maximum value of the axis.
  121302. * If `null`, the max value is automatically calculated.
  121303. *
  121304. * If the endOnTick option is true, the `max` value might be rounded up.
  121305. *
  121306. * If a tickAmount is set, the axis may be extended beyond the set max in
  121307. * order to reach the given number of ticks. The same may happen in a chart
  121308. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  121309. * is applied internally.
  121310. */
  121311. max?: (number|null);
  121312. /**
  121313. * (Highcharts) Solid gauge only. Unless stops are set, the color to
  121314. * represent the maximum value of the Y axis.
  121315. */
  121316. maxColor?: ColorType;
  121317. /**
  121318. * (Highstock) Maximal size of a resizable axis. Could be set as a percent
  121319. * of plot area or pixel size.
  121320. */
  121321. maxLength?: (number|string);
  121322. /**
  121323. * (Highcharts, Highstock, Gantt) Padding of the max value relative to the
  121324. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  121325. * This is useful when you don't want the highest data value to appear on
  121326. * the edge of the plot area. When the axis' `max` option is set or a max
  121327. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  121328. * ignored.
  121329. *
  121330. * Also the `softThreshold` option takes precedence over `maxPadding`, so if
  121331. * the data is tangent to the threshold, `maxPadding` may not apply unless
  121332. * `softThreshold` is set to false.
  121333. */
  121334. maxPadding?: number;
  121335. /**
  121336. * (Highstock, Gantt) Maximum range which can be set using the navigator's
  121337. * handles. Opposite of xAxis.minRange.
  121338. */
  121339. maxRange?: number;
  121340. /**
  121341. * (Highcharts, Highstock, Highmaps, Gantt) The minimum value of the axis.
  121342. * If `null` the min value is automatically calculated.
  121343. *
  121344. * If the startOnTick option is true (default), the `min` value might be
  121345. * rounded down.
  121346. *
  121347. * The automatically calculated minimum value is also affected by floor,
  121348. * softMin, minPadding, minRange as well as series.threshold and
  121349. * series.softThreshold.
  121350. */
  121351. min?: (number|null);
  121352. /**
  121353. * (Highcharts) Solid gauge only. Unless stops are set, the color to
  121354. * represent the minimum value of the Y axis.
  121355. */
  121356. minColor?: ColorType;
  121357. /**
  121358. * (Highstock) Minimal size of a resizable axis. Could be set as a percent
  121359. * of plot area or pixel size.
  121360. */
  121361. minLength?: (number|string);
  121362. /**
  121363. * (Highcharts, Highstock, Highmaps, Gantt) Color of the minor, secondary
  121364. * grid lines.
  121365. *
  121366. * In styled mode, the stroke width is given in the
  121367. * `.highcharts-minor-grid-line` class.
  121368. */
  121369. minorGridLineColor?: ColorType;
  121370. /**
  121371. * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
  121372. * minor grid lines. For possible values, see this demonstration.
  121373. */
  121374. minorGridLineDashStyle?: DashStyleValue;
  121375. /**
  121376. * (Highcharts, Highstock, Highmaps, Gantt) Width of the minor, secondary
  121377. * grid lines.
  121378. *
  121379. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  121380. * class.
  121381. */
  121382. minorGridLineWidth?: number;
  121383. /**
  121384. * (Highcharts, Highstock, Highmaps, Gantt) Color for the minor tick marks.
  121385. */
  121386. minorTickColor?: ColorType;
  121387. /**
  121388. * (Highcharts, Highstock, Highmaps, Gantt) Specific tick interval in axis
  121389. * units for the minor ticks. On a linear axis, if `"auto"`, the minor tick
  121390. * interval is calculated as a fifth of the tickInterval. If `null` or
  121391. * `undefined`, minor ticks are not shown.
  121392. *
  121393. * On logarithmic axes, the unit is the power of the value. For example,
  121394. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  121395. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  121396. * and 10, 10 and 100 etc.
  121397. *
  121398. * If user settings dictate minor ticks to become too dense, they don't make
  121399. * sense, and will be ignored to prevent performance problems.
  121400. */
  121401. minorTickInterval?: (number|string|null);
  121402. /**
  121403. * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the minor
  121404. * tick marks.
  121405. */
  121406. minorTickLength?: number;
  121407. /**
  121408. * (Highcharts, Highstock, Highmaps, Gantt) The position of the minor tick
  121409. * marks relative to the axis line. Can be one of `inside` and `outside`.
  121410. */
  121411. minorTickPosition?: OptionsMinorTickPositionValue;
  121412. /**
  121413. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable minor ticks.
  121414. * Unless minorTickInterval is set, the tick interval is calculated as a
  121415. * fifth of the `tickInterval`.
  121416. *
  121417. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  121418. * attempting to enter approximately 5 minor ticks between each major tick.
  121419. *
  121420. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  121421. * `minorTickInterval` to `"auto"`.
  121422. */
  121423. minorTicks?: boolean;
  121424. /**
  121425. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the minor
  121426. * tick mark.
  121427. */
  121428. minorTickWidth?: number;
  121429. /**
  121430. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  121431. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  121432. * This is useful when you don't want the lowest data value to appear on the
  121433. * edge of the plot area. When the axis' `min` option is set or a max
  121434. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  121435. * ignored.
  121436. *
  121437. * Also the `softThreshold` option takes precedence over `minPadding`, so if
  121438. * the data is tangent to the threshold, `minPadding` may not apply unless
  121439. * `softThreshold` is set to false.
  121440. */
  121441. minPadding?: number;
  121442. /**
  121443. * (Highcharts, Highstock, Highmaps, Gantt) The minimum range to display on
  121444. * this axis. The entire axis will not be allowed to span over a smaller
  121445. * interval than this. For example, for a datetime axis the main unit is
  121446. * milliseconds. If minRange is set to 3600000, you can't zoom in more than
  121447. * to one hour.
  121448. *
  121449. * The default minRange for the x axis is five times the smallest interval
  121450. * between any of the data points.
  121451. *
  121452. * On a logarithmic axis, the unit for the minimum range is the power. So a
  121453. * minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
  121454. * 1000-10000 etc.
  121455. *
  121456. * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
  121457. * settings also affect how the extremes of the axis are computed.
  121458. */
  121459. minRange?: number;
  121460. /**
  121461. * (Highcharts, Highstock, Highmaps, Gantt) The minimum tick interval
  121462. * allowed in axis values. For example on zooming in on an axis with daily
  121463. * data, this can be used to prevent the axis from showing hours. Defaults
  121464. * to the closest distance between two points on the axis.
  121465. */
  121466. minTickInterval?: number;
  121467. /**
  121468. * (Highcharts, Highstock, Highmaps, Gantt) The distance in pixels from the
  121469. * plot area to the axis line. A positive offset moves the axis with it's
  121470. * line, labels and ticks away from the plot area. This is typically used
  121471. * when two or more axes are displayed on the same side of the plot. With
  121472. * multiple axes the offset is dynamically adjusted to avoid collision, this
  121473. * can be overridden by setting offset explicitly.
  121474. */
  121475. offset?: string;
  121476. /**
  121477. * (Highstock, Highcharts, Gantt) Whether to display the axis on the
  121478. * opposite side of the normal. The normal is on the left side for vertical
  121479. * axes and bottom for horizontal, so the opposite sides will be right and
  121480. * top respectively. This is typically used with dual or multiple axes.
  121481. */
  121482. opposite?: boolean;
  121483. /**
  121484. * (Highcharts) Refers to the index in the panes array. Used for circular
  121485. * gauges and polar charts. When the option is not set then first pane will
  121486. * be used.
  121487. */
  121488. pane?: number;
  121489. /**
  121490. * (Highcharts, Highstock, Gantt) An array of colored bands stretching
  121491. * across the plot area marking an interval on the axis.
  121492. *
  121493. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  121494. * class in addition to the `className` option.
  121495. */
  121496. plotBands?: Array<YAxisPlotBandsOptions>;
  121497. /**
  121498. * (Highcharts, Highstock, Gantt) An array of lines stretching across the
  121499. * plot area, marking a specific value on one of the axes.
  121500. *
  121501. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  121502. * class in addition to the `className` option.
  121503. */
  121504. plotLines?: Array<YAxisPlotLinesOptions>;
  121505. /**
  121506. * (Highstock) The zoomed range to display when only defining one or none of
  121507. * `min` or `max`. For example, to show the latest month, a range of one
  121508. * month can be set.
  121509. */
  121510. range?: number;
  121511. /**
  121512. * (Highstock) Options for axis resizing. It adds a thick line between panes
  121513. * which the user can drag in order to resize the panes.
  121514. */
  121515. resize?: YAxisResizeOptions;
  121516. /**
  121517. * (Highcharts, Highstock, Highmaps, Gantt) Whether to reverse the axis so
  121518. * that the highest number is closest to the origin.
  121519. */
  121520. reversed?: boolean;
  121521. /**
  121522. * (Highcharts, Highstock) If `true`, the first series in a stack will be
  121523. * drawn on top in a positive, non-reversed Y axis. If `false`, the first
  121524. * series is in the base of the stack.
  121525. */
  121526. reversedStacks?: boolean;
  121527. /**
  121528. * (Highstock) An optional scrollbar to display on the Y axis in response to
  121529. * limiting the minimum an maximum of the axis values.
  121530. *
  121531. * In styled mode, all the presentational options for the scrollbar are
  121532. * replaced by the classes `.highcharts-scrollbar-thumb`,
  121533. * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
  121534. * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
  121535. */
  121536. scrollbar?: YAxisScrollbarOptions;
  121537. /**
  121538. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the axis line
  121539. * and title when the axis has no data.
  121540. */
  121541. showEmpty?: boolean;
  121542. /**
  121543. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the first tick
  121544. * label.
  121545. */
  121546. showFirstLabel?: boolean;
  121547. /**
  121548. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  121549. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  121550. */
  121551. showLastLabel?: boolean;
  121552. /**
  121553. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  121554. * data maximum is less than this, the axis will stay at this maximum, but
  121555. * if the series data maximum is higher, the axis will flex to show all
  121556. * data.
  121557. *
  121558. * **Note**: The series.softThreshold option takes precedence over this
  121559. * option.
  121560. */
  121561. softMax?: number;
  121562. /**
  121563. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  121564. * data minimum is greater than this, the axis will stay at this minimum,
  121565. * but if the series data minimum is lower, the axis will flex to show all
  121566. * data.
  121567. *
  121568. * **Note**: The series.softThreshold option takes precedence over this
  121569. * option.
  121570. */
  121571. softMin?: number;
  121572. /**
  121573. * (Highcharts) The stack labels show the total value for each bar in a
  121574. * stacked column or bar chart. The label will be placed on top of positive
  121575. * columns and below negative columns. In case of an inverted column chart
  121576. * or a bar chart the label is placed to the right of positive bars and to
  121577. * the left of negative bars.
  121578. */
  121579. stackLabels?: YAxisStackLabelsOptions;
  121580. /**
  121581. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  121582. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  121583. */
  121584. startOfWeek?: number;
  121585. /**
  121586. * (Highcharts, Highstock, Gantt) Whether to force the axis to start on a
  121587. * tick. Use this option with the `maxPadding` option to control the axis
  121588. * start.
  121589. *
  121590. * This option is always disabled, when panning type is either `y` or `xy`.
  121591. */
  121592. startOnTick?: boolean;
  121593. /**
  121594. * (Gantt) For vertical axes only. Setting the static scale ensures that
  121595. * each tick unit is translated into a fixed pixel height. For example,
  121596. * setting the static scale to 24 results in each Y axis category taking up
  121597. * 24 pixels, and the height of the chart adjusts. Adding or removing items
  121598. * will make the chart resize.
  121599. */
  121600. staticScale?: number;
  121601. /**
  121602. * (Highcharts) Solid gauge series only. Color stops for the solid gauge.
  121603. * Use this in cases where a linear gradient between a `minColor` and
  121604. * `maxColor` is not sufficient. The stops is an array of tuples, where the
  121605. * first item is a float between 0 and 1 assigning the relative position in
  121606. * the gradient, and the second item is the color.
  121607. *
  121608. * For solid gauges, the Y axis also inherits the concept of data classes
  121609. * from the Highmaps color axis.
  121610. */
  121611. stops?: Array<[number, ColorType]>;
  121612. /**
  121613. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  121614. * This opens up for aligning the ticks of multiple charts or panes within a
  121615. * chart. This option overrides the `tickPixelInterval` option.
  121616. *
  121617. * This option only has an effect on linear axes. Datetime, logarithmic or
  121618. * category axes are not affected.
  121619. */
  121620. tickAmount?: number;
  121621. /**
  121622. * (Highcharts, Highstock, Highmaps, Gantt) Color for the main tick marks.
  121623. *
  121624. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  121625. */
  121626. tickColor?: ColorType;
  121627. /**
  121628. * (Highcharts, Highstock, Highmaps, Gantt) The interval of the tick marks
  121629. * in axis units. When `undefined`, the tick interval is computed to
  121630. * approximately follow the tickPixelInterval on linear and datetime axes.
  121631. * On categorized axes, a `undefined` tickInterval will default to 1, one
  121632. * category. Note that datetime axes are based on milliseconds, so for
  121633. * example an interval of one day is expressed as `24 * 3600 * 1000`.
  121634. *
  121635. * On logarithmic axes, the tickInterval is based on powers, so a
  121636. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  121637. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  121638. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  121639. * etc.
  121640. *
  121641. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  121642. * remove ticks.
  121643. *
  121644. * If the chart has multiple axes, the alignTicks option may interfere with
  121645. * the `tickInterval` setting.
  121646. */
  121647. tickInterval?: number;
  121648. /**
  121649. * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the main
  121650. * tick marks.
  121651. */
  121652. tickLength?: number;
  121653. /**
  121654. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  121655. * placed in the center of the category, if `between` the tick mark is
  121656. * placed between categories. The default is `between` if the `tickInterval`
  121657. * is 1, else `on`.
  121658. */
  121659. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  121660. /**
  121661. * (Highcharts, Highstock, Highmaps, Gantt) If tickInterval is `null` this
  121662. * option sets the approximate pixel interval of the tick marks. Not
  121663. * applicable to categorized axis.
  121664. *
  121665. * The tick interval is also influenced by the minTickInterval option, that,
  121666. * by default prevents ticks from being denser than the data points.
  121667. */
  121668. tickPixelInterval?: number;
  121669. /**
  121670. * (Highcharts, Highstock, Highmaps, Gantt) The position of the major tick
  121671. * marks relative to the axis line. Can be one of `inside` and `outside`.
  121672. */
  121673. tickPosition?: OptionsTickPositionValue;
  121674. /**
  121675. * (Highcharts, Highstock, Highmaps, Gantt) A callback function returning
  121676. * array defining where the ticks are laid out on the axis. This overrides
  121677. * the default behaviour of tickPixelInterval and tickInterval. The
  121678. * automatic tick positions are accessible through `this.tickPositions` and
  121679. * can be modified by the callback.
  121680. */
  121681. tickPositioner?: AxisTickPositionerCallbackFunction;
  121682. /**
  121683. * (Highcharts, Highstock, Highmaps, Gantt) An array defining where the
  121684. * ticks are laid out on the axis. This overrides the default behaviour of
  121685. * tickPixelInterval and tickInterval.
  121686. */
  121687. tickPositions?: Array<number>;
  121688. /**
  121689. * (Highcharts, Highstock, Gantt) The pixel width of the major tick marks.
  121690. */
  121691. tickWidth?: number;
  121692. /**
  121693. * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to
  121694. * the axis line.
  121695. */
  121696. title?: YAxisTitleOptions;
  121697. /**
  121698. * (Highcharts) Parallel coordinates only. Format that will be used for
  121699. * point.y and available in tooltip.pointFormat as `{point.formattedValue}`.
  121700. * If not set, `{point.formattedValue}` will use other options, in this
  121701. * order:
  121702. *
  121703. * 1. yAxis.labels.format will be used if set
  121704. *
  121705. * 2. If yAxis is a category, then category name will be displayed
  121706. *
  121707. * 3. If yAxis is a datetime, then value will use the same format as yAxis
  121708. * labels
  121709. *
  121710. * 4. If yAxis is linear/logarithmic type, then simple value will be used
  121711. */
  121712. tooltipValueFormat?: string;
  121713. /**
  121714. * (Highcharts, Highstock) The top position of the Y axis. If it's a number,
  121715. * it is interpreted as pixel position relative to the chart.
  121716. *
  121717. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  121718. * percentages of the plot height, offset from plot area top.
  121719. */
  121720. top?: (number|string);
  121721. /**
  121722. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  121723. * `logarithmic`, `datetime`, `category` or `treegrid`. Defaults to
  121724. * `treegrid` for Gantt charts, `linear` for other chart types.
  121725. *
  121726. * In a datetime axis, the numbers are given in milliseconds, and tick marks
  121727. * are placed on appropriate values, like full hours or days. In a category
  121728. * or treegrid axis, the point names of the chart's series are used for
  121729. * categories, if a categories array is not defined.
  121730. */
  121731. type?: AxisTypeValue;
  121732. /**
  121733. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  121734. * `uniqueNames` is true, points are placed on the X axis according to their
  121735. * names. If the same point name is repeated in the same or another series,
  121736. * the point is placed on the same X position as other points of the same
  121737. * name. When `uniqueNames` is false, the points are laid out in increasing
  121738. * X positions regardless of their names, and the X axis category will take
  121739. * the name of the last point in each position.
  121740. */
  121741. uniqueNames?: boolean;
  121742. /**
  121743. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  121744. * what time intervals the ticks are allowed to fall on. Each array item is
  121745. * an array where the first value is the time unit and the second value
  121746. * another array of allowed multiples.
  121747. *
  121748. * Defaults to: (see online documentation for example)
  121749. */
  121750. units?: Array<[string, (Array<number>|null)]>;
  121751. /**
  121752. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  121753. * ticks and labels, should be visible.
  121754. */
  121755. visible?: boolean;
  121756. /**
  121757. * (Highcharts, Highstock) The width as the horizontal axis. If it's a
  121758. * number, it is interpreted as pixels.
  121759. *
  121760. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  121761. * as percentages of the total plot width.
  121762. */
  121763. width?: (number|string);
  121764. /**
  121765. * (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis group.
  121766. */
  121767. zIndex?: number;
  121768. /**
  121769. * (Highcharts, Highstock, Highmaps, Gantt) Whether to zoom axis. If
  121770. * `chart.zoomType` is set, the option allows to disable zooming on an
  121771. * individual axis.
  121772. */
  121773. zoomEnabled?: boolean;
  121774. }
  121775. /**
  121776. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  121777. * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  121778. */
  121779. export interface YAxisPlotBandsEventsOptions {
  121780. /**
  121781. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  121782. */
  121783. click?: EventCallbackFunction<PlotLineOrBand>;
  121784. /**
  121785. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  121786. */
  121787. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  121788. /**
  121789. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  121790. * band.
  121791. */
  121792. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  121793. /**
  121794. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  121795. */
  121796. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  121797. }
  121798. /**
  121799. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  121800. */
  121801. export interface YAxisPlotBandsLabelOptions {
  121802. /**
  121803. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  121804. * one of "left", "center" or "right".
  121805. */
  121806. align?: AlignValue;
  121807. /**
  121808. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
  121809. */
  121810. rotation?: number;
  121811. /**
  121812. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  121813. *
  121814. * In styled mode, the labels are styled by the
  121815. * `.highcharts-plot-band-label` class.
  121816. */
  121817. style?: CSSObject;
  121818. /**
  121819. * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
  121820. * is supported.
  121821. */
  121822. text?: string;
  121823. /**
  121824. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  121825. * `align` determines where the texts anchor point is placed within the plot
  121826. * band, `textAlign` determines how the text is aligned against its anchor
  121827. * point. Possible values are "left", "center" and "right". Defaults to the
  121828. * same as the `align` option.
  121829. */
  121830. textAlign?: AlignValue;
  121831. /**
  121832. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  121833. */
  121834. useHTML?: boolean;
  121835. /**
  121836. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  121837. * to the plot band. Can be one of "top", "middle" or "bottom".
  121838. */
  121839. verticalAlign?: VerticalAlignValue;
  121840. /**
  121841. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  121842. * alignment. Default varies by orientation.
  121843. */
  121844. x?: number;
  121845. /**
  121846. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  121847. * relative to the alignment. Default varies by orientation.
  121848. */
  121849. y?: number;
  121850. }
  121851. /**
  121852. * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
  121853. * the plot area marking an interval on the axis.
  121854. *
  121855. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  121856. * class in addition to the `className` option.
  121857. */
  121858. export interface YAxisPlotBandsOptions {
  121859. /**
  121860. * (Highstock) Flag to decide if plotBand should be rendered across all
  121861. * panes.
  121862. */
  121863. acrossPanes?: boolean;
  121864. /**
  121865. * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
  121866. * requires `borderWidth` to be set.
  121867. */
  121868. borderColor?: ColorString;
  121869. /**
  121870. * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
  121871. * requires `borderColor` to be set.
  121872. */
  121873. borderWidth?: number;
  121874. /**
  121875. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  121876. * default `highcharts-plot-band`, to apply to each individual band.
  121877. */
  121878. className?: string;
  121879. /**
  121880. * (Highcharts, Highstock, Gantt) The color of the plot band.
  121881. */
  121882. color?: (ColorString|GradientColorObject|PatternObject);
  121883. /**
  121884. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  121885. * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
  121886. * `mousemove`.
  121887. */
  121888. events?: YAxisPlotBandsEventsOptions;
  121889. /**
  121890. * (Highcharts, Highstock, Gantt) The start position of the plot band in
  121891. * axis units.
  121892. */
  121893. from?: number;
  121894. /**
  121895. * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
  121896. * in Axis.removePlotBand.
  121897. */
  121898. id?: string;
  121899. /**
  121900. * (Highcharts) In a gauge chart, this option determines the inner radius of
  121901. * the plot band that stretches along the perimeter. It can be given as a
  121902. * percentage string, like `"100%"`, or as a pixel number, like `100`. By
  121903. * default, the inner radius is controlled by the thickness option.
  121904. */
  121905. innerRadius?: (number|string);
  121906. /**
  121907. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  121908. */
  121909. label?: YAxisPlotBandsLabelOptions;
  121910. /**
  121911. * (Highcharts) In a gauge chart, this option determines the outer radius of
  121912. * the plot band that stretches along the perimeter. It can be given as a
  121913. * percentage string, like `"100%"`, or as a pixel number, like `100`.
  121914. */
  121915. outerRadius?: (number|string);
  121916. /**
  121917. * (Highcharts) In a gauge chart, this option sets the width of the plot
  121918. * band stretching along the perimeter. It can be given as a percentage
  121919. * string, like `"10%"`, or as a pixel number, like `10`. The default value
  121920. * 10 is the same as the default tickLength, thus making the plot band act
  121921. * as a background for the tick markers.
  121922. */
  121923. thickness?: (number|string);
  121924. /**
  121925. * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
  121926. * units.
  121927. */
  121928. to?: number;
  121929. /**
  121930. * (Highcharts, Highstock, Gantt) The z index of the plot band within the
  121931. * chart, relative to other elements. Using the same z index as another
  121932. * element may give unpredictable results, as the last rendered element will
  121933. * be on top. Values from 0 to 20 make sense.
  121934. */
  121935. zIndex?: number;
  121936. }
  121937. /**
  121938. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  121939. * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  121940. */
  121941. export interface YAxisPlotLinesEventsOptions {
  121942. /**
  121943. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  121944. */
  121945. click?: EventCallbackFunction<PlotLineOrBand>;
  121946. /**
  121947. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  121948. */
  121949. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  121950. /**
  121951. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  121952. * band.
  121953. */
  121954. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  121955. /**
  121956. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  121957. */
  121958. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  121959. }
  121960. /**
  121961. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  121962. */
  121963. export interface YAxisPlotLinesLabelOptions {
  121964. /**
  121965. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  121966. * one of "left", "center" or "right".
  121967. */
  121968. align?: AlignValue;
  121969. /**
  121970. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  121971. * label. Useful properties like the value of plot line or the range of plot
  121972. * band (`from` & `to` properties) can be found in `this.options` object.
  121973. */
  121974. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  121975. /**
  121976. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
  121977. * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
  121978. */
  121979. rotation?: number;
  121980. /**
  121981. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  121982. *
  121983. * In styled mode, the labels are styled by the
  121984. * `.highcharts-plot-line-label` class.
  121985. */
  121986. style?: CSSObject;
  121987. /**
  121988. * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
  121989. * supported.
  121990. */
  121991. text?: string;
  121992. /**
  121993. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  121994. * `align` determines where the texts anchor point is placed within the plot
  121995. * band, `textAlign` determines how the text is aligned against its anchor
  121996. * point. Possible values are "left", "center" and "right". Defaults to the
  121997. * same as the `align` option.
  121998. */
  121999. textAlign?: AlignValue;
  122000. /**
  122001. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  122002. */
  122003. useHTML?: boolean;
  122004. /**
  122005. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  122006. * to the plot line. Can be one of "top", "middle" or "bottom".
  122007. */
  122008. verticalAlign?: VerticalAlignValue;
  122009. /**
  122010. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  122011. * alignment. Default varies by orientation.
  122012. */
  122013. x?: number;
  122014. /**
  122015. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  122016. * relative to the alignment. Default varies by orientation.
  122017. */
  122018. y?: number;
  122019. }
  122020. /**
  122021. * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
  122022. * area, marking a specific value on one of the axes.
  122023. *
  122024. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  122025. * class in addition to the `className` option.
  122026. */
  122027. export interface YAxisPlotLinesOptions {
  122028. /**
  122029. * (Highstock) Flag to decide if plotLine should be rendered across all
  122030. * panes.
  122031. */
  122032. acrossPanes?: boolean;
  122033. /**
  122034. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  122035. * default `highcharts-plot-line`, to apply to each individual line.
  122036. */
  122037. className?: string;
  122038. /**
  122039. * (Highcharts, Highstock, Gantt) The color of the line.
  122040. */
  122041. color?: ColorString;
  122042. /**
  122043. * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
  122044. * line. For possible values see this overview.
  122045. */
  122046. dashStyle?: DashStyleValue;
  122047. /**
  122048. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  122049. * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
  122050. * `mousemove`.
  122051. */
  122052. events?: YAxisPlotLinesEventsOptions;
  122053. /**
  122054. * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
  122055. * in Axis.removePlotLine.
  122056. */
  122057. id?: string;
  122058. /**
  122059. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  122060. */
  122061. label?: YAxisPlotLinesLabelOptions;
  122062. /**
  122063. * (Highcharts, Highstock, Gantt) The position of the line in axis units.
  122064. */
  122065. value?: number;
  122066. /**
  122067. * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
  122068. */
  122069. width?: number;
  122070. /**
  122071. * (Highcharts, Highstock, Gantt) The z index of the plot line within the
  122072. * chart.
  122073. */
  122074. zIndex?: number;
  122075. }
  122076. /**
  122077. * (Highstock) Contains two arrays of axes that are controlled by control line
  122078. * of the axis.
  122079. */
  122080. export interface YAxisResizeControlledAxisOptions {
  122081. /**
  122082. * (Highstock) Array of axes that should move out of the way of resizing
  122083. * being done for the current axis. If not set, the next axis will be used.
  122084. */
  122085. next?: Array<(number|string)>;
  122086. /**
  122087. * (Highstock) Array of axes that should move with the current axis while
  122088. * resizing.
  122089. */
  122090. prev?: Array<(number|string)>;
  122091. }
  122092. /**
  122093. * (Highstock) Options for axis resizing. It adds a thick line between panes
  122094. * which the user can drag in order to resize the panes.
  122095. */
  122096. export interface YAxisResizeOptions {
  122097. /**
  122098. * (Highstock) Contains two arrays of axes that are controlled by control
  122099. * line of the axis.
  122100. */
  122101. controlledAxis?: YAxisResizeControlledAxisOptions;
  122102. /**
  122103. * (Highstock) Cursor style for the control line.
  122104. *
  122105. * In styled mode use class `highcharts-axis-resizer` instead.
  122106. */
  122107. cursor?: string;
  122108. /**
  122109. * (Highstock) Enable or disable resize by drag for the axis.
  122110. */
  122111. enabled?: boolean;
  122112. /**
  122113. * (Highstock) Color of the control line.
  122114. *
  122115. * In styled mode use class `highcharts-axis-resizer` instead.
  122116. */
  122117. lineColor?: ColorString;
  122118. /**
  122119. * (Highstock) Dash style of the control line.
  122120. *
  122121. * In styled mode use class `highcharts-axis-resizer` instead.
  122122. */
  122123. lineDashStyle?: string;
  122124. /**
  122125. * (Highstock) Width of the control line.
  122126. *
  122127. * In styled mode use class `highcharts-axis-resizer` instead.
  122128. */
  122129. lineWidth?: number;
  122130. /**
  122131. * (Highstock) Horizontal offset of the control line.
  122132. */
  122133. x?: number;
  122134. /**
  122135. * (Highstock) Vertical offset of the control line.
  122136. */
  122137. y?: number;
  122138. }
  122139. /**
  122140. * (Highstock) An optional scrollbar to display on the Y axis in response to
  122141. * limiting the minimum an maximum of the axis values.
  122142. *
  122143. * In styled mode, all the presentational options for the scrollbar are replaced
  122144. * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
  122145. * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
  122146. * `.highcharts-scrollbar-track`.
  122147. */
  122148. export interface YAxisScrollbarOptions {
  122149. /**
  122150. * (Highstock) The background color of the scrollbar itself.
  122151. */
  122152. barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  122153. /**
  122154. * (Highstock) The color of the scrollbar's border.
  122155. */
  122156. barBorderColor?: (ColorString|GradientColorObject|PatternObject);
  122157. /**
  122158. * (Highstock) The border rounding radius of the bar.
  122159. */
  122160. barBorderRadius?: number;
  122161. /**
  122162. * (Highstock) The width of the bar's border.
  122163. */
  122164. barBorderWidth?: number;
  122165. /**
  122166. * (Highstock) The color of the small arrow inside the scrollbar buttons.
  122167. */
  122168. buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
  122169. /**
  122170. * (Highstock) The color of scrollbar buttons.
  122171. */
  122172. buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  122173. /**
  122174. * (Highstock) The color of the border of the scrollbar buttons.
  122175. */
  122176. buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
  122177. /**
  122178. * (Highstock) The corner radius of the scrollbar buttons.
  122179. */
  122180. buttonBorderRadius?: number;
  122181. /**
  122182. * (Highstock) The border width of the scrollbar buttons.
  122183. */
  122184. buttonBorderWidth?: number;
  122185. /**
  122186. * (Highstock) Enable the scrollbar on the Y axis.
  122187. */
  122188. enabled?: boolean;
  122189. /**
  122190. * (Highstock) Whether to redraw the main chart as the scrollbar or the
  122191. * navigator zoomed window is moved. Defaults to `true` for modern browsers
  122192. * and `false` for legacy IE browsers as well as mobile devices.
  122193. */
  122194. liveRedraw?: boolean;
  122195. /**
  122196. * (Highstock) Pixel margin between the scrollbar and the axis elements.
  122197. */
  122198. margin?: number;
  122199. /**
  122200. * (Highstock) The minimum width of the scrollbar.
  122201. */
  122202. minWidth?: number;
  122203. /**
  122204. * (Highstock) The color of the small rifles in the middle of the scrollbar.
  122205. */
  122206. rifleColor?: (ColorString|GradientColorObject|PatternObject);
  122207. /**
  122208. * (Highstock) Whether to show the scrollbar when it is fully zoomed out at
  122209. * max range. Setting it to `false` on the Y axis makes the scrollbar stay
  122210. * hidden until the user zooms in, like common in browsers.
  122211. */
  122212. showFull?: boolean;
  122213. /**
  122214. * (Highstock) The width of a vertical scrollbar or height of a horizontal
  122215. * scrollbar. Defaults to 20 on touch devices.
  122216. */
  122217. size?: number;
  122218. /**
  122219. * (Highstock) The color of the track background.
  122220. */
  122221. trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  122222. /**
  122223. * (Highstock) The color of the border of the scrollbar track.
  122224. */
  122225. trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
  122226. /**
  122227. * (Highstock) The corner radius of the border of the scrollbar track.
  122228. */
  122229. trackBorderRadius?: number;
  122230. /**
  122231. * (Highstock) The width of the border of the scrollbar track.
  122232. */
  122233. trackBorderWidth?: number;
  122234. /**
  122235. * (Highstock) Z index of the scrollbar elements.
  122236. */
  122237. zIndex?: number;
  122238. }
  122239. /**
  122240. * (Highcharts) Enable or disable the initial animation when a series is
  122241. * displayed for the `stackLabels`. The animation can also be set as a
  122242. * configuration object. Please note that this option only applies to the
  122243. * initial animation. For other animations, see chart.animation and the
  122244. * animation parameter under the API methods. The following properties are
  122245. * supported:
  122246. *
  122247. * - `defer`: The animation delay time in milliseconds.
  122248. */
  122249. export interface YAxisStackLabelsAnimationOptions {
  122250. /**
  122251. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  122252. * stackLabel immediately. As `undefined` inherits defer time from the
  122253. * series.animation.defer.
  122254. */
  122255. defer?: number;
  122256. }
  122257. /**
  122258. * (Highcharts) The stack labels show the total value for each bar in a stacked
  122259. * column or bar chart. The label will be placed on top of positive columns and
  122260. * below negative columns. In case of an inverted column chart or a bar chart
  122261. * the label is placed to the right of positive bars and to the left of negative
  122262. * bars.
  122263. */
  122264. export interface YAxisStackLabelsOptions {
  122265. /**
  122266. * (Highcharts) Defines the horizontal alignment of the stack total label.
  122267. * Can be one of `"left"`, `"center"` or `"right"`. The default value is
  122268. * calculated at runtime and depends on orientation and whether the stack is
  122269. * positive or negative.
  122270. */
  122271. align?: AlignValue;
  122272. /**
  122273. * (Highcharts) Allow the stack labels to overlap.
  122274. */
  122275. allowOverlap?: boolean;
  122276. /**
  122277. * (Highcharts) Enable or disable the initial animation when a series is
  122278. * displayed for the `stackLabels`. The animation can also be set as a
  122279. * configuration object. Please note that this option only applies to the
  122280. * initial animation. For other animations, see chart.animation and the
  122281. * animation parameter under the API methods. The following properties are
  122282. * supported:
  122283. *
  122284. * - `defer`: The animation delay time in milliseconds.
  122285. */
  122286. animation?: (boolean|YAxisStackLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  122287. /**
  122288. * (Highcharts) The background color or gradient for the stack label.
  122289. */
  122290. backgroundColor?: ColorType;
  122291. /**
  122292. * (Highcharts) The border color for the stack label. Defaults to
  122293. * `undefined`.
  122294. */
  122295. borderColor?: ColorType;
  122296. /**
  122297. * (Highcharts) The border radius in pixels for the stack label.
  122298. */
  122299. borderRadius?: number;
  122300. /**
  122301. * (Highcharts) The border width in pixels for the stack label.
  122302. */
  122303. borderWidth?: number;
  122304. /**
  122305. * (Highcharts) Whether to hide stack labels that are outside the plot area.
  122306. * By default, the stack label is moved inside the plot area according to
  122307. * the overflow option.
  122308. */
  122309. crop?: boolean;
  122310. /**
  122311. * (Highcharts) Enable or disable the stack total labels.
  122312. */
  122313. enabled?: boolean;
  122314. /**
  122315. * (Highcharts, Highstock) A format string for the data label. Available
  122316. * variables are the same as for `formatter`.
  122317. */
  122318. format?: string;
  122319. /**
  122320. * (Highcharts) Callback JavaScript function to format the label. The value
  122321. * is given by `this.total`.
  122322. */
  122323. formatter?: FormatterCallbackFunction<StackItemObject>;
  122324. /**
  122325. * (Highcharts) How to handle stack total labels that flow outside the plot
  122326. * area. The default is set to `"justify"`, which aligns them inside the
  122327. * plot area. For columns and bars, this means it will be moved inside the
  122328. * bar. To display stack labels outside the plot area, set `crop` to `false`
  122329. * and `overflow` to `"allow"`.
  122330. */
  122331. overflow?: DataLabelsOverflowValue;
  122332. /**
  122333. * (Highcharts) Rotation of the labels in degrees.
  122334. */
  122335. rotation?: number;
  122336. /**
  122337. * (Highcharts) CSS styles for the label.
  122338. *
  122339. * In styled mode, the styles are set in the `.highcharts-stack-label`
  122340. * class.
  122341. */
  122342. style?: CSSObject;
  122343. /**
  122344. * (Highcharts) The text alignment for the label. While `align` determines
  122345. * where the texts anchor point is placed with regards to the stack,
  122346. * `textAlign` determines how the text is aligned against its anchor point.
  122347. * Possible values are `"left"`, `"center"` and `"right"`. The default value
  122348. * is calculated at runtime and depends on orientation and whether the stack
  122349. * is positive or negative.
  122350. */
  122351. textAlign?: AlignValue;
  122352. /**
  122353. * (Highcharts, Highstock) Whether to use HTML to render the labels.
  122354. */
  122355. useHTML?: boolean;
  122356. /**
  122357. * (Highcharts) Defines the vertical alignment of the stack total label. Can
  122358. * be one of `"top"`, `"middle"` or `"bottom"`. The default value is
  122359. * calculated at runtime and depends on orientation and whether the stack is
  122360. * positive or negative.
  122361. */
  122362. verticalAlign?: VerticalAlignValue;
  122363. /**
  122364. * (Highcharts) The x position offset of the label relative to the left of
  122365. * the stacked bar. The default value is calculated at runtime and depends
  122366. * on orientation and whether the stack is positive or negative.
  122367. */
  122368. x?: number;
  122369. /**
  122370. * (Highcharts) The y position offset of the label relative to the tick
  122371. * position on the axis. The default value is calculated at runtime and
  122372. * depends on orientation and whether the stack is positive or negative.
  122373. */
  122374. y?: number;
  122375. }
  122376. /**
  122377. * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to the
  122378. * axis line.
  122379. */
  122380. export interface YAxisTitleOptions {
  122381. /**
  122382. * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the title relative
  122383. * to the axis values. Possible values are "low", "middle" or "high".
  122384. */
  122385. align?: AxisTitleAlignValue;
  122386. /**
  122387. * (Highcharts, Highstock, Highmaps, Gantt) The pixel distance between the
  122388. * axis labels and the title. Positive values are outside the axis line,
  122389. * negative are inside.
  122390. */
  122391. margin?: number;
  122392. /**
  122393. * (Highcharts, Highstock, Highmaps, Gantt) The distance of the axis title
  122394. * from the axis line. By default, this distance is computed from the offset
  122395. * width of the labels, the labels' distance from the axis and the title's
  122396. * margin. However when the offset option is set, it overrides all this.
  122397. */
  122398. offset?: number;
  122399. /**
  122400. * (Highcharts) Defines how the title is repositioned according to the 3D
  122401. * chart orientation.
  122402. *
  122403. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  122404. * marks, despite the chart orientation. This is the backwards compatible
  122405. * behavior, and causes skewing of X and Z axes.
  122406. *
  122407. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  122408. * but hard to read if the text isn't forward-facing.
  122409. *
  122410. * - `'flap'`: Rotated text along the axis to compensate for the chart
  122411. * orientation. This tries to maintain text as legible as possible on all
  122412. * orientations.
  122413. *
  122414. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  122415. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  122416. * skewing the labels (X and Y scaling are still present).
  122417. *
  122418. * - `undefined`: Will use the config from `labels.position3d`
  122419. */
  122420. position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
  122421. /**
  122422. * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
  122423. * when laying out the axis.
  122424. */
  122425. reserveSpace?: boolean;
  122426. /**
  122427. * (Highcharts, Highstock, Highmaps, Gantt) The rotation of the text in
  122428. * degrees. 0 is horizontal, 270 is vertical reading from bottom to top.
  122429. */
  122430. rotation?: number;
  122431. /**
  122432. * (Highcharts) If enabled, the axis title will skewed to follow the
  122433. * perspective.
  122434. *
  122435. * This will fix overlapping labels and titles, but texts become less
  122436. * legible due to the distortion.
  122437. *
  122438. * The final appearance depends heavily on `title.position3d`.
  122439. *
  122440. * A `null` value will use the config from `labels.skew3d`.
  122441. */
  122442. skew3d?: (boolean|null);
  122443. /**
  122444. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. If the
  122445. * title text is longer than the axis length, it will wrap to multiple lines
  122446. * by default. This can be customized by setting `textOverflow: 'ellipsis'`,
  122447. * by setting a specific `width` or by setting `whiteSpace: 'nowrap'`.
  122448. *
  122449. * In styled mode, the stroke width is given in the `.highcharts-axis-title`
  122450. * class.
  122451. */
  122452. style?: CSSObject;
  122453. /**
  122454. * (Highcharts, Highstock, Gantt) The actual text of the axis title.
  122455. * Horizontal texts can contain HTML, but rotated texts are painted using
  122456. * vector techniques and must be clean text. The Y axis title is disabled by
  122457. * setting the `text` option to `undefined`.
  122458. */
  122459. text?: (string|null);
  122460. /**
  122461. * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the text, can be
  122462. * `"left"`, `"right"` or `"center"`. Default alignment depends on the
  122463. * title.align:
  122464. *
  122465. * Horizontal axes:
  122466. *
  122467. * - for `align` = `"low"`, `textAlign` is set to `left`
  122468. *
  122469. * - for `align` = `"middle"`, `textAlign` is set to `center`
  122470. *
  122471. * - for `align` = `"high"`, `textAlign` is set to `right`
  122472. *
  122473. * Vertical axes:
  122474. *
  122475. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  122476. * `right`
  122477. *
  122478. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  122479. * `left`
  122480. *
  122481. * - for `align` = `"middle"`, `textAlign` is set to `center`
  122482. *
  122483. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  122484. * `left`
  122485. *
  122486. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  122487. * `right`
  122488. */
  122489. textAlign?: AlignValue;
  122490. /**
  122491. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
  122492. * title.
  122493. */
  122494. useHTML?: boolean;
  122495. /**
  122496. * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
  122497. * position.
  122498. */
  122499. x?: number;
  122500. /**
  122501. * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
  122502. * position.
  122503. */
  122504. y?: number;
  122505. }
  122506. /**
  122507. * (Gantt) An object defining mouse events for the plot line. Supported
  122508. * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  122509. */
  122510. export interface ZAxisCurrentDateIndicatorEventsOptions {
  122511. /**
  122512. * (Gantt) Click event on a plot band.
  122513. */
  122514. click?: EventCallbackFunction<PlotLineOrBand>;
  122515. /**
  122516. * (Gantt) Mouse move event on a plot band.
  122517. */
  122518. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  122519. /**
  122520. * (Gantt) Mouse out event on the corner of a plot band.
  122521. */
  122522. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  122523. /**
  122524. * (Gantt) Mouse over event on a plot band.
  122525. */
  122526. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  122527. }
  122528. /**
  122529. * (Gantt) Text labels for the plot bands
  122530. */
  122531. export interface ZAxisCurrentDateIndicatorLabelOptions {
  122532. /**
  122533. * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
  122534. * or "right".
  122535. */
  122536. align?: AlignValue;
  122537. /**
  122538. * (Gantt) Format of the label. This options is passed as the fist argument
  122539. * to dateFormat function.
  122540. */
  122541. format?: string;
  122542. /**
  122543. * (Gantt) Callback JavaScript function to format the label. Useful
  122544. * properties like the value of plot line or the range of plot band (`from`
  122545. * & `to` properties) can be found in `this.options` object.
  122546. */
  122547. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  122548. /**
  122549. * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
  122550. * horizontal plot lines and 90 for vertical lines.
  122551. */
  122552. rotation?: number;
  122553. /**
  122554. * (Gantt) CSS styles for the text label.
  122555. *
  122556. * In styled mode, the labels are styled by the
  122557. * `.highcharts-plot-line-label` class.
  122558. */
  122559. style?: CSSObject;
  122560. /**
  122561. * (Gantt) The text itself. A subset of HTML is supported.
  122562. */
  122563. text?: string;
  122564. /**
  122565. * (Gantt) The text alignment for the label. While `align` determines where
  122566. * the texts anchor point is placed within the plot band, `textAlign`
  122567. * determines how the text is aligned against its anchor point. Possible
  122568. * values are "left", "center" and "right". Defaults to the same as the
  122569. * `align` option.
  122570. */
  122571. textAlign?: AlignValue;
  122572. /**
  122573. * (Gantt) Whether to use HTML to render the labels.
  122574. */
  122575. useHTML?: boolean;
  122576. /**
  122577. * (Gantt) Vertical alignment of the label relative to the plot line. Can be
  122578. * one of "top", "middle" or "bottom".
  122579. */
  122580. verticalAlign?: VerticalAlignValue;
  122581. /**
  122582. * (Gantt) Horizontal position relative the alignment. Default varies by
  122583. * orientation.
  122584. */
  122585. x?: number;
  122586. /**
  122587. * (Gantt) Vertical position of the text baseline relative to the alignment.
  122588. * Default varies by orientation.
  122589. */
  122590. y?: number;
  122591. }
  122592. /**
  122593. * (Highcharts) Event handlers for the axis.
  122594. */
  122595. export interface ZAxisEventsOptions {
  122596. /**
  122597. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  122598. */
  122599. afterBreaks?: AxisEventCallbackFunction;
  122600. /**
  122601. * (Highcharts) As opposed to the `setExtremes` event, this event fires
  122602. * after the final min and max values are computed and corrected for
  122603. * `minRange`.
  122604. *
  122605. * Fires when the minimum and maximum is set for the axis, either by calling
  122606. * the `.setExtremes()` method or by selecting an area in the chart. One
  122607. * parameter, `event`, is passed to the function, containing common event
  122608. * information.
  122609. *
  122610. * The new user set minimum and maximum values can be found by `event.min`
  122611. * and `event.max`. These reflect the axis minimum and maximum in axis
  122612. * values. The actual data extremes are found in `event.dataMin` and
  122613. * `event.dataMax`.
  122614. */
  122615. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  122616. /**
  122617. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  122618. * a point.
  122619. */
  122620. pointBreak?: AxisPointBreakEventCallbackFunction;
  122621. /**
  122622. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  122623. * break from this axis.
  122624. */
  122625. pointInBreak?: AxisPointBreakEventCallbackFunction;
  122626. /**
  122627. * (Highcharts) Fires when the minimum and maximum is set for the axis,
  122628. * either by calling the `.setExtremes()` method or by selecting an area in
  122629. * the chart. One parameter, `event`, is passed to the function, containing
  122630. * common event information.
  122631. *
  122632. * The new user set minimum and maximum values can be found by `event.min`
  122633. * and `event.max`. These reflect the axis minimum and maximum in data
  122634. * values. When an axis is zoomed all the way out from the "Reset zoom"
  122635. * button, `event.min` and `event.max` are null, and the new extremes are
  122636. * set based on `this.dataMin` and `this.dataMax`.
  122637. */
  122638. setExtremes?: AxisSetExtremesEventCallbackFunction;
  122639. }
  122640. /**
  122641. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  122642. */
  122643. export interface ZAxisGridOptions {
  122644. /**
  122645. * (Gantt) Set border color for the label grid lines.
  122646. */
  122647. borderColor?: ColorString;
  122648. /**
  122649. * (Gantt) Set border width of the label grid lines.
  122650. */
  122651. borderWidth?: number;
  122652. /**
  122653. * (Gantt) Set cell height for grid axis labels. By default this is
  122654. * calculated from font size. This option only applies to horizontal axes.
  122655. */
  122656. cellHeight?: number;
  122657. /**
  122658. * (Gantt) Set specific options for each column (or row for horizontal axes)
  122659. * in the grid. Each extra column/row is its own axis, and the axis options
  122660. * can be set here.
  122661. */
  122662. columns?: Array<XAxisOptions>;
  122663. /**
  122664. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  122665. * charts.
  122666. */
  122667. enabled?: boolean;
  122668. }
  122669. /**
  122670. * (Highcharts) The axis labels show the number or category for each tick.
  122671. *
  122672. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  122673. * `tickInterval` and `step` is set to 1.
  122674. */
  122675. export interface ZAxisLabelsOptions {
  122676. /**
  122677. * (Highcharts) What part of the string the given position is anchored to.
  122678. * If `left`, the left side of the string is at the axis position. Can be
  122679. * one of `"left"`, `"center"` or `"right"`. Defaults to an intelligent
  122680. * guess based on which side of the chart the axis is on and the rotation of
  122681. * the label.
  122682. */
  122683. align?: AlignValue;
  122684. /**
  122685. * (Highcharts) Whether to allow the axis labels to overlap. When false,
  122686. * overlapping labels are hidden.
  122687. */
  122688. allowOverlap?: boolean;
  122689. /**
  122690. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  122691. * of label rotation to prevent overlapping labels. If there is enough
  122692. * space, labels are not rotated. As the chart gets narrower, it will start
  122693. * rotating the labels -45 degrees, then remove every second label and try
  122694. * again with rotations 0 and -45 etc. Set it to `undefined` to disable
  122695. * rotation, which will cause the labels to word-wrap if possible. Defaults
  122696. * to `[-45]`` on bottom and top axes, `undefined` on left and right axes.
  122697. */
  122698. autoRotation?: Array<number>;
  122699. /**
  122700. * (Highcharts, Gantt) When each category width is more than this many
  122701. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  122702. * with word wrap. A lower limit makes sense when the label contains
  122703. * multiple short words that don't extend the available horizontal space for
  122704. * each label.
  122705. */
  122706. autoRotationLimit?: number;
  122707. /**
  122708. * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
  122709. * the perimeter of the plot area.
  122710. */
  122711. distance?: number;
  122712. /**
  122713. * (Highcharts) Enable or disable the axis labels.
  122714. */
  122715. enabled?: boolean;
  122716. /**
  122717. * (Highcharts) A format string for the axis label. The context is available
  122718. * as format string variables. For example, you can use `{text}` to insert
  122719. * the default formatted text. The recommended way of adding units for the
  122720. * label is using `text`, for example `{text} km`.
  122721. *
  122722. * To add custom numeric or datetime formatting, use `{value}` with
  122723. * formatting, for example `{value:.1f}` or `{value:%Y-%m-%d}`.
  122724. *
  122725. * See format string for more examples of formatting.
  122726. *
  122727. * The default value is not specified due to the dynamic nature of the
  122728. * default implementation.
  122729. */
  122730. format?: string;
  122731. /**
  122732. * (Highcharts) Callback JavaScript function to format the label. The value
  122733. * is given by `this.value`. Additional properties for `this` are `axis`,
  122734. * `chart`, `isFirst`, `isLast` and `text` which holds the value of the
  122735. * default formatter.
  122736. *
  122737. * Defaults to a built in function returning a formatted string depending on
  122738. * whether the axis is `category`, `datetime`, `numeric` or other.
  122739. */
  122740. formatter?: AxisLabelsFormatterCallbackFunction;
  122741. /**
  122742. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  122743. * axis.
  122744. */
  122745. indentation?: number;
  122746. /**
  122747. * (Highcharts) How to handle overflowing labels on horizontal axis. If set
  122748. * to `"allow"`, it will not be aligned at all. By default it `"justify"`
  122749. * labels inside the chart area. If there is room to move it, it will be
  122750. * aligned to the edge, else it will be removed.
  122751. */
  122752. overflow?: OptionsOverflowValue;
  122753. /**
  122754. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  122755. * space between them.
  122756. */
  122757. padding?: number;
  122758. /**
  122759. * (Highcharts) Defines how the labels are be repositioned according to the
  122760. * 3D chart orientation.
  122761. *
  122762. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  122763. * marks, despite the chart orientation. This is the backwards compatible
  122764. * behavior, and causes skewing of X and Z axes.
  122765. *
  122766. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  122767. * but hard to read if the text isn't forward-facing.
  122768. *
  122769. * - `'flap'`: Rotated text along the axis to compensate for the chart
  122770. * orientation. This tries to maintain text as legible as possible on all
  122771. * orientations.
  122772. *
  122773. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  122774. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  122775. * skewing the labels (X and Y scaling are still present).
  122776. */
  122777. position3d?: OptionsPosition3dValue;
  122778. /**
  122779. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  122780. * space is reserved for the labels in these cases:
  122781. *
  122782. * * On all horizontal axes.
  122783. *
  122784. * * On vertical axes if `label.align` is `right` on a left-side axis or
  122785. * `left` on a right-side axis.
  122786. *
  122787. * * On vertical axes if `label.align` is `center`.
  122788. *
  122789. * This can be turned off when for example the labels are rendered inside
  122790. * the plot area instead of outside.
  122791. */
  122792. reserveSpace?: boolean;
  122793. /**
  122794. * (Highcharts) Rotation of the labels in degrees. When `undefined`, the
  122795. * `autoRotation` option takes precedence.
  122796. */
  122797. rotation?: number;
  122798. /**
  122799. * (Highcharts) If enabled, the axis labels will skewed to follow the
  122800. * perspective.
  122801. *
  122802. * This will fix overlapping labels and titles, but texts become less
  122803. * legible due to the distortion.
  122804. *
  122805. * The final appearance depends heavily on `labels.position3d`.
  122806. */
  122807. skew3d?: boolean;
  122808. /**
  122809. * (Highcharts) Horizontal axes only. The number of lines to spread the
  122810. * labels over to make room or tighter labels. 0 disables staggering.
  122811. */
  122812. staggerLines?: object;
  122813. /**
  122814. * (Highcharts) To show only every _n_'th label on the axis, set the step to
  122815. * _n_. Setting the step to 2 shows every other label.
  122816. *
  122817. * By default, when 0, the step is calculated automatically to avoid
  122818. * overlap. To prevent this, set it to 1\. This usually only happens on a
  122819. * category axis, and is often a sign that you have chosen the wrong axis
  122820. * type.
  122821. *
  122822. * Read more at Axis docs => What axis should I use?
  122823. */
  122824. step?: number;
  122825. /**
  122826. * (Highcharts) CSS styles for the label. Use `whiteSpace: 'nowrap'` to
  122827. * prevent wrapping of category labels. Use `textOverflow: 'none'` to
  122828. * prevent ellipsis (dots).
  122829. *
  122830. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  122831. * class.
  122832. */
  122833. style?: CSSObject;
  122834. /**
  122835. * (Highcharts) Whether to use HTML to render the labels.
  122836. */
  122837. useHTML?: boolean;
  122838. /**
  122839. * (Highcharts) The x position offset of all labels relative to the tick
  122840. * positions on the axis.
  122841. */
  122842. x?: number;
  122843. /**
  122844. * (Highcharts) The y position offset of all labels relative to the tick
  122845. * positions on the axis. The default makes it adapt to the font size of the
  122846. * bottom axis.
  122847. */
  122848. y?: number;
  122849. /**
  122850. * (Highcharts) The Z index for the axis labels.
  122851. */
  122852. zIndex?: number;
  122853. }
  122854. /**
  122855. * (Highcharts) The Z axis or depth axis for 3D plots.
  122856. *
  122857. * See the Axis class for programmatic access to the axis.
  122858. */
  122859. export interface ZAxisOptions {
  122860. /**
  122861. * (Highcharts) Accessibility options for an axis. Requires the
  122862. * accessibility module.
  122863. */
  122864. accessibility?: AxisAccessibilityOptionsObject;
  122865. /**
  122866. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  122867. * or more opposite axes will automatically be aligned by adding ticks to
  122868. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  122869. *
  122870. * This can be prevented by setting `alignTicks` to false. If the grid lines
  122871. * look messy, it's a good idea to hide them for the secondary axis by
  122872. * setting `gridLineWidth` to 0.
  122873. *
  122874. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  122875. * the `alignTicks ` will be disabled for the Axis.
  122876. *
  122877. * Disabled for logarithmic axes.
  122878. */
  122879. alignTicks?: boolean;
  122880. /**
  122881. * (Highcharts) Whether to allow decimals in this axis' ticks. When counting
  122882. * integers, like persons or hits on a web page, decimals should be avoided
  122883. * in the labels. By default, decimals are allowed on small scale axes.
  122884. */
  122885. allowDecimals?: (boolean|undefined);
  122886. /**
  122887. * (Highcharts) When using an alternate grid color, a band is painted across
  122888. * the plot area between every other grid line.
  122889. */
  122890. alternateGridColor?: ColorType;
  122891. /**
  122892. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  122893. * degrees, where 0 is up and 90 is right. The angle determines the position
  122894. * of the axis line and the labels, though the coordinate system is
  122895. * unaffected. Since v8.0.0 this option is also applicable for X axis
  122896. * (inverted polar).
  122897. */
  122898. angle?: number;
  122899. /**
  122900. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  122901. * used instead of numbers for that axis.
  122902. *
  122903. * Since Highcharts 3.0, categories can also be extracted by giving each
  122904. * point a name and setting axis type to `category`. However, if you have
  122905. * multiple series, best practice remains defining the `categories` array.
  122906. *
  122907. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  122908. */
  122909. categories?: Array<string>;
  122910. /**
  122911. * (Highcharts, Highstock, Gantt) The highest allowed value for
  122912. * automatically computed axis extremes.
  122913. */
  122914. ceiling?: number;
  122915. /**
  122916. * (Highcharts) A class name that opens for styling the axis by CSS,
  122917. * especially in Highcharts styled mode. The class name is applied to group
  122918. * elements for the grid, axis elements and labels.
  122919. */
  122920. className?: string;
  122921. /**
  122922. * (Gantt) Show an indicator on the axis for the current date and time. Can
  122923. * be a boolean or a configuration object similar to xAxis.plotLines.
  122924. */
  122925. currentDateIndicator?: (boolean|CurrentDateIndicatorOptions|CurrentDateIndicatorOptions);
  122926. /**
  122927. * (Highcharts, Highstock, Gantt) For a datetime axis, the scale will
  122928. * automatically adjust to the appropriate unit. This member gives the
  122929. * default string representations used for each unit. For intermediate
  122930. * values, different units may be used, for example the `day` unit can be
  122931. * used on midnight and `hour` unit be used for intermediate values on the
  122932. * same axis.
  122933. *
  122934. * For an overview of the replacement codes, see dateFormat.
  122935. *
  122936. * Defaults to: (see online documentation for example)
  122937. */
  122938. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  122939. /**
  122940. * (Highcharts) Whether to force the axis to end on a tick. Use this option
  122941. * with the `maxPadding` option to control the axis end.
  122942. */
  122943. endOnTick?: boolean;
  122944. /**
  122945. * (Highcharts) Event handlers for the axis.
  122946. */
  122947. events?: ZAxisEventsOptions;
  122948. /**
  122949. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  122950. * computed axis extremes.
  122951. */
  122952. floor?: number;
  122953. /**
  122954. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  122955. */
  122956. grid?: ZAxisGridOptions;
  122957. /**
  122958. * (Highcharts) Color of the grid lines extending the ticks across the plot
  122959. * area.
  122960. *
  122961. * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
  122962. */
  122963. gridLineColor?: ColorType;
  122964. /**
  122965. * (Highcharts) The dash or dot style of the grid lines. For possible
  122966. * values, see this demonstration.
  122967. */
  122968. gridLineDashStyle?: DashStyleValue;
  122969. /**
  122970. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  122971. * polygon with straight lines between categories, or as circles. Can be
  122972. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  122973. * for X axis (inverted polar).
  122974. */
  122975. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  122976. /**
  122977. * (Highcharts) The width of the grid lines extending the ticks across the
  122978. * plot area. Defaults to 1 on the Y axis and 0 on the X axis, except for 3d
  122979. * charts.
  122980. *
  122981. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  122982. * class.
  122983. */
  122984. gridLineWidth?: number;
  122985. /**
  122986. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  122987. */
  122988. gridZIndex?: number;
  122989. /**
  122990. * (Highcharts) An id for the axis. This can be used after render time to
  122991. * get a pointer to the axis object through `chart.get()`.
  122992. */
  122993. id?: string;
  122994. /**
  122995. * (Highcharts) The axis labels show the number or category for each tick.
  122996. *
  122997. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  122998. * data if `tickInterval` and `step` is set to 1.
  122999. */
  123000. labels?: ZAxisLabelsOptions;
  123001. /**
  123002. * (Highcharts, Highstock, Gantt) Index of another axis that this axis is
  123003. * linked to. When an axis is linked to a master axis, it will take the same
  123004. * extremes as the master, but as assigned by min or max or by setExtremes.
  123005. * It can be used to show additional info, or to ease reading the chart by
  123006. * duplicating the scales.
  123007. */
  123008. linkedTo?: number;
  123009. /**
  123010. * (Highcharts) If there are multiple axes on the same side of the chart,
  123011. * the pixel margin between the axes. Defaults to 0 on vertical axes, 15 on
  123012. * horizontal axes.
  123013. */
  123014. margin?: number;
  123015. /**
  123016. * (Highcharts) The maximum value of the axis. If `null`, the max value is
  123017. * automatically calculated.
  123018. *
  123019. * If the endOnTick option is true, the `max` value might be rounded up.
  123020. *
  123021. * If a tickAmount is set, the axis may be extended beyond the set max in
  123022. * order to reach the given number of ticks. The same may happen in a chart
  123023. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  123024. * is applied internally.
  123025. */
  123026. max?: (number|null);
  123027. /**
  123028. * (Highcharts) Padding of the max value relative to the length of the axis.
  123029. * A padding of 0.05 will make a 100px axis 5px longer. This is useful when
  123030. * you don't want the highest data value to appear on the edge of the plot
  123031. * area. When the axis' `max` option is set or a max extreme is set using
  123032. * `axis.setExtremes()`, the maxPadding will be ignored.
  123033. */
  123034. maxPadding?: number;
  123035. /**
  123036. * (Highstock, Gantt) Maximum range which can be set using the navigator's
  123037. * handles. Opposite of xAxis.minRange.
  123038. */
  123039. maxRange?: number;
  123040. /**
  123041. * (Highcharts) The minimum value of the axis. If `null` the min value is
  123042. * automatically calculated.
  123043. *
  123044. * If the startOnTick option is true (default), the `min` value might be
  123045. * rounded down.
  123046. *
  123047. * The automatically calculated minimum value is also affected by floor,
  123048. * softMin, minPadding, minRange as well as series.threshold and
  123049. * series.softThreshold.
  123050. */
  123051. min?: (number|null);
  123052. /**
  123053. * (Highcharts) Color of the minor, secondary grid lines.
  123054. *
  123055. * In styled mode, the stroke width is given in the
  123056. * `.highcharts-minor-grid-line` class.
  123057. */
  123058. minorGridLineColor?: ColorType;
  123059. /**
  123060. * (Highcharts) The dash or dot style of the minor grid lines. For possible
  123061. * values, see this demonstration.
  123062. */
  123063. minorGridLineDashStyle?: DashStyleValue;
  123064. /**
  123065. * (Highcharts) Width of the minor, secondary grid lines.
  123066. *
  123067. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  123068. * class.
  123069. */
  123070. minorGridLineWidth?: number;
  123071. /**
  123072. * (Highcharts) Color for the minor tick marks.
  123073. */
  123074. minorTickColor?: ColorType;
  123075. /**
  123076. * (Highcharts) Specific tick interval in axis units for the minor ticks. On
  123077. * a linear axis, if `"auto"`, the minor tick interval is calculated as a
  123078. * fifth of the tickInterval. If `null` or `undefined`, minor ticks are not
  123079. * shown.
  123080. *
  123081. * On logarithmic axes, the unit is the power of the value. For example,
  123082. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  123083. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  123084. * and 10, 10 and 100 etc.
  123085. *
  123086. * If user settings dictate minor ticks to become too dense, they don't make
  123087. * sense, and will be ignored to prevent performance problems.
  123088. */
  123089. minorTickInterval?: (number|string|null);
  123090. /**
  123091. * (Highcharts) The pixel length of the minor tick marks.
  123092. */
  123093. minorTickLength?: number;
  123094. /**
  123095. * (Highcharts) The position of the minor tick marks relative to the axis
  123096. * line. Can be one of `inside` and `outside`.
  123097. */
  123098. minorTickPosition?: OptionsMinorTickPositionValue;
  123099. /**
  123100. * (Highcharts) Enable or disable minor ticks. Unless minorTickInterval is
  123101. * set, the tick interval is calculated as a fifth of the `tickInterval`.
  123102. *
  123103. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  123104. * attempting to enter approximately 5 minor ticks between each major tick.
  123105. *
  123106. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  123107. * `minorTickInterval` to `"auto"`.
  123108. */
  123109. minorTicks?: boolean;
  123110. /**
  123111. * (Highcharts) The pixel width of the minor tick mark.
  123112. */
  123113. minorTickWidth?: number;
  123114. /**
  123115. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  123116. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  123117. * This is useful when you don't want the lowest data value to appear on the
  123118. * edge of the plot area. When the axis' `min` option is set or a min
  123119. * extreme is set using `axis.setExtremes()`, the minPadding will be
  123120. * ignored.
  123121. */
  123122. minPadding?: number;
  123123. /**
  123124. * (Highcharts) The minimum range to display on this axis. The entire axis
  123125. * will not be allowed to span over a smaller interval than this. For
  123126. * example, for a datetime axis the main unit is milliseconds. If minRange
  123127. * is set to 3600000, you can't zoom in more than to one hour.
  123128. *
  123129. * The default minRange for the x axis is five times the smallest interval
  123130. * between any of the data points.
  123131. *
  123132. * On a logarithmic axis, the unit for the minimum range is the power. So a
  123133. * minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
  123134. * 1000-10000 etc.
  123135. *
  123136. * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
  123137. * settings also affect how the extremes of the axis are computed.
  123138. */
  123139. minRange?: number;
  123140. /**
  123141. * (Highcharts) The minimum tick interval allowed in axis values. For
  123142. * example on zooming in on an axis with daily data, this can be used to
  123143. * prevent the axis from showing hours. Defaults to the closest distance
  123144. * between two points on the axis.
  123145. */
  123146. minTickInterval?: number;
  123147. /**
  123148. * (Highcharts) The distance in pixels from the plot area to the axis line.
  123149. * A positive offset moves the axis with it's line, labels and ticks away
  123150. * from the plot area. This is typically used when two or more axes are
  123151. * displayed on the same side of the plot. With multiple axes the offset is
  123152. * dynamically adjusted to avoid collision, this can be overridden by
  123153. * setting offset explicitly.
  123154. */
  123155. offset?: string;
  123156. /**
  123157. * (Highcharts) Whether to display the axis on the opposite side of the
  123158. * normal. The normal is on the left side for vertical axes and bottom for
  123159. * horizontal, so the opposite sides will be right and top respectively.
  123160. * This is typically used with dual or multiple axes.
  123161. */
  123162. opposite?: boolean;
  123163. /**
  123164. * (Highstock) In an ordinal axis, the points are equally spaced in the
  123165. * chart regardless of the actual time or x distance between them. This
  123166. * means that missing data periods (e.g. nights or weekends for a stock
  123167. * chart) will not take up space in the chart. Having `ordinal: false` will
  123168. * show any gaps created by the `gapSize` setting proportionate to their
  123169. * duration.
  123170. *
  123171. * In stock charts the X axis is ordinal by default, unless the boost module
  123172. * is used and at least one of the series' data length exceeds the
  123173. * boostThreshold.
  123174. */
  123175. ordinal?: boolean;
  123176. /**
  123177. * (Highstock) Additional range on the right side of the xAxis. Works
  123178. * similar to `xAxis.maxPadding`, but value is set in milliseconds. Can be
  123179. * set for both main `xAxis` and the navigator's `xAxis`.
  123180. */
  123181. overscroll?: number;
  123182. /**
  123183. * (Highcharts) Refers to the index in the panes array. Used for circular
  123184. * gauges and polar charts. When the option is not set then first pane will
  123185. * be used.
  123186. */
  123187. pane?: number;
  123188. /**
  123189. * (Highcharts, Highstock, Gantt) An array of colored bands stretching
  123190. * across the plot area marking an interval on the axis.
  123191. *
  123192. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  123193. * class in addition to the `className` option.
  123194. */
  123195. plotBands?: Array<ZAxisPlotBandsOptions>;
  123196. /**
  123197. * (Highcharts, Highstock, Gantt) An array of lines stretching across the
  123198. * plot area, marking a specific value on one of the axes.
  123199. *
  123200. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  123201. * class in addition to the `className` option.
  123202. */
  123203. plotLines?: Array<ZAxisPlotLinesOptions>;
  123204. /**
  123205. * (Highstock) The zoomed range to display when only defining one or none of
  123206. * `min` or `max`. For example, to show the latest month, a range of one
  123207. * month can be set.
  123208. */
  123209. range?: number;
  123210. /**
  123211. * (Highcharts) Whether to reverse the axis so that the highest number is
  123212. * closest to the origin. If the chart is inverted, the x axis is reversed
  123213. * by default.
  123214. */
  123215. reversed?: boolean;
  123216. /**
  123217. * (Highcharts, Highstock) This option determines how stacks should be
  123218. * ordered within a group. For example reversed xAxis also reverses stacks,
  123219. * so first series comes last in a group. To keep order like for
  123220. * non-reversed xAxis enable this option.
  123221. */
  123222. reversedStacks?: boolean;
  123223. /**
  123224. * (Highstock) An optional scrollbar to display on the X axis in response to
  123225. * limiting the minimum and maximum of the axis values.
  123226. *
  123227. * In styled mode, all the presentational options for the scrollbar are
  123228. * replaced by the classes `.highcharts-scrollbar-thumb`,
  123229. * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
  123230. * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
  123231. */
  123232. scrollbar?: ZAxisScrollbarOptions;
  123233. /**
  123234. * (Highcharts) Whether to show the first tick label.
  123235. */
  123236. showFirstLabel?: boolean;
  123237. /**
  123238. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  123239. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  123240. */
  123241. showLastLabel?: boolean;
  123242. /**
  123243. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  123244. * data maximum is less than this, the axis will stay at this maximum, but
  123245. * if the series data maximum is higher, the axis will flex to show all
  123246. * data.
  123247. */
  123248. softMax?: number;
  123249. /**
  123250. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  123251. * data minimum is greater than this, the axis will stay at this minimum,
  123252. * but if the series data minimum is lower, the axis will flex to show all
  123253. * data.
  123254. */
  123255. softMin?: number;
  123256. /**
  123257. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  123258. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  123259. */
  123260. startOfWeek?: number;
  123261. /**
  123262. * (Highcharts) Whether to force the axis to start on a tick. Use this
  123263. * option with the `minPadding` option to control the axis start.
  123264. */
  123265. startOnTick?: boolean;
  123266. /**
  123267. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  123268. * This opens up for aligning the ticks of multiple charts or panes within a
  123269. * chart. This option overrides the `tickPixelInterval` option.
  123270. *
  123271. * This option only has an effect on linear axes. Datetime, logarithmic or
  123272. * category axes are not affected.
  123273. */
  123274. tickAmount?: number;
  123275. /**
  123276. * (Highcharts) Color for the main tick marks.
  123277. *
  123278. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  123279. */
  123280. tickColor?: ColorType;
  123281. /**
  123282. * (Highcharts) The interval of the tick marks in axis units. When
  123283. * `undefined`, the tick interval is computed to approximately follow the
  123284. * tickPixelInterval on linear and datetime axes. On categorized axes, a
  123285. * `undefined` tickInterval will default to 1, one category. Note that
  123286. * datetime axes are based on milliseconds, so for example an interval of
  123287. * one day is expressed as `24 * 3600 * 1000`.
  123288. *
  123289. * On logarithmic axes, the tickInterval is based on powers, so a
  123290. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  123291. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  123292. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  123293. * etc.
  123294. *
  123295. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  123296. * remove ticks.
  123297. *
  123298. * If the chart has multiple axes, the alignTicks option may interfere with
  123299. * the `tickInterval` setting.
  123300. */
  123301. tickInterval?: number;
  123302. /**
  123303. * (Highcharts) The pixel length of the main tick marks.
  123304. */
  123305. tickLength?: number;
  123306. /**
  123307. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  123308. * placed in the center of the category, if `between` the tick mark is
  123309. * placed between categories. The default is `between` if the `tickInterval`
  123310. * is 1, else `on`.
  123311. */
  123312. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  123313. /**
  123314. * (Highcharts) If tickInterval is `null` this option sets the approximate
  123315. * pixel interval of the tick marks. Not applicable to categorized axis.
  123316. *
  123317. * The tick interval is also influenced by the minTickInterval option, that,
  123318. * by default prevents ticks from being denser than the data points.
  123319. */
  123320. tickPixelInterval?: number;
  123321. /**
  123322. * (Highcharts) The position of the major tick marks relative to the axis
  123323. * line. Can be one of `inside` and `outside`.
  123324. */
  123325. tickPosition?: OptionsTickPositionValue;
  123326. /**
  123327. * (Highcharts) A callback function returning array defining where the ticks
  123328. * are laid out on the axis. This overrides the default behaviour of
  123329. * tickPixelInterval and tickInterval. The automatic tick positions are
  123330. * accessible through `this.tickPositions` and can be modified by the
  123331. * callback.
  123332. */
  123333. tickPositioner?: AxisTickPositionerCallbackFunction;
  123334. /**
  123335. * (Highcharts) An array defining where the ticks are laid out on the axis.
  123336. * This overrides the default behaviour of tickPixelInterval and
  123337. * tickInterval.
  123338. */
  123339. tickPositions?: Array<number>;
  123340. /**
  123341. * (Highcharts) The pixel width of the major tick marks. Defaults to 0 on
  123342. * category axes, otherwise 1.
  123343. *
  123344. * In styled mode, the stroke width is given in the `.highcharts-tick`
  123345. * class, but in order for the element to be generated on category axes, the
  123346. * option must be explicitly set to 1.
  123347. */
  123348. tickWidth?: (number|undefined);
  123349. /**
  123350. * (Highcharts) The axis title, showing next to the axis line.
  123351. */
  123352. title?: ZAxisTitleOptions;
  123353. /**
  123354. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  123355. * `logarithmic`, `datetime` or `category`. In a datetime axis, the numbers
  123356. * are given in milliseconds, and tick marks are placed on appropriate
  123357. * values like full hours or days. In a category axis, the point names of
  123358. * the chart's series are used for categories, if not a categories array is
  123359. * defined.
  123360. */
  123361. type?: AxisTypeValue;
  123362. /**
  123363. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  123364. * `uniqueNames` is true, points are placed on the X axis according to their
  123365. * names. If the same point name is repeated in the same or another series,
  123366. * the point is placed on the same X position as other points of the same
  123367. * name. When `uniqueNames` is false, the points are laid out in increasing
  123368. * X positions regardless of their names, and the X axis category will take
  123369. * the name of the last point in each position.
  123370. */
  123371. uniqueNames?: boolean;
  123372. /**
  123373. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  123374. * what time intervals the ticks are allowed to fall on. Each array item is
  123375. * an array where the first value is the time unit and the second value
  123376. * another array of allowed multiples.
  123377. *
  123378. * Defaults to: (see online documentation for example)
  123379. */
  123380. units?: Array<[string, (Array<number>|null)]>;
  123381. /**
  123382. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  123383. * ticks and labels, should be visible.
  123384. */
  123385. visible?: boolean;
  123386. /**
  123387. * (Highcharts) The Z index for the axis group.
  123388. */
  123389. zIndex?: number;
  123390. /**
  123391. * (Highcharts) Whether to zoom axis. If `chart.zoomType` is set, the option
  123392. * allows to disable zooming on an individual axis.
  123393. */
  123394. zoomEnabled?: boolean;
  123395. }
  123396. /**
  123397. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  123398. * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  123399. */
  123400. export interface ZAxisPlotBandsEventsOptions {
  123401. /**
  123402. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  123403. */
  123404. click?: EventCallbackFunction<PlotLineOrBand>;
  123405. /**
  123406. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  123407. */
  123408. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  123409. /**
  123410. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  123411. * band.
  123412. */
  123413. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  123414. /**
  123415. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  123416. */
  123417. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  123418. }
  123419. /**
  123420. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  123421. */
  123422. export interface ZAxisPlotBandsLabelOptions {
  123423. /**
  123424. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  123425. * one of "left", "center" or "right".
  123426. */
  123427. align?: AlignValue;
  123428. /**
  123429. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
  123430. */
  123431. rotation?: number;
  123432. /**
  123433. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  123434. *
  123435. * In styled mode, the labels are styled by the
  123436. * `.highcharts-plot-band-label` class.
  123437. */
  123438. style?: CSSObject;
  123439. /**
  123440. * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
  123441. * is supported.
  123442. */
  123443. text?: string;
  123444. /**
  123445. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  123446. * `align` determines where the texts anchor point is placed within the plot
  123447. * band, `textAlign` determines how the text is aligned against its anchor
  123448. * point. Possible values are "left", "center" and "right". Defaults to the
  123449. * same as the `align` option.
  123450. */
  123451. textAlign?: AlignValue;
  123452. /**
  123453. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  123454. */
  123455. useHTML?: boolean;
  123456. /**
  123457. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  123458. * to the plot band. Can be one of "top", "middle" or "bottom".
  123459. */
  123460. verticalAlign?: VerticalAlignValue;
  123461. /**
  123462. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  123463. * alignment. Default varies by orientation.
  123464. */
  123465. x?: number;
  123466. /**
  123467. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  123468. * relative to the alignment. Default varies by orientation.
  123469. */
  123470. y?: number;
  123471. }
  123472. /**
  123473. * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
  123474. * the plot area marking an interval on the axis.
  123475. *
  123476. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  123477. * class in addition to the `className` option.
  123478. */
  123479. export interface ZAxisPlotBandsOptions {
  123480. /**
  123481. * (Highstock) Flag to decide if plotBand should be rendered across all
  123482. * panes.
  123483. */
  123484. acrossPanes?: boolean;
  123485. /**
  123486. * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
  123487. * requires `borderWidth` to be set.
  123488. */
  123489. borderColor?: ColorString;
  123490. /**
  123491. * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
  123492. * requires `borderColor` to be set.
  123493. */
  123494. borderWidth?: number;
  123495. /**
  123496. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  123497. * default `highcharts-plot-band`, to apply to each individual band.
  123498. */
  123499. className?: string;
  123500. /**
  123501. * (Highcharts, Highstock, Gantt) The color of the plot band.
  123502. */
  123503. color?: (ColorString|GradientColorObject|PatternObject);
  123504. /**
  123505. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  123506. * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
  123507. * `mousemove`.
  123508. */
  123509. events?: ZAxisPlotBandsEventsOptions;
  123510. /**
  123511. * (Highcharts, Highstock, Gantt) The start position of the plot band in
  123512. * axis units.
  123513. */
  123514. from?: number;
  123515. /**
  123516. * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
  123517. * in Axis.removePlotBand.
  123518. */
  123519. id?: string;
  123520. /**
  123521. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  123522. */
  123523. label?: ZAxisPlotBandsLabelOptions;
  123524. /**
  123525. * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
  123526. * units.
  123527. */
  123528. to?: number;
  123529. /**
  123530. * (Highcharts, Highstock, Gantt) The z index of the plot band within the
  123531. * chart, relative to other elements. Using the same z index as another
  123532. * element may give unpredictable results, as the last rendered element will
  123533. * be on top. Values from 0 to 20 make sense.
  123534. */
  123535. zIndex?: number;
  123536. }
  123537. /**
  123538. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  123539. * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  123540. */
  123541. export interface ZAxisPlotLinesEventsOptions {
  123542. /**
  123543. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  123544. */
  123545. click?: EventCallbackFunction<PlotLineOrBand>;
  123546. /**
  123547. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  123548. */
  123549. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  123550. /**
  123551. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  123552. * band.
  123553. */
  123554. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  123555. /**
  123556. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  123557. */
  123558. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  123559. }
  123560. /**
  123561. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  123562. */
  123563. export interface ZAxisPlotLinesLabelOptions {
  123564. /**
  123565. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  123566. * one of "left", "center" or "right".
  123567. */
  123568. align?: AlignValue;
  123569. /**
  123570. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  123571. * label. Useful properties like the value of plot line or the range of plot
  123572. * band (`from` & `to` properties) can be found in `this.options` object.
  123573. */
  123574. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  123575. /**
  123576. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
  123577. * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
  123578. */
  123579. rotation?: number;
  123580. /**
  123581. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  123582. *
  123583. * In styled mode, the labels are styled by the
  123584. * `.highcharts-plot-line-label` class.
  123585. */
  123586. style?: CSSObject;
  123587. /**
  123588. * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
  123589. * supported.
  123590. */
  123591. text?: string;
  123592. /**
  123593. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  123594. * `align` determines where the texts anchor point is placed within the plot
  123595. * band, `textAlign` determines how the text is aligned against its anchor
  123596. * point. Possible values are "left", "center" and "right". Defaults to the
  123597. * same as the `align` option.
  123598. */
  123599. textAlign?: AlignValue;
  123600. /**
  123601. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  123602. */
  123603. useHTML?: boolean;
  123604. /**
  123605. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  123606. * to the plot line. Can be one of "top", "middle" or "bottom".
  123607. */
  123608. verticalAlign?: VerticalAlignValue;
  123609. /**
  123610. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  123611. * alignment. Default varies by orientation.
  123612. */
  123613. x?: number;
  123614. /**
  123615. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  123616. * relative to the alignment. Default varies by orientation.
  123617. */
  123618. y?: number;
  123619. }
  123620. /**
  123621. * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
  123622. * area, marking a specific value on one of the axes.
  123623. *
  123624. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  123625. * class in addition to the `className` option.
  123626. */
  123627. export interface ZAxisPlotLinesOptions {
  123628. /**
  123629. * (Highstock) Flag to decide if plotLine should be rendered across all
  123630. * panes.
  123631. */
  123632. acrossPanes?: boolean;
  123633. /**
  123634. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  123635. * default `highcharts-plot-line`, to apply to each individual line.
  123636. */
  123637. className?: string;
  123638. /**
  123639. * (Highcharts, Highstock, Gantt) The color of the line.
  123640. */
  123641. color?: ColorString;
  123642. /**
  123643. * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
  123644. * line. For possible values see this overview.
  123645. */
  123646. dashStyle?: DashStyleValue;
  123647. /**
  123648. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  123649. * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
  123650. * `mousemove`.
  123651. */
  123652. events?: ZAxisPlotLinesEventsOptions;
  123653. /**
  123654. * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
  123655. * in Axis.removePlotLine.
  123656. */
  123657. id?: string;
  123658. /**
  123659. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  123660. */
  123661. label?: ZAxisPlotLinesLabelOptions;
  123662. /**
  123663. * (Highcharts, Highstock, Gantt) The position of the line in axis units.
  123664. */
  123665. value?: number;
  123666. /**
  123667. * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
  123668. */
  123669. width?: number;
  123670. /**
  123671. * (Highcharts, Highstock, Gantt) The z index of the plot line within the
  123672. * chart.
  123673. */
  123674. zIndex?: number;
  123675. }
  123676. /**
  123677. * (Highstock) An optional scrollbar to display on the X axis in response to
  123678. * limiting the minimum and maximum of the axis values.
  123679. *
  123680. * In styled mode, all the presentational options for the scrollbar are replaced
  123681. * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
  123682. * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
  123683. * `.highcharts-scrollbar-track`.
  123684. */
  123685. export interface ZAxisScrollbarOptions {
  123686. /**
  123687. * (Highstock) The background color of the scrollbar itself.
  123688. */
  123689. barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  123690. /**
  123691. * (Highstock) The color of the scrollbar's border.
  123692. */
  123693. barBorderColor?: (ColorString|GradientColorObject|PatternObject);
  123694. /**
  123695. * (Highstock) The border rounding radius of the bar.
  123696. */
  123697. barBorderRadius?: number;
  123698. /**
  123699. * (Highstock) The width of the bar's border.
  123700. */
  123701. barBorderWidth?: number;
  123702. /**
  123703. * (Highstock) The color of the small arrow inside the scrollbar buttons.
  123704. */
  123705. buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
  123706. /**
  123707. * (Highstock) The color of scrollbar buttons.
  123708. */
  123709. buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  123710. /**
  123711. * (Highstock) The color of the border of the scrollbar buttons.
  123712. */
  123713. buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
  123714. /**
  123715. * (Highstock) The corner radius of the scrollbar buttons.
  123716. */
  123717. buttonBorderRadius?: number;
  123718. /**
  123719. * (Highstock) The border width of the scrollbar buttons.
  123720. */
  123721. buttonBorderWidth?: number;
  123722. /**
  123723. * (Highstock) Enable or disable the scrollbar.
  123724. */
  123725. enabled?: boolean;
  123726. /**
  123727. * (Highstock) The height of the scrollbar. The height also applies to the
  123728. * width of the scroll arrows so that they are always squares. Defaults to
  123729. * 20 for touch devices and 14 for mouse devices.
  123730. */
  123731. height?: number;
  123732. /**
  123733. * (Highstock) Whether to redraw the main chart as the scrollbar or the
  123734. * navigator zoomed window is moved. Defaults to `true` for modern browsers
  123735. * and `false` for legacy IE browsers as well as mobile devices.
  123736. */
  123737. liveRedraw?: boolean;
  123738. /**
  123739. * (Highstock) The margin between the scrollbar and its axis when the
  123740. * scrollbar is applied directly to an axis.
  123741. */
  123742. margin?: number;
  123743. /**
  123744. * (Highstock) The minimum width of the scrollbar.
  123745. */
  123746. minWidth?: number;
  123747. /**
  123748. * (Highstock) The color of the small rifles in the middle of the scrollbar.
  123749. */
  123750. rifleColor?: (ColorString|GradientColorObject|PatternObject);
  123751. /**
  123752. * (Highstock) Whether to show or hide the scrollbar when the scrolled
  123753. * content is zoomed out to it full extent.
  123754. */
  123755. showFull?: boolean;
  123756. /**
  123757. * (Highstock) The color of the track background.
  123758. */
  123759. trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  123760. /**
  123761. * (Highstock) The color of the border of the scrollbar track.
  123762. */
  123763. trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
  123764. /**
  123765. * (Highstock) The corner radius of the border of the scrollbar track.
  123766. */
  123767. trackBorderRadius?: number;
  123768. /**
  123769. * (Highstock) The width of the border of the scrollbar track.
  123770. */
  123771. trackBorderWidth?: number;
  123772. /**
  123773. * (Highstock) The z index of the scrollbar group.
  123774. */
  123775. zIndex?: number;
  123776. }
  123777. /**
  123778. * (Highcharts) The axis title, showing next to the axis line.
  123779. */
  123780. export interface ZAxisTitleOptions {
  123781. /**
  123782. * (Highcharts) Alignment of the title relative to the axis values. Possible
  123783. * values are "low", "middle" or "high".
  123784. */
  123785. align?: AxisTitleAlignValue;
  123786. /**
  123787. * (Highcharts) The pixel distance between the axis labels or line and the
  123788. * title. Defaults to 0 for horizontal axes, 10 for vertical
  123789. */
  123790. margin?: number;
  123791. /**
  123792. * (Highcharts) The distance of the axis title from the axis line. By
  123793. * default, this distance is computed from the offset width of the labels,
  123794. * the labels' distance from the axis and the title's margin. However when
  123795. * the offset option is set, it overrides all this.
  123796. */
  123797. offset?: number;
  123798. /**
  123799. * (Highcharts) Defines how the title is repositioned according to the 3D
  123800. * chart orientation.
  123801. *
  123802. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  123803. * marks, despite the chart orientation. This is the backwards compatible
  123804. * behavior, and causes skewing of X and Z axes.
  123805. *
  123806. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  123807. * but hard to read if the text isn't forward-facing.
  123808. *
  123809. * - `'flap'`: Rotated text along the axis to compensate for the chart
  123810. * orientation. This tries to maintain text as legible as possible on all
  123811. * orientations.
  123812. *
  123813. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  123814. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  123815. * skewing the labels (X and Y scaling are still present).
  123816. *
  123817. * - `undefined`: Will use the config from `labels.position3d`
  123818. */
  123819. position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
  123820. /**
  123821. * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
  123822. * when laying out the axis.
  123823. */
  123824. reserveSpace?: boolean;
  123825. /**
  123826. * (Highcharts) The rotation of the text in degrees. 0 is horizontal, 270 is
  123827. * vertical reading from bottom to top.
  123828. */
  123829. rotation?: number;
  123830. /**
  123831. * (Highcharts) If enabled, the axis title will skewed to follow the
  123832. * perspective.
  123833. *
  123834. * This will fix overlapping labels and titles, but texts become less
  123835. * legible due to the distortion.
  123836. *
  123837. * The final appearance depends heavily on `title.position3d`.
  123838. *
  123839. * A `null` value will use the config from `labels.skew3d`.
  123840. */
  123841. skew3d?: (boolean|null);
  123842. /**
  123843. * (Highcharts) CSS styles for the title. If the title text is longer than
  123844. * the axis length, it will wrap to multiple lines by default. This can be
  123845. * customized by setting `textOverflow: 'ellipsis'`, by setting a specific
  123846. * `width` or by setting `whiteSpace: 'nowrap'`.
  123847. *
  123848. * In styled mode, the stroke width is given in the `.highcharts-axis-title`
  123849. * class.
  123850. */
  123851. style?: CSSObject;
  123852. /**
  123853. * (Highcharts) The actual text of the axis title. It can contain basic HTML
  123854. * tags like `b`, `i` and `span` with style.
  123855. */
  123856. text?: (string|null);
  123857. /**
  123858. * (Highcharts) Alignment of the text, can be `"left"`, `"right"` or
  123859. * `"center"`. Default alignment depends on the title.align:
  123860. *
  123861. * Horizontal axes:
  123862. *
  123863. * - for `align` = `"low"`, `textAlign` is set to `left`
  123864. *
  123865. * - for `align` = `"middle"`, `textAlign` is set to `center`
  123866. *
  123867. * - for `align` = `"high"`, `textAlign` is set to `right`
  123868. *
  123869. * Vertical axes:
  123870. *
  123871. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  123872. * `right`
  123873. *
  123874. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  123875. * `left`
  123876. *
  123877. * - for `align` = `"middle"`, `textAlign` is set to `center`
  123878. *
  123879. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  123880. * `left`
  123881. *
  123882. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  123883. * `right`
  123884. */
  123885. textAlign?: AlignValue;
  123886. /**
  123887. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
  123888. * title.
  123889. */
  123890. useHTML?: boolean;
  123891. /**
  123892. * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
  123893. * position.
  123894. */
  123895. x?: number;
  123896. /**
  123897. * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
  123898. * position.
  123899. */
  123900. y?: number;
  123901. }
  123902. /**
  123903. * An annotation class which serves as a container for items like labels or
  123904. * shapes. Created items are positioned on the chart either by linking them to
  123905. * existing points or created mock points
  123906. */
  123907. export class Annotation {
  123908. /**
  123909. * An annotation class which serves as a container for items like labels or
  123910. * shapes. Created items are positioned on the chart either by linking them
  123911. * to existing points or created mock points
  123912. *
  123913. * @param chart
  123914. * a chart instance
  123915. *
  123916. * @param userOptions
  123917. * the options object
  123918. */
  123919. constructor(chart: Chart, userOptions: AnnotationsOptions);
  123920. /**
  123921. * The group svg element.
  123922. */
  123923. group: SVGElement;
  123924. /**
  123925. * The group svg element of the annotation's labels.
  123926. */
  123927. labelsGroup: SVGElement;
  123928. /**
  123929. * The options for the annotations.
  123930. */
  123931. options: AnnotationsOptions;
  123932. /**
  123933. * The group svg element of the annotation's shapes.
  123934. */
  123935. shapesGroup: SVGElement;
  123936. /**
  123937. * The user options for the annotations.
  123938. */
  123939. userOptions: AnnotationsOptions;
  123940. /**
  123941. * Updates an annotation.
  123942. *
  123943. * @param userOptions
  123944. * New user options for the annotation.
  123945. */
  123946. update(userOptions: Partial<AnnotationsOptions>): void;
  123947. }
  123948. /**
  123949. * A control point class which is a connection between controllable transform
  123950. * methods and a user actions.
  123951. */
  123952. export class AnnotationControlPoint {
  123953. /**
  123954. * A control point class which is a connection between controllable
  123955. * transform methods and a user actions.
  123956. *
  123957. * @param chart
  123958. * A chart instance.
  123959. *
  123960. * @param target
  123961. * A controllable instance which is a target for a control point.
  123962. *
  123963. * @param options
  123964. * An options object.
  123965. *
  123966. * @param index
  123967. * Point index.
  123968. */
  123969. constructor(chart: Chart, target: AnnotationControllable, options: AnnotationControlPointOptionsObject, index?: number);
  123970. /**
  123971. * Set the visibility of the control point.
  123972. *
  123973. * @param visible
  123974. * Visibility of the control point.
  123975. */
  123976. setVisibility(visible: boolean): void;
  123977. /**
  123978. * Update the control point.
  123979. *
  123980. * @param userOptions
  123981. * New options for the control point.
  123982. */
  123983. update(userOptions: Partial<AnnotationControlPointOptionsObject>): void;
  123984. }
  123985. /**
  123986. * The AST class represents an abstract syntax tree of HTML or SVG content. It
  123987. * can take HTML as an argument, parse it, optionally transform it to SVG, then
  123988. * perform sanitation before inserting it into the DOM.
  123989. */
  123990. export class AST {
  123991. /**
  123992. * The list of allowed SVG or HTML attributes, used for sanitizing
  123993. * potentially harmful content from the chart configuration before adding to
  123994. * the DOM.
  123995. */
  123996. static allowedAttributes: any;
  123997. /**
  123998. * The list of allowed references for referring attributes like `href` and
  123999. * `src`. Attribute values will only be allowed if they start with one of
  124000. * these strings.
  124001. */
  124002. static allowedReferences: any;
  124003. /**
  124004. * The list of allowed SVG or HTML tags, used for sanitizing potentially
  124005. * harmful content from the chart configuration before adding to the DOM.
  124006. */
  124007. static allowedTags: any;
  124008. /**
  124009. * The AST class represents an abstract syntax tree of HTML or SVG content.
  124010. * It can take HTML as an argument, parse it, optionally transform it to
  124011. * SVG, then perform sanitation before inserting it into the DOM.
  124012. *
  124013. * @param source
  124014. * Either an HTML string or an ASTNode list to populate the tree
  124015. */
  124016. constructor(source: (string|Array<ASTNode>));
  124017. /**
  124018. * Add the tree defined as a hierarchical JS structure to the DOM
  124019. *
  124020. * @param parent
  124021. * The node where it should be added
  124022. *
  124023. * @return The inserted node.
  124024. */
  124025. addToDOM(parent: (HTMLDOMElement|SVGDOMElement)): (HTMLDOMElement|SVGDOMElement);
  124026. /**
  124027. * Filter an object of SVG or HTML attributes against the allow list.
  124028. *
  124029. * @param attributes
  124030. * The attributes to filter
  124031. *
  124032. * @return The filtered attributes
  124033. */
  124034. filterUserAttributes(attributes: SVGAttributes): SVGAttributes;
  124035. /**
  124036. * Utility function to set html content for an element by passing in a
  124037. * markup string. The markup is safely parsed by the AST class to avoid XSS
  124038. * vulnerabilities. This function should be used instead of setting
  124039. * `innerHTML` in all cases where the content is not fully trusted.
  124040. *
  124041. * @param el
  124042. * The node to set content of
  124043. *
  124044. * @param html
  124045. * The markup string
  124046. */
  124047. setElementHTML(el: (HTMLDOMElement|SVGDOMElement), html: string): void;
  124048. }
  124049. /**
  124050. * Create a new axis object. Called internally when instanciating a new chart or
  124051. * adding axes by Highcharts.Chart#addAxis.
  124052. *
  124053. * A chart can have from 0 axes (pie chart) to multiples. In a normal, single
  124054. * series cartesian chart, there is one X axis and one Y axis.
  124055. *
  124056. * The X axis or axes are referenced by Highcharts.Chart.xAxis, which is an
  124057. * array of Axis objects. If there is only one axis, it can be referenced
  124058. * through `chart.xAxis[0]`, and multiple axes have increasing indices. The same
  124059. * pattern goes for Y axes.
  124060. *
  124061. * If you need to get the axes from a series object, use the `series.xAxis` and
  124062. * `series.yAxis` properties. These are not arrays, as one series can only be
  124063. * associated to one X and one Y axis.
  124064. *
  124065. * A third way to reference the axis programmatically is by `id`. Add an `id` in
  124066. * the axis configuration options, and get the axis by Highcharts.Chart#get.
  124067. *
  124068. * Configuration options for the axes are given in options.xAxis and
  124069. * options.yAxis.
  124070. */
  124071. export class Axis {
  124072. /**
  124073. * Create a new axis object. Called internally when instanciating a new
  124074. * chart or adding axes by Highcharts.Chart#addAxis.
  124075. *
  124076. * A chart can have from 0 axes (pie chart) to multiples. In a normal,
  124077. * single series cartesian chart, there is one X axis and one Y axis.
  124078. *
  124079. * The X axis or axes are referenced by Highcharts.Chart.xAxis, which is an
  124080. * array of Axis objects. If there is only one axis, it can be referenced
  124081. * through `chart.xAxis[0]`, and multiple axes have increasing indices. The
  124082. * same pattern goes for Y axes.
  124083. *
  124084. * If you need to get the axes from a series object, use the `series.xAxis`
  124085. * and `series.yAxis` properties. These are not arrays, as one series can
  124086. * only be associated to one X and one Y axis.
  124087. *
  124088. * A third way to reference the axis programmatically is by `id`. Add an
  124089. * `id` in the axis configuration options, and get the axis by
  124090. * Highcharts.Chart#get.
  124091. *
  124092. * Configuration options for the axes are given in options.xAxis and
  124093. * options.yAxis.
  124094. *
  124095. * @param chart
  124096. * The Chart instance to apply the axis on.
  124097. *
  124098. * @param userOptions
  124099. * Axis options.
  124100. */
  124101. constructor(chart: Chart, userOptions: AxisOptions);
  124102. /**
  124103. * If categories are present for the axis, names are used instead of numbers
  124104. * for that axis.
  124105. *
  124106. * Since Highcharts 3.0, categories can also be extracted by giving each
  124107. * point a name and setting axis type to `category`. However, if you have
  124108. * multiple series, best practice remains defining the `categories` array.
  124109. */
  124110. readonly categories: Array<string>;
  124111. /**
  124112. * The Chart that the axis belongs to.
  124113. */
  124114. chart: Chart;
  124115. /**
  124116. * The collection where the axis belongs, for example `xAxis`, `yAxis` or
  124117. * `colorAxis`. Corresponds to properties on Chart, for example Chart.xAxis.
  124118. */
  124119. coll: string;
  124120. /**
  124121. * The processed crosshair options.
  124122. */
  124123. crosshair: (boolean|AxisCrosshairOptions);
  124124. /**
  124125. * Whether the axis is horizontal.
  124126. */
  124127. horiz?: boolean;
  124128. /**
  124129. * Whether the axis is the x-axis.
  124130. */
  124131. isXAxis?: boolean;
  124132. /**
  124133. * The maximum value of the axis. In a logarithmic axis, this is the
  124134. * logarithm of the real value, and the real value can be obtained from
  124135. * Axis#getExtremes.
  124136. */
  124137. max: (number|null);
  124138. /**
  124139. * The minimum value of the axis. In a logarithmic axis, this is the
  124140. * logarithm of the real value, and the real value can be obtained from
  124141. * Axis#getExtremes.
  124142. */
  124143. min: (number|null);
  124144. /**
  124145. * List of minor ticks mapped by position on the axis.
  124146. */
  124147. minorTicks: Dictionary<Tick>;
  124148. /**
  124149. * Current options for the axis after merge of defaults and user's options.
  124150. */
  124151. options: AxisOptions;
  124152. /**
  124153. * Whether the axis is reversed. Based on the `axis.reversed`, option, but
  124154. * inverted charts have reversed xAxis by default.
  124155. */
  124156. reversed: boolean;
  124157. /**
  124158. * All series associated to the axis.
  124159. */
  124160. series: Array<Series>;
  124161. /**
  124162. * The side on which the axis is rendered. 0 is top, 1 is right, 2 is bottom
  124163. * and 3 is left.
  124164. */
  124165. side: number;
  124166. /**
  124167. * Contains the current positions that are laid out on the axis. The
  124168. * positions are numbers in terms of axis values. In a category axis they
  124169. * are integers, in a datetime axis they are also integers, but designating
  124170. * milliseconds.
  124171. *
  124172. * This property is read only - for modifying the tick positions, use the
  124173. * `tickPositioner` callback or [axis.tickPositions(
  124174. * https://api.highcharts.com/highcharts/xAxis.tickPositions) option
  124175. * instead.
  124176. */
  124177. tickPositions?: AxisTickPositionsArray;
  124178. /**
  124179. * List of major ticks mapped by postition on axis.
  124180. */
  124181. ticks: Dictionary<Tick>;
  124182. /**
  124183. * User's options for this axis without defaults.
  124184. */
  124185. userOptions: AxisOptions;
  124186. /**
  124187. * Add a plot band after render time.
  124188. *
  124189. * @param options
  124190. * A configuration object for the plot band, as defined in
  124191. * xAxis.plotBands.
  124192. *
  124193. * @return The added plot band.
  124194. */
  124195. addPlotBand(options: AxisPlotBandsOptions): (PlotLineOrBand|undefined);
  124196. /**
  124197. * Add a plot line after render time.
  124198. *
  124199. * @param options
  124200. * A configuration object for the plot line, as defined in
  124201. * xAxis.plotLines.
  124202. *
  124203. * @return The added plot line.
  124204. */
  124205. addPlotLine(options: AxisPlotLinesOptions): (PlotLineOrBand|undefined);
  124206. /**
  124207. * Adds the title defined in axis.options.title.
  124208. *
  124209. * @param display
  124210. * Whether or not to display the title.
  124211. */
  124212. addTitle(display?: boolean): void;
  124213. /**
  124214. * The default label formatter. The context is a special config object for
  124215. * the label. In apps, use the labels.formatter instead, except when a
  124216. * modification is needed.
  124217. *
  124218. * @param this
  124219. * Formatter context of axis label.
  124220. *
  124221. * @return The formatted label content.
  124222. */
  124223. defaultLabelFormatter(this: AxisLabelsFormatterContextObject): string;
  124224. /**
  124225. * Internal function to draw a crosshair.
  124226. *
  124227. * @param e
  124228. * The event arguments from the modified pointer event, extended with
  124229. * `chartX` and `chartY`
  124230. *
  124231. * @param point
  124232. * The Point object if the crosshair snaps to points.
  124233. *
  124234. * @fires Highcharts.Axis#afterDrawCrosshair
  124235. * @fires Highcharts.Axis#drawCrosshair
  124236. */
  124237. drawCrosshair(e?: PointerEventObject, point?: Point): void;
  124238. /**
  124239. * Get the current extremes for the axis.
  124240. *
  124241. * @return An object containing extremes information.
  124242. */
  124243. getExtremes(): ExtremesObject;
  124244. /**
  124245. * Internal function to get the tick positions of a linear axis to round
  124246. * values like whole tens or every five.
  124247. *
  124248. * @param tickInterval
  124249. * The normalized tick interval.
  124250. *
  124251. * @param min
  124252. * Axis minimum.
  124253. *
  124254. * @param max
  124255. * Axis maximum.
  124256. *
  124257. * @return An array of axis values where ticks should be placed.
  124258. */
  124259. getLinearTickPositions(tickInterval: number, min: number, max: number): Array<number>;
  124260. /**
  124261. * Internal function to get the path for the axis line. Extended for polar
  124262. * charts.
  124263. *
  124264. * @param lineWidth
  124265. * The line width in pixels.
  124266. *
  124267. * @return The SVG path definition in array form.
  124268. */
  124269. getLinePath(lineWidth: number): SVGPathArray;
  124270. /**
  124271. * Resolve the new minorTicks/minorTickInterval options into the legacy
  124272. * loosely typed minorTickInterval option.
  124273. */
  124274. getMinorTickInterval(): ("auto"|number|null);
  124275. /**
  124276. * Internal function to return the minor tick positions. For logarithmic
  124277. * axes, the same logic as for major ticks is reused.
  124278. *
  124279. * @return An array of axis values where ticks should be placed.
  124280. */
  124281. getMinorTickPositions(): Array<number>;
  124282. /**
  124283. * Internal function to create the SVG path definition for a plot band.
  124284. *
  124285. * @param from
  124286. * The axis value to start from.
  124287. *
  124288. * @param to
  124289. * The axis value to end on.
  124290. *
  124291. * @param options
  124292. * The plotBand or plotLine configuration object.
  124293. *
  124294. * @return The SVG path definition in array form.
  124295. */
  124296. getPlotBandPath(from: number, to: number, options: (AxisPlotBandsOptions|AxisPlotLinesOptions)): SVGPathArray;
  124297. /**
  124298. * Create the path for a plot line that goes from the given value on this
  124299. * axis, across the plot to the opposite side. Also used internally for grid
  124300. * lines and crosshairs.
  124301. *
  124302. * @param options
  124303. * Options for the path.
  124304. *
  124305. * @return The SVG path definition for the plot line.
  124306. */
  124307. getPlotLinePath(options: AxisPlotLinePathOptionsObject): (SVGPathArray|null);
  124308. /**
  124309. * Get the zero plane either based on zero or on the min or max value. Used
  124310. * in bar and area plots.
  124311. *
  124312. * @param threshold
  124313. * The threshold in axis values.
  124314. *
  124315. * @return The translated threshold position in terms of pixels, and
  124316. * corrected to stay within the axis bounds.
  124317. */
  124318. getThreshold(threshold: number): (number|undefined);
  124319. /**
  124320. * Return true if the axis has associated data.
  124321. *
  124322. * @return True if the axis has associated visible series and those series
  124323. * have either valid data points or explicit `min` and `max`
  124324. * settings.
  124325. */
  124326. hasData(): boolean;
  124327. /**
  124328. * Hide the crosshair if visible.
  124329. */
  124330. hideCrosshair(): void;
  124331. /**
  124332. * Overrideable function to initialize the axis.
  124333. *
  124334. * @param chart
  124335. * The Chart instance to apply the axis on.
  124336. *
  124337. * @param userOptions
  124338. * Axis options.
  124339. *
  124340. * @fires Highcharts.Axis#afterInit
  124341. * @fires Highcharts.Axis#init
  124342. */
  124343. init(chart: Chart, userOptions: AxisOptions): void;
  124344. /**
  124345. * Remove the axis from the chart.
  124346. *
  124347. * @param redraw
  124348. * Whether to redraw the chart following the remove.
  124349. */
  124350. remove(redraw?: boolean): void;
  124351. /**
  124352. * Remove a plot band by its id.
  124353. *
  124354. * @param id
  124355. * The plot band's `id` as given in the original configuration object
  124356. * or in the `addPlotBand` option.
  124357. */
  124358. removePlotBand(id: string): void;
  124359. /**
  124360. * Remove a plot line by its id.
  124361. *
  124362. * @param id
  124363. * The plot line's `id` as given in the original configuration object
  124364. * or in the `addPlotLine` option.
  124365. */
  124366. removePlotLine(id: string): void;
  124367. /**
  124368. * Render the axis line. Called internally when rendering and redrawing the
  124369. * axis.
  124370. */
  124371. renderLine(): void;
  124372. /**
  124373. * Render a minor tick into the given position. If a minor tick already
  124374. * exists in this position, move it.
  124375. *
  124376. * @param pos
  124377. * The position in axis values.
  124378. */
  124379. renderMinorTick(pos: number): void;
  124380. /**
  124381. * Render a major tick into the given position. If a tick already exists in
  124382. * this position, move it.
  124383. *
  124384. * @param pos
  124385. * The position in axis values.
  124386. *
  124387. * @param i
  124388. * The tick index.
  124389. */
  124390. renderTick(pos: number, i: number): void;
  124391. /**
  124392. * Set new axis categories and optionally redraw.
  124393. *
  124394. * @param categories
  124395. * The new categories.
  124396. *
  124397. * @param redraw
  124398. * Whether to redraw the chart.
  124399. */
  124400. setCategories(categories: Array<string>, redraw?: boolean): void;
  124401. /**
  124402. * Set the minimum and maximum of the axes after render time. If the
  124403. * `startOnTick` and `endOnTick` options are true, the minimum and maximum
  124404. * values are rounded off to the nearest tick. To prevent this, these
  124405. * options can be set to false before calling setExtremes. Also, setExtremes
  124406. * will not allow a range lower than the `minRange` option, which by default
  124407. * is the range of five points.
  124408. *
  124409. * @param newMin
  124410. * The new minimum value.
  124411. *
  124412. * @param newMax
  124413. * The new maximum value.
  124414. *
  124415. * @param redraw
  124416. * Whether to redraw the chart or wait for an explicit call to
  124417. * Highcharts.Chart#redraw
  124418. *
  124419. * @param animation
  124420. * Enable or modify animations.
  124421. *
  124422. * @param eventArguments
  124423. * Arguments to be accessed in event handler.
  124424. *
  124425. * @fires Highcharts.Axis#setExtremes
  124426. */
  124427. setExtremes(newMin?: number, newMax?: number, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), eventArguments?: any): void;
  124428. /**
  124429. * Update the axis title by options after render time.
  124430. *
  124431. * @param titleOptions
  124432. * The additional title options.
  124433. *
  124434. * @param redraw
  124435. * Whether to redraw the chart after setting the title.
  124436. */
  124437. setTitle(titleOptions: AxisTitleOptions, redraw?: boolean): void;
  124438. /**
  124439. * Translate a value in terms of axis units into pixels within the chart.
  124440. *
  124441. * @param value
  124442. * A value in terms of axis units.
  124443. *
  124444. * @param paneCoordinates
  124445. * Whether to return the pixel coordinate relative to the chart or
  124446. * just the axis/pane itself.
  124447. *
  124448. * @return Pixel position of the value on the chart or axis.
  124449. */
  124450. toPixels(value: number, paneCoordinates: boolean): number;
  124451. /**
  124452. * Translate a pixel position along the axis to a value in terms of axis
  124453. * units.
  124454. *
  124455. * @param pixel
  124456. * The pixel value coordinate.
  124457. *
  124458. * @param paneCoordinates
  124459. * Whether the input pixel is relative to the chart or just the
  124460. * axis/pane itself.
  124461. *
  124462. * @return The axis value.
  124463. */
  124464. toValue(pixel: number, paneCoordinates?: boolean): number;
  124465. /**
  124466. * Update an axis object with a new set of options. The options are merged
  124467. * with the existing options, so only new or altered options need to be
  124468. * specified.
  124469. *
  124470. * @param options
  124471. * The new options that will be merged in with existing options on
  124472. * the axis.
  124473. *
  124474. * @param redraw
  124475. * Whether to redraw the chart after the axis is altered. If doing
  124476. * more operations on the chart, it is a good idea to set redraw to
  124477. * false and call Chart#redraw after.
  124478. */
  124479. update(options: AxisOptions, redraw?: boolean): void;
  124480. }
  124481. /**
  124482. * The Chart class. The recommended constructor is Highcharts#chart.
  124483. */
  124484. export class Chart {
  124485. /**
  124486. * The Chart class. The recommended constructor is Highcharts#chart.
  124487. *
  124488. * @param options
  124489. * The chart options structure.
  124490. *
  124491. * @param callback
  124492. * Function to run when the chart has loaded and and all external
  124493. * images are loaded. Defining a chart.events.load handler is
  124494. * equivalent.
  124495. */
  124496. constructor(options: Options, callback?: ChartCallbackFunction);
  124497. /**
  124498. * The Chart class. The recommended constructor is Highcharts#chart.
  124499. *
  124500. * @param renderTo
  124501. * The DOM element to render to, or its id.
  124502. *
  124503. * @param options
  124504. * The chart options structure.
  124505. *
  124506. * @param callback
  124507. * Function to run when the chart has loaded and and all external
  124508. * images are loaded. Defining a chart.events.load handler is
  124509. * equivalent.
  124510. */
  124511. constructor(renderTo: (string|HTMLDOMElement), options: Options, callback?: ChartCallbackFunction);
  124512. /**
  124513. * All the axes in the chart.
  124514. */
  124515. axes: Array<Axis>;
  124516. /**
  124517. * The current pixel height of the chart.
  124518. */
  124519. chartHeight: number;
  124520. /**
  124521. * The current pixel width of the chart.
  124522. */
  124523. chartWidth: number;
  124524. /**
  124525. * The containing HTML element of the chart. The container is dynamically
  124526. * inserted into the element given as the `renderTo` parameter in the
  124527. * Highcharts#chart constructor.
  124528. */
  124529. container: HTMLDOMElement;
  124530. /**
  124531. * The chart's credits label. The label has an `update` method that allows
  124532. * setting new options as per the credits options set.
  124533. */
  124534. credits: SVGElement;
  124535. /**
  124536. * Contains the original hovered point.
  124537. */
  124538. hoverPoint: (Point|null);
  124539. /**
  124540. * Contains all hovered points.
  124541. */
  124542. hoverPoints: (Array<Point>|null);
  124543. /**
  124544. * Contains the original hovered series.
  124545. */
  124546. hoverSeries: (Series|null);
  124547. /**
  124548. * Index position of the chart in the Highcharts#charts property.
  124549. */
  124550. readonly index: number;
  124551. /**
  124552. * The flag is set to `true` if a series of the chart is inverted.
  124553. */
  124554. inverted?: boolean;
  124555. /**
  124556. * The overview of the chart's series.
  124557. */
  124558. legend: Legend;
  124559. /**
  124560. * Callback function to override the default function that formats all the
  124561. * numbers in the chart. Returns a string with the formatted number.
  124562. */
  124563. numberFormatter: NumberFormatterCallbackFunction;
  124564. /**
  124565. * The options structure for the chart after merging #defaultOptions and
  124566. * #userOptions. It contains members for the sub elements like series,
  124567. * legend, tooltip etc.
  124568. */
  124569. options: Options;
  124570. /**
  124571. * The current height of the plot area in pixels.
  124572. */
  124573. plotHeight: number;
  124574. /**
  124575. * The current left position of the plot area in pixels.
  124576. */
  124577. plotLeft: number;
  124578. /**
  124579. * The current top position of the plot area in pixels.
  124580. */
  124581. plotTop: number;
  124582. /**
  124583. * The current width of the plot area in pixels.
  124584. */
  124585. plotWidth: number;
  124586. /**
  124587. * The Pointer that keeps track of mouse and touch interaction.
  124588. */
  124589. pointer: Pointer;
  124590. /**
  124591. * The renderer instance of the chart. Each chart instance has only one
  124592. * associated renderer.
  124593. */
  124594. renderer: SVGRenderer;
  124595. /**
  124596. * All the current series in the chart.
  124597. */
  124598. series: Array<Series>;
  124599. /**
  124600. * Whether the chart is in styled mode, meaning all presentatinoal
  124601. * attributes are avoided.
  124602. */
  124603. styledMode: boolean;
  124604. /**
  124605. * The chart subtitle. The subtitle has an `update` method that allows
  124606. * modifying the options directly or indirectly via `chart.update`.
  124607. */
  124608. subtitle: SubtitleObject;
  124609. /**
  124610. * The `Time` object associated with the chart. Since v6.0.5, time settings
  124611. * can be applied individually for each chart. If no individual settings
  124612. * apply, the `Time` object is shared by all instances.
  124613. */
  124614. time: Time;
  124615. /**
  124616. * The chart title. The title has an `update` method that allows modifying
  124617. * the options directly or indirectly via `chart.update`.
  124618. */
  124619. title: TitleObject;
  124620. /**
  124621. * Tooltip object for points of series.
  124622. */
  124623. tooltip: Tooltip;
  124624. /**
  124625. * The original options given to the constructor or a chart factory like
  124626. * Highcharts.chart and Highcharts.stockChart.
  124627. */
  124628. userOptions: Options;
  124629. /**
  124630. * A collection of the X axes in the chart.
  124631. */
  124632. xAxis: Array<Axis>;
  124633. /**
  124634. * A collection of the Y axes in the chart.
  124635. */
  124636. yAxis: Array<Axis>;
  124637. /**
  124638. * Add an axis to the chart after render time. Note that this method should
  124639. * never be used when adding data synchronously at chart render time, as it
  124640. * adds expense to the calculations and rendering. When adding data at the
  124641. * same time as the chart is initialized, add the axis as a configuration
  124642. * option instead.
  124643. *
  124644. * @param options
  124645. * The axis options.
  124646. *
  124647. * @param isX
  124648. * Whether it is an X axis or a value axis.
  124649. *
  124650. * @param redraw
  124651. * Whether to redraw the chart after adding.
  124652. *
  124653. * @param animation
  124654. * Whether and how to apply animation in the redraw.
  124655. *
  124656. * @return The newly generated Axis object.
  124657. */
  124658. addAxis(options: AxisOptions, isX?: boolean, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): Axis;
  124659. /**
  124660. * Add a color axis to the chart after render time. Note that this method
  124661. * should never be used when adding data synchronously at chart render time,
  124662. * as it adds expense to the calculations and rendering. When adding data at
  124663. * the same time as the chart is initialized, add the axis as a
  124664. * configuration option instead.
  124665. *
  124666. * @param options
  124667. * The axis options.
  124668. *
  124669. * @param redraw
  124670. * Whether to redraw the chart after adding.
  124671. *
  124672. * @param animation
  124673. * Whether and how to apply animation in the redraw.
  124674. *
  124675. * @return The newly generated Axis object.
  124676. */
  124677. addColorAxis(options: ColorAxisOptions, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): ColorAxis;
  124678. /**
  124679. * Set a new credits label for the chart.
  124680. *
  124681. * @param credits
  124682. * A configuration object for the new credits.
  124683. */
  124684. addCredits(credits?: CreditsOptions): void;
  124685. /**
  124686. * Add a series to the chart after render time. Note that this method should
  124687. * never be used when adding data synchronously at chart render time, as it
  124688. * adds expense to the calculations and rendering. When adding data at the
  124689. * same time as the chart is initialized, add the series as a configuration
  124690. * option instead. With multiple axes, the `offset` is dynamically adjusted.
  124691. *
  124692. * @param options
  124693. * The config options for the series.
  124694. *
  124695. * @param redraw
  124696. * Whether to redraw the chart after adding.
  124697. *
  124698. * @param animation
  124699. * Whether to apply animation, and optionally animation
  124700. * configuration.
  124701. *
  124702. * @return The newly created series object.
  124703. *
  124704. * @fires Highcharts.Chart#addSeries
  124705. * @fires Highcharts.Chart#afterAddSeries
  124706. */
  124707. addSeries(options: SeriesOptionsType, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): Series;
  124708. /**
  124709. * Remove the chart and purge memory. This method is called internally
  124710. * before adding a second chart into the same container, as well as on
  124711. * window unload to prevent leaks.
  124712. *
  124713. * @fires Highcharts.Chart#destroy
  124714. */
  124715. destroy(): void;
  124716. /**
  124717. * Get an axis, series or point object by `id` as given in the configuration
  124718. * options. Returns `undefined` if no item is found.
  124719. *
  124720. * @param id
  124721. * The id as given in the configuration options.
  124722. *
  124723. * @return The retrieved item.
  124724. */
  124725. get(id: string): (Axis|Point|Series|undefined);
  124726. /**
  124727. * Returns an array of all currently selected points in the chart. Points
  124728. * can be selected by clicking or programmatically by the
  124729. * Highcharts.Point#select function.
  124730. *
  124731. * @return The currently selected points.
  124732. */
  124733. getSelectedPoints(): Array<Point>;
  124734. /**
  124735. * Returns an array of all currently selected series in the chart. Series
  124736. * can be selected either programmatically by the Highcharts.Series#select
  124737. * function or by checking the checkbox next to the legend item if
  124738. * series.showCheckBox is true.
  124739. *
  124740. * @return The currently selected series.
  124741. */
  124742. getSelectedSeries(): Array<Series>;
  124743. /**
  124744. * Hide the loading layer.
  124745. */
  124746. hideLoading(): void;
  124747. /**
  124748. * Overridable function that initializes the chart. The constructor's
  124749. * arguments are passed on directly.
  124750. *
  124751. * @param userOptions
  124752. * Custom options.
  124753. *
  124754. * @param callback
  124755. * Function to run when the chart has loaded and and all external
  124756. * images are loaded.
  124757. *
  124758. * @fires Highcharts.Chart#init
  124759. * @fires Highcharts.Chart#afterInit
  124760. */
  124761. init(userOptions: Options, callback?: Function): void;
  124762. /**
  124763. * Check whether a given point is within the plot area.
  124764. *
  124765. * @param plotX
  124766. * Pixel x relative to the plot area.
  124767. *
  124768. * @param plotY
  124769. * Pixel y relative to the plot area.
  124770. *
  124771. * @param options
  124772. * Options object.
  124773. *
  124774. * @return Returns true if the given point is inside the plot area.
  124775. */
  124776. isInsidePlot(plotX: number, plotY: number, options?: ChartIsInsideOptionsObject): boolean;
  124777. /**
  124778. * Redraw the chart after changes have been done to the data, axis extremes
  124779. * chart size or chart elements. All methods for updating axes, series or
  124780. * points have a parameter for redrawing the chart. This is `true` by
  124781. * default. But in many cases you want to do more than one operation on the
  124782. * chart before redrawing, for example add a number of points. In those
  124783. * cases it is a waste of resources to redraw the chart for each new point
  124784. * added. So you add the points and call `chart.redraw()` after.
  124785. *
  124786. * @param animation
  124787. * If or how to apply animation to the redraw.
  124788. *
  124789. * @fires Highcharts.Chart#afterSetExtremes
  124790. * @fires Highcharts.Chart#beforeRedraw
  124791. * @fires Highcharts.Chart#predraw
  124792. * @fires Highcharts.Chart#redraw
  124793. * @fires Highcharts.Chart#render
  124794. * @fires Highcharts.Chart#updatedData
  124795. */
  124796. redraw(animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  124797. /**
  124798. * Reflows the chart to its container. By default, the chart reflows
  124799. * automatically to its container following a `window.resize` event, as per
  124800. * the chart.reflow option. However, there are no reliable events for div
  124801. * resize, so if the container is resized without a window resize event,
  124802. * this must be called explicitly.
  124803. *
  124804. * @param e
  124805. * Event arguments. Used primarily when the function is called
  124806. * internally as a response to window resize.
  124807. */
  124808. reflow(e?: Event): void;
  124809. /**
  124810. * Set the caption options. This can also be done from Chart#update.
  124811. *
  124812. * @param options
  124813. * New caption options. The caption text itself is set by the
  124814. * `options.text` property.
  124815. */
  124816. setCaption(options: CaptionOptions): void;
  124817. /**
  124818. * Set the chart container's class name, in addition to
  124819. * `highcharts-container`.
  124820. *
  124821. * @param className
  124822. * The additional class name.
  124823. */
  124824. setClassName(className?: string): void;
  124825. /**
  124826. * Resize the chart to a given width and height. In order to set the width
  124827. * only, the height argument may be skipped. To set the height only, pass
  124828. * `undefined` for the width.
  124829. *
  124830. * @param width
  124831. * The new pixel width of the chart. Since v4.2.6, the argument can
  124832. * be `undefined` in order to preserve the current value (when
  124833. * setting height only), or `null` to adapt to the width of the
  124834. * containing element.
  124835. *
  124836. * @param height
  124837. * The new pixel height of the chart. Since v4.2.6, the argument can
  124838. * be `undefined` in order to preserve the current value, or `null`
  124839. * in order to adapt to the height of the containing element.
  124840. *
  124841. * @param animation
  124842. * Whether and how to apply animation.
  124843. *
  124844. * @fires Highcharts.Chart#endResize
  124845. * @fires Highcharts.Chart#resize
  124846. */
  124847. setSize(width?: (number|null), height?: (number|null), animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  124848. /**
  124849. * Shortcut to set the subtitle options. This can also be done from
  124850. * Chart#update or Chart#setTitle.
  124851. *
  124852. * @param options
  124853. * New subtitle options. The subtitle text itself is set by the
  124854. * `options.text` property.
  124855. */
  124856. setSubtitle(options: SubtitleOptions): void;
  124857. /**
  124858. * Set a new title or subtitle for the chart.
  124859. *
  124860. * @param titleOptions
  124861. * New title options. The title text itself is set by the
  124862. * `titleOptions.text` property.
  124863. *
  124864. * @param subtitleOptions
  124865. * New subtitle options. The subtitle text itself is set by the
  124866. * `subtitleOptions.text` property.
  124867. *
  124868. * @param redraw
  124869. * Whether to redraw the chart or wait for a later call to
  124870. * `chart.redraw()`.
  124871. */
  124872. setTitle(titleOptions?: TitleOptions, subtitleOptions?: SubtitleOptions, redraw?: boolean): void;
  124873. /**
  124874. * Dim the chart and show a loading text or symbol. Options for the loading
  124875. * screen are defined in the loading options.
  124876. *
  124877. * @param str
  124878. * An optional text to show in the loading label instead of the
  124879. * default one. The default text is set in lang.loading.
  124880. */
  124881. showLoading(str?: string): void;
  124882. /**
  124883. * Display the zoom button, so users can reset zoom to the default view
  124884. * settings.
  124885. *
  124886. * @fires Highcharts.Chart#afterShowResetZoom
  124887. * @fires Highcharts.Chart#beforeShowResetZoom
  124888. */
  124889. showResetZoom(): void;
  124890. /**
  124891. * A generic function to update any element of the chart. Elements can be
  124892. * enabled and disabled, moved, re-styled, re-formatted etc.
  124893. *
  124894. * A special case is configuration objects that take arrays, for example
  124895. * xAxis, yAxis or series. For these collections, an `id` option is used to
  124896. * map the new option set to an existing object. If an existing object of
  124897. * the same id is not found, the corresponding item is updated. So for
  124898. * example, running `chart.update` with a series item without an id, will
  124899. * cause the existing chart's series with the same index in the series array
  124900. * to be updated. When the `oneToOne` parameter is true, `chart.update` will
  124901. * also take care of adding and removing items from the collection. Read
  124902. * more under the parameter description below.
  124903. *
  124904. * Note that when changing series data, `chart.update` may mutate the passed
  124905. * data options.
  124906. *
  124907. * See also the responsive option set. Switching between `responsive.rules`
  124908. * basically runs `chart.update` under the hood.
  124909. *
  124910. * @param options
  124911. * A configuration object for the new chart options.
  124912. *
  124913. * @param redraw
  124914. * Whether to redraw the chart.
  124915. *
  124916. * @param oneToOne
  124917. * When `true`, the `series`, `xAxis`, `yAxis` and `annotations`
  124918. * collections will be updated one to one, and items will be either
  124919. * added or removed to match the new updated options. For example, if
  124920. * the chart has two series and we call `chart.update` with a
  124921. * configuration containing three series, one will be added. If we
  124922. * call `chart.update` with one series, one will be removed. Setting
  124923. * an empty `series` array will remove all series, but leaving out
  124924. * the`series` property will leave all series untouched. If the
  124925. * series have id's, the new series options will be matched by id,
  124926. * and the remaining ones removed.
  124927. *
  124928. * @param animation
  124929. * Whether to apply animation, and optionally animation
  124930. * configuration.
  124931. *
  124932. * @fires Highcharts.Chart#update
  124933. * @fires Highcharts.Chart#afterUpdate
  124934. */
  124935. update(options: Options, redraw?: boolean, oneToOne?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  124936. /**
  124937. * Zoom the chart out after a user has zoomed in. See also Axis.setExtremes.
  124938. *
  124939. * @fires Highcharts.Chart#selection
  124940. */
  124941. zoomOut(): void;
  124942. }
  124943. /**
  124944. * Handle color operations. Some object methods are chainable.
  124945. */
  124946. export class Color {
  124947. /**
  124948. * Creates a color instance out of a color string or object.
  124949. *
  124950. * @param input
  124951. * The input color in either rbga or hex format.
  124952. *
  124953. * @return Color instance.
  124954. */
  124955. static parse(input: ColorType): Color;
  124956. /**
  124957. * Handle color operations. Some object methods are chainable.
  124958. *
  124959. * @param input
  124960. * The input color in either rbga or hex format
  124961. */
  124962. constructor(input: ColorType);
  124963. /**
  124964. * Brighten the color instance.
  124965. *
  124966. * @param alpha
  124967. * The alpha value.
  124968. *
  124969. * @return This color with modifications.
  124970. */
  124971. brighten(alpha: number): Color;
  124972. /**
  124973. * Return the color or gradient stops in the specified format
  124974. *
  124975. * @param format
  124976. * Possible values are 'a', 'rgb', 'rgba' (default).
  124977. *
  124978. * @return This color as a string or gradient stops.
  124979. */
  124980. get(format?: string): ColorType;
  124981. /**
  124982. * Set the color's opacity to a given alpha value.
  124983. *
  124984. * @param alpha
  124985. * Opacity between 0 and 1.
  124986. *
  124987. * @return Color with modifications.
  124988. */
  124989. setOpacity(alpha: number): Color;
  124990. /**
  124991. * Return an intermediate color between two colors.
  124992. *
  124993. * @param to
  124994. * The color object to tween to.
  124995. *
  124996. * @param pos
  124997. * The intermediate position, where 0 is the from color (current
  124998. * color item), and 1 is the `to` color.
  124999. *
  125000. * @return The intermediate color in rgba notation.
  125001. */
  125002. tweenTo(to: Color, pos: number): ColorString;
  125003. }
  125004. /**
  125005. * The ColorAxis object for inclusion in gradient legends.
  125006. */
  125007. export class ColorAxis {
  125008. /**
  125009. * The ColorAxis object for inclusion in gradient legends.
  125010. *
  125011. * @param chart
  125012. * The related chart of the color axis.
  125013. *
  125014. * @param userOptions
  125015. * The color axis options for initialization.
  125016. */
  125017. constructor(chart: Chart, userOptions: ColorAxisOptions);
  125018. }
  125019. /**
  125020. * The overview of the chart's series. The legend object is instanciated
  125021. * internally in the chart constructor, and is available from the `chart.legend`
  125022. * property. Each chart has only one legend.
  125023. */
  125024. export class Legend {
  125025. /**
  125026. * The overview of the chart's series. The legend object is instanciated
  125027. * internally in the chart constructor, and is available from the
  125028. * `chart.legend` property. Each chart has only one legend.
  125029. *
  125030. * @param chart
  125031. * The chart instance.
  125032. *
  125033. * @param options
  125034. * Legend options.
  125035. */
  125036. constructor(chart: Chart, options: LegendOptions);
  125037. /**
  125038. * All items for the legend, which is an array of series for most series and
  125039. * an array of points for pie series and its derivatives.
  125040. */
  125041. readonly allItems: Array<(Point|Series)>;
  125042. /**
  125043. * SVG element of the legend box.
  125044. */
  125045. readonly box: SVGElement;
  125046. /**
  125047. * Chart of this legend.
  125048. */
  125049. readonly chart: Chart;
  125050. /**
  125051. * SVG group of the legend.
  125052. */
  125053. readonly group: SVGElement;
  125054. /**
  125055. * Legend options.
  125056. */
  125057. readonly options: LegendOptions;
  125058. /**
  125059. * SVG element of the legend title.
  125060. */
  125061. readonly title: SVGElement;
  125062. /**
  125063. * Set the legend item text.
  125064. *
  125065. * @param item
  125066. * The item for which to update the text in the legend.
  125067. */
  125068. setText(item: (Point|Series)): void;
  125069. /**
  125070. * Update the legend with new options. Equivalent to running `chart.update`
  125071. * with a legend configuration option.
  125072. *
  125073. * @param options
  125074. * Legend options.
  125075. *
  125076. * @param redraw
  125077. * Whether to redraw the chart after the axis is altered. If doing
  125078. * more operations on the chart, it is a good idea to set redraw to
  125079. * false and call Chart#redraw after. Whether to redraw the chart.
  125080. *
  125081. * @fires Highcharts.Legends#afterUpdate
  125082. */
  125083. update(options: LegendOptions, redraw?: boolean): void;
  125084. }
  125085. /**
  125086. * The object wrapper for plot lines and plot bands
  125087. */
  125088. export class PlotLineOrBand {
  125089. /**
  125090. * The object wrapper for plot lines and plot bands
  125091. */
  125092. constructor(axis: Axis, options?: (AxisPlotBandsOptions|AxisPlotLinesOptions));
  125093. /**
  125094. * SVG element of the label.
  125095. */
  125096. label: SVGElement;
  125097. /**
  125098. * SVG element of the plot line or band.
  125099. */
  125100. svgElement: SVGElement;
  125101. /**
  125102. * Remove the plot line or band.
  125103. */
  125104. destroy(): void;
  125105. }
  125106. /**
  125107. * The Point object. The point objects are generated from the `series.data`
  125108. * configuration objects or raw numbers. They can be accessed from the
  125109. * `Series.points` array. Other ways to instantiate points are through
  125110. * Highcharts.Series#addPoint or Highcharts.Series#setData.
  125111. */
  125112. export class Point {
  125113. /**
  125114. * For categorized axes this property holds the category name for the point.
  125115. * For other axes it holds the X value.
  125116. */
  125117. category: string;
  125118. /**
  125119. * The point's current color.
  125120. */
  125121. color?: (ColorString|GradientColorObject|PatternObject);
  125122. /**
  125123. * The point's current color index, used in styled mode instead of `color`.
  125124. * The color index is inserted in class names used for styling.
  125125. */
  125126. colorIndex: number;
  125127. /**
  125128. * (Highstock) Highcharts Stock only. If a point object is created by data
  125129. * grouping, it doesn't reflect actual points in the raw data. In this case,
  125130. * the `dataGroup` property holds information that points back to the raw
  125131. * data.
  125132. *
  125133. * - `dataGroup.start` is the index of the first raw data point in the
  125134. * group.
  125135. *
  125136. * - `dataGroup.length` is the amount of points in the group.
  125137. */
  125138. dataGroup?: DataGroupingInfoObject;
  125139. /**
  125140. * Contains the point's index in the `Series.points` array.
  125141. */
  125142. readonly index: number;
  125143. /**
  125144. * The name of the point. The name can be given as the first position of the
  125145. * point configuration array, or as a `name` property in the configuration:
  125146. */
  125147. name: string;
  125148. /**
  125149. * The point's options as applied in the initial configuration, or extended
  125150. * through `Point.update`.
  125151. *
  125152. * In TypeScript you have to extend `PointOptionsObject` via an additional
  125153. * interface to allow custom data options: (see online documentation for
  125154. * example)
  125155. */
  125156. options: PointOptionsObject;
  125157. /**
  125158. * The percentage for points in a stacked series or pies.
  125159. */
  125160. percentage?: number;
  125161. /**
  125162. * Whether the point is selected or not.
  125163. */
  125164. selected: boolean;
  125165. /**
  125166. * The series object associated with the point.
  125167. */
  125168. series: Series;
  125169. /**
  125170. * Pie series only. Whether to display a slice offset from the center.
  125171. */
  125172. sliced?: boolean;
  125173. /**
  125174. * The total of values in either a stack for stacked series, or a pie in a
  125175. * pie series.
  125176. */
  125177. total?: number;
  125178. /**
  125179. * For certain series types, like pie charts, where individual points can be
  125180. * shown or hidden.
  125181. */
  125182. visible: boolean;
  125183. /**
  125184. * The x value of the point.
  125185. */
  125186. x: number;
  125187. /**
  125188. * The y value of the point.
  125189. */
  125190. y?: number;
  125191. /**
  125192. * Get the CSS class names for individual points. Used internally where the
  125193. * returned value is set on every point.
  125194. *
  125195. * @return The class names.
  125196. */
  125197. getClassName(): string;
  125198. /**
  125199. * Return the configuration hash needed for the data label and tooltip
  125200. * formatters.
  125201. *
  125202. * @return Abstract object used in formatters and formats.
  125203. */
  125204. getLabelConfig(): PointLabelObject;
  125205. /**
  125206. * In a series with `zones`, return the zone that the point belongs to.
  125207. *
  125208. * @return The zone item.
  125209. */
  125210. getZone(): SeriesZonesOptionsObject;
  125211. /**
  125212. * Get the path definition for the halo, which is usually a shadow-like
  125213. * circle around the currently hovered point.
  125214. *
  125215. * @param size
  125216. * The radius of the circular halo.
  125217. *
  125218. * @return The path definition.
  125219. */
  125220. haloPath(size: number): SVGPathArray;
  125221. /**
  125222. * Initialize the point. Called internally based on the `series.data`
  125223. * option.
  125224. *
  125225. * @param series
  125226. * The series object containing this point.
  125227. *
  125228. * @param options
  125229. * The data in either number, array or object format.
  125230. *
  125231. * @param x
  125232. * Optionally, the X value of the point.
  125233. *
  125234. * @return The Point instance.
  125235. *
  125236. * @fires Highcharts.Point#afterInit
  125237. */
  125238. init(series: Series, options: PointOptionsType, x?: number): Point;
  125239. /**
  125240. * Runs on mouse out from the point. Called internally from mouse and touch
  125241. * events.
  125242. *
  125243. * @fires Highcharts.Point#mouseOut
  125244. */
  125245. onMouseOut(): void;
  125246. /**
  125247. * Runs on mouse over the point. Called internally from mouse and touch
  125248. * events.
  125249. *
  125250. * @param e
  125251. * The event arguments.
  125252. */
  125253. onMouseOver(e?: PointerEventObject): void;
  125254. /**
  125255. * Transform number or array configs into objects. Also called for object
  125256. * configs. Used internally to unify the different configuration formats for
  125257. * points. For example, a simple number `10` in a line series will be
  125258. * transformed to `{ y: 10 }`, and an array config like `[1, 10]` in a
  125259. * scatter series will be transformed to `{ x: 1, y: 10 }`.
  125260. *
  125261. * @param options
  125262. * The input option.
  125263. *
  125264. * @return Transformed options.
  125265. */
  125266. optionsToObject(options: PointOptionsType): Dictionary<any>;
  125267. /**
  125268. * Remove a point and optionally redraw the series and if necessary the axes
  125269. *
  125270. * @param redraw
  125271. * Whether to redraw the chart or wait for an explicit call. When
  125272. * doing more operations on the chart, for example running
  125273. * `point.remove()` in a loop, it is best practice to set `redraw` to
  125274. * false and call `chart.redraw()` after.
  125275. *
  125276. * @param animation
  125277. * Whether to apply animation, and optionally animation
  125278. * configuration.
  125279. */
  125280. remove(redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  125281. /**
  125282. * Toggle the selection status of a point.
  125283. *
  125284. * @param selected
  125285. * When `true`, the point is selected. When `false`, the point is
  125286. * unselected. When `null` or `undefined`, the selection state is
  125287. * toggled.
  125288. *
  125289. * @param accumulate
  125290. * When `true`, the selection is added to other selected points. When
  125291. * `false`, other selected points are deselected. Internally in
  125292. * Highcharts, when allowPointSelect is `true`, selected points are
  125293. * accumulated on Control, Shift or Cmd clicking the point.
  125294. *
  125295. * @fires Highcharts.Point#select
  125296. * @fires Highcharts.Point#unselect
  125297. */
  125298. select(selected?: boolean, accumulate?: boolean): void;
  125299. /**
  125300. * Set a value in an object, on the property defined by key. The key
  125301. * supports nested properties using dot notation. The function modifies the
  125302. * input object and does not make a copy.
  125303. *
  125304. * @param object
  125305. * The object to set the value on.
  125306. *
  125307. * @param value
  125308. * The value to set.
  125309. *
  125310. * @param key
  125311. * Key to the property to set.
  125312. *
  125313. * @return The modified object.
  125314. */
  125315. setNestedProperty<T>(object: T, value: any, key: string): T;
  125316. /**
  125317. * Set the point's state.
  125318. *
  125319. * @param state
  125320. * The new state, can be one of `'hover'`, `'select'`, `'inactive'`,
  125321. * or `''` (an empty string), `'normal'` or `undefined` to set to
  125322. * normal state.
  125323. *
  125324. * @param move
  125325. * State for animation.
  125326. *
  125327. * @fires Highcharts.Point#afterSetState
  125328. */
  125329. setState(state?: (""|PointStateValue), move?: boolean): void;
  125330. /**
  125331. * Extendable method for formatting each point's tooltip line.
  125332. *
  125333. * @param pointFormat
  125334. * The point format.
  125335. *
  125336. * @return A string to be concatenated in to the common tooltip text.
  125337. */
  125338. tooltipFormatter(pointFormat: string): string;
  125339. /**
  125340. * Update point with new options (typically x/y data) and optionally redraw
  125341. * the series.
  125342. *
  125343. * @param options
  125344. * The point options. Point options are handled as described under
  125345. * the `series.type.data` item for each series type. For example for
  125346. * a line series, if options is a single number, the point will be
  125347. * given that number as the marin y value. If it is an array, it will
  125348. * be interpreted as x and y values respectively. If it is an object,
  125349. * advanced options are applied.
  125350. *
  125351. * @param redraw
  125352. * Whether to redraw the chart after the point is updated. If doing
  125353. * more operations on the chart, it is best practice to set `redraw`
  125354. * to false and call `chart.redraw()` after.
  125355. *
  125356. * @param animation
  125357. * Whether to apply animation, and optionally animation
  125358. * configuration.
  125359. *
  125360. * @fires Highcharts.Point#update
  125361. */
  125362. update(options: PointOptionsType, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  125363. }
  125364. /**
  125365. * The mouse and touch tracker object. Each Chart item has one assosiated
  125366. * Pointer item that can be accessed from the Chart.pointer property.
  125367. */
  125368. export class Pointer {
  125369. /**
  125370. * The mouse and touch tracker object. Each Chart item has one assosiated
  125371. * Pointer item that can be accessed from the Chart.pointer property.
  125372. *
  125373. * @param chart
  125374. * The chart instance.
  125375. *
  125376. * @param options
  125377. * The root options object. The pointer uses options from the chart
  125378. * and tooltip structures.
  125379. */
  125380. constructor(chart: Chart, options: Options);
  125381. /**
  125382. * Destroys the Pointer object and disconnects DOM events.
  125383. */
  125384. destroy(): void;
  125385. /**
  125386. * Finds the closest point to a set of coordinates, using the k-d-tree
  125387. * algorithm.
  125388. *
  125389. * @param series
  125390. * All the series to search in.
  125391. *
  125392. * @param shared
  125393. * Whether it is a shared tooltip or not.
  125394. *
  125395. * @param e
  125396. * The pointer event object, containing chart coordinates of the
  125397. * pointer.
  125398. *
  125399. * @return The point closest to given coordinates.
  125400. */
  125401. findNearestKDPoint(series: Array<Series>, shared: (boolean|undefined), e: PointerEventObject): (Point|undefined);
  125402. /**
  125403. * Return the cached chartPosition if it is available on the Pointer,
  125404. * otherwise find it. Running offset is quite expensive, so it should be
  125405. * avoided when we know the chart hasn't moved.
  125406. *
  125407. * @return The offset of the chart container within the page
  125408. */
  125409. getChartPosition(): ChartPositionObject;
  125410. /**
  125411. * Get the click position in terms of axis values.
  125412. *
  125413. * @param e
  125414. * Pointer event, extended with `chartX` and `chartY` properties.
  125415. */
  125416. getCoordinates(e: PointerEventObject): PointerAxisCoordinatesObject;
  125417. /**
  125418. * Utility to detect whether an element has, or has a parent with, a
  125419. * specificclass name. Used on detection of tracker objects and on deciding
  125420. * whether hovering the tooltip should cause the active series to mouse out.
  125421. *
  125422. * @param element
  125423. * The element to investigate.
  125424. *
  125425. * @param className
  125426. * The class name to look for.
  125427. *
  125428. * @return True if either the element or one of its parents has the given
  125429. * class name.
  125430. */
  125431. inClass(element: (HTMLDOMElement|SVGDOMElement), className: string): (boolean|undefined);
  125432. /**
  125433. * Takes a browser event object and extends it with custom Highcharts
  125434. * properties `chartX` and `chartY` in order to work on the internal
  125435. * coordinate system.
  125436. *
  125437. * @param e
  125438. * Event object in standard browsers.
  125439. *
  125440. * @param chartPosition
  125441. * Additional chart offset.
  125442. *
  125443. * @return A browser event with extended properties `chartX` and `chartY`.
  125444. */
  125445. normalize(e: (MouseEvent|PointerEvent|TouchEvent), chartPosition?: OffsetObject): PointerEventObject;
  125446. /**
  125447. * Reset the tracking by hiding the tooltip, the hover series state and the
  125448. * hover point
  125449. *
  125450. * @param allowMove
  125451. * Instead of destroying the tooltip altogether, allow moving it if
  125452. * possible.
  125453. */
  125454. reset(allowMove?: boolean, delay?: number): void;
  125455. }
  125456. /**
  125457. * This is the base series prototype that all other series types inherit from. A
  125458. * new series is initialized either through the series option structure, or
  125459. * after the chart is initialized, through Highcharts.Chart#addSeries.
  125460. *
  125461. * The object can be accessed in a number of ways. All series and point event
  125462. * handlers give a reference to the `series` object. The chart object has a
  125463. * series property that is a collection of all the chart's series. The point
  125464. * objects and axis objects also have the same reference.
  125465. *
  125466. * Another way to reference the series programmatically is by `id`. Add an id in
  125467. * the series configuration options, and get the series object by
  125468. * Highcharts.Chart#get.
  125469. *
  125470. * Configuration options for the series are given in three levels. Options for
  125471. * all series in a chart are given in the plotOptions.series object. Then
  125472. * options for all series of a specific type are given in the plotOptions of
  125473. * that type, for example `plotOptions.line`. Next, options for one single
  125474. * series are given in the series array, or as arguments to `chart.addSeries`.
  125475. *
  125476. * The data in the series is stored in various arrays.
  125477. *
  125478. * - First, `series.options.data` contains all the original config options for
  125479. * each point whether added by options or methods like `series.addPoint`.
  125480. *
  125481. * - Next, `series.data` contains those values converted to points, but in case
  125482. * the series data length exceeds the `cropThreshold`, or if the data is
  125483. * grouped, `series.data` doesn't contain all the points. It only contains the
  125484. * points that have been created on demand.
  125485. *
  125486. * - Then there's `series.points` that contains all currently visible point
  125487. * objects. In case of cropping, the cropped-away points are not part of this
  125488. * array. The `series.points` array starts at `series.cropStart` compared to
  125489. * `series.data` and `series.options.data`. If however the series data is
  125490. * grouped, these can't be correlated one to one.
  125491. *
  125492. * - `series.xData` and `series.processedXData` contain clean x values,
  125493. * equivalent to `series.data` and `series.points`.
  125494. *
  125495. * - `series.yData` and `series.processedYData` contain clean y values,
  125496. * equivalent to `series.data` and `series.points`.
  125497. */
  125498. export class Series {
  125499. /**
  125500. * This is the base series prototype that all other series types inherit
  125501. * from. A new series is initialized either through the series option
  125502. * structure, or after the chart is initialized, through
  125503. * Highcharts.Chart#addSeries.
  125504. *
  125505. * The object can be accessed in a number of ways. All series and point
  125506. * event handlers give a reference to the `series` object. The chart object
  125507. * has a series property that is a collection of all the chart's series. The
  125508. * point objects and axis objects also have the same reference.
  125509. *
  125510. * Another way to reference the series programmatically is by `id`. Add an
  125511. * id in the series configuration options, and get the series object by
  125512. * Highcharts.Chart#get.
  125513. *
  125514. * Configuration options for the series are given in three levels. Options
  125515. * for all series in a chart are given in the plotOptions.series object.
  125516. * Then options for all series of a specific type are given in the
  125517. * plotOptions of that type, for example `plotOptions.line`. Next, options
  125518. * for one single series are given in the series array, or as arguments to
  125519. * `chart.addSeries`.
  125520. *
  125521. * The data in the series is stored in various arrays.
  125522. *
  125523. * - First, `series.options.data` contains all the original config options
  125524. * for each point whether added by options or methods like
  125525. * `series.addPoint`.
  125526. *
  125527. * - Next, `series.data` contains those values converted to points, but in
  125528. * case the series data length exceeds the `cropThreshold`, or if the data
  125529. * is grouped, `series.data` doesn't contain all the points. It only
  125530. * contains the points that have been created on demand.
  125531. *
  125532. * - Then there's `series.points` that contains all currently visible point
  125533. * objects. In case of cropping, the cropped-away points are not part of
  125534. * this array. The `series.points` array starts at `series.cropStart`
  125535. * compared to `series.data` and `series.options.data`. If however the
  125536. * series data is grouped, these can't be correlated one to one.
  125537. *
  125538. * - `series.xData` and `series.processedXData` contain clean x values,
  125539. * equivalent to `series.data` and `series.points`.
  125540. *
  125541. * - `series.yData` and `series.processedYData` contain clean y values,
  125542. * equivalent to `series.data` and `series.points`.
  125543. *
  125544. * @param chart
  125545. * The chart instance.
  125546. *
  125547. * @param options
  125548. * The series options.
  125549. */
  125550. constructor(chart: Chart, options: (object|SeriesOptionsType));
  125551. /**
  125552. * SVG element of area-based charts. Can be used for styling purposes. If
  125553. * zones are configured, this element will be hidden and replaced by
  125554. * multiple zone areas, accessible via `series['zone-area-x']` (where x is a
  125555. * number, starting with 0).
  125556. */
  125557. area?: SVGElement;
  125558. /**
  125559. * Read only. The chart that the series belongs to.
  125560. */
  125561. chart: Chart;
  125562. /**
  125563. * Read only. An array containing those values converted to points. In case
  125564. * the series data length exceeds the `cropThreshold`, or if the data is
  125565. * grouped, `series.data` doesn't contain all the points. Also, in case a
  125566. * series is hidden, the `data` array may be empty. To access raw values,
  125567. * `series.options.data` will always be up to date. `Series.data` only
  125568. * contains the points that have been created on demand. To modify the data,
  125569. * use Highcharts.Series#setData or Highcharts.Point#update.
  125570. */
  125571. data: Array<Point>;
  125572. /**
  125573. * Contains the maximum value of the series' data point. Some series types
  125574. * like `networkgraph` do not support this property as they lack a
  125575. * `y`-value.
  125576. */
  125577. readonly dataMax?: number;
  125578. /**
  125579. * Contains the minimum value of the series' data point. Some series types
  125580. * like `networkgraph` do not support this property as they lack a
  125581. * `y`-value.
  125582. */
  125583. readonly dataMin?: number;
  125584. /**
  125585. * SVG element of line-based charts. Can be used for styling purposes. If
  125586. * zones are configured, this element will be hidden and replaced by
  125587. * multiple zone lines, accessible via `series['zone-graph-x']` (where x is
  125588. * a number, starting with 0).
  125589. */
  125590. graph?: SVGElement;
  125591. /**
  125592. * Contains the series' index in the `Chart.series` array.
  125593. */
  125594. readonly index: number;
  125595. /**
  125596. * The series name as given in the options. Defaults to "Series {n}".
  125597. */
  125598. name: string;
  125599. /**
  125600. * Read only. The series' current options. To update, use Series#update.
  125601. */
  125602. options: SeriesOptionsType;
  125603. /**
  125604. * An array containing all currently visible point objects. In case of
  125605. * cropping, the cropped-away points are not part of this array. The
  125606. * `series.points` array starts at `series.cropStart` compared to
  125607. * `series.data` and `series.options.data`. If however the series data is
  125608. * grouped, these can't be correlated one to one. To modify the data, use
  125609. * Highcharts.Series#setData or Highcharts.Point#update.
  125610. */
  125611. points: Array<Point>;
  125612. /**
  125613. * Read only. The series' selected state as set by Highcharts.Series#select.
  125614. */
  125615. selected: boolean;
  125616. /**
  125617. * Read only. The series' type, like "line", "area", "column" etc. The type
  125618. * in the series options anc can be altered using Series#update.
  125619. */
  125620. type: string;
  125621. /**
  125622. * Contains series options by the user without defaults.
  125623. */
  125624. userOptions: SeriesOptionsType;
  125625. /**
  125626. * Read only. The series' visibility state as set by Series#show,
  125627. * Series#hide, or in the initial configuration.
  125628. */
  125629. visible: boolean;
  125630. /**
  125631. * Read only. The unique xAxis object associated with the series.
  125632. */
  125633. xAxis: Axis;
  125634. /**
  125635. * Read only. The unique yAxis object associated with the series.
  125636. */
  125637. yAxis: Axis;
  125638. /**
  125639. * Add a point to the series after render time. The point can be added at
  125640. * the end, or by giving it an X value, to the start or in the middle of the
  125641. * series.
  125642. *
  125643. * @param options
  125644. * The point options. If options is a single number, a point with
  125645. * that y value is appended to the series. If it is an array, it will
  125646. * be interpreted as x and y values respectively. If it is an object,
  125647. * advanced options as outlined under `series.data` are applied.
  125648. *
  125649. * @param redraw
  125650. * Whether to redraw the chart after the point is added. When adding
  125651. * more than one point, it is highly recommended that the redraw
  125652. * option be set to false, and instead Chart#redraw is explicitly
  125653. * called after the adding of points is finished. Otherwise, the
  125654. * chart will redraw after adding each point.
  125655. *
  125656. * @param shift
  125657. * If true, a point is shifted off the start of the series as one is
  125658. * appended to the end.
  125659. *
  125660. * @param animation
  125661. * Whether to apply animation, and optionally animation
  125662. * configuration.
  125663. *
  125664. * @param withEvent
  125665. * Used internally, whether to fire the series `addPoint` event.
  125666. *
  125667. * @fires Highcharts.Series#addPoint
  125668. */
  125669. addPoint(options: PointOptionsType, redraw?: boolean, shift?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), withEvent?: boolean): void;
  125670. /**
  125671. * Animate in the series. Called internally twice. First with the `init`
  125672. * parameter set to true, which sets up the initial state of the animation.
  125673. * Then when ready, it is called with the `init` parameter undefined, in
  125674. * order to perform the actual animation. After the second run, the function
  125675. * is removed.
  125676. *
  125677. * @param init
  125678. * Initialize the animation.
  125679. */
  125680. animate(init?: boolean): void;
  125681. /**
  125682. * Draw the graph. Called internally when rendering line-like series types.
  125683. * The first time it generates the `series.graph` item and optionally other
  125684. * series-wide items like `series.area` for area charts. On subsequent calls
  125685. * these items are updated with new positions and attributes.
  125686. */
  125687. drawGraph(): void;
  125688. /**
  125689. * Draw the markers for line-like series types, and columns or other
  125690. * graphical representation for Point objects for other series types. The
  125691. * resulting element is typically stored as Point.graphic, and is created on
  125692. * the first call and updated and moved on subsequent calls.
  125693. */
  125694. drawPoints(): void;
  125695. /**
  125696. * Return series name in "Series {Number}" format or the one defined by a
  125697. * user. This method can be simply overridden as series name format can vary
  125698. * (e.g. technical indicators).
  125699. *
  125700. * @return The series name.
  125701. */
  125702. getName(): string;
  125703. /**
  125704. * Get the translation and scale for the plot area of this series.
  125705. */
  125706. getPlotBox(): SeriesPlotBoxObject;
  125707. /**
  125708. * Return the series points with null points filtered out.
  125709. *
  125710. * @param points
  125711. * The points to inspect, defaults to Series.points.
  125712. *
  125713. * @param insideOnly
  125714. * Whether to inspect only the points that are inside the visible
  125715. * view.
  125716. *
  125717. * @param allowNull
  125718. * Whether to allow null points to pass as valid points.
  125719. *
  125720. * @return The valid points.
  125721. */
  125722. getValidPoints(points?: Array<Point>, insideOnly?: boolean, allowNull?: boolean): Array<Point>;
  125723. /**
  125724. * Hide the series if visible. If the chart.ignoreHiddenSeries option is
  125725. * true, the chart is redrawn without this series.
  125726. *
  125727. * @fires Highcharts.Series#hide
  125728. */
  125729. hide(): void;
  125730. /**
  125731. * Check whether the series item is itself or inherits from a certain series
  125732. * type.
  125733. *
  125734. * @param type
  125735. * The type of series to check for, can be either featured or custom
  125736. * series types. For example `column`, `pie`, `ohlc` etc.
  125737. *
  125738. * @return True if this item is or inherits from the given type.
  125739. */
  125740. is(type: string): boolean;
  125741. /**
  125742. * Get non-presentational attributes for a point. Used internally for both
  125743. * styled mode and classic. Can be overridden for different series types.
  125744. *
  125745. * @param point
  125746. * The Point to inspect.
  125747. *
  125748. * @param state
  125749. * The state, can be either `hover`, `select` or undefined.
  125750. *
  125751. * @return A hash containing those attributes that are not settable from
  125752. * CSS.
  125753. */
  125754. markerAttribs(point: Point, state?: string): SVGAttributes;
  125755. /**
  125756. * Runs on mouse out of the series graphical items.
  125757. *
  125758. * @fires Highcharts.Series#mouseOut
  125759. */
  125760. onMouseOut(): void;
  125761. /**
  125762. * Runs on mouse over the series graphical items.
  125763. *
  125764. * @fires Highcharts.Series#mouseOver
  125765. */
  125766. onMouseOver(): void;
  125767. /**
  125768. * Remove a series and optionally redraw the chart.
  125769. *
  125770. * @param redraw
  125771. * Whether to redraw the chart or wait for an explicit call to
  125772. * Highcharts.Chart#redraw.
  125773. *
  125774. * @param animation
  125775. * Whether to apply animation, and optionally animation
  125776. * configuration.
  125777. *
  125778. * @param withEvent
  125779. * Used internally, whether to fire the series `remove` event.
  125780. *
  125781. * @fires Highcharts.Series#remove
  125782. */
  125783. remove(redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), withEvent?: boolean): void;
  125784. /**
  125785. * Remove a point from the series. Unlike the Highcharts.Point#remove
  125786. * method, this can also be done on a point that is not instanciated because
  125787. * it is outside the view or subject to Highcharts Stock data grouping.
  125788. *
  125789. * @param i
  125790. * The index of the point in the data array.
  125791. *
  125792. * @param redraw
  125793. * Whether to redraw the chart after the point is added. When
  125794. * removing more than one point, it is highly recommended that the
  125795. * `redraw` option be set to `false`, and instead
  125796. * Highcharts.Chart#redraw is explicitly called after the adding of
  125797. * points is finished.
  125798. *
  125799. * @param animation
  125800. * Whether and optionally how the series should be animated.
  125801. *
  125802. * @fires Highcharts.Point#remove
  125803. */
  125804. removePoint(i: number, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  125805. /**
  125806. * Render the graph and markers. Called internally when first rendering and
  125807. * later when redrawing the chart. This function can be extended in plugins,
  125808. * but normally shouldn't be called directly.
  125809. *
  125810. * @fires Highcharts.Series#afterRender
  125811. */
  125812. render(): void;
  125813. /**
  125814. * Select or unselect the series. This means its selected property is set,
  125815. * the checkbox in the legend is toggled and when selected, the series is
  125816. * returned by the Highcharts.Chart#getSelectedSeries function.
  125817. *
  125818. * @param selected
  125819. * True to select the series, false to unselect. If undefined, the
  125820. * selection state is toggled.
  125821. *
  125822. * @fires Highcharts.Series#select
  125823. * @fires Highcharts.Series#unselect
  125824. */
  125825. select(selected?: boolean): void;
  125826. /**
  125827. * Apply a new set of data to the series and optionally redraw it. The new
  125828. * data array is passed by reference (except in case of `updatePoints`), and
  125829. * may later be mutated when updating the chart data.
  125830. *
  125831. * Note the difference in behaviour when setting the same amount of points,
  125832. * or a different amount of points, as handled by the `updatePoints`
  125833. * parameter.
  125834. *
  125835. * @param data
  125836. * Takes an array of data in the same format as described under
  125837. * `series.{type}.data` for the given series type, for example a line
  125838. * series would take data in the form described under
  125839. * series.line.data.
  125840. *
  125841. * @param redraw
  125842. * Whether to redraw the chart after the series is altered. If doing
  125843. * more operations on the chart, it is a good idea to set redraw to
  125844. * false and call Chart#redraw after.
  125845. *
  125846. * @param animation
  125847. * When the updated data is the same length as the existing data,
  125848. * points will be updated by default, and animation visualizes how
  125849. * the points are changed. Set false to disable animation, or a
  125850. * configuration object to set duration or easing.
  125851. *
  125852. * @param updatePoints
  125853. * When this is true, points will be updated instead of replaced
  125854. * whenever possible. This occurs a) when the updated data is the
  125855. * same length as the existing data, b) when points are matched by
  125856. * their id's, or c) when points can be matched by X values. This
  125857. * allows updating with animation and performs better. In this case,
  125858. * the original array is not passed by reference. Set `false` to
  125859. * prevent.
  125860. */
  125861. setData(data: Array<PointOptionsType>, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), updatePoints?: boolean): void;
  125862. /**
  125863. * Set the state of the series. Called internally on mouse interaction
  125864. * operations, but it can also be called directly to visually highlight a
  125865. * series.
  125866. *
  125867. * @param state
  125868. * The new state, can be either `'hover'`, `'inactive'`, `'select'`,
  125869. * or `''` (an empty string), `'normal'` or `undefined` to set to
  125870. * normal state.
  125871. *
  125872. * @param inherit
  125873. * Determines if state should be inherited by points too.
  125874. */
  125875. setState(state?: (""|SeriesStateValue), inherit?: boolean): void;
  125876. /**
  125877. * Show or hide the series.
  125878. *
  125879. * @param visible
  125880. * True to show the series, false to hide. If undefined, the
  125881. * visibility is toggled.
  125882. *
  125883. * @param redraw
  125884. * Whether to redraw the chart after the series is altered. If doing
  125885. * more operations on the chart, it is a good idea to set redraw to
  125886. * false and call chart.redraw() after.
  125887. *
  125888. * @fires Highcharts.Series#hide
  125889. * @fires Highcharts.Series#show
  125890. */
  125891. setVisible(visible?: boolean, redraw?: boolean): void;
  125892. /**
  125893. * Show the series if hidden.
  125894. *
  125895. * @fires Highcharts.Series#show
  125896. */
  125897. show(): void;
  125898. /**
  125899. * Translate data points from raw data values to chart specific positioning
  125900. * data needed later in the `drawPoints` and `drawGraph` functions. This
  125901. * function can be overridden in plugins and custom series type
  125902. * implementations.
  125903. *
  125904. * @fires Highcharts.Series#events:translate
  125905. */
  125906. translate(): void;
  125907. /**
  125908. * Update the series with a new set of options. For a clean and precise
  125909. * handling of new options, all methods and elements from the series are
  125910. * removed, and it is initialized from scratch. Therefore, this method is
  125911. * more performance expensive than some other utility methods like
  125912. * Series#setData or Series#setVisible.
  125913. *
  125914. * Note that `Series.update` may mutate the passed `data` options.
  125915. *
  125916. * @param options
  125917. * New options that will be merged with the series' existing options.
  125918. *
  125919. * @param redraw
  125920. * Whether to redraw the chart after the series is altered. If doing
  125921. * more operations on the chart, it is a good idea to set redraw to
  125922. * false and call Chart#redraw after.
  125923. *
  125924. * @fires Highcharts.Series#update
  125925. * @fires Highcharts.Series#afterUpdate
  125926. */
  125927. update(options: SeriesOptionsType, redraw?: boolean): void;
  125928. }
  125929. /**
  125930. * The SVGElement prototype is a JavaScript wrapper for SVG elements used in the
  125931. * rendering layer of Highcharts. Combined with the Highcharts.SVGRenderer
  125932. * object, these prototypes allow freeform annotation in the charts or even in
  125933. * HTML pages without instanciating a chart. The SVGElement can also wrap HTML
  125934. * labels, when `text` or `label` elements are created with the `useHTML`
  125935. * parameter.
  125936. *
  125937. * The SVGElement instances are created through factory functions on the
  125938. * Highcharts.SVGRenderer object, like rect, path, text, label, g and more.
  125939. */
  125940. export class SVGElement {
  125941. /**
  125942. * The primary DOM node. Each `SVGElement` instance wraps a main DOM node,
  125943. * but may also represent more nodes.
  125944. */
  125945. element: (HTMLDOMElement|SVGDOMElement);
  125946. /**
  125947. * The renderer that the SVGElement belongs to.
  125948. */
  125949. renderer: SVGRenderer;
  125950. /**
  125951. * Add the element to the DOM. All elements must be added this way.
  125952. *
  125953. * @param parent
  125954. * The parent item to add it to. If undefined, the element is added
  125955. * to the Highcharts.SVGRenderer.box.
  125956. *
  125957. * @return Returns the SVGElement for chaining.
  125958. */
  125959. add(parent?: SVGElement): SVGElement;
  125960. /**
  125961. * Add a class name to an element.
  125962. *
  125963. * @param className
  125964. * The new class name to add.
  125965. *
  125966. * @param replace
  125967. * When true, the existing class name(s) will be overwritten with the
  125968. * new one. When false, the new one is added.
  125969. *
  125970. * @return Return the SVG element for chainability.
  125971. */
  125972. addClass(className: string, replace?: boolean): SVGElement;
  125973. /**
  125974. * Align the element relative to the chart or another box.
  125975. *
  125976. * @param alignOptions
  125977. * The alignment options. The function can be called without this
  125978. * parameter in order to re-align an element after the box has been
  125979. * updated.
  125980. *
  125981. * @param alignByTranslate
  125982. * Align element by translation.
  125983. *
  125984. * @param box
  125985. * The box to align to, needs a width and height. When the box is a
  125986. * string, it refers to an object in the Renderer. For example, when
  125987. * box is `spacingBox`, it refers to `Renderer.spacingBox` which
  125988. * holds `width`, `height`, `x` and `y` properties.
  125989. *
  125990. * @return Returns the SVGElement for chaining.
  125991. */
  125992. align(alignOptions?: AlignObject, alignByTranslate?: boolean, box?: (string|BBoxObject)): SVGElement;
  125993. /**
  125994. * Animate to given attributes or CSS properties.
  125995. *
  125996. * @param params
  125997. * SVG attributes or CSS to animate.
  125998. *
  125999. * @param options
  126000. * Animation options.
  126001. *
  126002. * @param complete
  126003. * Function to perform at the end of animation.
  126004. *
  126005. * @return Returns the SVGElement for chaining.
  126006. */
  126007. animate(params: SVGAttributes, options?: (boolean|Partial<AnimationOptionsObject>), complete?: Function): SVGElement;
  126008. attr(key: string): (number|string);
  126009. /**
  126010. * Apply native and custom attributes to the SVG elements.
  126011. *
  126012. * In order to set the rotation center for rotation, set x and y to 0 and
  126013. * use `translateX` and `translateY` attributes to position the element
  126014. * instead.
  126015. *
  126016. * Attributes frequently used in Highcharts are `fill`, `stroke`,
  126017. * `stroke-width`.
  126018. *
  126019. * @param hash
  126020. * The native and custom SVG attributes.
  126021. *
  126022. * @param val
  126023. * If the type of the first argument is `string`, the second can be a
  126024. * value, which will serve as a single attribute setter. If the first
  126025. * argument is a string and the second is undefined, the function
  126026. * serves as a getter and the current value of the property is
  126027. * returned.
  126028. *
  126029. * @param complete
  126030. * A callback function to execute after setting the attributes. This
  126031. * makes the function compliant and interchangeable with the
  126032. * SVGElement#animate function.
  126033. *
  126034. * @param continueAnimation
  126035. * Used internally when `.attr` is called as part of an animation
  126036. * step. Otherwise, calling `.attr` for an attribute will stop
  126037. * animation for that attribute.
  126038. *
  126039. * @return If used as a setter, it returns the current Highcharts.SVGElement
  126040. * so the calls can be chained. If used as a getter, the current
  126041. * value of the attribute is returned.
  126042. */
  126043. attr(hash?: (string|SVGAttributes), val?: (number|string|SVGPathArray), complete?: Function, continueAnimation?: boolean): SVGElement;
  126044. /**
  126045. * Apply a clipping rectangle to this element.
  126046. *
  126047. * @param clipRect
  126048. * The clipping rectangle. If skipped, the current clip is removed.
  126049. *
  126050. * @return Returns the SVG element to allow chaining.
  126051. */
  126052. clip(clipRect?: ClipRectElement): SVGElement;
  126053. /**
  126054. * Calculate the coordinates needed for drawing a rectangle crisply and
  126055. * return the calculated attributes.
  126056. *
  126057. * @param rect
  126058. * Rectangle to crisp.
  126059. *
  126060. * @param strokeWidth
  126061. * The stroke width to consider when computing crisp positioning. It
  126062. * can also be set directly on the rect parameter.
  126063. *
  126064. * @return The modified rectangle arguments.
  126065. */
  126066. crisp(rect: RectangleObject, strokeWidth?: number): RectangleObject;
  126067. /**
  126068. * Set styles for the element. In addition to CSS styles supported by native
  126069. * SVG and HTML elements, there are also some custom made for Highcharts,
  126070. * like `width`, `ellipsis` and `textOverflow` for SVG text elements.
  126071. *
  126072. * @param styles
  126073. * The new CSS styles.
  126074. *
  126075. * @return Return the SVG element for chaining.
  126076. */
  126077. css(styles: CSSObject): SVGElement;
  126078. /**
  126079. * Destroy the element and element wrapper and clear up the DOM and event
  126080. * hooks.
  126081. */
  126082. destroy(): void;
  126083. /**
  126084. * Fade out an element by animating its opacity down to 0, and hide it on
  126085. * complete. Used internally for the tooltip.
  126086. *
  126087. * @param duration
  126088. * The fade duration in milliseconds.
  126089. */
  126090. fadeOut(duration?: number): void;
  126091. /**
  126092. * Get the bounding box (width, height, x and y) for the element. Generally
  126093. * used to get rendered text size. Since this is called a lot in charts, the
  126094. * results are cached based on text properties, in order to save DOM
  126095. * traffic. The returned bounding box includes the rotation, so for example
  126096. * a single text line of rotation 90 will report a greater height, and a
  126097. * width corresponding to the line-height.
  126098. *
  126099. * @param reload
  126100. * Skip the cache and get the updated DOM bouding box.
  126101. *
  126102. * @param rot
  126103. * Override the element's rotation. This is internally used on axis
  126104. * labels with a value of 0 to find out what the bounding box would
  126105. * be have been if it were not rotated.
  126106. *
  126107. * @return The bounding box with `x`, `y`, `width` and `height` properties.
  126108. */
  126109. getBBox(reload?: boolean, rot?: number): BBoxObject;
  126110. /**
  126111. * Get the computed style. Only in styled mode.
  126112. *
  126113. * @param prop
  126114. * The property name to check for.
  126115. *
  126116. * @return The current computed value.
  126117. */
  126118. getStyle(prop: string): string;
  126119. /**
  126120. * Check if an element has the given class name.
  126121. *
  126122. * @param className
  126123. * The class name to check for.
  126124. *
  126125. * @return Whether the class name is found.
  126126. */
  126127. hasClass(className: string): boolean;
  126128. /**
  126129. * Hide the element, similar to setting the `visibility` attribute to
  126130. * `hidden`.
  126131. *
  126132. * @param hideByTranslation
  126133. * The flag to determine if element should be hidden by moving out of
  126134. * the viewport. Used for example for dataLabels.
  126135. *
  126136. * @return Returns the SVGElement for chaining.
  126137. */
  126138. hide(hideByTranslation?: boolean): SVGElement;
  126139. /**
  126140. * Initialize the SVG element. This function only exists to make the
  126141. * initialization process overridable. It should not be called directly.
  126142. *
  126143. * @param renderer
  126144. * The SVGRenderer instance to initialize to.
  126145. *
  126146. * @param nodeName
  126147. * The SVG node name.
  126148. */
  126149. init(renderer: SVGRenderer, nodeName: string): void;
  126150. /**
  126151. * Invert a group, rotate and flip. This is used internally on inverted
  126152. * charts, where the points and graphs are drawn as if not inverted, then
  126153. * the series group elements are inverted.
  126154. *
  126155. * @param inverted
  126156. * Whether to invert or not. An inverted shape can be un-inverted by
  126157. * setting it to false.
  126158. *
  126159. * @return Return the SVGElement for chaining.
  126160. */
  126161. invert(inverted: boolean): SVGElement;
  126162. /**
  126163. * Add an event listener. This is a simple setter that replaces the previous
  126164. * event of the same type added by this function, as opposed to the
  126165. * Highcharts#addEvent function.
  126166. *
  126167. * @param eventType
  126168. * The event type.
  126169. *
  126170. * @param handler
  126171. * The handler callback.
  126172. *
  126173. * @return The SVGElement for chaining.
  126174. */
  126175. on(eventType: string, handler: Function): SVGElement;
  126176. /**
  126177. * Remove a class name from the element.
  126178. *
  126179. * @param className
  126180. * The class name to remove.
  126181. *
  126182. * @return Returns the SVG element for chainability.
  126183. */
  126184. removeClass(className: (string|RegExp)): SVGElement;
  126185. /**
  126186. * Set the coordinates needed to draw a consistent radial gradient across a
  126187. * shape regardless of positioning inside the chart. Used on pie slices to
  126188. * make all the slices have the same radial reference point.
  126189. *
  126190. * @param coordinates
  126191. * The center reference. The format is `[centerX, centerY, diameter]`
  126192. * in pixels.
  126193. *
  126194. * @return Returns the SVGElement for chaining.
  126195. */
  126196. setRadialReference(coordinates: Array<number>): SVGElement;
  126197. /**
  126198. * Add a shadow to the element. Must be called after the element is added to
  126199. * the DOM. In styled mode, this method is not used, instead use `defs` and
  126200. * filters.
  126201. *
  126202. * @param shadowOptions
  126203. * The shadow options. If `true`, the default options are applied. If
  126204. * `false`, the current shadow will be removed.
  126205. *
  126206. * @param group
  126207. * The SVG group element where the shadows will be applied. The
  126208. * default is to add it to the same parent as the current element.
  126209. * Internally, this is ised for pie slices, where all the shadows are
  126210. * added to an element behind all the slices.
  126211. *
  126212. * @param cutOff
  126213. * Used internally for column shadows.
  126214. *
  126215. * @return Returns the SVGElement for chaining.
  126216. */
  126217. shadow(shadowOptions?: (boolean|ShadowOptionsObject), group?: SVGElement, cutOff?: boolean): SVGElement;
  126218. /**
  126219. * Show the element after it has been hidden.
  126220. *
  126221. * @param inherit
  126222. * Set the visibility attribute to `inherit` rather than `visible`.
  126223. * The difference is that an element with `visibility="visible"` will
  126224. * be visible even if the parent is hidden.
  126225. *
  126226. * @return Returns the SVGElement for chaining.
  126227. */
  126228. show(inherit?: boolean): SVGElement;
  126229. /**
  126230. * Get the computed stroke width in pixel values. This is used extensively
  126231. * when drawing shapes to ensure the shapes are rendered crisp and
  126232. * positioned correctly relative to each other. Using `shape-rendering:
  126233. * crispEdges` leaves us less control over positioning, for example when we
  126234. * want to stack columns next to each other, or position things
  126235. * pixel-perfectly within the plot box.
  126236. *
  126237. * The common pattern when placing a shape is:
  126238. *
  126239. * - Create the SVGElement and add it to the DOM. In styled mode, it will
  126240. * now receive a stroke width from the style sheet. In classic mode we will
  126241. * add the `stroke-width` attribute.
  126242. *
  126243. * - Read the computed `elem.strokeWidth()`.
  126244. *
  126245. * - Place it based on the stroke width.
  126246. *
  126247. * @return The stroke width in pixels. Even if the given stroke widtch (in
  126248. * CSS or by attributes) is based on `em` or other units, the pixel
  126249. * size is returned.
  126250. */
  126251. strokeWidth(): number;
  126252. /**
  126253. * Bring the element to the front. Alternatively, a new zIndex can be set.
  126254. *
  126255. * @return Returns the SVGElement for chaining.
  126256. */
  126257. toFront(): SVGElement;
  126258. /**
  126259. * Move an object and its children by x and y values.
  126260. *
  126261. * @param x
  126262. * The x value.
  126263. *
  126264. * @param y
  126265. * The y value.
  126266. */
  126267. translate(x: number, y: number): SVGElement;
  126268. }
  126269. /**
  126270. * Allows direct access to the Highcharts rendering layer in order to draw
  126271. * primitive shapes like circles, rectangles, paths or text directly on a chart,
  126272. * or independent from any chart. The SVGRenderer represents a wrapper object
  126273. * for SVG in modern browsers. Through the VMLRenderer, part of the `oldie.js`
  126274. * module, it also brings vector graphics to IE <= 8.
  126275. *
  126276. * An existing chart's renderer can be accessed through Chart.renderer. The
  126277. * renderer can also be used completely decoupled from a chart.
  126278. */
  126279. export class SVGRenderer {
  126280. /**
  126281. * Allows direct access to the Highcharts rendering layer in order to draw
  126282. * primitive shapes like circles, rectangles, paths or text directly on a
  126283. * chart, or independent from any chart. The SVGRenderer represents a
  126284. * wrapper object for SVG in modern browsers. Through the VMLRenderer, part
  126285. * of the `oldie.js` module, it also brings vector graphics to IE <= 8.
  126286. *
  126287. * An existing chart's renderer can be accessed through Chart.renderer. The
  126288. * renderer can also be used completely decoupled from a chart.
  126289. *
  126290. * @param container
  126291. * Where to put the SVG in the web page.
  126292. *
  126293. * @param width
  126294. * The width of the SVG.
  126295. *
  126296. * @param height
  126297. * The height of the SVG.
  126298. *
  126299. * @param style
  126300. * The box style, if not in styleMode
  126301. *
  126302. * @param forExport
  126303. * Whether the rendered content is intended for export.
  126304. *
  126305. * @param allowHTML
  126306. * Whether the renderer is allowed to include HTML text, which will
  126307. * be projected on top of the SVG.
  126308. *
  126309. * @param styledMode
  126310. * Whether the renderer belongs to a chart that is in styled mode. If
  126311. * it does, it will avoid setting presentational attributes in some
  126312. * cases, but not when set explicitly through `.attr` and `.css` etc.
  126313. */
  126314. constructor(container: HTMLDOMElement, width: number, height: number, style?: CSSObject, forExport?: boolean, allowHTML?: boolean, styledMode?: boolean);
  126315. /**
  126316. * The root `svg` node of the renderer.
  126317. */
  126318. box: SVGDOMElement;
  126319. /**
  126320. * The wrapper for the root `svg` node of the renderer.
  126321. */
  126322. boxWrapper: SVGElement;
  126323. /**
  126324. * A pointer to the `defs` node of the root SVG.
  126325. */
  126326. defs: SVGElement;
  126327. /**
  126328. * A pointer to the renderer's associated Element class. The VMLRenderer
  126329. * will have a pointer to VMLElement here.
  126330. */
  126331. Element: SVGElement;
  126332. /**
  126333. * A collection of characters mapped to HTML entities. When `useHTML` on an
  126334. * element is true, these entities will be rendered correctly by HTML. In
  126335. * the SVG pseudo-HTML, they need to be unescaped back to simple characters,
  126336. * so for example `&lt;` will render as `<`.
  126337. */
  126338. escapes: Dictionary<string>;
  126339. /**
  126340. * An extendable collection of functions for defining symbol paths.
  126341. */
  126342. symbols: SymbolDictionary;
  126343. /**
  126344. * Draw and return an arc. Overloaded function that takes arguments object.
  126345. *
  126346. * @param attribs
  126347. * Initial SVG attributes.
  126348. *
  126349. * @return The generated wrapper element.
  126350. */
  126351. arc(attribs: SVGAttributes): SVGElement;
  126352. /**
  126353. * Draw and return an arc.
  126354. *
  126355. * @param x
  126356. * Center X position.
  126357. *
  126358. * @param y
  126359. * Center Y position.
  126360. *
  126361. * @param r
  126362. * The outer radius' of the arc.
  126363. *
  126364. * @param innerR
  126365. * Inner radius like used in donut charts.
  126366. *
  126367. * @param start
  126368. * The starting angle of the arc in radians, where 0 is to the right
  126369. * and `-Math.PI/2` is up.
  126370. *
  126371. * @param end
  126372. * The ending angle of the arc in radians, where 0 is to the right
  126373. * and `-Math.PI/2` is up.
  126374. *
  126375. * @return The generated wrapper element.
  126376. */
  126377. arc(x?: number, y?: number, r?: number, innerR?: number, start?: number, end?: number): SVGElement;
  126378. /**
  126379. * Create a button with preset states.
  126380. *
  126381. * @param text
  126382. * The text or HTML to draw.
  126383. *
  126384. * @param x
  126385. * The x position of the button's left side.
  126386. *
  126387. * @param y
  126388. * The y position of the button's top side.
  126389. *
  126390. * @param callback
  126391. * The function to execute on button click or touch.
  126392. *
  126393. * @param theme
  126394. * SVG attributes for the normal state.
  126395. *
  126396. * @param hoverState
  126397. * SVG attributes for the hover state.
  126398. *
  126399. * @param pressedState
  126400. * SVG attributes for the pressed state.
  126401. *
  126402. * @param disabledState
  126403. * SVG attributes for the disabled state.
  126404. *
  126405. * @param shape
  126406. * The shape type.
  126407. *
  126408. * @param useHTML
  126409. * Wether to use HTML to render the label.
  126410. *
  126411. * @return The button element.
  126412. */
  126413. button(text: string, x: number, y: number, callback: EventCallbackFunction<SVGElement>, theme?: SVGAttributes, hoverState?: SVGAttributes, pressedState?: SVGAttributes,
  126414. disabledState?: SVGAttributes, shape?: SymbolKeyValue, useHTML?: boolean): SVGElement;
  126415. /**
  126416. * Draw a circle, wraps the SVG `circle` element.
  126417. *
  126418. * @param attribs
  126419. * The initial attributes.
  126420. *
  126421. * @return The generated wrapper element.
  126422. */
  126423. circle(attribs?: SVGAttributes): SVGElement;
  126424. /**
  126425. * Draw a circle, wraps the SVG `circle` element.
  126426. *
  126427. * @param x
  126428. * The center x position.
  126429. *
  126430. * @param y
  126431. * The center y position.
  126432. *
  126433. * @param r
  126434. * The radius.
  126435. *
  126436. * @return The generated wrapper element.
  126437. */
  126438. circle(x?: number, y?: number, r?: number): SVGElement;
  126439. /**
  126440. * Define a clipping rectangle. The clipping rectangle is later applied to
  126441. * SVGElement objects through the SVGElement#clip function.
  126442. *
  126443. * @return A clipping rectangle.
  126444. */
  126445. clipRect(x?: number, y?: number, width?: number, height?: number): ClipRectElement;
  126446. /**
  126447. * Create a wrapper for an SVG element. Serves as a factory for SVGElement,
  126448. * but this function is itself mostly called from primitive factories like
  126449. * SVGRenderer#path, SVGRenderer#rect or SVGRenderer#text.
  126450. *
  126451. * @param nodeName
  126452. * The node name, for example `rect`, `g` etc.
  126453. *
  126454. * @return The generated SVGElement.
  126455. */
  126456. createElement(nodeName: string): SVGElement;
  126457. /**
  126458. * Make a straight line crisper by not spilling out to neighbour pixels.
  126459. *
  126460. * @param points
  126461. * The original points on the format `[['M', 0, 0], ['L', 100, 0]]`.
  126462. *
  126463. * @param width
  126464. * The width of the line.
  126465. *
  126466. * @param roundingFunction
  126467. * The rounding function name on the `Math` object, can be one of
  126468. * `round`, `floor` or `ceil`.
  126469. *
  126470. * @return The original points array, but modified to render crisply.
  126471. */
  126472. crispLine(points: SVGPathArray, width: number, roundingFunction: string): SVGPathArray;
  126473. /**
  126474. * General method for adding a definition to the SVG `defs` tag. Can be used
  126475. * for gradients, fills, filters etc. Styled mode only. A hook for adding
  126476. * general definitions to the SVG's defs tag. Definitions can be referenced
  126477. * from the CSS by its `id`. Read more in gradients, shadows and patterns.
  126478. * Styled mode only.
  126479. *
  126480. * @param def
  126481. * A serialized form of an SVG definition, including children.
  126482. *
  126483. * @return The inserted node.
  126484. */
  126485. definition(def: ASTNode): SVGElement;
  126486. /**
  126487. * Destroys the renderer and its allocated members.
  126488. */
  126489. destroy(): null;
  126490. /**
  126491. * Dummy function for plugins, called every time the renderer is updated.
  126492. * Prior to Highcharts 5, this was used for the canvg renderer.
  126493. */
  126494. draw(): void;
  126495. /**
  126496. * Utility to return the baseline offset and total line height from the font
  126497. * size.
  126498. *
  126499. * @param fontSize
  126500. * The current font size to inspect. If not given, the font size will
  126501. * be found from the DOM element.
  126502. *
  126503. * @param elem
  126504. * The element to inspect for a current font size.
  126505. *
  126506. * @return The font metrics.
  126507. */
  126508. fontMetrics(fontSize?: (number|string), elem?: (SVGDOMElement|SVGElement)): FontMetricsObject;
  126509. /**
  126510. * Create and return an svg group element. Child Highcharts.SVGElement
  126511. * objects are added to the group by using the group as the first parameter
  126512. * in add().
  126513. *
  126514. * @param name
  126515. * The group will be given a class name of `highcharts-{name}`. This
  126516. * can be used for styling and scripting.
  126517. *
  126518. * @return The generated wrapper element.
  126519. */
  126520. g(name?: string): SVGElement;
  126521. /**
  126522. * Returns white for dark colors and black for bright colors.
  126523. *
  126524. * @param rgba
  126525. * The color to get the contrast for.
  126526. *
  126527. * @return The contrast color, either `#000000` or `#FFFFFF`.
  126528. */
  126529. getContrast(rgba: ColorString): ColorString;
  126530. /**
  126531. * Display an image.
  126532. *
  126533. * @param src
  126534. * The image source.
  126535. *
  126536. * @param x
  126537. * The X position.
  126538. *
  126539. * @param y
  126540. * The Y position.
  126541. *
  126542. * @param width
  126543. * The image width. If omitted, it defaults to the image file width.
  126544. *
  126545. * @param height
  126546. * The image height. If omitted it defaults to the image file height.
  126547. *
  126548. * @param onload
  126549. * Event handler for image load.
  126550. *
  126551. * @return The generated wrapper element.
  126552. */
  126553. image(src: string, x?: number, y?: number, width?: number, height?: number, onload?: Function): SVGElement;
  126554. /**
  126555. * Initialize the SVGRenderer. Overridable initializer function that takes
  126556. * the same parameters as the constructor.
  126557. *
  126558. * @param container
  126559. * Where to put the SVG in the web page.
  126560. *
  126561. * @param width
  126562. * The width of the SVG.
  126563. *
  126564. * @param height
  126565. * The height of the SVG.
  126566. *
  126567. * @param style
  126568. * The box style, if not in styleMode
  126569. *
  126570. * @param forExport
  126571. * Whether the rendered content is intended for export.
  126572. *
  126573. * @param allowHTML
  126574. * Whether the renderer is allowed to include HTML text, which will
  126575. * be projected on top of the SVG.
  126576. *
  126577. * @param styledMode
  126578. * Whether the renderer belongs to a chart that is in styled mode. If
  126579. * it does, it will avoid setting presentational attributes in some
  126580. * cases, but not when set explicitly through `.attr` and `.css` etc.
  126581. */
  126582. init(container: HTMLDOMElement, width: number, height: number, style?: CSSObject, forExport?: boolean, allowHTML?: boolean, styledMode?: boolean): void;
  126583. /**
  126584. * Detect whether the renderer is hidden. This happens when one of the
  126585. * parent elements has `display: none`. Used internally to detect when we
  126586. * needto render preliminarily in another div to get the text bounding boxes
  126587. * right.
  126588. *
  126589. * @return True if it is hidden.
  126590. */
  126591. isHidden(): boolean;
  126592. /**
  126593. * Draw a label, which is an extended text element with support for border
  126594. * and background. Highcharts creates a `g` element with a text and a `path`
  126595. * or `rect` inside, to make it behave somewhat like a HTML div. Border and
  126596. * background are set through `stroke`, `stroke-width` and `fill` attributes
  126597. * using the attr method. To update the text after render, run `label.attr({
  126598. * text: 'New text' })`.
  126599. *
  126600. * @param str
  126601. * The initial text string or (subset) HTML to render.
  126602. *
  126603. * @param x
  126604. * The x position of the label's left side.
  126605. *
  126606. * @param y
  126607. * The y position of the label's top side or baseline, depending on
  126608. * the `baseline` parameter.
  126609. *
  126610. * @param shape
  126611. * The shape of the label's border/background, if any. Defaults to
  126612. * `rect`. Other possible values are `callout` or other shapes
  126613. * defined in Highcharts.SVGRenderer#symbols.
  126614. *
  126615. * @param anchorX
  126616. * In case the `shape` has a pointer, like a flag, this is the
  126617. * coordinates it should be pinned to.
  126618. *
  126619. * @param anchorY
  126620. * In case the `shape` has a pointer, like a flag, this is the
  126621. * coordinates it should be pinned to.
  126622. *
  126623. * @param useHTML
  126624. * Wether to use HTML to render the label.
  126625. *
  126626. * @param baseline
  126627. * Whether to position the label relative to the text baseline, like
  126628. * renderer.text, or to the upper border of the rectangle.
  126629. *
  126630. * @param className
  126631. * Class name for the group.
  126632. *
  126633. * @return The generated label.
  126634. */
  126635. label(str: string, x: number, y?: number, shape?: string, anchorX?: number, anchorY?: number, useHTML?: boolean, baseline?: boolean, className?: string): SVGElement;
  126636. /**
  126637. * Draw a path, wraps the SVG `path` element.
  126638. *
  126639. * @param path
  126640. * An SVG path definition in array form.
  126641. *
  126642. * @return The generated wrapper element.
  126643. */
  126644. path(path?: SVGPathArray): SVGElement;
  126645. /**
  126646. * Draw a path, wraps the SVG `path` element.
  126647. *
  126648. * @param attribs
  126649. * The initial attributes.
  126650. *
  126651. * @return The generated wrapper element.
  126652. */
  126653. path(attribs?: SVGAttributes): SVGElement;
  126654. /**
  126655. * Draw and return a rectangle.
  126656. *
  126657. * @param attributes
  126658. * General SVG attributes for the rectangle.
  126659. *
  126660. * @return The generated wrapper element.
  126661. */
  126662. rect(attributes?: SVGAttributes): SVGElement;
  126663. /**
  126664. * Draw and return a rectangle.
  126665. *
  126666. * @param x
  126667. * Left position.
  126668. *
  126669. * @param y
  126670. * Top position.
  126671. *
  126672. * @param width
  126673. * Width of the rectangle.
  126674. *
  126675. * @param height
  126676. * Height of the rectangle.
  126677. *
  126678. * @param r
  126679. * Border corner radius.
  126680. *
  126681. * @param strokeWidth
  126682. * A stroke width can be supplied to allow crisp drawing.
  126683. *
  126684. * @return The generated wrapper element.
  126685. */
  126686. rect(x?: number, y?: number, width?: number, height?: number, r?: number, strokeWidth?: number): SVGElement;
  126687. /**
  126688. * Resize the SVGRenderer#box and re-align all aligned child elements.
  126689. *
  126690. * @param width
  126691. * The new pixel width.
  126692. *
  126693. * @param height
  126694. * The new pixel height.
  126695. *
  126696. * @param animate
  126697. * Whether and how to animate.
  126698. */
  126699. setSize(width: number, height: number, animate?: (boolean|Partial<AnimationOptionsObject>)): void;
  126700. /**
  126701. * Apply the global style on the renderer, mixed with the default styles.
  126702. *
  126703. * @param style
  126704. * CSS to apply.
  126705. */
  126706. setStyle(style: CSSObject): void;
  126707. /**
  126708. * Draw a symbol out of pre-defined shape paths from SVGRenderer#symbols. It
  126709. * is used in Highcharts for point makers, which cake a `symbol` option, and
  126710. * label and button backgrounds like in the tooltip and stock flags.
  126711. *
  126712. * @param symbol
  126713. * The symbol name.
  126714. *
  126715. * @param x
  126716. * The X coordinate for the top left position.
  126717. *
  126718. * @param y
  126719. * The Y coordinate for the top left position.
  126720. *
  126721. * @param width
  126722. * The pixel width.
  126723. *
  126724. * @param height
  126725. * The pixel height.
  126726. *
  126727. * @param options
  126728. * Additional options, depending on the actual symbol drawn.
  126729. */
  126730. symbol(symbol: string, x?: number, y?: number, width?: number, height?: number, options?: SymbolOptionsObject): SVGElement;
  126731. /**
  126732. * Draw text. The text can contain a subset of HTML, like spans and anchors
  126733. * and some basic text styling of these. For more advanced features like
  126734. * border and background, use Highcharts.SVGRenderer#label instead. To
  126735. * update the text after render, run `text.attr({ text: 'New text' })`.
  126736. *
  126737. * @param str
  126738. * The text of (subset) HTML to draw.
  126739. *
  126740. * @param x
  126741. * The x position of the text's lower left corner.
  126742. *
  126743. * @param y
  126744. * The y position of the text's lower left corner.
  126745. *
  126746. * @param useHTML
  126747. * Use HTML to render the text.
  126748. *
  126749. * @return The text object.
  126750. */
  126751. text(str?: string, x?: number, y?: number, useHTML?: boolean): SVGElement;
  126752. }
  126753. /**
  126754. * The Tick class.
  126755. */
  126756. export class Tick {
  126757. /**
  126758. * The Tick class.
  126759. *
  126760. * @param axis
  126761. * The axis of the tick.
  126762. *
  126763. * @param pos
  126764. * The position of the tick on the axis in terms of axis values.
  126765. *
  126766. * @param type
  126767. * The type of tick, either 'minor' or an empty string
  126768. *
  126769. * @param noLabel
  126770. * Whether to disable the label or not. Defaults to false.
  126771. *
  126772. * @param parameters
  126773. * Optional parameters for the tick.
  126774. */
  126775. constructor(axis: Axis, pos: number, type?: string, noLabel?: boolean, parameters?: object);
  126776. /**
  126777. * The related axis of the tick.
  126778. */
  126779. axis: Axis;
  126780. /**
  126781. * The rendered grid line of the tick.
  126782. */
  126783. gridLine?: SVGElement;
  126784. /**
  126785. * True if the tick is the first one on the axis.
  126786. */
  126787. readonly isFirst?: boolean;
  126788. /**
  126789. * True if the tick is the last one on the axis.
  126790. */
  126791. readonly isLast?: boolean;
  126792. /**
  126793. * The rendered text label of the tick.
  126794. */
  126795. label?: SVGElement;
  126796. /**
  126797. * The rendered mark of the tick.
  126798. */
  126799. mark?: SVGElement;
  126800. /**
  126801. * The logical position of the tick on the axis in terms of axis values.
  126802. */
  126803. pos: number;
  126804. /**
  126805. * The mark offset of the tick on the axis. Usually `undefined`, numeric for
  126806. * grid axes.
  126807. */
  126808. tickmarkOffset?: number;
  126809. /**
  126810. * The tick type, which can be `"minor"`, or an empty string.
  126811. */
  126812. type: string;
  126813. }
  126814. /**
  126815. * The Time class. Time settings are applied in general for each page using
  126816. * `Highcharts.setOptions`, or individually for each Chart item through the time
  126817. * options set.
  126818. *
  126819. * The Time object is available from Highcharts.Chart#time, which refers to
  126820. * `Highcharts.time` if no individual time settings are applied.
  126821. */
  126822. export class Time {
  126823. /**
  126824. * The Time class. Time settings are applied in general for each page using
  126825. * `Highcharts.setOptions`, or individually for each Chart item through the
  126826. * time options set.
  126827. *
  126828. * The Time object is available from Highcharts.Chart#time, which refers to
  126829. * `Highcharts.time` if no individual time settings are applied.
  126830. *
  126831. * @param options
  126832. * Time options as defined in chart.options.time.
  126833. */
  126834. constructor(options: TimeOptions);
  126835. /**
  126836. * Formats a JavaScript date timestamp (milliseconds since Jan 1st 1970)
  126837. * into a human readable date string. The available format keys are listed
  126838. * below. Additional formats can be given in the Highcharts.dateFormats
  126839. * hook.
  126840. *
  126841. * Supported format keys:
  126842. *
  126843. * - `%a`: Short weekday, like 'Mon'
  126844. *
  126845. * - `%A`: Long weekday, like 'Monday'
  126846. *
  126847. * - `%d`: Two digit day of the month, 01 to 31
  126848. *
  126849. * - `%e`: Day of the month, 1 through 31
  126850. *
  126851. * - `%w`: Day of the week, 0 through 6
  126852. *
  126853. * - `%b`: Short month, like 'Jan'
  126854. *
  126855. * - `%B`: Long month, like 'January'
  126856. *
  126857. * - `%m`: Two digit month number, 01 through 12
  126858. *
  126859. * - `%y`: Two digits year, like 09 for 2009
  126860. *
  126861. * - `%Y`: Four digits year, like 2009
  126862. *
  126863. * - `%H`: Two digits hours in 24h format, 00 through 23
  126864. *
  126865. * - `%k`: Hours in 24h format, 0 through 23
  126866. *
  126867. * - `%I`: Two digits hours in 12h format, 00 through 11
  126868. *
  126869. * - `%l`: Hours in 12h format, 1 through 12
  126870. *
  126871. * - `%M`: Two digits minutes, 00 through 59
  126872. *
  126873. * - `%p`: Upper case AM or PM
  126874. *
  126875. * - `%P`: Lower case AM or PM
  126876. *
  126877. * - `%S`: Two digits seconds, 00 through 59
  126878. *
  126879. * - `%L`: Milliseconds (naming from Ruby)
  126880. *
  126881. * @param format
  126882. * The desired format where various time representations are prefixed
  126883. * with %.
  126884. *
  126885. * @param timestamp
  126886. * The JavaScript timestamp.
  126887. *
  126888. * @param capitalize
  126889. * Upper case first letter in the return.
  126890. *
  126891. * @return The formatted date.
  126892. */
  126893. dateFormat(format: string, timestamp?: number, capitalize?: boolean): string;
  126894. /**
  126895. * Get the value of a date object in given units, and subject to the Time
  126896. * object's current timezone settings. This function corresponds directly to
  126897. * JavaScripts `Date.getXXX / Date.getUTCXXX`, so instead of calling
  126898. * `date.getHours()` or `date.getUTCHours()` we will call
  126899. * `time.get('Hours')`.
  126900. *
  126901. * @return The given time unit
  126902. */
  126903. get(unit: TimeUnitValue, date: Date): number;
  126904. /**
  126905. * Return an array with time positions distributed on round time values
  126906. * right and right after min and max. Used in datetime axes as well as for
  126907. * grouping data on a datetime axis.
  126908. *
  126909. * @param normalizedInterval
  126910. * The interval in axis values (ms) and the count
  126911. *
  126912. * @param min
  126913. * The minimum in axis values
  126914. *
  126915. * @param max
  126916. * The maximum in axis values
  126917. */
  126918. getTimeTicks(normalizedInterval: TimeNormalizedObject, min?: number, max?: number, startOfWeek?: number): AxisTickPositionsArray;
  126919. /**
  126920. * Get the time zone offset based on the current timezone information as set
  126921. * in the global options.
  126922. *
  126923. * @param timestamp
  126924. * The JavaScript timestamp to inspect.
  126925. *
  126926. * @return The timezone offset in minutes compared to UTC.
  126927. */
  126928. getTimezoneOffset(timestamp: number): number;
  126929. /**
  126930. * Make a time and returns milliseconds. Interprets the inputs as UTC time,
  126931. * local time or a specific timezone time depending on the current time
  126932. * settings.
  126933. *
  126934. * @param year
  126935. * The year
  126936. *
  126937. * @param month
  126938. * The month. Zero-based, so January is 0.
  126939. *
  126940. * @param date
  126941. * The day of the month
  126942. *
  126943. * @param hours
  126944. * The hour of the day, 0-23.
  126945. *
  126946. * @param minutes
  126947. * The minutes
  126948. *
  126949. * @param seconds
  126950. * The seconds
  126951. *
  126952. * @return The time in milliseconds since January 1st 1970.
  126953. */
  126954. makeTime(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number): number;
  126955. /**
  126956. * Set the value of a date object in given units, and subject to the Time
  126957. * object's current timezone settings. This function corresponds directly to
  126958. * JavaScripts `Date.setXXX / Date.setUTCXXX`, so instead of calling
  126959. * `date.setHours(0)` or `date.setUTCHours(0)` we will call
  126960. * `time.set('Hours', 0)`.
  126961. *
  126962. * @return The epoch milliseconds of the updated date
  126963. */
  126964. set(unit: TimeUnitValue, date: Date, value: number): number;
  126965. }
  126966. /**
  126967. * Tooltip of a chart.
  126968. */
  126969. export class Tooltip {
  126970. /**
  126971. * Tooltip of a chart.
  126972. *
  126973. * @param chart
  126974. * The chart instance.
  126975. *
  126976. * @param options
  126977. * Tooltip options.
  126978. */
  126979. constructor(chart: Chart, options: TooltipOptions);
  126980. /**
  126981. * Chart of the tooltip.
  126982. */
  126983. readonly chart: Chart;
  126984. /**
  126985. * Reference to the tooltip's container, when [Highcharts.Tooltip#outside]
  126986. * is set to true, otherwise it's undefined.
  126987. */
  126988. container?: HTMLDOMElement;
  126989. /**
  126990. * Used tooltip options.
  126991. */
  126992. readonly options: TooltipOptions;
  126993. /**
  126994. * Whether to allow the tooltip to render outside the chart's SVG element
  126995. * box. By default (false), the tooltip is rendered within the chart's SVG
  126996. * element, which results in the tooltip being aligned inside the chart
  126997. * area.
  126998. */
  126999. readonly outside: boolean;
  127000. /**
  127001. * Reference to the tooltip's renderer, when [Highcharts.Tooltip#outside] is
  127002. * set to true, otherwise it's undefined.
  127003. */
  127004. renderer?: SVGRenderer;
  127005. /**
  127006. * When the tooltip is shared, the entire plot area will capture mouse
  127007. * movement or touch events.
  127008. */
  127009. readonly shared?: boolean;
  127010. /**
  127011. * True, if the tooltip is split into one label per series, with the header
  127012. * close to the axis.
  127013. */
  127014. readonly split?: boolean;
  127015. /**
  127016. * In case no user defined formatter is given, this will be used. Note that
  127017. * the context here is an object holding point, series, x, y etc.
  127018. */
  127019. defaultFormatter(tooltip: Tooltip): Array<string>;
  127020. /**
  127021. * Removes and destroys the tooltip and its elements.
  127022. */
  127023. destroy(): void;
  127024. /**
  127025. * Creates the Tooltip label element if it does not exist, then returns it.
  127026. */
  127027. getLabel(): SVGElement;
  127028. /**
  127029. * Hides the tooltip with a fade out animation.
  127030. *
  127031. * @param delay
  127032. * The fade out in milliseconds. If no value is provided the value of
  127033. * the tooltip.hideDelay option is used. A value of 0 disables the
  127034. * fade out animation.
  127035. */
  127036. hide(delay?: number): void;
  127037. /**
  127038. * Refresh the tooltip's text and position.
  127039. *
  127040. * @param pointOrPoints
  127041. * Either a point or an array of points.
  127042. *
  127043. * @param mouseEvent
  127044. * Mouse event, that is responsible for the refresh and should be
  127045. * used for the tooltip update.
  127046. */
  127047. refresh(pointOrPoints: (Point|Array<Point>), mouseEvent?: PointerEventObject): void;
  127048. /**
  127049. * Updates the tooltip with the provided tooltip options.
  127050. *
  127051. * @param options
  127052. * The tooltip options to update.
  127053. */
  127054. update(options: TooltipOptions): void;
  127055. }
  127056. /**
  127057. * An array containing the current chart objects in the page. A chart's position
  127058. * in the array is preserved throughout the page's lifetime. When a chart is
  127059. * destroyed, the array item becomes `undefined`.
  127060. */
  127061. export let charts: Array<(Chart|undefined)>;
  127062. /**
  127063. * A hook for defining additional date format specifiers. New specifiers are
  127064. * defined as key-value pairs by using the specifier as key, and a function
  127065. * which takes the timestamp as value. This function returns the formatted
  127066. * portion of the date.
  127067. */
  127068. export let dateFormats: Record<string, TimeFormatCallbackFunction>;
  127069. /**
  127070. * Global default settings.
  127071. */
  127072. export let defaultOptions: Options;
  127073. /**
  127074. * Global `Time` object with default options. Since v6.0.5, time settings can be
  127075. * applied individually for each chart. If no individual settings apply, this
  127076. * `Time` object is shared by all instances.
  127077. */
  127078. export let time: Time;
  127079. /**
  127080. * Add an event listener.
  127081. *
  127082. * @param el
  127083. * The element or object to add a listener to. It can be a
  127084. * HTMLDOMElement, an SVGElement or any other object.
  127085. *
  127086. * @param type
  127087. * The event type.
  127088. *
  127089. * @param fn
  127090. * The function callback to execute when the event is fired.
  127091. *
  127092. * @param options
  127093. * Options for adding the event.
  127094. *
  127095. * @return A callback function to remove the added event.
  127096. */
  127097. export function addEvent<T>(el: (T|Class<T>), type: string, fn: (Function|EventCallbackFunction<T>), options?: EventOptionsObject): Function;
  127098. /**
  127099. * The global animate method, which uses Fx to create individual animators.
  127100. *
  127101. * @param el
  127102. * The element to animate.
  127103. *
  127104. * @param params
  127105. * An object containing key-value pairs of the properties to animate.
  127106. * Supports numeric as pixel-based CSS properties for HTML objects and
  127107. * attributes for SVGElements.
  127108. *
  127109. * @param opt
  127110. * Animation options.
  127111. */
  127112. export function animate(el: (HTMLDOMElement|SVGElement), params: (CSSObject|SVGAttributes), opt?: Partial<AnimationOptionsObject>): void;
  127113. /**
  127114. * Get the animation in object form, where a disabled animation is always
  127115. * returned as `{ duration: 0 }`.
  127116. *
  127117. * @param animation
  127118. * An animation setting. Can be an object with duration, complete and
  127119. * easing properties, or a boolean to enable or disable.
  127120. *
  127121. * @return An object with at least a duration property.
  127122. */
  127123. export function animObject(animation?: (boolean|AnimationOptionsObject)): AnimationOptionsObject;
  127124. /**
  127125. * Non-recursive method to find the lowest member of an array. `Math.max` raises
  127126. * a maximum call stack size exceeded error in Chrome when trying to apply more
  127127. * than 150.000 points. This method is slightly slower, but safe.
  127128. *
  127129. * @param data
  127130. * An array of numbers.
  127131. *
  127132. * @return The highest number.
  127133. */
  127134. export function arrayMax(data: Array<any>): number;
  127135. /**
  127136. * Non-recursive method to find the lowest member of an array. `Math.min` raises
  127137. * a maximum call stack size exceeded error in Chrome when trying to apply more
  127138. * than 150.000 points. This method is slightly slower, but safe.
  127139. *
  127140. * @param data
  127141. * An array of numbers.
  127142. *
  127143. * @return The lowest number.
  127144. */
  127145. export function arrayMin(data: Array<any>): number;
  127146. /**
  127147. * Set or get an attribute or an object of attributes. To use as a setter, pass
  127148. * a key and a value, or let the second argument be a collection of keys and
  127149. * values. To use as a getter, pass only a string as the second argument.
  127150. *
  127151. * @param elem
  127152. * The DOM element to receive the attribute(s).
  127153. *
  127154. * @param prop
  127155. * The property or an object of key-value pairs.
  127156. *
  127157. * @param value
  127158. * The value if a single property is set.
  127159. *
  127160. * @return When used as a getter, return the value.
  127161. */
  127162. export function attr(elem: (HTMLDOMElement|SVGDOMElement), prop?: (string|HTMLAttributes|SVGAttributes), value?: (number|string)): (string|null|undefined);
  127163. /**
  127164. * Factory function for basic charts.
  127165. *
  127166. * @param options
  127167. * The chart options structure.
  127168. *
  127169. * @param callback
  127170. * Function to run when the chart has loaded and and all external images
  127171. * are loaded. Defining a chart.events.load handler is equivalent.
  127172. *
  127173. * @return Returns the Chart object.
  127174. */
  127175. export function chart(options: Options, callback?: ChartCallbackFunction): Chart;
  127176. /**
  127177. * Factory function for basic charts.
  127178. *
  127179. * @param renderTo
  127180. * The DOM element to render to, or its id.
  127181. *
  127182. * @param options
  127183. * The chart options structure.
  127184. *
  127185. * @param callback
  127186. * Function to run when the chart has loaded and and all external images
  127187. * are loaded. Defining a chart.events.load handler is equivalent.
  127188. *
  127189. * @return Returns the Chart object.
  127190. */
  127191. export function chart(renderTo: (string|HTMLDOMElement), options: Options, callback?: ChartCallbackFunction): Chart;
  127192. /**
  127193. * Internal clear timeout. The function checks that the `id` was not removed
  127194. * (e.g. by `chart.destroy()`). For the details see issue .7901.
  127195. *
  127196. * @param id
  127197. * Id of a timeout.
  127198. */
  127199. export function clearTimeout(id: number): void;
  127200. /**
  127201. * Creates a color instance out of a color string.
  127202. *
  127203. * @param input
  127204. * The input color in either rbga or hex format
  127205. *
  127206. * @return Color instance
  127207. */
  127208. export function color(input: ColorType): Color;
  127209. /**
  127210. * Fix JS round off float errors.
  127211. *
  127212. * @param num
  127213. * A float number to fix.
  127214. *
  127215. * @param prec
  127216. * The precision.
  127217. *
  127218. * @return The corrected float number.
  127219. */
  127220. export function correctFloat(num: number, prec?: number): number;
  127221. /**
  127222. * Utility function to create an HTML element with attributes and styles.
  127223. *
  127224. * @param tag
  127225. * The HTML tag.
  127226. *
  127227. * @param attribs
  127228. * Attributes as an object of key-value pairs.
  127229. *
  127230. * @param styles
  127231. * Styles as an object of key-value pairs.
  127232. *
  127233. * @param parent
  127234. * The parent HTML object.
  127235. *
  127236. * @param nopad
  127237. * If true, remove all padding, border and margin.
  127238. *
  127239. * @return The created DOM element.
  127240. */
  127241. export function createElement(tag: string, attribs?: HTMLAttributes, styles?: CSSObject, parent?: HTMLDOMElement, nopad?: boolean): HTMLDOMElement;
  127242. /**
  127243. * Set CSS on a given element.
  127244. *
  127245. * @param el
  127246. * An HTML DOM element.
  127247. *
  127248. * @param styles
  127249. * Style object with camel case property names.
  127250. */
  127251. export function css(el: (HTMLDOMElement|SVGDOMElement), styles: CSSObject): void;
  127252. /**
  127253. * Formats a JavaScript date timestamp (milliseconds since Jan 1st 1970) into a
  127254. * human readable date string. The format is a subset of the formats for PHP's
  127255. * strftime function. Additional formats can be given in the
  127256. * Highcharts.dateFormats hook.
  127257. *
  127258. * Since v6.0.5, all internal dates are formatted through the
  127259. * Highcharts.Chart#time instance to respect chart-level time settings. The
  127260. * `Highcharts.dateFormat` function only reflects global time settings set with
  127261. * `setOptions`.
  127262. *
  127263. * Supported format keys:
  127264. *
  127265. * - `%a`: Short weekday, like 'Mon'
  127266. *
  127267. * - `%A`: Long weekday, like 'Monday'
  127268. *
  127269. * - `%d`: Two digit day of the month, 01 to 31
  127270. *
  127271. * - `%e`: Day of the month, 1 through 31
  127272. *
  127273. * - `%w`: Day of the week, 0 through 6
  127274. *
  127275. * - `%b`: Short month, like 'Jan'
  127276. *
  127277. * - `%B`: Long month, like 'January'
  127278. *
  127279. * - `%m`: Two digit month number, 01 through 12
  127280. *
  127281. * - `%y`: Two digits year, like 09 for 2009
  127282. *
  127283. * - `%Y`: Four digits year, like 2009
  127284. *
  127285. * - `%H`: Two digits hours in 24h format, 00 through 23
  127286. *
  127287. * - `%k`: Hours in 24h format, 0 through 23
  127288. *
  127289. * - `%I`: Two digits hours in 12h format, 00 through 11
  127290. *
  127291. * - `%l`: Hours in 12h format, 1 through 12
  127292. *
  127293. * - `%M`: Two digits minutes, 00 through 59
  127294. *
  127295. * - `%p`: Upper case AM or PM
  127296. *
  127297. * - `%P`: Lower case AM or PM
  127298. *
  127299. * - `%S`: Two digits seconds, 00 through 59
  127300. *
  127301. * - `%L`: Milliseconds (naming from Ruby)
  127302. *
  127303. * @param format
  127304. * The desired format where various time representations are prefixed
  127305. * with `%`.
  127306. *
  127307. * @param timestamp
  127308. * The JavaScript timestamp.
  127309. *
  127310. * @param capitalize
  127311. * Upper case first letter in the return.
  127312. *
  127313. * @return The formatted date.
  127314. */
  127315. export function dateFormat(format: string, timestamp: number, capitalize?: boolean): string;
  127316. /**
  127317. * Check if an object is null or undefined.
  127318. *
  127319. * @param obj
  127320. * The object to check.
  127321. *
  127322. * @return False if the object is null or undefined, otherwise true.
  127323. */
  127324. export function defined(obj: any): boolean;
  127325. /**
  127326. * Utility method that destroys any SVGElement instances that are properties on
  127327. * the given object. It loops all properties and invokes destroy if there is a
  127328. * destroy method. The property is then delete.
  127329. *
  127330. * @param obj
  127331. * The object to destroy properties on.
  127332. *
  127333. * @param except
  127334. * Exception, do not destroy this property, only delete it.
  127335. */
  127336. export function destroyObjectProperties(obj: any, except?: any): void;
  127337. /**
  127338. * Discard a HTML element by moving it to the bin and delete.
  127339. *
  127340. * @param element
  127341. * The HTML node to discard.
  127342. */
  127343. export function discardElement(element: HTMLDOMElement): void;
  127344. /**
  127345. * Iterate over an array.
  127346. *
  127347. * @param arr
  127348. * The array to iterate over.
  127349. *
  127350. * @param fn
  127351. * The iterator callback. It passes three arguments:
  127352. *
  127353. * - `item`: The array item.
  127354. *
  127355. * - `index`: The item's index in the array.
  127356. *
  127357. * - `arr`: The array that each is being applied to.
  127358. *
  127359. * @param ctx
  127360. * The context.
  127361. */
  127362. export function each(arr: Array<any>, fn: Function, ctx?: any): void;
  127363. /**
  127364. * Remove the last occurence of an item from an array.
  127365. *
  127366. * @param arr
  127367. * The array.
  127368. *
  127369. * @param item
  127370. * The item to remove.
  127371. */
  127372. export function erase(arr: Array<any>, item: any): void;
  127373. /**
  127374. * Provide error messages for debugging, with links to online explanation. This
  127375. * function can be overridden to provide custom error handling.
  127376. *
  127377. * @param code
  127378. * The error code. See errors.xml for available codes. If it is a string,
  127379. * the error message is printed directly in the console.
  127380. *
  127381. * @param stop
  127382. * Whether to throw an error or just log a warning in the console.
  127383. *
  127384. * @param chart
  127385. * Reference to the chart that causes the error. Used in 'debugger'
  127386. * module to display errors directly on the chart. Important note: This
  127387. * argument is undefined for errors that lack access to the Chart
  127388. * instance. In such case, the error will be displayed on the last
  127389. * created chart.
  127390. *
  127391. * @param params
  127392. * Additional parameters for the generated message.
  127393. */
  127394. export function error(code: (number|string), stop?: boolean, chart?: Chart, params?: Dictionary<string>): void;
  127395. /**
  127396. * Utility function to extend an object with the members of another.
  127397. *
  127398. * @param a
  127399. * The object to be extended.
  127400. *
  127401. * @param b
  127402. * The object to add to the first one.
  127403. *
  127404. * @return Object a, the original object.
  127405. */
  127406. export function extend<T>(a: (T|undefined), b: Partial<T>): T;
  127407. /**
  127408. * Extend a prototyped class by new members.
  127409. *
  127410. * @param parent
  127411. * The parent prototype to inherit.
  127412. *
  127413. * @param members
  127414. * A collection of prototype members to add or override compared to the
  127415. * parent prototype.
  127416. *
  127417. * @return A new prototype.
  127418. */
  127419. export function extendClass<T>(parent: Class<T>, members: Dictionary<any>): Class<T>;
  127420. /**
  127421. * Return the value of the first element in the array that satisfies the
  127422. * provided testing function.
  127423. *
  127424. * @param arr
  127425. * The array to test.
  127426. *
  127427. * @param callback
  127428. * The callback function. The function receives the item as the first
  127429. * argument. Return `true` if this item satisfies the condition.
  127430. *
  127431. * @return The value of the element.
  127432. */
  127433. export function find<T>(arr: Array<T>, callback: Function): (T|undefined);
  127434. /**
  127435. * Fire an event that was registered with Highcharts#addEvent.
  127436. *
  127437. * @param el
  127438. * The object to fire the event on. It can be a HTMLDOMElement, an
  127439. * SVGElement or any other object.
  127440. *
  127441. * @param type
  127442. * The type of event.
  127443. *
  127444. * @param eventArguments
  127445. * Custom event arguments that are passed on as an argument to the event
  127446. * handler.
  127447. *
  127448. * @param defaultFunction
  127449. * The default function to execute if the other listeners haven't
  127450. * returned false.
  127451. */
  127452. export function fireEvent<T>(el: T, type: string, eventArguments?: (Event|Dictionary<any>), defaultFunction?: (Function|EventCallbackFunction<T>)): void;
  127453. /**
  127454. * Format a string according to a subset of the rules of Python's String.format
  127455. * method.
  127456. *
  127457. * @param str
  127458. * The string to format.
  127459. *
  127460. * @param ctx
  127461. * The context, a collection of key-value pairs where each key is
  127462. * replaced by its value.
  127463. *
  127464. * @param chart
  127465. * A `Chart` instance used to get numberFormatter and time.
  127466. *
  127467. * @return The formatted string.
  127468. */
  127469. export function format(str: string, ctx: Record<string, any>, chart?: Chart): string;
  127470. /**
  127471. * Get the defer as a number value from series animation options.
  127472. *
  127473. * @param chart
  127474. * The chart instance.
  127475. *
  127476. * @param animation
  127477. * An animation setting. Can be an object with duration, complete and
  127478. * easing properties, or a boolean to enable or disable.
  127479. *
  127480. * @param series
  127481. * Series to defer animation.
  127482. *
  127483. * @return The numeric value.
  127484. */
  127485. export function getDeferredAnimation(chart: Chart, animation: (boolean|AnimationOptionsObject), series?: Series): number;
  127486. /**
  127487. * Get the magnitude of a number.
  127488. *
  127489. * @param num
  127490. * The number.
  127491. *
  127492. * @return The magnitude, where 1-9 are magnitude 1, 10-99 magnitude 2 etc.
  127493. */
  127494. export function getMagnitude(num: number): number;
  127495. /**
  127496. * Get the updated default options. Until 3.0.7, merely exposing defaultOptions
  127497. * for outside modules wasn't enough because the setOptions method created a new
  127498. * object.
  127499. */
  127500. export function getOptions(): Options;
  127501. /**
  127502. * Get the computed CSS value for given element and property, only for numerical
  127503. * properties. For width and height, the dimension of the inner box (excluding
  127504. * padding) is returned. Used for fitting the chart within the container.
  127505. *
  127506. * @param el
  127507. * An HTML element.
  127508. *
  127509. * @param prop
  127510. * The property name.
  127511. *
  127512. * @param toInt
  127513. * Parse to integer.
  127514. *
  127515. * @return The style value.
  127516. */
  127517. export function getStyle(el: HTMLDOMElement, prop: string, toInt?: boolean): (number|string|undefined);
  127518. /**
  127519. * Filter an array by a callback.
  127520. *
  127521. * @param arr
  127522. * The array to filter.
  127523. *
  127524. * @param callback
  127525. * The callback function. The function receives the item as the first
  127526. * argument. Return `true` if the item is to be preserved.
  127527. *
  127528. * @return A new, filtered array.
  127529. */
  127530. export function grep(arr: Array<any>, callback: Function): Array<any>;
  127531. /**
  127532. * Search for an item in an array.
  127533. *
  127534. * @param item
  127535. * The item to search for.
  127536. *
  127537. * @param arr
  127538. * The array or node collection to search in.
  127539. *
  127540. * @param fromIndex
  127541. * The index to start searching from.
  127542. *
  127543. * @return The index within the array, or -1 if not found.
  127544. */
  127545. export function inArray(item: any, arr: Array<any>, fromIndex?: number): number;
  127546. /**
  127547. * Utility function to check if an item is an array.
  127548. *
  127549. * @param obj
  127550. * The item to check.
  127551. *
  127552. * @return True if the argument is an array.
  127553. */
  127554. export function isArray(obj: any): boolean;
  127555. /**
  127556. * Utility function to check if an Object is a class.
  127557. *
  127558. * @param obj
  127559. * The item to check.
  127560. *
  127561. * @return True if the argument is a class.
  127562. */
  127563. export function isClass(obj: (object|undefined)): boolean;
  127564. /**
  127565. * Utility function to check if an Object is a HTML Element.
  127566. *
  127567. * @param obj
  127568. * The item to check.
  127569. *
  127570. * @return True if the argument is a HTML Element.
  127571. */
  127572. export function isDOMElement(obj: any): boolean;
  127573. /**
  127574. * Utility function to check if an item is a number and it is finite (not NaN,
  127575. * Infinity or -Infinity).
  127576. *
  127577. * @param n
  127578. * The item to check.
  127579. *
  127580. * @return True if the item is a finite number
  127581. */
  127582. export function isNumber(n: any): boolean;
  127583. /**
  127584. * Utility function to check if an item is of type object.
  127585. *
  127586. * @param obj
  127587. * The item to check.
  127588. *
  127589. * @param strict
  127590. * Also checks that the object is not an array.
  127591. *
  127592. * @return True if the argument is an object.
  127593. */
  127594. export function isObject(obj: any, strict?: boolean): boolean;
  127595. /**
  127596. * Utility function to check for string type.
  127597. *
  127598. * @param s
  127599. * The item to check.
  127600. *
  127601. * @return True if the argument is a string.
  127602. */
  127603. export function isString(s: any): boolean;
  127604. /**
  127605. * Returns an array of a given object's own properties.
  127606. *
  127607. * @param obj
  127608. * The object of which the properties are to be returned.
  127609. *
  127610. * @return An array of strings that represents all the properties.
  127611. */
  127612. export function keys(obj: any): Array<string>;
  127613. /**
  127614. * Map an array by a callback.
  127615. *
  127616. * @param arr
  127617. * The array to map.
  127618. *
  127619. * @param fn
  127620. * The callback function. Return the new value for the new array.
  127621. *
  127622. * @return A new array item with modified items.
  127623. */
  127624. export function map(arr: Array<any>, fn: Function): Array<any>;
  127625. /**
  127626. * Utility function to deep merge two or more objects and return a third object.
  127627. * The merge function can also be used with a single object argument to create a
  127628. * deep copy of an object.
  127629. *
  127630. * @param a
  127631. * The first object to extend. When only this is given, the function
  127632. * returns a deep copy.
  127633. *
  127634. * @param n
  127635. * An object to merge into the previous one.
  127636. *
  127637. * @return The merged object. If the first argument is true, the return is the
  127638. * same as the second argument.
  127639. */
  127640. export function merge<T>(a: (T|undefined), ...n: Array<(object|undefined)>): T;
  127641. /**
  127642. * Utility function to deep merge two or more objects and return a third object.
  127643. * If the first argument is true, the contents of the second object is copied
  127644. * into the first object. The merge function can also be used with a single
  127645. * object argument to create a deep copy of an object.
  127646. *
  127647. * @param extend
  127648. * Whether to extend the left-side object (a) or return a whole new
  127649. * object.
  127650. *
  127651. * @param a
  127652. * The first object to extend. When only this is given, the function
  127653. * returns a deep copy.
  127654. *
  127655. * @param n
  127656. * An object to merge into the previous one.
  127657. *
  127658. * @return The merged object. If the first argument is true, the return is the
  127659. * same as the second argument.
  127660. */
  127661. export function merge<T>(extend: boolean, a: (T|undefined), ...n: Array<(object|undefined)>): T;
  127662. /**
  127663. * Take an interval and normalize it to multiples of round numbers.
  127664. *
  127665. * @param interval
  127666. * The raw, un-rounded interval.
  127667. *
  127668. * @param multiples
  127669. * Allowed multiples.
  127670. *
  127671. * @param magnitude
  127672. * The magnitude of the number.
  127673. *
  127674. * @param allowDecimals
  127675. * Whether to allow decimals.
  127676. *
  127677. * @param hasTickAmount
  127678. * If it has tickAmount, avoid landing on tick intervals lower than
  127679. * original.
  127680. *
  127681. * @return The normalized interval.
  127682. */
  127683. export function normalizeTickInterval(interval: number, multiples?: Array<any>, magnitude?: number, allowDecimals?: boolean, hasTickAmount?: boolean): number;
  127684. /**
  127685. * Format a number and return a string based on input settings.
  127686. *
  127687. * @param number
  127688. * The input number to format.
  127689. *
  127690. * @param decimals
  127691. * The amount of decimals. A value of -1 preserves the amount in the
  127692. * input number.
  127693. *
  127694. * @param decimalPoint
  127695. * The decimal point, defaults to the one given in the lang options, or a
  127696. * dot.
  127697. *
  127698. * @param thousandsSep
  127699. * The thousands separator, defaults to the one given in the lang
  127700. * options, or a space character.
  127701. *
  127702. * @return The formatted number.
  127703. */
  127704. export function numberFormat(number: number, decimals: number, decimalPoint?: string, thousandsSep?: string): string;
  127705. /**
  127706. * Iterate over object key pairs in an object.
  127707. *
  127708. * @param obj
  127709. * The object to iterate over.
  127710. *
  127711. * @param fn
  127712. * The iterator callback. It passes three arguments:
  127713. *
  127714. * * value - The property value.
  127715. *
  127716. * * key - The property key.
  127717. *
  127718. * * obj - The object that objectEach is being applied to.
  127719. *
  127720. * @param ctx
  127721. * The context.
  127722. */
  127723. export function objectEach<T>(obj: any, fn: ObjectEachCallbackFunction<T>, ctx?: T): void;
  127724. /**
  127725. * Get the element's offset position, corrected for `overflow: auto`.
  127726. *
  127727. * @param el
  127728. * The DOM element.
  127729. *
  127730. * @return An object containing `left` and `top` properties for the position in
  127731. * the page.
  127732. */
  127733. export function offset(el: Element): OffsetObject;
  127734. /**
  127735. * Left-pad a string to a given length by adding a character repetetively.
  127736. *
  127737. * @param number
  127738. * The input string or number.
  127739. *
  127740. * @param length
  127741. * The desired string length.
  127742. *
  127743. * @param padder
  127744. * The character to pad with.
  127745. *
  127746. * @return The padded string.
  127747. */
  127748. export function pad(number: number, length?: number, padder?: string): string;
  127749. /**
  127750. * Return the first value that is not null or undefined.
  127751. *
  127752. * @param items
  127753. * Variable number of arguments to inspect.
  127754. *
  127755. * @return The value of the first argument that is not null or undefined.
  127756. */
  127757. export function pick<T>(...items: Array<(T|null|undefined)>): T;
  127758. /**
  127759. * Reduce an array to a single value.
  127760. *
  127761. * @param arr
  127762. * The array to reduce.
  127763. *
  127764. * @param fn
  127765. * The callback function. Return the reduced value. Receives 4 arguments:
  127766. * Accumulated/reduced value, current value, current array index, and the
  127767. * array.
  127768. *
  127769. * @param initialValue
  127770. * The initial value of the accumulator.
  127771. *
  127772. * @return The reduced value.
  127773. */
  127774. export function reduce(arr: Array<any>, fn: Function, initialValue: any): any;
  127775. /**
  127776. * Return a length based on either the integer value, or a percentage of a base.
  127777. *
  127778. * @param value
  127779. * A percentage string or a number.
  127780. *
  127781. * @param base
  127782. * The full length that represents 100%.
  127783. *
  127784. * @param offset
  127785. * A pixel offset to apply for percentage values. Used internally in axis
  127786. * positioning.
  127787. *
  127788. * @return The computed length.
  127789. */
  127790. export function relativeLength(value: RelativeSize, base: number, offset?: number): number;
  127791. /**
  127792. * Remove an event that was added with Highcharts#addEvent.
  127793. *
  127794. * @param el
  127795. * The element to remove events on.
  127796. *
  127797. * @param type
  127798. * The type of events to remove. If undefined, all events are removed
  127799. * from the element.
  127800. *
  127801. * @param fn
  127802. * The specific callback to remove. If undefined, all events that match
  127803. * the element and optionally the type are removed.
  127804. */
  127805. export function removeEvent<T>(el: (T|Class<T>), type?: string, fn?: EventCallbackFunction<T>): void;
  127806. /**
  127807. * Old factory to create new series prototypes.
  127808. *
  127809. * @param type
  127810. * The series type name.
  127811. *
  127812. * @param parent
  127813. * The parent series type name. Use `line` to inherit from the basic
  127814. * Series object.
  127815. *
  127816. * @param options
  127817. * The additional default options that are merged with the parent's
  127818. * options.
  127819. *
  127820. * @param props
  127821. * The properties (functions and primitives) to set on the new prototype.
  127822. *
  127823. * @param pointProps
  127824. * Members for a series-specific extension of the Point prototype if
  127825. * needed.
  127826. *
  127827. * @return The newly created prototype as extended from Series or its
  127828. * derivatives.
  127829. */
  127830. export function seriesType(type: string, parent: string, options: (SeriesOptionsType|Dictionary<any>), props?: Dictionary<any>, pointProps?: Dictionary<any>): Series;
  127831. /**
  127832. * Set the global animation to either a given value, or fall back to the given
  127833. * chart's animation option.
  127834. *
  127835. * @param animation
  127836. * The animation object.
  127837. *
  127838. * @param chart
  127839. * The chart instance.
  127840. */
  127841. export function setAnimation(animation: (boolean|Partial<AnimationOptionsObject>|undefined), chart: Chart): void;
  127842. /**
  127843. * Merge the default options with custom options and return the new options
  127844. * structure. Commonly used for defining reusable templates.
  127845. *
  127846. * @param options
  127847. * The new custom chart options.
  127848. *
  127849. * @return Updated options.
  127850. */
  127851. export function setOptions(options: Options): Options;
  127852. /**
  127853. * Test whether at least one element in the array passes the test implemented by
  127854. * the provided function.
  127855. *
  127856. * @param arr
  127857. * The array to test
  127858. *
  127859. * @param fn
  127860. * The function to run on each item. Return truty to pass the test.
  127861. * Receives arguments `currentValue`, `index` and `array`.
  127862. *
  127863. * @param ctx
  127864. * The context.
  127865. */
  127866. export function some(arr: Array<any>, fn: Function, ctx: any): boolean;
  127867. /**
  127868. * Check if an element is an array, and if not, make it into an array.
  127869. *
  127870. * @param obj
  127871. * The object to splat.
  127872. *
  127873. * @return The produced or original array.
  127874. */
  127875. export function splat(obj: any): any[];
  127876. /**
  127877. * Sort an object array and keep the order of equal items. The ECMAScript
  127878. * standard does not specify the behaviour when items are equal.
  127879. *
  127880. * @param arr
  127881. * The array to sort.
  127882. *
  127883. * @param sortFunction
  127884. * The function to sort it with, like with regular Array.prototype.sort.
  127885. */
  127886. export function stableSort(arr: Array<any>, sortFunction: Function): void;
  127887. /**
  127888. * Stop running animation.
  127889. *
  127890. * @param el
  127891. * The SVGElement to stop animation on.
  127892. *
  127893. * @param prop
  127894. * The property to stop animating. If given, the stop method will stop a
  127895. * single property from animating, while others continue.
  127896. */
  127897. export function stop(el: SVGElement, prop?: string): void;
  127898. /**
  127899. * Set a timeout if the delay is given, otherwise perform the function
  127900. * synchronously.
  127901. *
  127902. * @param fn
  127903. * The function callback.
  127904. *
  127905. * @param delay
  127906. * Delay in milliseconds.
  127907. *
  127908. * @param context
  127909. * An optional context to send to the function callback.
  127910. *
  127911. * @return An identifier for the timeout that can later be cleared with
  127912. * Highcharts.clearTimeout. Returns -1 if there is no timeout.
  127913. */
  127914. export function syncTimeout(fn: Function, delay: number, context?: any): number;
  127915. /**
  127916. * Get a unique key for using in internal element id's and pointers. The key is
  127917. * composed of a random hash specific to this Highcharts instance, and a
  127918. * counter.
  127919. *
  127920. * @return A unique key.
  127921. */
  127922. export function uniqueKey(): string;
  127923. /**
  127924. * Activates a serial mode for element IDs provided by Highcharts.uniqueKey.
  127925. * This mode can be used in automated tests, where a simple comparison of two
  127926. * rendered SVG graphics is needed.
  127927. *
  127928. * **Note:** This is only for testing purposes and will break functionality in
  127929. * webpages with multiple charts.
  127930. *
  127931. * @param mode
  127932. * Changes the state of serial mode.
  127933. *
  127934. * @return State of the serial mode.
  127935. */
  127936. export function useSerialIds(mode?: boolean): (boolean|undefined);
  127937. /**
  127938. * Wrap a method with extended functionality, preserving the original function.
  127939. *
  127940. * @param obj
  127941. * The context object that the method belongs to. In real cases, this is
  127942. * often a prototype.
  127943. *
  127944. * @param method
  127945. * The name of the method to extend.
  127946. *
  127947. * @param func
  127948. * A wrapper function callback. This function is called with the same
  127949. * arguments as the original function, except that the original function
  127950. * is unshifted and passed as the first argument.
  127951. */
  127952. export function wrap(obj: any, method: string, func: WrapProceedFunction): void;
  127953. /**
  127954. * Shared Highcharts properties.
  127955. */
  127956. export let Globals: any;
  127957. declare global {
  127958. /**
  127959. * Highcharts-extended JQuery.
  127960. */
  127961. interface JQuery {
  127962. /**
  127963. * Helper function to return the chart of the current JQuery selector
  127964. * element.
  127965. *
  127966. * @param className
  127967. * Name of the factory class in the Highcharts namespace.
  127968. *
  127969. * @param options
  127970. * The chart options structure.
  127971. *
  127972. * @param callback
  127973. * Function to run when the chart has loaded and and all external
  127974. * images are loaded. Defining a chart.events.load handler is
  127975. * equivalent.
  127976. *
  127977. * @return The current JQuery selector.
  127978. */
  127979. highcharts(className?: (string|'Chart'|'Map'|'StockChart'), options?: Options, callback?: ChartCallbackFunction): JQuery;
  127980. }
  127981. }
  127982. export as namespace Highcharts;